commit c6ff255b602138b0f2f879e0fb5a764e4bb2c640
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Jan 13 07:01:47 2020 +0000

    Roll third_party/glslang/src 51813670627c..d203754bc116 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/51813670627c..d203754bc116
    
    
    Created with:
      gclient setdep -r third_party/glslang/src@d203754bc116
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/glslang-angle-autoroll
    Please CC cwallez@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: cwallez@google.com
    Change-Id: I83c4c132afd6203fe09fe709721faca0c03614c3
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1993888
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 9da223b3e87d296bbef655a61767c4fd1377a730
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Jan 13 07:01:41 2020 +0000

    Roll third_party/SwiftShader 110236f3ce70..b0ca2a89e255 (7 commits)
    
    https://swiftshader.googlesource.com/SwiftShader.git/+log/110236f3ce70..b0ca2a89e255
    
    git log 110236f3ce70..b0ca2a89e255 --date=short --first-parent --format='%ad %ae %s'
    2020-01-11 bclayton@google.com Pipeline: Implement the SpirvShader debugger.
    2020-01-11 swiftshader.regress@gmail.com Regres: Update test lists @ 0f8f361a
    2020-01-10 swiftshader.regress@gmail.com Regres: Update test lists @ 110236f3
    2020-01-10 sugoi@google.com Removed a few parentheses for slightly better clang formatting
    2020-01-10 sugoi@google.com A2R10G10B10 Support
    2020-01-10 ianelliott@google.com Change sampledImageIntegerSampleCounts to sampleCounts
    2020-01-10 srisser@google.com Add the PowerVR SDK as a git submodule
    
    Created with:
      gclient setdep -r third_party/SwiftShader@b0ca2a89e255
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/swiftshader-angle-autoroll
    Please CC cwallez@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: cwallez@google.com
    Change-Id: I598844bc14cd0c3654a6ace7f17bd2040cc80a36
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1993886
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 6a7274248df4743334db5e597eff667954d0087c
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Jan 13 07:01:43 2020 +0000

    Roll third_party/vulkan-validation-layers/src c17344df6cca..b96d6528883e (14 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/c17344df6cca..b96d6528883e
    
    git log c17344df6cca..b96d6528883e --date=short --first-parent --format='%ad %ae %s'
    2020-01-10 mark@lunarg.com tests: Fix YCbCr sampler test
    2020-01-10 pdaniell@nvidia.com corechecks: Fix issues with separate depth/stencil layouts
    2020-01-10 petr_kraus@email.cz layers: Report valid spec links on error
    2020-01-10 petr_kraus@email.cz tests: Test vkCmdExecuteCommands into a Secondary
    2020-01-10 s.fricke@samsung.com tests: Added test for VUID 01618
    2020-01-10 s.fricke@samsung.com tests: Added test for VUID 01608
    2020-01-10 s.fricke@samsung.com tests: Added test for VUID 01588
    2020-01-10 s.fricke@samsung.com layers: Added VK_IMAGE_CREATE_DISJOINT_BIT validation
    2020-01-10 s.fricke@samsung.com tests: Added 01564 test to DSAspectBitsErrors
    2020-01-10 s.fricke@samsung.com layers: Added support for VUID 01564
    2020-01-10 s.fricke@samsung.com tests: Added test for VUID 01648
    2020-01-10 s.fricke@samsung.com layers: Added support for VUID 01648
    2020-01-10 s.fricke@samsung.com tests: Added 01560 test to ImageBufferCopyTests
    2020-01-10 s.fricke@samsung.com layers: Added support for VUID 01560
    
    Created with:
      gclient setdep -r third_party/vulkan-validation-layers/src@b96d6528883e
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll
    Please CC cwallez@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: cwallez@google.com
    Change-Id: I7b9edbae8b42a41042e8adec7a5c3b12dd8be724
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1993887
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 97f831fc1ec0aac817c05d69eb61658e09911b84
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Jan 13 07:01:53 2020 +0000

    Roll third_party/spirv-tools/src fb2e819819ef..18b3b94567a9 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/fb2e819819ef..18b3b94567a9
    
    
    Created with:
      gclient setdep -r third_party/spirv-tools/src@18b3b94567a9
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC cwallez@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: cwallez@google.com
    Change-Id: Ied4595d3d1b2ea5d7352f719c441c9b2d8baa75f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1993889
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 52cb2a1a733f1965e0a797057292cb12e84ec7d7
Author: Yan, Shaobo <shaobo.yan@intel.com>
Date:   Tue Jan 7 14:06:25 2020 +0800

    Allow SamplerVideoWEBGL can sampler compatible texture type
    
    For current WEBGL_video_image implementation, VideoImage texture type translates to its
    native texture type in blink layer.
    
    A refactory for this implementation is required but is complicated and need much time.
    Currently, we need a workaround in ANGLE to support this extension.
    
    Current end2end tests can monitor this workaround well.
    
    BUG=chromium:776222, angleproject:3889
    Change-Id: I864bc2734cfffc8c5aea6166466767e3fb31c1c7
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1989864
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit c4053a9e86afd2b4bf857e006212883b1512c581
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Jan 3 15:03:32 2020 -0500

    Vulkan: Reduce the frequency of driver uniform binds
    
    Bind the driver uniforms set only when actually updating them.
    
    Bug: angleproject:4261
    Change-Id: Ie1f1ab61eef58c5e0c713d285050c79c4cfccb32
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1986928
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Mohan Maiya <m.maiya@samsung.com>

commit ed074852bf075546232c438cd095a1845462ff40
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Jan 7 13:26:27 2020 -0500

    Add a perf test for drawing with alternating programs
    
    The programs have a different shader interface, to force rebinding
    descriptor sets in the Vulkan backend.
    
    Bug: angleproject:4261
    Change-Id: I7a18a441483dfe34bd40b5a30ca34b7fd0dc3219
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1990085
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit f0be7c81c58180d11c5d2bdd1c83d2c526603286
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Dec 2 15:42:33 2019 -0500

    Fix GLSLTest_ES3.MixedRowAndColumnMajorMatrices_ReadSideEffect
    
    The test had two array sizes swapped, causing failure on vendors that
    statically verified index-out-of-bound accesses.
    
    Bug: angleproject:3831
    Change-Id: I8ec32e9c11b38b69f03b1a22e60dfb6c6e82c2a4
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1947123
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 5e33e647d13364f68447b8d438e620f7549a1476
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Jan 9 14:20:09 2020 -0500

    Vulkan: Optimize getIndexRange
    
    This function was unconditionally calling finishImpl().  This is changed
    to finishToSerial() to only wait until the serial that actually used the
    buffer.
    
    Bug: angleproject:3072
    Change-Id: Ida89bb119b4ba6420f12404b911af0e3b4583a51
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1993407
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 6b2754066af240bce382baf4ac5720ac998aa306
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Jan 9 11:14:47 2020 -0500

    Vulkan: Workaround vertex attributes vs stride issue on AMD
    
    Under robustBufferAccess, Vulkan states that:
    
    Vertex input attributes are considered out of bounds if the offset of
    the attribute in the bound vertex buffer range plus the size of the
    attribute is greater than either:
    
    - vertexBufferRangeSize, if bindingStride == 0; or
    - (vertexBufferRangeSize - (vertexBufferRangeSize % bindingStride))
    
    The latter implies that if the buffer size is not a multiple of the
    vertex attribute stride, what lies beyond the last multiple of stride is
    considered out of bounds.
    
    It also says:
    
    Out-of-bounds buffer loads will return any of the following values:
    
    - Values from anywhere within the memory range(s) bound to the buffer
      (possibly including bytes of memory past the end of the buffer, up to
      the end of the bound range).
    - Zero values, or (0,0,0,x) vectors for vector reads where x is a valid
      value represented in the type of the vector components and may be any
      of ...
    
    The first bullet point indicates that the driver is allowed to load the
    attribute values from the buffer if its range still lies within the
    buffer size.
    
    Take the following example:
    
    - Buffer size = 12
    - Attribute stride = 8
    - Attribute offset = 0
    - Attribute size = 4
    
    Basically the buffer is thus laid out as follows:
    
              attr stride
          _________/\_________
         /                    \
        +----------+----------+----------+
        | vertex 0 | padding  | vertex 1 |
        +----------+----------+----------+
         \___ ____/
             V
         attr size
    
    In the above example, the attribute for vertex 1 is considered out of
    bounds, but the driver is allowed to either read it correctly, or return
    (0, 0, 0, 1) for it.
    
    Most drivers implement the former, while AMD implements the latter.
    This change introduces a workaround for AMD where
    GL_MAX_VERTEX_ATTRIB_STRIDE is limited to 2048 (the common value for it
    according to gpuinfo.org) and conservatively rounds up every buffer
    allocation to that size.
    
    While technically, this workaround should be applied on any device with
    the robustBufferAccess feature enabled, it is currently limited to AMD
    to avoid the inefficiency.  A possible future revision of Vulkan may
    relax the above restrictions.
    
    Bug: angleproject:2848
    Change-Id: Ida5ae5d777da10f22ce8be5a09a7644b5bbd778e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1991709
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 8fde115144145bab66e8c33ab3c1b3033febd80f
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Jan 9 14:22:35 2020 -0500

    Vulkan: fix default uniform descriptor rebind on program change
    
    When the program binding changes, we set the descriptor sets binding
    dirty bit if the program had any textures, UBOs, SSBOs, images or atomic
    counters.  The check for default uniforms was missing.  So if the two
    programs had no resources and were only using default uniforms, then
    drawing with one after the other didn't update the descriptor set
    binding of the default uniforms for the second draw.
    
    Bug: angleproject:4277
    Change-Id: I631a1619658ee713484cfaee99fe1e39987e16e7
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1993408
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>

commit 5aed7c74b77f44c4eaf29b46ceb7e490f19c201d
Author: Eric Binet <ericbinet@google.com>
Date:   Wed Jan 8 17:42:21 2020 -0500

    Narrow point size range clamping to affected versions
    
    Bug: angleproject:2970
    Change-Id: Ie14725b0cf30738d394320c24a72bc947135f5cf
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1993204
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 23b8857be5695a5455d82ae93292d5de21435ce6
Author: Eric Binet <ericbinet@google.com>
Date:   Wed Jan 8 14:07:53 2020 -0500

    Fix RendererVk::getMaxSupportedESVersion() to truly downgrade max version
    
    Added a small helper function (LimitVersionTo) to prevent future mistakes.
    
    Bug: angleproject:4168
    Change-Id: Ia19312459540adbc2788ad0a5cb3d19ef1ff784f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1992185
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Ian Elliott <ianelliott@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 4ffc254e8fba9a9e1337a89369df91ee1616ef4f
Author: Eric Binet <ericbinet@google.com>
Date:   Wed Jan 8 09:58:24 2020 -0500

    Only initialize the timestamp query pools if the extension is available.
    
    Also added a few assertions to ensure that timestamp queries aren't attempted
    when support is missing.
    
    Bug: angleproject:4114
    Change-Id: Ie6d7d5face59f9bc137aebd86c9d0e965773e6e6
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1992184
    Commit-Queue: Eric Binet <ericbinet@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit f567bac015133a0ff88dc4ea2ad695ff7c398a73
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Fri Dec 20 09:29:35 2019 -0700

    Vulkan: Add fallback for D32_UNORM for Swiftshader
    
    Swiftshader does not have support for D24_S8 (typical fallback for
    32bit DEPTH_COMPONENTS) but does have D32_FLOAT, so add fallback to
    that format. This then allows ANGLE to support OES_depth_texture
    extension when using Swiftshader which is needed to allow Vulkan
    swiftshader to replace GL swiftshader.
    
    Bug: angleproject:4232
    Change-Id: Iaf04fcf0bea8d9cca0b9e7a18e3351ce8c704355
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1986413
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 0253940d0f39463d497a8d07e40a5e7780bced3f
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Jan 9 15:30:22 2020 -0500

    Add UWP bots
    
    winuwp-x64-dbg and winuwp-x64-rel CI and Try bots.
    
    Bug: angleproject:3928
    Change-Id: Ifc54f6daae1090f9c68be6edcd8b1a069f0c5fc2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1993691
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit c792a6bacf68778aa38a1a5850f1fdca6f117e41
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Jan 10 07:01:43 2020 +0000

    Roll third_party/vulkan-validation-layers/src ac72777ef763..c17344df6cca (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/ac72777ef763..c17344df6cca
    
    git log ac72777ef763..c17344df6cca --date=short --first-parent --format='%ad %ae %s'
    2020-01-09 petr_kraus@email.cz scripts: Report unassigned VUIDs in stats
    2020-01-09 petr_kraus@email.cz scripts: Add best practices tests to stats
    
    Created with:
      gclient setdep -r third_party/vulkan-validation-layers/src@c17344df6cca
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll
    Please CC cwallez@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: cwallez@google.com
    Change-Id: I670cc25dee3714a451636bfa1e66145d8f77181f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1994252
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit dcc57015f8922c93e9680f15c300d7c353082e00
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Jan 10 07:01:41 2020 +0000

    Roll third_party/SwiftShader 77c89ff847b6..110236f3ce70 (5 commits)
    
    https://swiftshader.googlesource.com/SwiftShader.git/+log/77c89ff847b6..110236f3ce70
    
    git log 77c89ff847b6..110236f3ce70 --date=short --first-parent --format='%ad %ae %s'
    2020-01-09 sugoi@google.com Enable filtering depth+stencil formats
    2020-01-09 bclayton@google.com Kokoro: Disable ASAN for debug mac builds
    2020-01-09 bclayton@google.com SpirvShader: Move extension list out of for loop.
    2020-01-09 bclayton@google.com C++14: Use std::make_unique where possible.
    2020-01-09 swiftshader.regress@gmail.com Regres: Update test lists @ 77c89ff8
    
    Created with:
      gclient setdep -r third_party/SwiftShader@110236f3ce70
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/swiftshader-angle-autoroll
    Please CC cwallez@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: cwallez@google.com
    Change-Id: Ibe4bccbad9c9f306953164aa7c0faf8c778ba68c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1994251
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 12ce8f687d2377ecc661c0c0bed4a383c6ba9697
Author: Kenneth Russell <kbr@chromium.org>
Date:   Fri Jan 3 16:40:06 2020 -0800

    Upstream WebKit's iOS port of ANGLE.
    
    Added the EAGL backend authored by Dean Jackson from Apple, and the
    refactoring changes needed to support it side-by-side with the macOS
    backend. Ran "git cl format" against these diffs.
    
    Defined the EGL_ANGLE_device_eagl extension and allocated an enum out
    of ANGLE's reserved range.
    
    The iOS backend is not yet included in any of the GN files.
    
    Bug: angleproject:4263
    Change-Id: I631c32930433c03bb16a242955ffedf55174bb29
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1987278
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: James Darpinian <jdarpinian@chromium.org>
    Commit-Queue: Kenneth Russell <kbr@chromium.org>

commit 7a37d3acf5329acfe32bb3ecfe49ea23ff2bfd06
Author: Kenneth Russell <kbr@chromium.org>
Date:   Sun Jan 5 13:52:03 2020 -0800

    Work around Intel driver bug with CopyTex{Sub}Image2D/DeleteTextures.
    
    Dependencies seem to be incorrectly tracked in some Intel OpenGL
    drivers (on macOS specifically), causing crashes in glDeleteTextures
    if a GL command buffer is being constructed where those textures are
    destinations of CopyTexImage2D/CopyTexSubImage2D. Work around this bug
    by flushing before texture deletion if CopyTex{Sub}Image have been
    called recently. The tracking is only done on a per-context rather
    than a per-device basis, but seems sufficient to work around the
    problem as identified.
    
    Tested both with new ANGLE test on affected hardware, and in WebKit's
    ANGLE backend for WebGL. Works around the crash reported in
    https://bugs.webkit.org/show_bug.cgi?id=205707 .
    
    Bug: angleproject:4267
    Change-Id: I2266a5590759f6a3f19080def08710ef4b66d463
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1987932
    Commit-Queue: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 697b2241a6c77113e27987c1f208512f772b8b0f
Author: Tobin Ehlis <tobine@google.com>
Date:   Thu Jan 9 12:19:07 2020 -0700

    Vulkan:Clarify volk license file name
    
    Need to explicitly specifly volk LICENSE.md filename in README.chromium
    file.
    
    Bug: angleproject:4225
    Change-Id: I5d71ef0c28063f6e036f94ddb7d2c9e289fe79d2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1993397
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Tobin Ehlis <tobine@google.com>

commit 27db24581e9ef6a309ac43d9a5e89f1d9bf161c4
Author: James Darpinian <jdarpinian@chromium.org>
Date:   Thu Oct 3 13:46:28 2019 -0700

    Optimize disabling ARB_texture_rectangle
    
    In https://crrev.com/c/1838418 I added the ability to disable
    ARB_texture_rectangle so that we can use it in the WebGL implementation
    but disable it when compiling user shaders. Unfortunately disabling
    and re-enabling the extension causes the shader translator to be
    reinitialized which turns out to be more expensive than the actual
    work of shader translation, at least for small shaders. It's slow enough
    to cause timeouts in WebKit's WebGL conformance test runs.
    
    This introduces an alternate method of disabling ARB_texture_rectangle
    in the translator which is much faster because it avoids reinitializing
    the translator.
    
    Bug: angleproject:3956
    Change-Id: I5d31b683ff19a59bdfd289cfd3c609f64ef5e25b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1991969
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: James Darpinian <jdarpinian@chromium.org>

commit bf8bd80526735b56a0038f97734cc9d436245adb
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Jan 9 15:00:53 2020 +0000

    Roll third_party/spirv-tools/src e70b009b0f1e..fb2e819819ef (14 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/e70b009b0f1e..fb2e819819ef
    
    
    Created with:
      gclient setdep -r third_party/spirv-tools/src@fb2e819819ef
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC cwallez@google.com,jmadill@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: cwallez@google.com,jmadill@google.com
    Change-Id: Ife103b6f2c902c3ec357ab5058c1afe0c5648119
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1993380
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 1c40e03a42159c54b6be655eabac7fb39f2aaef6
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Jan 9 07:01:41 2020 +0000

    Roll third_party/SwiftShader 45a4d0f36bd6..77c89ff847b6 (13 commits)
    
    https://swiftshader.googlesource.com/SwiftShader.git/+log/45a4d0f36bd6..77c89ff847b6
    
    git log 45a4d0f36bd6..77c89ff847b6 --date=short --first-parent --format='%ad %ae %s'
    2020-01-08 bclayton@google.com Build: Verify that we're compiling with C++14.
    2020-01-08 bclayton@google.com Build: Move from using C++11 to C++14.
    2020-01-08 bclayton@google.com Kokoro: Update from GCC 4.8 to GCC 7.
    2020-01-08 bclayton@google.com Pipeline/SpirvShader: Move setActiveLaneMask()
    2020-01-08 bclayton@google.com Pipeline/SpirvShader: Support more OpExtInsts
    2020-01-08 bclayton@google.com Pipeline/SpirvShader: Process OpString instructions
    2020-01-08 bclayton@google.com Pipeline/SpirvShader: Add Impl struct
    2020-01-08 bclayton@google.com Vulkan/Debug: Expose Frames from Thread
    2020-01-08 sugoi@google.com Enable B10G11R11_UFLOAT blending
    2020-01-08 bclayton@google.com Vulkan/Debug: Add Reference value type.
    2020-01-08 chrisforbes@google.com Add storage image support for R16G16_{UINT,SINT,SFLOAT}
    2020-01-08 bclayton@google.com Vulkan: Plumb the debug context down to SpirvShader
    2020-01-08 bclayton@google.com Vulkan: Add debugging of the command buffer.
    
    Created with:
      gclient setdep -r third_party/SwiftShader@77c89ff847b6
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/swiftshader-angle-autoroll
    Please CC cwallez@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: cwallez@google.com
    Change-Id: I9f7014f2de23f3f9411f07a4b95c0cc48ab5e6ac
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1993043
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 0561d46ee98b2fdce04b8a734321785a346b01d9
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Jan 9 07:01:43 2020 +0000

    Roll third_party/vulkan-validation-layers/src 258b887827ab..ac72777ef763 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/258b887827ab..ac72777ef763
    
    git log 258b887827ab..ac72777ef763 --date=short --first-parent --format='%ad %ae %s'
    2020-01-08 mark@lunarg.com corechecks: Fix immutable sampler write fall-through case
    
    Created with:
      gclient setdep -r third_party/vulkan-validation-layers/src@ac72777ef763
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll
    Please CC cwallez@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: cwallez@google.com
    Change-Id: Id7c2391bdd232852542eb65a5d8372f73cf6d4d3
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1993044
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit f6228fdf6f843c658965e200c61d4b2d2d2d10bd
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Jan 9 07:01:47 2020 +0000

    Roll third_party/glslang/src 1642ca11282a..51813670627c (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/1642ca11282a..51813670627c
    
    
    Created with:
      gclient setdep -r third_party/glslang/src@51813670627c
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/glslang-angle-autoroll
    Please CC cwallez@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: cwallez@google.com
    Change-Id: Id259094225cc9d58472153114d5836bddb4b6aaf
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1993045
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit c431d59626e1e878022703f79585fddae8c0cfe7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Dec 16 10:59:44 2019 -0500

    Add Serial to all GL resources.
    
    The Serial will help track active resources for filtering out
    inactive setup calls in capture/replay.
    
    Bug: angleproject:4223
    Change-Id: I64ba50f27d656c12d45155dc735e9b6f9c04528f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1969062
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 99c274baf503ac6d7ece36c848bfcc1f1488e3f5
Author: Tobin Ehlis <tobine@google.com>
Date:   Wed Jan 8 09:39:03 2020 -0700

    Vulkan:Roll volk
    
    All ANGLE volk changes have been upstreamed to volk repo so rolling
    volk to sync with latest.
    Going forward we can just roll when/if we need newer versions of Vulkan
    Header supported by volk.
    
    Bug: angleproject:4225
    Change-Id: I6132a94010bbc5f3356ebb0b7e2b2b661ecc68b2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1991722
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Tobin Ehlis <tobine@google.com>

commit b84cdffeec6cb4aac16120bbd83917b9cd7b4c89
Author: Eric Binet <ericbinet@google.com>
Date:   Mon Jan 6 14:59:44 2020 -0500

    Fix colored indexed point tests not using color in vertex buffer.
    
    In the previous version, the IndexedPointsTestUInt tests named
    VertexWithColorUnsignedIntOffset* were redundant with UnsignedIntOffset*.
    
    Bug: angleproject:3923
    Change-Id: I6b9b8f2bd78882bcac7c3b89e798291ee94eea70
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1988998
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit e5d3c6595f7e7afb7a5a7c788db3481ced31e894
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Jan 8 07:01:43 2020 +0000

    Roll third_party/vulkan-validation-layers/src b416ed86e4b2..258b887827ab (3 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/b416ed86e4b2..258b887827ab
    
    git log b416ed86e4b2..258b887827ab --date=short --first-parent --format='%ad %ae %s'
    2020-01-07 mark@lunarg.com tests: Add test for a write update to an immutable sampler
    2020-01-07 mark@lunarg.com tests: Add test for copying to immutable samplers
    2020-01-07 mark@lunarg.com corechecks: Add validation for writing to immutable samplers
    
    Created with:
      gclient setdep -r third_party/vulkan-validation-layers/src@258b887827ab
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll
    Please CC cwallez@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: cwallez@google.com
    Change-Id: I4fdaffd02584138c7d4e9d6f0c69221d628cf8ef
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1990983
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 20ed6bcbac9becd25e3c4b0ed4bc85bd637f4375
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Jan 8 07:01:41 2020 +0000

    Roll third_party/SwiftShader 068dd89cab31..45a4d0f36bd6 (5 commits)
    
    https://swiftshader.googlesource.com/SwiftShader.git/+log/068dd89cab31..45a4d0f36bd6
    
    git log 068dd89cab31..45a4d0f36bd6 --date=short --first-parent --format='%ad %ae %s'
    2020-01-08 capn@google.com Disable unused function warning
    2020-01-07 bclayton@google.com Regres: Apply fix for invalid SPIR-V in 12 tests.
    2020-01-07 capn@google.com Disable LLVM & Subzero stack traces and crash handling
    2020-01-07 digit@google.com vulkan: use a marl::Event in the VkSemaphore implementation.
    2020-01-07 digit@google.com [vulkan] Simplify vk::Semaphore implementation.
    
    Created with:
      gclient setdep -r third_party/SwiftShader@45a4d0f36bd6
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/swiftshader-angle-autoroll
    Please CC cwallez@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: cwallez@google.com
    Change-Id: I5b338a33ea57117912e019075c52f09351badea7
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1990982
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 90bf5bece617b038e926fb16dfc30585fc9fad2b
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Jan 8 07:01:47 2020 +0000

    Roll third_party/glslang/src 1d258ac34698..1642ca11282a (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/1d258ac34698..1642ca11282a
    
    
    Created with:
      gclient setdep -r third_party/glslang/src@1642ca11282a
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/glslang-angle-autoroll
    Please CC cwallez@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: cwallez@google.com
    Change-Id: I6a686ddc411f6e2087b146fbd146c6a63675bf34
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1990984
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit d0788509e17718fd2ab13ea53902fd24687d7a68
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Jan 8 07:01:14 2020 +0000

    Roll third_party/vulkan-tools/src 55333361f9a1..2c436960d2c0 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/55333361f9a1..2c436960d2c0
    
    git log 55333361f9a1..2c436960d2c0 --date=short --first-parent --format='%ad %ae %s'
    2020-01-07 charles@lunarg.com vulkaninfo: Make presentation surface names a set
    
    Created with:
      gclient setdep -r third_party/vulkan-tools/src@2c436960d2c0
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/vulkan-tools-angle-autoroll
    Please CC cwallez@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: cwallez@google.com
    Change-Id: If653af60cbc98b72138c4e1768ec7ccae4f6543c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1990981
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit db49bc7dd0759fac8cb4065aa2afc3172aed7948
Author: Tobin Ehlis <tobine@google.com>
Date:   Tue Jan 7 09:18:43 2020 -0700

    Vulkan:Roll volk
    
    Roll volk to the latest version which supports Vulkan 1.1.130.
    I'm attempting to upstream our customizations to that version so
    this roll is in preparation of those changes hopefully landing.
    
    Bug: angleproject:4225
    Change-Id: I02f3bd3808f812c0ec8196b6c815a781e7ab5eeb
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1989479
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Tobin Ehlis <tobine@google.com>

commit c8d7f047746c409314cff662f1931bc4fdb80516
Author: Ian Elliott <ianelliott@google.com>
Date:   Tue Jan 7 10:06:07 2020 -0700

    Vulkan: Update number of samples when changing draw framebuffer
    
    This fixes a crash (preceeded by Vulkan validation errors) when running
    the following test:
    
    --gtest_filter=dEQP.KHR_GLES31/core_texture_storage_multisample_FunctionalTests_blitting_multisampled_depth_attachment* --use-angle=vulkan
    
    The problem is that GraphicsPipelineDesc::updateRasterizationSamples()
    is rarely called (e.g. glBindFramebuffer).  The above dEQP test changes
    between draw attachments that do and don't have multisampling enabled.
    The number of samples is set (the first time) to have multisampling
    enabled, and never changed, even though other attachments don't have
    multisampling.
    
    FramebufferVk::syncState() now calls updateRasterizationSamples().  That
    fix uncovered a latent problem: when an application destroys all
    framebuffers (including the draw framebuffer), the ContextVk still
    points at the old draw framebuffer's FramebufferVk (now freed).  This
    is fixed with new plubming to clean-up ContextVk::mDrawFramebuffer.
    
    Bug: angleproject:4240
    Change-Id: I151ec40ab821efc07c26323c34275c9165ad2ed5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1983393
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit 2c63b83c8a32e69362c8c61bab160cc53f1e03e6
Author: Tobin Ehlis <tobine@google.com>
Date:   Fri Jan 3 15:44:30 2020 -0700

    Vulkan:Enable DebugUtils extension for Android
    
    Enable DebugUtils Vulkan extension for Android.
    This rolls VK Validation Layer dep forward to include a fix that
    allows this extension to work correctly with Android loader.
    Here's the Validation layer fix:
    https://github.com/KhronosGroup/Vulkan-ValidationLayers/pull/1464
    
    Bug: angleproject:3852
    Change-Id: I74c55c0a66a7ee4db3b623221c8fb6c4433a39af
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1985175
    Commit-Queue: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit cbbb3aafab002deec45b821008dee5e1286f3d9a
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Jan 7 15:03:20 2020 +0100

    Suppress VertexAttributeTest.DrawArraysWithBufferOffset on Mac NVIDIA
    
    The test fails with the following at a very low flake rate:
    ../../third_party/angle/src/tests/gl_tests/VertexAttributeTest.cpp:230: Failure
    Expected equality of these values:
      angle::MakeGLColor(255, 255, 255, 255)
        Which is: White
      angle::ReadColor((midPixelX + viewportSize[2]) / 2, midPixelY)
        Which is: Transparent Black
    
    TBR=jmadill@chromium.org
    Bug: angleproject:4269
    Change-Id: I82752acfbcb2a067ccb35a7a456def03299c359f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1987258
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit ce396c030d2118d5b2c5e65b1b648d099652b9a4
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Jan 7 07:01:43 2020 +0000

    Roll third_party/SwiftShader 10a900e5ffaf..068dd89cab31 (7 commits)
    
    https://swiftshader.googlesource.com/SwiftShader.git/+log/10a900e5ffaf..068dd89cab31
    
    git log 10a900e5ffaf..068dd89cab31 --date=short --first-parent --format='%ad %ae %s'
    2020-01-06 bclayton@google.com SPIRV-Tools: Update Android.bp to fix build.
    2020-01-06 capn@google.com Limit Vulkan memory allocation size to 1 GiB
    2020-01-06 bclayton@google.com IDs: Move inline impls below class.
    2020-01-06 bclayton@google.com Pipeline: Store builtins on SpirvRoutine...
    2020-01-06 bclayton@google.com Style: clang-format the tests source too
    2020-01-06 bclayton@google.com Merge changes Id1120acb,Ifc6afcda,I8b5da04a,I9389ad9e,I35d60f68
    2020-01-06 sugoi@google.com Improve 1010102 blend precision
    
    Created with:
      gclient setdep -r third_party/SwiftShader@068dd89cab31
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/swiftshader-angle-autoroll
    Please CC cwallez@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: cwallez@google.com
    Change-Id: I9df3cbc0059453193adfbee90f767d06c0149fa2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1989339
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 806b06a21327d8d587983f031e942fd6f77c7ef4
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Jan 7 07:01:41 2020 +0000

    Roll third_party/glslang/src 6334d594f68c..1d258ac34698 (3 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/6334d594f68c..1d258ac34698
    
    
    Created with:
      gclient setdep -r third_party/glslang/src@1d258ac34698
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/glslang-angle-autoroll
    Please CC cwallez@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: cwallez@google.com
    Change-Id: If27787415b62ecdeee7192fdb6663e8b80cdec79
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1989337
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 0d4675959b0984707c134a2a517ea3a6d3c94555
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Jan 7 07:01:41 2020 +0000

    Roll third_party/vulkan-validation-layers/src 2be3fe0f8471..b416ed86e4b2 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/2be3fe0f8471..b416ed86e4b2
    
    git log 2be3fe0f8471..b416ed86e4b2 --date=short --first-parent --format='%ad %ae %s'
    2020-01-06 mark@lunarg.com layers: Added stub functions for instance exts and funcs
    
    Created with:
      gclient setdep -r third_party/vulkan-validation-layers/src@b416ed86e4b2
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll
    Please CC cwallez@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: cwallez@google.com
    Change-Id: I1b8ae6d289e25c34c731c4acd42c30dead3ea6d4
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1989338
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 806d812e1a1123b9232d0259e1f2e673abc4a55e
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Jan 3 13:48:30 2020 -0500

    Vulkan: Reorder descriptor sets
    
    This change moves driver uniforms to a set with a lower id than the one
    that includes (emulation) transform feedback buffers.  Imagine the
    following:
    
    - Program 1 with xfb: UniformsSet: 1 VS uniforms buffer, 1 FS uniforms
      buffer, 1 xfb buffer
    - Program 2 without xfb: UniformsSet: 1 VS uniforms bufer, 1 FS uniforms
      buffer.
    
    Previously, UniformsSet was index 0, and DriverUniformsSet was index 3.
    When switching from Program 1 to Program 2, the layout of UniformsSet
    changes, which means every subsequent set needs to be rebound.  This is
    a Vulkan pipeline layout compatibility rule.  This is done with
    invalidateCurrentTextures() and invalidateCurrentShaderResources()
    already when handling gl::State::DIRTY_BIT_PROGRAM_EXECUTABLE.  The bug
    is that the driver uniforms are not invalidated.
    
    This is normally not an issue, because usually when switching from
    Program 1 to Program 2, transform feedback is paused, and this state
    change does invalidate driver uniforms.  However, the following scenario
    doesn't do this:
    
    - Begin Xfb
    - Pause Xfb
    - Use Program 1
    - Draw
    - Use Program 2
    - Draw
    - End Xfb
    
    There is no driver state change between the two draw calls, which means
    the second draw will attempt to draw using the driver uniforms bound for
    the first draw call.  There is a Vulkan validation error here due to the
    above pipeline layout validation rule.
    
    The issue manifests itself only when the second draw call actually uses
    driver uniforms, as otherwise that set is inactive and not validated;
    i.e. when line raster emulation is used.
    
    In summary, the validation error manifests itself when:
    
    - Transform feedback and line raster both use emulation
    - Transform feedback is paused
    - A draw with an xfb program is followed by a non-xfb program
    - The second draw is a line draw
    
    A test is added for this.
    
    The solution is to reorder the sets so that DriverUniformsSet is placed
    before UniformsSet.  This way, changes to the layout of UniformsSet
    don't invalidate DriverUniformsSet.
    
    In fact, based on the above, any change in the layout of the program
    should have required an invalidation of the driver uniforms.  This bug
    is probably masked by the fact that
    ContextVk::handleDirtyDescriptorSetsImpl() always rebinds the graphics
    driver every time any descriptor set needs rebinding.  That should be
    removed in a follow up change.
    
    Bug: angleproject:4261
    Change-Id: I21ad4152b454a1fe70554be02e18a9c94fb3e7a8
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1986927
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 51e653f03f26113a2223044ab52dffbaa95ce289
Author: shrekshao <shrekshao@google.com>
Date:   Thu Jan 2 13:53:03 2020 -0800

    Suppress flaky failure with MacOS/NVIDIA/OPENGL
    
    Seeing intermittent failure on this test only on MacOS/NVIDIA/OPENGL.
    Suppress for now.
    
    Bug: angleproject:4258
    Change-Id: Ibda30954019410e3b6d069986b2cd0ad26533c00
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1984850
    Reviewed-by: Shrek Shao <shrekshao@google.com>
    Commit-Queue: Shrek Shao <shrekshao@google.com>

commit 8c0bbfbbf53e2ff1453ebba8dd319883fc73e39a
Author: Jeff Vigil <j.vigil@samsung.com>
Date:   Mon Nov 25 14:48:11 2019 -0800

    EGL: Implement EGL_ANDROID_framebuffer_target
    
    Add attribute to configs.
    Add attribute matching logic.
    Does not set attribute in Vulkan configs, need solution to
    query Android for which formats are valid. anglebug.com/4208
    New end2end test.
    
    Bug: angleproject:3961
    Test: angle_end2end_tests --gtest_filter=EGLAndroidFramebufferTargetTest*
    Change-Id: I7e14c47b39e9539f6181c3c1d75c76fe63ca0f8c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1960508
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Commit-Queue: Mohan Maiya <m.maiya@samsung.com>

commit 7dfc99e5cf6bd1781b1206ff198e1e9b2ee21f69
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Wed Dec 18 16:37:20 2019 -0700

    Vulkan: Update dEQP source for test fixes
    
    Also fix scripts/gen_vk_gl_cts_build.py to always use '/' as file
    separator. Otherwise, running the script on Windows uses '\' which
    Linux doesn't like.
    
    Test:
      angle_deqp_gles31_tests --use-angle=swiftshader --gtest_filter=dEQP.GLES31/functional_debug_negative_coverage_get_error_vertex_array_draw_range_elements
    
    Bug: angleproject:2324
    Bug: angleproject:4234
    Change-Id: I3b212e0d0ba97996f1d86f7fc81e58c3b03a9cbb
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1975020
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 0721cc8ba09b9c67208d07fa9726b7cc9412465c
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Jan 3 23:26:08 2020 -0500

    Vulkan: No line raster emulation code if extension
    
    A flag is added to the translator to disable generation of Bresenham
    line raster emulation code when the Bresenham line raster Vulkan
    extension is present.  This is primarily for the sake of conversion of
    line raster emulation condition to specialization constant:
    
    - Avoid dead SPIR-V code in every shader
    - Avoid ANGLEUniforms being active in every shader stage even if it's
      not used anywhere but in line raster emulation.
    - Optimize SPIR-V transformations by both having fewer instructions to
      iterate through, and to avoid generating line raster patches.
    - Reduce the severity of anglebug.com/4251 where the location assignment
      of ANGLEPosition can incorrectly overlap a varying array or struct, by
      making only platforms without Bresenham extension afflicted by the
      bug.
    
    Bug: angleproject:3394
    Change-Id: Ic0ae6ce0392b4eae0cc79cb94bbcd0805b276a31
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1986379
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit f8ae5dc6d791be56962d8bc8f8c4ff5644ab0c99
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Dec 20 16:32:09 2019 -0500

    GL: Enable EXT_gpu_shader5
    
    Bug: angleproject:3569
    Change-Id: I08666bde75ac158e051817e689e2c0b82d6b6f70
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1978579
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit d36780ba3dbfd20ff044e5946a9806e9811d4790
Author: Ethan Lee <flibitijibibo@gmail.com>
Date:   Thu Jan 2 12:28:26 2020 -0500

    Fix UWP build
    
    Bug: angleproject:4246
    Change-Id: Ifcbb6fe51ee2df6baf86a308de74bab640ded834
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1982632
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit f64ddcfdbfd7b37a09945f4d21d19ef3e3818480
Author: Eric Binet <ericbinet@google.com>
Date:   Mon Jan 6 13:27:30 2020 -0500

    Add missing steps in DevSetup
    
    Bug: angleproject:4268
    Change-Id: Ib7f58ba241c24acb35d8705d994c57422d9b73e4
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1987908
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 56fd2bcefa0833d5da6e71240553638893fd0ce3
Author: Ethan Lee <flibitijibibo@gmail.com>
Date:   Tue Dec 17 10:00:55 2019 -0500

    Fix GGP build
    
    Bug: angleproject:4246
    Change-Id: I80906196ebc3c904e75516e8c53b05dd81c5fa5c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1982633
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit ab42afa65737c20772ec84493d286c330a95527c
Author: Le Hoang Quyen <lehoangq@gmail.com>
Date:   Thu Nov 21 10:13:44 2019 +0800

    Metal: fix vertex attribute's conversion lost after changing buffer binding.
    
    After vertex buffer's attribute is converted and stored in conversion
    buffer. Binding the same attribute to another buffer, then binding it
    back to previous buffer will result in previous conversion
    information lost. The conversion method would skip the conversion due to
    buffer's content hadn't been changed, however it didn't reuse the old
    conversion result.
    
    This CL also changed the way binding offset is used in Metal backend.
    - Previous, the offset would be assigned to the offset field of
      MTLVertexAttributeDescriptor, then the buffer would simply be bound to
      the command encoder with offset=0
      i.e. setVertexBuffer(buffer, index, 0)
    - However this approach has several disadvantages. Since Metal doesn't
      allow MTLVertexAttributeDescriptor's offset to be larger than the
      vertex attribute's stride, the old approach would force the back-end
      to convert the attribute and store in conversion buffer.
    
    New approach:
    - MTLVertexAttributeDescriptor's offset will be zero. The offset will be
      used to bind the buffer itself to the render command encoder.
      i.e. setVertexBuffer(buffer, index, offset)
      This way the "offset <= stride" restriction no longer exists. The only
      restriction is the offset must be multiple of attribute's size.
    
    Added 3 new tests:
    - SimpleStateChangeTest.RebindTranslatedAttribute
    - VertexAttributeTest.DrawWithLargeBufferOffset
    - VertexAttributeTest.DrawWithLargeBufferOffsetAndLessComponents
    
    Bug: angleproject:2634
    Change-Id: I6c2fa8091436e4a24405d791f86d17d97df02d64
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1940009
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>

commit 3311ef65680e5c69e2ea9913eb244b67c2189d91
Author: Jeff Vigil <j.vigil@samsung.com>
Date:   Fri Jan 3 11:52:15 2020 -0700

    update date comments to 2020
    
    run_code_generation.py updated comments with 2019 to 2020.
    Put all date updates into this one CL.
    This also updated hashes.
    
    Bug: angleproject:4262
    Change-Id: Ia213dd5e47f155986cbb4161d777724355878af0
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1986994
    Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
    Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 1031d2c65b5ea85a77013fe6fa17ec9d93e5ca22
Author: Kenneth Russell <kbr@chromium.org>
Date:   Fri Jan 3 14:28:26 2020 -0800

    Upstream Mac logging changes from WebKit.
    
    Use os_log_with_type in ANGLE's logging facility rather than fprintf.
    
    Bug: angleproject:4263
    Change-Id: I0c418fc5544001bf4f47ff511d05de2f0ebaa1de
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1987145
    Reviewed-by: Kai Ninomiya <kainino@chromium.org>
    Reviewed-by: James Darpinian <jdarpinian@chromium.org>
    Commit-Queue: Kenneth Russell <kbr@chromium.org>

commit 81ee4d29192dcd0bdef05d39829d7c37e231b0e2
Author: shrekshao <shrekshao@google.com>
Date:   Wed Dec 4 17:05:11 2019 -0800

    Workaround EXT_texture_norm16 for OpenGL ES drivers
    
    Implement a workaround for widespread bugs calling glReadPixels with
    RGBA/UNSIGNED_SHORT against R16/RG16 color attachments. Read back the
    data using the GL_IMPLEMENTATION_COLOR_READ_FORMAT, and then rearrange
    the read back pixels to fit the RGBA layout.
    
    Also skip RGB16/RGB16_SNORM texture sample test on Nexus 5X/Nexus 6P
    due to a another driver bug.
    
    Bug: chromium:1000354, angleproject:4214, angleproject:4215, angleproject:4245
    Change-Id: Iedea6f4136878cac5ad0dec3757c77b73502e1cd
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1952166
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Commit-Queue: Shrek Shao <shrekshao@google.com>

commit de97fb4ac4c620af943fc0ecaddb3dd50621689b
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Jan 3 07:01:41 2020 +0000

    Roll third_party/vulkan-validation-layers/src e4a2b7f22782..2be3fe0f8471 (7 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/e4a2b7f22782..2be3fe0f8471
    
    git log e4a2b7f22782..2be3fe0f8471 --date=short --first-parent --format='%ad %ae %s'
    2020-01-02 jzulauf@lunarg.com layers: Record initial layout on release barriers
    2020-01-02 mark@lunarg.com corechecks: Plumb VtxIndex VUIDs through to helper func
    2020-01-02 mark@lunarg.com corechecks: Remove obsolete perf warning
    2020-01-02 mark@lunarg.com tests: Removed PerfWarning test from VkLayerTest harness
    2020-01-02 mark@lunarg.com bestpractices: Use BP VUID in place of corechecks one
    2020-01-02 mark@lunarg.com tests: Added test for missing vtx buffers to BP harness
    2020-01-02 mark@lunarg.com bestpractices: Added perf warning for missing vtx buffers
    
    Created with:
      gclient setdep -r third_party/vulkan-validation-layers/src@2be3fe0f8471
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll
    Please CC courtneygo@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: courtneygo@google.com
    Change-Id: I80a335bf862d776bc1533f366316f5b899fbfb09
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1986605
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 93061d4e764fdef4d3187f82bee8356b94a2ab43
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Dec 30 23:45:08 2019 -0500

    Vulkan: Support vertex-only line emulation draw with xfb
    
    The code that patches the line raster emulation directive assumed both
    vertex and fragment shaders would be present.  This is invalid if only a
    vertex shader is present.
    
    This change adds the directive to any stage that's available.  This
    includes the possibility of a missing vertex shader also, which can be
    useful for separable shaders and program pipeline objects.
    
    Bug: angleproject:3394
    Change-Id: I84555db81b59c318300003f7108a01f330e4259f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1982782
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Tim Van Patten <timvp@google.com>

commit 35e6050f50236ddd036223fab89a470e110ac5f4
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Dec 30 23:47:51 2019 -0500

    Vulkan: Correct error message for VK_ERROR_INVALID_SHADER_NV
    
    If an invalid shader is generated, generate the appropriate message
    instead of "Unknown error".
    
    Bug: angleproject:3394
    Change-Id: I586c99e95cd72daeaf74b4d1eff352942e01d8b7
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1982783
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 1fdf6ca5141d8e349e875eab6e51d93d929a7f0e
Author: Xinghua Cao <xinghua.cao@intel.com>
Date:   Tue Dec 31 14:25:35 2019 +0800

    D3D11: Restrict to translate uniform block to StructuredBuffer
    
    Only translate uniform block to StructuredBuffer when system is
    Windows 10 and later.
    
    Bug: angleproject:3682
    Change-Id: I27e3f4503392791883a44e1d486ffe9512e04bd8
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1984863
    Commit-Queue: Xinghua Cao <xinghua.cao@intel.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit cbbfa2f28a0ee0ca652416d74b42c58238b24a3a
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Dec 31 07:01:43 2019 +0000

    Roll third_party/SwiftShader 59465799210b..10a900e5ffaf (1 commits)
    
    https://swiftshader.googlesource.com/SwiftShader.git/+log/59465799210b..10a900e5ffaf
    
    git log 59465799210b..10a900e5ffaf --date=short --first-parent --format='%ad %ae %s'
    2019-12-30 chrisforbes@google.com Add assert in GenericValue constant access
    
    Created with:
      gclient setdep -r third_party/SwiftShader@10a900e5ffaf
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/swiftshader-angle-autoroll
    Please CC courtneygo@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: courtneygo@google.com
    Change-Id: Id7ec364a7df7c8389d3bab78761f4b1061d93e10
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1984961
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 942d91520aa849728fa5c4d2cc3042687128859e
Author: Mohan Maiya <m.maiya@samsung.com>
Date:   Mon Dec 23 15:31:52 2019 -0800

    EGL: Add support for EGL_KHR_gl_colorspace extension
    
    If the Vulkan backend supports VK_EXT_swapchain_colorspace extension,
    enable the option for applications to create surfaces with non-linear
    formats. Not all formats have non-linear versions and is platform
    specific.
    
    Tests: dEQP-EGL.functional.wide_color.*
           angle_deqp_egl_tests --use-angle=vulkan --deqp-gl-context-type=egl --deqp-case=dEQP-EGL.functional.wide_color.*
    Bug: angleproject:2514
    Change-Id: I441ee797cceef92c84473bfa18605c4fd8180de1
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1951963
    Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>

commit c1fc6de83f20902ea550a57ab7d19cabdbd67680
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Dec 30 07:02:09 2019 +0000

    Roll third_party/vulkan-headers/src 0e57fc1cfa56..f63dd5c9d874 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers/+log/0e57fc1cfa56..f63dd5c9d874
    
    git log 0e57fc1cfa56..f63dd5c9d874 --date=short --first-parent --format='%ad %ae %s'
    2019-12-28 flibitijibibo@gmail.com GN: Make PLATFORM_XCB optional, based on a user-defined variable.
    
    Created with:
      gclient setdep -r third_party/vulkan-headers/src@f63dd5c9d874
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/vulkan-headers-angle-autoroll
    Please CC ynovikov@chromium.org on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    TBR=ynovikov@chromium.org
    
    Bug: None
    Change-Id: I57e5f53b741fce8a14d27af4445fcc31ea860c70
    Tbr: ynovikov@chromium.org
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1984191
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit f02490d18d756154da61e98efdfde41a245400c1
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Dec 23 14:06:12 2019 -0500

    Vulkan: clean up arguments to glslang wrapper
    
    Some flags were sent as parameters while an Options parameter was added.
    This change moves those flags to the GlslangSourceOptions struct.
    
    Bug: angleproject:3394
    Change-Id: Iff5c1c83dd564d7bcfcbd84e6df244b7356d669d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1984108
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 7fad424eb69765caa3e8bc8ad21fe641285ec602
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Dec 30 00:07:09 2019 -0500

    Avoid vector copy in BinaryOutputStream::writeIntVector
    
    Also adds a unit test to make sure readIntVector and writeIntVector
    match.  It was not immediately clear that writing the vector size in
    writeIntVector is writing an int instead of a size_t.
    
    Bug: angleproject:3394
    Change-Id: I09a003c169dbc47e40c0cd3e4da6f1d7a905c6da
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1983162
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 9fac1817ede6b2f1dc61468e2625cbc30d35077c
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Dec 30 07:01:40 2019 +0000

    Roll third_party/glslang/src 5de15a256eb0..6334d594f68c (4 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/5de15a256eb0..6334d594f68c
    
    
    Created with:
      gclient setdep -r third_party/glslang/src@6334d594f68c
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/glslang-angle-autoroll
    Please CC ynovikov@chromium.org on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: ynovikov@chromium.org
    Change-Id: I13837b1d19eccf54aae171349dfadd0d37d7ef77
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1984164
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit fca5a005aa880a51672c091fcb82f084b620670a
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Dec 27 07:01:40 2019 +0000

    Roll third_party/glslang/src bd97b6f9f213..5de15a256eb0 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/bd97b6f9f213..5de15a256eb0
    
    
    Created with:
      gclient setdep -r third_party/glslang/src@5de15a256eb0
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/glslang-angle-autoroll
    Please CC ynovikov@chromium.org on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: ynovikov@chromium.org
    Change-Id: I2324cfed3dd1026a11ead024c805b216481d47ea
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1982965
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit ebed85592533092f149ce2b0525cd7a516788958
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Dec 27 07:01:43 2019 +0000

    Roll third_party/SwiftShader 6e3a387c0159..59465799210b (1 commits)
    
    https://swiftshader.googlesource.com/SwiftShader.git/+log/6e3a387c0159..59465799210b
    
    git log 6e3a387c0159..59465799210b --date=short --first-parent --format='%ad %ae %s'
    2019-12-27 capn@google.com Remove Reactor/MutexLock.hpp
    
    Created with:
      gclient setdep -r third_party/SwiftShader@59465799210b
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/swiftshader-angle-autoroll
    Please CC ynovikov@chromium.org on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: ynovikov@chromium.org
    Change-Id: I10048c2c0d1fd7843762ea3636b1ef29b7200359
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1982966
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 01dd6f6ca430a5c5bfd9d237b5569abd835694fc
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Dec 25 07:01:28 2019 +0000

    Roll third_party/vulkan-tools/src 37af49fa7b55..55333361f9a1 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/37af49fa7b55..55333361f9a1
    
    git log 37af49fa7b55..55333361f9a1 --date=short --first-parent --format='%ad %ae %s'
    2019-12-24 charles@lunarg.com vulkaninfo: exit on invalid gpu selected
    
    Created with:
      gclient setdep -r third_party/vulkan-tools/src@55333361f9a1
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/vulkan-tools-angle-autoroll
    Please CC cnorthrop@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: cnorthrop@google.com
    Change-Id: I3a08dd0ecc6c3745d29a149fa75d825ddd3b7860
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1981930
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit a35aa03add0675dc2cae28a0aec38dab53bb3a07
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Dec 20 16:15:53 2019 -0500

    Vulkan: EXT_gpu_shader5: textureGatherOffsets
    
    The validation of the offsets parameter is added in this change.
    
    Bug: angleproject:3569
    Change-Id: Ide2ea4b9e88b28ca5ef34d5f3f5203f6e48d5f74
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1979133
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit beb33691ac7ee49f7e707f4ae1e765f451b5c31b
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Dec 20 16:15:20 2019 -0500

    Vulkan: EXT_gpu_shader5: Fix textureGatherOffsets builtin
    
    This function is the only builtin with arrays as parameter.  A new
    constexpr constructor is added to TType to support this, and
    gen_builtin_symbols is changed to emit the correct type for offsets
    parameter of this function.
    
    Bug: angleproject:3569
    Change-Id: I55af58b43f24cd605c622ee685b359535e11ef85
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1975431
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 52dae168b48bea449d183cbcb824fb786d0fe682
Author: Gary Sweet <gary.sweet@broadcom.com>
Date:   Thu Dec 19 12:03:30 2019 +0000

    Vulkan : Fix maxVertexOutputComponents
    
    GL_MAX_VERTEX_OUTPUT_COMPONENTS should mirror Vulkan's
    reported maxVertexOutputComponents; this shouldn't include
    any gl_Position adjustments. It was previously set as
    maxVaryingVectors * 4.
    
    The workaround for AMD that reserved an extra varying
    due to driver instability is no longer required (see:
    https://chromium-review.googlesource.com/c/angle/angle/+/1980272)
    
    Bug: angleproject:4233
    Change-Id: I8d7b8eafa7edd4c56005dad039fe69e072692fca
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1975851
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 86d9c93a2fa5a79bc3237c9be95638a231ba69ea
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Dec 16 16:07:04 2019 -0500

    Use TSpan for TType's array sizes
    
    Until C++20, std::vector doesn't have a constexpr constructor, which
    means TType cannot use a `TVector` for `mArraySizes` if an arrayed type
    needs to be created constexpr.  This is needed for the upcoming
    textureGatherOffsets implementation.
    
    A new TSpan class is introduced, based on std::span (from C++20) that
    holds the pointer/size allocated from a TVector without owning it.
    Since TVector's allocation are made from a pool, the allocated memory
    will live beyond the vector's destruction.  `TType::mArraySizes` is
    changed to this type.
    
    This change will allow a new constexpr constructor to be added to TType
    that takes a TSpan as array directly, a value which is constexpr
    initialized from a static array (instead of TVector).
    
    Bug: angleproject:3569
    Change-Id: I78793b0f4c64519e0ebe30cf6e0de995ba70035d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1968260
    Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit c713abfdd9fae6bd57feb59dac54e511c864f041
Author: Tobin Ehlis <tobine@google.com>
Date:   Mon Dec 23 12:03:02 2019 -0700

    Vulkan:Transform/feedback instanced draw support
    
    These fixes allow dEQP 3.1 KHR-GLES31.core.vertex_attrib_binding.basic-input*
    test cases to pass.
    
    This fixes a bug in instanced drawing with transform feedback buffers
    where we were overwriting the initial transform feedback output as new
    instances were drawn. To fix this, the vertices in each draw are passed
    into a uniform value and the output is offset based on the current instance
    and the number of vertices in the draw.
    
    It also fixes a validation error where transform feedback descriptor
    was sometimes setting a buffer range of 0. This is not allowed, so in
    the 0 case we pull the actual buffer size from the bufferHelper object.
    
    Bug: angleproject:4236
    Change-Id: Ib72898a0e6caab96c446c1e996a6124d2c001193
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1979600
    Commit-Queue: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Tobin Ehlis <tobine@google.com>

commit 67d8b63a82966c7997d328a2f27cc0a1599acbd6
Author: Tobin Ehlis <tobine@google.com>
Date:   Mon Dec 23 11:35:52 2019 -0700

    Vulkan:Update Vulkan Vertex Attribute Offsets
    
    This fixes most of the test for
    dEQP 3.1 KHR-GLES31.core.vertex_attrib_binding.basic-input*
    
    The bug fixes is that we were not correctly setting the vertex attribute
    offset for vertex attribs that were converted into their own buffer.
    We kept the attrib offset from the frontend as if the converted attribs
    were in the original buffer, but converted vtx attrib buffers in the VK
    backend are tightly packed from the start of the buffer so when converting
    the actual offset should be 0.
    
    Also, in order to avoid a VK validation error, this change includes a tmp
    workaround to make sure transform feedback output buffer range is never 0,
    but sets VK_WHOLE_SIZE in that case. A follow-on fix that focuses on
    transform feedback fixes will address this validation error more fully.
    
    Bug: angleproject:4145
    Bug: angleproject:4236
    Change-Id: I8c218954725945414a8f18beb4f964b90da7062a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1980906
    Commit-Queue: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 87607526c693581b20de9e75c42594b1fb4943ec
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Dec 23 22:48:06 2019 -0500

    Disable flaky test on Metal
    
    Bug: chromium:1037665
    Bug: angleproject:4177
    Change-Id: I38f05f1567803e7ac0c631d94056f26dc122a4f2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1980278
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit c41f2e56623a106d77a81ef6d0be529447f8719e
Author: Khushal <khushalsagar@chromium.org>
Date:   Mon Dec 23 13:33:58 2019 -0800

    Disable UniformBufferTests on Windows 7 / D3D11 / NVIDIA.
    
    Bug: chromium:1037644
    Change-Id: Ic8bf76bb0c1b8bdcf36f6af5a8d91ac815334917
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1981070
    Commit-Queue: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit e2fc92ca28ef8fce75070b72148c29065edfe36b
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Dec 23 14:21:28 2019 -0500

    Vulkan: Fix swiftshader device selection
    
    A recent SwS roll changed the deviceName of swiftshader to include the
    backend (LLVM for example).  That made ANGLE no longer recognize
    SwiftShader.  This change looks for the known SwS device name as a
    prefix of the deviceName retrieved from the device, rather than a
    complete match.
    
    Bug: angleproject:3876
    Change-Id: If6dacb1e5685493d5334cad2015439f0f6b71124
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1980275
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 07f0f019e39705246a354979b3f6bf7f63bedfc7
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Dec 19 14:47:46 2019 -0500

    Translator: Memory qualifiers on SSBO fields
    
    These were not output prior to this CL.  Of these qualifiers, readonly
    and writeonly are unnecessary as ANGLE already does the appropriate
    validation, but the rest (coherent, volatile, restrict) are necessary,
    even though the tests pass on the bots by coincidence of driver
    behavior/test simplicity.
    
    Bug: angleproject:3602
    Change-Id: Ie75fee0f004944b50ef21124ba25c4315e082b85
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1976499
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 809437762d00bcadbe087473399377570ca68d27
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Dec 17 16:58:06 2019 -0500

    Refactor TType's constructors
    
    Instead of duplicating the initialization of every field, use one of the
    constructors to initialize the other ones.
    
    Bug: angleproject:3569
    Change-Id: Ie342111218235ecb4124deb2f0147f97cdbed51a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1972889
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit f5c3afec7f34eddb9f44440f8809791ba04fbc01
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Dec 23 07:01:40 2019 +0000

    Roll third_party/glslang/src ebf634bcaa3e..bd97b6f9f213 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/ebf634bcaa3e..bd97b6f9f213
    
    
    Created with:
      gclient setdep -r third_party/glslang/src@bd97b6f9f213
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/glslang-angle-autoroll
    Please CC jmadill@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: jmadill@google.com
    Change-Id: Icc6edef982018a13e978f307491e333e41a64c82
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1980455
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 392c9809f54ca6c5e94b8b604f44084851ec8ecb
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Dec 23 07:01:41 2019 +0000

    Roll third_party/vulkan-validation-layers/src 6b71f08cc83e..e4a2b7f22782 (4 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/6b71f08cc83e..e4a2b7f22782
    
    git log 6b71f08cc83e..e4a2b7f22782 --date=short --first-parent --format='%ad %ae %s'
    2019-12-20 mark@lunarg.com statetracker: Fetch shader float control properties
    2019-12-20 mark@lunarg.com test: Fix ByteCount test failure on Pixel3
    2019-12-20 mark@lunarg.com tests: Add CmdDrawIndirectByteCountEXT stride test
    2019-12-20 mark@lunarg.com stateless: Added check for XformFeedback vertexStride
    
    Created with:
      gclient setdep -r third_party/vulkan-validation-layers/src@e4a2b7f22782
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll
    Please CC jmadill@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: jmadill@google.com
    Change-Id: I9fc5f15dcfd281021d5c89e9b0739aba45e68174
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1980456
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit c92b5991066e59ef9920f1f1dab9bf9947ee65ab
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Dec 23 07:01:43 2019 +0000

    Roll third_party/SwiftShader 6d29348ddb7e..6e3a387c0159 (4 commits)
    
    https://swiftshader.googlesource.com/SwiftShader.git/+log/6d29348ddb7e..6e3a387c0159
    
    git log 6d29348ddb7e..6e3a387c0159 --date=short --first-parent --format='%ad %ae %s'
    2019-12-20 capn@google.com Exclude padding bytes from image size limit
    2019-12-20 amaiorano@google.com Vulkan: include backend name in deviceName
    2019-12-20 amaiorano@google.com Debug: add trace to debug out
    2019-12-20 swiftshader.regress@gmail.com Regres: Update test lists @ 6d29348d
    
    Created with:
      gclient setdep -r third_party/SwiftShader@6e3a387c0159
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/swiftshader-angle-autoroll
    Please CC jmadill@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: jmadill@google.com
    Change-Id: Ic67a12b7547b8563f195ff800ed02cd19e86481b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1980457
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 07d3bcf1c443bc3dc1d3d47d9daf20475a74771d
Author: Gary Sweet <gary.sweet@broadcom.com>
Date:   Fri Dec 20 11:23:26 2019 +0000

    Correct calculation of GL_MAX_VARYING_COMPONENTS
    
    GL_MAX_VARYING_COMPONENTS does not equal maxVertexOutputComponents.
    The minimum supported limit for GL_MAX_VARYING_COMPONENTS is 60,
    whereas the minimum for maxVertexOutputComponents is 64.
    
    On devices that have the minimum limits the existing code will
    report a limit for GL_MAX_VARYING_COMPONENTS that is too large
    (64 vs 60). Report instead as (GL_MAX_VARYING_VECTORS * 4).
    
    Bug: angleproject:4233
    Change-Id: I920a32cf21040ff5b64746fcf3489db740028d48
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1978638
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 0af8b596129bce5e843b797c96810042b9054162
Author: Xinghua Cao <xinghua.cao@intel.com>
Date:   Tue Sep 3 16:24:45 2019 +0800

    D3D11: Translate uniform blocks to StructuredBuffer when necessary
    
    fxc exhibits slow compile performance with dynamic cbuffer indexing.
    So when a uniform block contains only one large array member, which is
    an array of structures, translate this uniform block to
    a StructuredBuffer instead.
    
    Bug: angleproject:3682
    TEST=angle_end2end_tests.UniformBufferTest.*
    Change-Id: Ife80dba8aae65b761737e095895e00a570230f88
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1782046
    Commit-Queue: Xinghua Cao <xinghua.cao@intel.com>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 291be9acc1d0a61d571420f25af0a0989817b3bf
Author: Cody Northrop <cnorthrop@google.com>
Date:   Wed Dec 18 14:36:17 2019 -0700

    Add DEP to pull internal capture files
    
    To enable, add the following to your .gclient file:
    
      "custom_vars": {
        "checkout_angle_internal":"True",
      },
    
    Bug: angleproject:3630
    Change-Id: I639ba5236fc6d90060a7b50bd0942fe2d0285a25
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1949604
    Commit-Queue: Cody Northrop <cnorthrop@google.com>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 84f45f105bce0f7888ccd9f57ae8d1cd7c237b4b
Author: Cody Northrop <cnorthrop@google.com>
Date:   Wed Dec 18 14:34:29 2019 -0700

    Use checkout_angle_internal for non-public files
    
    The previous flag was too broad, pulling all Chromium
    internal files. We only need one repository.
    
    Bug: angleproject:3630
    Bug: chromium:1032708
    Change-Id: I8aac322e2f748570432be27f2981f927bd264fce
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1969735
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Cody Northrop <cnorthrop@google.com>

commit abc8f277713384bc100ccdff213a0957efb33f85
Author: Ian Elliott <ianelliott@google.com>
Date:   Thu Dec 19 10:47:31 2019 -0700

    Vulkan: Disallow multisampling with a sample count of 1
    
    GLES uses a sample count of 0 to indicate non-multisampling, and a
    sample count of 1 or greater to indicate multisampling.  While the
    Vulkan specification seems to support multisampling with a sample count
    of 1, the following spec language effectively disallows it (even when
    the underlying Vulkan driver supports it):
    
        If the image was created with VkImageCreateInfo::samples equal to
        VK_SAMPLE_COUNT_1_BIT, the instruction must have MS = 0.
    
    The following GLES 3.1 dEQP tests use shaders that look for the sample
    position, with a sample count of 1:
    
        dEQP-GLES31.functional.texture.multisample.samples_1.*
    
    For Vulkan drivers that fully support multisampling with a sample count
    of 1, these tests pass, but get Vulkan validation errors because of the
    above spec language.
    
    This was discussed in the Khronos-private issue tracker (see:
    https://gitlab.khronos.org/vulkan/vulkan/issues/1925).  The Vulkan
    working group wondered if ANGLE could live with not supporting a sample
    count of 1 (but upgrading such requests to the next-largest supported
    sample count, per the GLES specification).  This change implements that
    approach.
    
    Bug: angleproject:4197
    Bug: angleproject:4212
    Change-Id: I009ba47b48efe5af464011c7c15022fc01f45e76
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1974842
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit 9d03c2979263cdc3fcb2796d2dfda8791556dbc0
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Fri Dec 20 11:53:32 2019 -0500

    Skip all Metal dEQP tests
    
    First step in running dEQP tests on the Metal backend on the bots
    
    Bug: angleproject:4235
    Change-Id: Ib191205179d98bc907cc7d48340744ea719a0bc2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1978577
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

commit 816132a33463d8a826bce5f6e0d005745600d84f
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Tue Dec 17 15:47:09 2019 -0700

    Do not send attribute data for built-ins
    
    Built-ins (e.g. gl_VertexID or gl_InstanceID) were settings dirty bits
    in the driver's ActiveAttribLocationsMask which would later cause
    the Vulkan back-end to issue bind commands on these built-in attributes
    that don't have / need anything bound.
    
    Test:
      angle_deqp_khr_gles31_tests --use-angle=swiftshader --gtest_filter=dEQP.KHR_GLES31/core_shader_storage_buffer_object_advancedswitchBuffersvs
    
    Bug: angleproject:4107
    Change-Id: Id1f1c6699d512d0726b22d9bb0c16abad179950d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1972200
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>

commit 7f2930fc70ec779fb60f256a62f9a3aefbfab93c
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Dec 20 07:01:43 2019 +0000

    Roll third_party/SwiftShader 4fd7fccd6db5..6d29348ddb7e (3 commits)
    
    https://swiftshader.googlesource.com/SwiftShader.git/+log/4fd7fccd6db5..6d29348ddb7e
    
    git log 4fd7fccd6db5..6d29348ddb7e --date=short --first-parent --format='%ad %ae %s'
    2019-12-19 sugoi@google.com Enable filtering depth only formats
    2019-12-19 bclayton@google.com Kokoro: Add style presubmit checks
    2019-12-19 swiftshader.regress@gmail.com Regres: Update test lists @ 4fd7fccd
    
    Created with:
      gclient setdep -r third_party/SwiftShader@6d29348ddb7e
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/swiftshader-angle-autoroll
    Please CC jmadill@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: jmadill@google.com
    Change-Id: I301672b05e9440fe89ebd115a95a5739b203dac8
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1978599
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 2303ff5b93b0995d6c8a1c8359078d1623c1f161
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Dec 20 07:01:28 2019 +0000

    Roll third_party/vulkan-tools/src 246503e9c085..37af49fa7b55 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/246503e9c085..37af49fa7b55
    
    git log 246503e9c085..37af49fa7b55 --date=short --first-parent --format='%ad %ae %s'
    2019-12-19 tony@lunarg.com cube: Leave uniform memory mapped
    
    Created with:
      gclient setdep -r third_party/vulkan-tools/src@37af49fa7b55
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/vulkan-tools-angle-autoroll
    Please CC jmadill@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: jmadill@google.com
    Change-Id: I3f954505f6186b894d5515b1395f0e22960f183e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1978597
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 21e894d76854f91c5d8a9ae65e03239282771c05
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Dec 20 07:01:41 2019 +0000

    Roll third_party/vulkan-validation-layers/src e8e8f32d1b7a..6b71f08cc83e (4 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/e8e8f32d1b7a..6b71f08cc83e
    
    git log e8e8f32d1b7a..6b71f08cc83e --date=short --first-parent --format='%ad %ae %s'
    2019-12-19 locke@lunarg.com tests: Remove UnexpectedError
    2019-12-19 locke@lunarg.com layers: Skip PARTIALLY_BOUND
    2019-12-19 tony@lunarg.com gpu: Initialize report_data for instance
    2019-12-19 petr_kraus@email.cz layers: Fix wrong version reported by tooling
    
    Created with:
      gclient setdep -r third_party/vulkan-validation-layers/src@6b71f08cc83e
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll
    Please CC jmadill@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: jmadill@google.com
    Change-Id: I23c37bcf3db43fb582be4711c319e7ac353db5d6
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1978598
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit fe2ed33a56ddb5884e2093d4d627fbd4e10a1d5b
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Dec 19 14:43:25 2019 -0500

    Translator: Output memory qualifiers in OutputTree
    
    Bug: angleproject:3602
    Change-Id: I673d8080be874bea0a73a89f7499b652549c2f3d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1976498
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit fbe6c1d2361bf4f512991443ae01cf5d16ceeaf6
Author: Le Hoang Quyen <lehoangq@gmail.com>
Date:   Sat Dec 14 21:54:34 2019 +0800

    Metal: correctly clamp stencil reference values
    
    According to GL spec:
    - If stencil ref value is larger than max value the stencil buffer
    can represent, clamp it to max value (2^bits - 1)
    - The stencil clear value & mask will be truncated to stencil buffer's bits
    instead of clamping.
    
    Metal API is very vague on how it handles the stencil ref value larger than
    the stencil bits can represent, so we need to handle it manually. In fact,
    the Metal API seems to have bugs when dealing with large stencil ref value,
    i.e. > 0xff for example.
    
    Bug: angleproject:2634
    Change-Id: I86f61f0bfd19dfc0fa459c84d98785a1af857a6b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1966185
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>

commit 7b55aac3b366ce824990bc672481af5252b3d9b4
Author: Gary Sweet <gary.sweet@broadcom.com>
Date:   Thu Dec 12 10:14:10 2019 +0000

    Add Broadcom as a known vendor
    
    Broadcom's vendor ID wasn't listed anywhere.
    
    Fixed the sort order of vendor names in a number
    of places also.
    
    Bug: angleproject:4218
    Change-Id: Iddc504fa35833ac14375cb77e7a2b1cc405f0e80
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1972714
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 9dec123fec9908218289aa6a787dbbdab0774fe1
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Dec 19 11:05:04 2019 -0500

    Ignore nameless vim swap files
    
    Starting vim with no file name creates a swap file in the form of .swp,
    .swo etc.  Add these files to .gitignore.
    
    Bug: None
    Change-Id: Id9639f626daebc993ccc9ab0a9049a18e0f80862
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1975612
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit f321db9a8ea209392a9c6829603e51fb88825f9d
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Dec 19 07:01:48 2019 +0000

    Roll third_party/spirv-tools/src 38d7fbaad0a3..e70b009b0f1e (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/38d7fbaad0a3..e70b009b0f1e
    
    
    Created with:
      gclient setdep -r third_party/spirv-tools/src@e70b009b0f1e
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC jmadill@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: jmadill@google.com
    Change-Id: I8c577825cd88e3b8a502a36399a8988b0bba6020
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1974923
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit f23d5401563b8d1b13896fe4e6685823bcc90ff4
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Dec 19 07:01:43 2019 +0000

    Roll third_party/SwiftShader 21be09d8e699..4fd7fccd6db5 (4 commits)
    
    https://swiftshader.googlesource.com/SwiftShader.git/+log/21be09d8e699..4fd7fccd6db5
    
    git log 21be09d8e699..4fd7fccd6db5 --date=short --first-parent --format='%ad %ae %s'
    2019-12-18 chrisforbes@google.com Regres: Roll deqp forward to latest 1.1.6
    2019-12-18 sugoi@google.com Allow 32F texture to use linear filtering
    2019-12-18 capn@google.com Remove sw::Vector, Point, and Matrix
    2019-12-18 swiftshader.regress@gmail.com Regres: Update test lists @ 21be09d8
    
    Created with:
      gclient setdep -r third_party/SwiftShader@4fd7fccd6db5
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/swiftshader-angle-autoroll
    Please CC jmadill@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: jmadill@google.com
    Change-Id: I496b3ce51d50ec10f72ccc523027dff7c77a135e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1974922
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit b0172d377c02156ae783eebe7197cd0762f1937c
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Dec 19 07:01:41 2019 +0000

    Roll third_party/vulkan-validation-layers/src 2b19f3916726..e8e8f32d1b7a (4 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/2b19f3916726..e8e8f32d1b7a
    
    git log 2b19f3916726..e8e8f32d1b7a --date=short --first-parent --format='%ad %ae %s'
    2019-12-19 mark@lunarg.com tests: Add ClearColorImage SHARED_PRESENT layout check
    2019-12-19 mark@lunarg.com corechecks: Fix CmdClear layout validation
    2019-12-18 tony@lunarg.com layers: Guard against ATTACHMENT_UNUSED
    2019-12-17 mark@lunarg.com objlifetimes: Fix undestroyed object reporting
    
    Created with:
      gclient setdep -r third_party/vulkan-validation-layers/src@e8e8f32d1b7a
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll
    Please CC jmadill@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: jmadill@google.com
    Change-Id: Ice1e926ff24301c807b0acdf13d087e8b1242634
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1974921
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit ecc96617c58c309d729fa143c4ec8eca3c55ff7c
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Dec 19 07:01:28 2019 +0000

    Roll third_party/vulkan-tools/src 9c5719ab7149..246503e9c085 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/9c5719ab7149..246503e9c085
    
    git log 9c5719ab7149..246503e9c085 --date=short --first-parent --format='%ad %ae %s'
    2019-12-18 shannon@lunarg.com winrt: Update `VulkanRT-License.txt` text
    
    Created with:
      gclient setdep -r third_party/vulkan-tools/src@246503e9c085
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/vulkan-tools-angle-autoroll
    Please CC jmadill@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: jmadill@google.com
    Change-Id: I68bb42383831cbf9aebc75e3daeae17cba45219b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1974920
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 4b80fbc8f94ade50055dc72047c545ad2812639e
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Dec 18 23:40:15 2019 -0500

    Fix textureGatherOffsets classification
    
    sampler2DRect was placed under ESSL while sampler2DArrayShadow was
    placed under desktop GLSL.  They are swapped.
    
    Bug: angleproject:3569
    Change-Id: Ibf39868d4cd702d9d1da7fc286171bb70b80d6df
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1975430
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 6423b7fc7ded02a702d24feb0730731ab9f6c061
Author: Tim Van Patten <timvp@google.com>
Date:   Wed Dec 4 18:45:24 2019 -0700

    Return the correct location count for Matrices
    
    GetLocationCount() is currently returning the number of rows in the
    matrix, rather than the columns, which leads to shader validation
    errors (and test failures).   This fix returns the number of columns
    in a matrix.
    
    Bug: angleproject:4200
    Test: dEQP-GLES31.functional.separate_shader.random.63
    Change-Id: I8d25eb3733c2ddbe53ff54794f480c1d43e22a88
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1952173
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Commit-Queue: Tim Van Patten <timvp@google.com>

commit 20432bf38dfe1537f4ae245cac8088f92e6e5244
Author: Ian Elliott <ianelliott@google.com>
Date:   Wed Dec 18 08:51:34 2019 -0700

    Vulkan: Update GLES 3.1 expectations for now-passing tests.
    
    Bug: angleproject:4099
    Bug: angleproject:4100
    Bug: angleproject:4102
    Change-Id: I975485baea3ff6ec8247cbb5c92efdb907974ebc
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1974271
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit cd129d17bdbba0168a722ab14b7a44492d0bc1f4
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Mon Dec 16 15:08:11 2019 -0700

    Reset binding offset & size when unbinding
    
    Bug: angleproject:4147
    Change-Id: I4ace1221d32631cdb14a95c71ee9a1617837a5ea
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1970495
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>

commit 17b3c2f3f8b199282425d795270176cc9218175f
Author: Yan <shaobo.yan@intel.com>
Date:   Mon Oct 14 14:13:59 2019 +0800

    Implement SamplerVideoWEBGL for WEBGL_video_texture extension on desktop
    
    WEBGL_video_texture is an extension that will improve uploading video frame to WebGL performance.
    (https://www.khronos.org/registry/webgl/extensions/proposals/WEBGL_video_texture/)
    
    This extension introduced a new texture type TEXTURE_VIDEO_IMAGE_WEBGL and a new sampler type
    samplerVideoWEBGL to sample it.
    
    In chromium implementation, TEXTURE_VIDEO_IMAGE_WEBGL maps to different native texture type
    based on platform. On desktop, it maps to GL_TEXTURE2D(Currently supported). On Android, it
    should map to GL_TEXTURE_EXTERNAL(TODO). SamplerVideoWEBGL needs to be mapped to sampler2D or
    samplerExternalOES according to TEXTURE_VIDEO_IMAGE_WEBGL implementation.
    
    This patch implements samplerVideoWEBGL in Angle to support WEBGL_video_texture on desktop. In
    this case, samplerVideoWEBGL should map to sampler2D.
    
    Bug: chromium:776222, angleproject:3889
    Change-Id: Idb0a5fcde37ca75ccc1181226b91f257212e7500
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1866274
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 65e2f03bd23e08c3dbb2e352cc494a7b4acb276c
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Dec 18 07:01:42 2019 +0000

    Roll third_party/SwiftShader fbbfeb700295..21be09d8e699 (17 commits)
    
    https://swiftshader.googlesource.com/SwiftShader.git/+log/fbbfeb700295..21be09d8e699
    
    git log fbbfeb700295..21be09d8e699 --date=short --first-parent --format='%ad %ae %s'
    2019-12-18 sugoi@google.com Enable samplerAnisotropy
    2019-12-18 chrisforbes@google.com Advertise variableMultisampleRate feature
    2019-12-17 bclayton@google.com clang-format the src/WSI directory
    2019-12-17 bclayton@google.com clang-format the src/Vulkan directory
    2019-12-17 bclayton@google.com clang-format the src/System directory
    2019-12-17 bclayton@google.com clang-format the src/Reactor directory
    2019-12-17 bclayton@google.com clang-format the src/Pipeline directory
    2019-12-17 bclayton@google.com clang-format the src/Device directory
    2019-12-17 bclayton@google.com Start a custom .clang-format rule
    2019-12-17 capn@google.com Remove spaces after control statements keywords
    2019-12-17 sugoi@google.com Enable blending for 32FP formats
    2019-12-17 capn@google.com Make use of vec<T, N> vector broadcasts
    2019-12-17 capn@google.com Replace vector() and replicate() with float4 constructors
    2019-12-17 capn@google.com Create a generic vec<T, N> class
    2019-12-17 capn@google.com Typedef int4/float4 from a vec4<T> template
    2019-12-17 capn@google.com Prefer alignas() over ALIGN()
    2019-12-17 sugoi@google.com R11G11B10F support
    
    Created with:
      gclient setdep -r third_party/SwiftShader@21be09d8e699
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/swiftshader-angle-autoroll
    Please CC jmadill@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: jmadill@google.com
    Change-Id: Iff5532b2838a657d66fc51751fd95036d35f3f30
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1973467
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit e5c2e047eea2afb41c23b61c3fa058eed2446c7a
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Dec 18 07:01:02 2019 +0000

    Roll third_party/vulkan-tools/src 0c2618b2c31e..9c5719ab7149 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/0c2618b2c31e..9c5719ab7149
    
    git log 0c2618b2c31e..9c5719ab7149 --date=short --first-parent --format='%ad %ae %s'
    2019-12-17 charles@lunarg.com vulkaninfo: safely handle device groups not supported
    
    Created with:
      gclient setdep -r third_party/vulkan-tools/src@9c5719ab7149
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/vulkan-tools-angle-autoroll
    Please CC jmadill@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: jmadill@google.com
    Change-Id: Idca41eac95939e072b5e9317ffbfbcce57646ff6
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1973466
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 751e78884a55e66af0ee7f3eaf8dc485bb3c21c9
Author: Brandon Schade <b.schade@samsung.com>
Date:   Mon Dec 16 17:21:02 2019 -0800

    Update with official gl.xml and re-sort added formats
    
    Use latest Khronos gl.xml file and re-sort format
    enums that angle had already added to this file
    
    Bug: angleproject:4093
    Change-Id: Ic5c1abc2a79fec14f3c53856a429c9b2489e3275
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1972199
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit c3f833f36e2bbbc85749f5704eb7e28287b93f6f
Author: Ian Elliott <ianelliott@google.com>
Date:   Tue Dec 17 16:06:59 2019 -0700

    Vulkan: Update expectations for newly-passing tests
    
    Bug: angleproject:4101
    Bug: angleproject:4105
    Change-Id: Ida462f69660a55e13b48ebea22ffc2a6b6bfe867
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1972202
    Reviewed-by: Ian Elliott <ianelliott@google.com>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit 17217c6e64065687519674744fe0abf8cdf6ecfd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Dec 17 17:31:17 2019 -0500

    Vulkan: Fix layers being disabled in tests.
    
    The ANGLE_ENABLE_VULKAN_VALIDATION_LAYERS_BY_DEFAULT define shouldn't
    be being checked in tests. Enable the debug layers by default.
    
    Bug: angleproject:4227
    Bug: angleproject:4229
    Change-Id: I9717cb1c611ebd585a5c03ba2057036e1b086001
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1972497
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>

commit d205ee3a13811be5d0980c5038019616e5790519
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Dec 16 10:59:43 2019 -0500

    Pass GLImplFactory to Query constructor.
    
    This makes the code more consistent and allows for the Query
    constructor to generate a Serial.
    
    Bug: angleproject:4223
    Change-Id: I6cc683b11ed364f13d303f97aa0984e63260953e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1969061
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 545c6142c61d5da6cab30a14793dea155e348287
Author: Tobin Ehlis <tobine@google.com>
Date:   Tue Dec 17 13:53:28 2019 -0700

    Vulkan:Lazily link libvulkan
    
    Move libvulkan to a data_dep as we no longer statically
    link it.
    
    Bug: angleproject:4225
    Change-Id: I96458d4727d2d47d8c259ec51d91fd852067c059
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1972192
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d50151d3cfffa8b0d452bc1233392d4dc1806836
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Dec 17 13:57:12 2019 -0500

    Move Serial utils to their own file.
    
    This will let the front-end access them without pulling in the rest
    of renderer_utils. The Serial class in particular will be useful for
    capture/replay.
    
    Also adds a very minimal unit test.
    
    Bug: angleproject:4223
    Change-Id: I9e63b8a8227a245b20a8f024b960fcf60c7840db
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1954611
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>

commit e60d05b2ce8c85a16400a9c7f7238ae90b3ea20e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Dec 17 13:59:24 2019 -0500

    Make Sync constructors take GLImplFactory.
    
    Makes them consistent with the rest of the code. Will allow
    the Sync class to call methods in GLImplFactory to generate
    a resource Serial.
    
    Also updates the unit test to the new design.
    
    Bug: angleproject:4223
    Change-Id: Ic5ba69c3a6a51d4b51d876c3b5e7eb7bc44a9ae8
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1969060
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>

commit 44722daa5a7ed85f607c8449cf4dbf4724aece9c
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Dec 6 22:31:08 2019 -0500

    Vulkan: Enable inactive SSBO with unsized array tests
    
    The change introduced in
    https://chromium-review.googlesource.com/c/angle/angle/+/1951523
    removes inactive shader interface declarations.  That automatically
    resolves an issue where glslang wrapper doesn't handle inactive SSBO
    declarations with unsized arrays, by removing those declarations at
    translation time altogether.
    
    Bug: angleproject:3714
    Change-Id: I710d59546d716bfb5bc0112b5152fed20a810a52
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1954615
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 7e19e25e98d7be2a941fc09a298f74b6038947f8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Dec 16 10:59:42 2019 -0500

    Vulkan: Fix SwiftShader disabled build.
    
    Disabling SwiftShader in the GN build led to a compile error
    when trying to use ANGLE_VK_SWIFTSHADER_ICD_JSON.
    
    Bug: angleproject:4223
    Change-Id: I076a88e6bc58adf1e34bbb7286b1f46028cd021a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1969059
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>

commit d674e1e5507f396481404334839124be7fd4eb80
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Dec 12 14:47:24 2019 -0500

    Vulkan: EXT_gpu_shader5: non-const offset in textureGatherOffset
    
    This change includes preparatory work for textureGatherOffsets as well,
    though that requires special handling which is addressed in a follow-up
    change.  This special handling is due to the fact that this family of
    functions is the only built-in with an array parameter, and our built-in
    table generation doesn't handle it correctly.
    
    Bug: angleproject:3569
    Change-Id: Ic1c8dd03878a184be00f578ab9fc42af8f6e47ea
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1965435
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 634ee434a28921b9a0403c9c6cdd793a63138d97
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Dec 16 11:39:10 2019 -0500

    Improve presubmit's Bug: tag check
    
    Specifying the project name is now mandatory.  This helps avoid
    accidentally referring to chromium bugs by forgetting the project name.
    At the same time, it ensures the project name is not misspelled.
    
    Bug: angleproject:4184
    Change-Id: I6bbfe1751e2fd0baf424be38018374cce360df5d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1969067
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit a5dd38887ef0bd2645520315373a432b35875686
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Dec 4 14:31:57 2019 -0500

    Vulkan: fix handling of inactive atomic counters
    
    The translator emulates atomic counters with a storage buffer array
    during translation to Vulkan GLSL.  Glslang wrapper then should assign
    set/binding to this buffer.  However, if the atomic counters are
    actually unused in the shader, this assignment is never done.
    
    This change adds a small tree transformation for Vulkan that removes any
    uniform or interface block declaration that's not active.  In
    particular, this makes atomic counter emulation a no-op if no atomic
    counters are used.  It also has the benefit of not requiring glslang
    wrapper to remove such inactive resources.
    
    Bug: angleproject:4190
    Change-Id: I286c199854ec2379558ad1ec48b4d2c4bf5544d0
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1951523
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>

commit 0c14e23363ee1a39bb2f34d92da9c2520eb6afe3
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Dec 17 07:01:41 2019 +0000

    Roll third_party/spirv-tools/src 96354f5047bf..38d7fbaad0a3 (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/96354f5047bf..38d7fbaad0a3
    
    
    Created with:
      gclient setdep -r third_party/spirv-tools/src@38d7fbaad0a3
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC jmadill@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: jmadill@google.com
    Change-Id: I81d302d7aaf865489f50fa722791efdb5fbb6a05
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1971254
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 5407aaa089ac1eecad3daf672bd3ccf8328addf1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Dec 16 15:50:12 2019 -0500

    Re-land "Add new test runner harness." (#2)
    
    Re-land #2 changes:
    
     * export labels are fixed for the CFI build
     * crash test disabled because of flakiness and issues with asan
    
    Re-land changes:
    
     * Unit test is suppressed in ASAN
     * --deqp-case is fixed
     * Debug layer errors should correctly work with failure expectations
    
    Original message:
    
    The ANGLE test harness is a harness around GoogleTest that provides
    functionality similar to the Chromium test harness. It supports:
    
     * splitting a test set into shards
     * catching and reporting crashes and timeouts
     * outputting to the Chromium JSON test results format
     * multi-process execution
    
    Unit tests are added in test_utils_unittest.cpp.
    
    Bug: angleproject:3162
    Bug: chromium:1030192
    Change-Id: I71d66a407ea0e53d73cbe75b5b4bfb9e73791534
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1965091
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>

commit 5cfab195992d0ac3ceeafacc6853aab4a4996501
Author: Brandon Schade <b.schade@samsung.com>
Date:   Mon Oct 28 09:12:53 2019 -0700

    Vulkan: Add test that logs supported texture formats
    
    Add a whitebox test to log all supported GLES formats
    for the active Vulkan ICD. The test object is
    dependent on libANGLE's gl_enum_util.* files as
    we need it to print out human readable values in
    the PrintAllFormatSupport test.
    
    Test: angle_white_box_tests --gtest_filter=*PrintAllSupportedFormats*
    Bug: angleproject:4093
    Change-Id: I99d74935b705b2984f6320ed80a0e977c8fcd4be
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1930607
    Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 9190f49cff8e2d1ebf51ac39513a0b9a9880a22a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Dec 16 16:03:57 2019 -0500

    GN: Make new angle_test_utils target.
    
    This source set target lets other targets import the test utils without
    needing to export them. They get built into angle_util. They also get
    compiled into the various tests and samples. The change also fixes
    export issues.
    
    Moves some of the GN logic into the util/ subfolder.
    
    Bug: angleproject:3162
    Bug: chromium:1030192
    Change-Id: If99d201092ad8541c0de60b3bd893ac9b5875270
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1968259
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 390c49529e4ac1f6674fd7b340823cc667c08580
Author: Brandon Schade <b.schade@samsung.com>
Date:   Tue Dec 10 19:30:15 2019 -0800

    Adds missing extensions to registry_xml.py
    
    Bug: angleproject:4093
    Change-Id: I979b54e12c1e897ccfa116f332bf9146dcd00cae
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1965644
    Commit-Queue: Brandon Schade <b.schade@samsung.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit ce41a43c74333b67630f9542072ec38b9d357e3b
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Mon Dec 16 09:49:05 2019 -0700

    Vulkan: Fix failed assert when unbinding texture
    
    We were hitting onImageStateChange with no texture active and hitting
    the assert in that function for needing a texture.
    There are times when we call onImageStateChange where there is no
    texture bound, early exit in those cases.
    
    Test:
      angle_deqp_khr_gles31_tests --user-angle=swiftshader --gtest_filter=dEQP.KHR_GLES31/core_layout_binding_image2D_layout_binding_imageLoad_*
      also:
      --gtest_filter=dEQP.KHR_GLES31/core_layout_binding_atomic_uint_layout_binding_atomic_ComputeShader
      --gtest_filter=dEQP.KHR_GLES31/core_layout_binding_buffer_layout_binding_atomicAdd_ComputeShader
      --gtest_filter=dEQP.KHR_GLES31/core_layout_binding_block_layout_binding_block_ComputeShader
      --gtest_filter=dEQP.KHR_GLES31/core_layout_binding_sampler2D_layout_binding_texture_ComputeShader
    
    Bug: angleproject:4124
    Change-Id: I027cf4ecb6a5d6aea874c306bf3e67b95a75af62
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1965027
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 5fd73782c50cd6920b6a0635c7d7eaea3f812c61
Author: Tobin Ehlis <tobine@google.com>
Date:   Fri Aug 9 11:46:46 2019 -0600

    Vulkan: Use volk to load vk* func ptrs
    
    Thanks to Jamie Madill for some fixes to get all CI test passing w/ volk.
    
    This change updates all ANGLE targets that use Vulkan to dyanmically
    link all of the VK entrypoints using the volk OSS library from
    https://github.com/zeux/volk.
    
    It's only two source files so baking them directly into ANGLE repo.
    Also it's used in both the tests and libANGLE trees so added to
    src/common/third_party/volk dir.
    
    Updated volk and the renderer to track latest instance and device
    that were loaded and renderer will refresh vk* function pointers if
    the current and previous device and/or instance don't match. This
    prevents errors in the test framework as we transition between
    backends, especially between VK HW & SwiftShader ICDs.
    
    This change rolls the Vulkan Loader forward to use the latest loader
    version which no longer allows static linking but requires dynamic
    linking.
    
    Bug: angleproject:3740
    Bug: angleproject:4092
    Bug: angleproject:4162
    Bug: angleproject:4210
    Bug: angleproject:4225
    Change-Id: I8a0b7d24c9545bbfdfaa4b9357a9bfe6793e0140
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1965640
    Commit-Queue: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 2eeb980e8e93bc0ae179d2f2613db7893f435a93
Author: Brandon Schade <b.schade@samsung.com>
Date:   Tue Dec 10 12:58:13 2019 -0800

    Added enums to InternalFormat and PixelType groups in gl.xml
    
    Bug: angleproject:4093
    Change-Id: Ib69f0553f79d0e5dfbcc9165ad71a42be3e6d55d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1965643
    Commit-Queue: Brandon Schade <b.schade@samsung.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 06cbb283d39f58b5448f584b6e239083db495a80
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Wed Dec 11 14:46:59 2019 -0700

    Validate uniform location size, fix unlink cleanup
    
    Also cleanup shader storage blocks.
    
    Test: angle_deqp_khr_gles31_tests --use-angle=swiftshader --gtest_filter=dEQP.KHR_GLES31/core_explicit_uniform_location_uniform*
    
    Bug: angleproject:4132
    Bug: angleproject:4217
    Change-Id: Ie0375ab9226f3f49cb0c0d208ac08f99d98dad8d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1963139
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>

commit 8f6196822e1197b3b7f7e720279fed3fe1dc41ab
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Dec 16 07:01:41 2019 +0000

    Roll third_party/SwiftShader ebb0bec91552..fbbfeb700295 (2 commits)
    
    https://swiftshader.googlesource.com/SwiftShader.git/+log/ebb0bec91552..fbbfeb700295
    
    git log ebb0bec91552..fbbfeb700295 --date=short --first-parent --format='%ad %ae %s'
    2019-12-13 chrisforbes@google.com Add missing source file to android build
    2019-12-13 swiftshader.regress@gmail.com Regres: Update test lists @ ebb0bec9
    
    Created with:
      gclient setdep -r third_party/SwiftShader@fbbfeb700295
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/swiftshader-angle-autoroll
    Please CC ianelliot@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: ianelliot@google.com
    Change-Id: I93e47bb372477b074173951ded4f0af35269e206
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1969219
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit d5914d97325c365252919dd6e446d35e8c347120
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Dec 16 07:01:02 2019 +0000

    Roll third_party/vulkan-tools/src c1a7421f0f93..0c2618b2c31e (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/c1a7421f0f93..0c2618b2c31e
    
    git log c1a7421f0f93..0c2618b2c31e --date=short --first-parent --format='%ad %ae %s'
    2019-12-13 jeremyk@lunarg.com build: Update glslang version in known_good.json
    
    Created with:
      gclient setdep -r third_party/vulkan-tools/src@0c2618b2c31e
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/vulkan-tools-angle-autoroll
    Please CC ianelliot@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: ianelliot@google.com
    Change-Id: Iaddfe799d5fb0e3e444eea4cc3cf4a3852be7f1c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1969218
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 14820b1e53b1840cfdb3fcf7e2439f8e15df68c4
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Dec 16 07:01:58 2019 +0000

    Roll third_party/vulkan-validation-layers/src d2c3daeb56e9..2b19f3916726 (10 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/d2c3daeb56e9..2b19f3916726
    
    git log d2c3daeb56e9..2b19f3916726 --date=short --first-parent --format='%ad %ae %s'
    2019-12-13 mark@lunarg.com tests: Add tests for DescTemplates fixes and new VUIDs
    2019-12-13 mark@lunarg.com objlifetimes: Fix CreateDescUpdateTemplates object val
    2019-12-13 mark@lunarg.com build: Update glslang & VulkanTools known-good IDs
    2019-12-13 geecandrey@gmail.com corechecks: Invalid error message in vkCmdPipelineBarrier
    2019-12-13 mark@lunarg.com tests: Add positive test for tooling ext query
    2019-12-13 mark@lunarg.com chassis: Support tooling queries in khronos layer
    2019-12-13 mark@lunarg.com chassis: Add physicaldevice support for tools info API
    2019-12-13 mark@lunarg.com stateless: Update for new struct_type_array case
    2019-12-13 mark@lunarg.com chassis: Implement GetPhysicalDeviceProcAddr layer func
    2019-12-13 jeremyk@lunarg.com layers: Fix issue 1416
    
    Created with:
      gclient setdep -r third_party/vulkan-validation-layers/src@2b19f3916726
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll
    Please CC ianelliot@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: ianelliot@google.com
    Change-Id: Idadb73efcc3bdf73f0dfd41d4f1793eb93e3b0b1
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1969220
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit d1860ea17e8e9434c3124821f192a09bb8e5ecdd
Author: Le Hoang Quyen <lehoangq@gmail.com>
Date:   Tue Nov 19 23:04:00 2019 +0800

    Metal: support OES_depth_texture
    
    Also added Depth32 & Depth16 texture data upload tests.
    
    Bug: angleproject:2634
    Change-Id: I103f1cda1dc915f0dc8b04f7aaa2d8c0f9220cda
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1919281
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 7587588595901010a7b8d8683d06796ae420edb8
Author: Le Hoang Quyen <lehoangq@gmail.com>
Date:   Wed Nov 20 01:04:00 2019 +0800

    Metal: Fix glDisable(GL_DEPTH_TEST) didn't disable depth write
    
    Per standard glDisable(GL_DEPTH_TEST) will disable depth write
    also regardless of the value of glDepthMask()
    
    Tests done:
    - dEQP.GLES2/functional_fragment_ops_depth_stencil_stencil_*_no_depth
    
    Bug: angleproject:2634
    Change-Id: I3b101b8c0b3060f5ddbb18d3f97d7d6889cdec01
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1966184
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 5245de82a29914677926d24a8f911a09280d1e36
Author: Le Hoang Quyen <lehoangq@gmail.com>
Date:   Wed Nov 20 01:04:00 2019 +0800

    Metal: Update spirv-cross from upstream to fix mat2 issues
    
    Previously spirv-cross had problems translate mat2 to equivalent
    Metal type. See the reported issue:
    https://github.com/KhronosGroup/SPIRV-Cross/issues/1200
    
    It has been fixed on upstream repo.
    DEQP tests using mat2 should pass now.
    
    Bug: angleproject:2634
    Change-Id: I68e871965c7004ae34dc0fa92c926905cb0c14cf
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1966183
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 92ba377f2b42faef3f7206be18b390b30b1f77f4
Author: Peng Huang <penghuang@chromium.org>
Date:   Tue Dec 10 23:48:35 2019 -0500

    Vulkan: remove unnecessary transition of external images
    
    Since semaphore has been supported, the code for changing
    external texture layout and queue family is not necessary
    anymore. So remove them.
    
    Bug: angleproject:3289
    Change-Id: I5470fa4bf7db7ee4c68f157674cf907a8e455d75
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1964655
    Commit-Queue: Michael Spang <spang@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Michael Spang <spang@chromium.org>

commit 7718c952ebcde11ec02331e73bf2577d80d15b37
Author: Michael Spang <spang@chromium.org>
Date:   Fri Dec 13 16:39:15 2019 -0500

    [Fuchsia] Update FIDL library target names in ANGLE
    
    The SDK has renamed some targets, so update to the new names.
    
    Bug: chromium:1033597
    Change-Id: Id346f5fb0094e4b71f8ec3b8c302eaa362529c06
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1967958
    Commit-Queue: Michael Spang <spang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 8b74bdc2df163584697c5fe82d0c606621c1df2c
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Dec 10 23:15:57 2019 -0500

    Vulkan: Refactor glslang wrapper's varying location assignment
    
    Instead of multiple ifs that test for various combination of shader
    stages and calling AssignVaryingLocations for the appropriate pairs,
    that function loops over all stages and assigns a location to the
    varying in any stage it is active.
    
    This change will help keep this code simpler with the introduction of
    tessellation shaders.
    
    Bug: angleproject:3571
    Change-Id: Iaf3ee67990bd219080314237b314bd2770a43085
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1961096
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 19868b7e42e5b231757da876765ed7d1d4ac711f
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Dec 13 14:29:57 2019 -0500

    Restructure textureGatherOffset* builtin declarations
    
    This is in preparation of textureGatherOffsets support.
    
    Bug: angleproject:3569
    Change-Id: I4ce5a1e102790181c8f843735961b9c249a69221
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1965720
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit b8e056dd5ac0c54d9b2d8137e9fa16c41de53a8a
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Dec 11 15:02:43 2019 -0500

    Vulkan: Have the translator output in/out qualifiers
    
    Currently, when assigning varying locations, we assign in/out qualifiers
    based on whether the varying name is present between different shader
    stages.
    
    This is broken for separate shader objects as there is possibly no pair
    of shaders to be able to tell which is input and which is output (by
    trying to find the same varying in a stage before or after the shader).
    
    Bug: angleproject:3571
    Change-Id: Id928a3eaa16e917c81bae0b3414c41842eb2b664
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1961993
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Tim Van Patten <timvp@google.com>

commit e181f2f7cf172afd95b9646283bd910caaa1b721
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Dec 10 22:57:42 2019 -0500

    Validate that image array indices are constant
    
    Also adds compiler tests for dynamic indexing of SSBOs and images.
    
    Bug: angleproject:3569
    Change-Id: I84b90813840ffad5a9a3cd8e7f12bd637a57b327
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1961095
    Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit bf47a17ef6a0d019a19db8943b5f45e62354faa0
Author: Renaud Lepage <root@cybikbase.com>
Date:   Fri Dec 13 01:40:33 2019 +0000

    Fix GGP build
    
    Bug: angleproject:4221
    Change-Id: I625b78795dbc826d176660e47af9b51d3f8d417b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1966410
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit e1822727560b6eb2e65ae9d41f6032923a7a6663
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Dec 13 07:01:58 2019 +0000

    Roll third_party/vulkan-validation-layers/src 6a35bc9967d9..d2c3daeb56e9 (3 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/6a35bc9967d9..d2c3daeb56e9
    
    git log 6a35bc9967d9..d2c3daeb56e9 --date=short --first-parent --format='%ad %ae %s'
    2019-12-12 jzulauf@lunarg.com layers: Improve const shared pointer handling
    2019-12-12 mark@lunarg.com corechecks: Correct swapchain validation error text
    2019-12-12 tony@lunarg.com gpu: Add validation for VK_KHR_buffer_device_address
    
    Created with:
      gclient setdep -r third_party/vulkan-validation-layers/src@d2c3daeb56e9
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll
    Please CC ianelliot@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: ianelliot@google.com
    Change-Id: Iafb69556fd7a48e7df8e1f08d8f38fd23a659f9b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1966026
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit f139f9769f6eef8ec7b12361ff80ad7d7dc6719d
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Dec 13 07:01:41 2019 +0000

    Roll third_party/SwiftShader 07958d452f93..ebb0bec91552 (4 commits)
    
    https://swiftshader.googlesource.com/SwiftShader.git/+log/07958d452f93..ebb0bec91552
    
    git log 07958d452f93..ebb0bec91552 --date=short --first-parent --format='%ad %ae %s'
    2019-12-12 sergeyu@chromium.org Use allocateExecutable() in LLVMReactor
    2019-12-12 sugoi@google.com Fix BCn related SwANGLE test failure
    2019-12-12 capn@google.com Prevent clang-format from splitting shift operator
    2019-12-12 sugoi@google.com Support for BC1, BC2, BC3, BC4 and BC5
    
    Created with:
      gclient setdep -r third_party/SwiftShader@ebb0bec91552
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/swiftshader-angle-autoroll
    Please CC ianelliot@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: ianelliot@google.com
    Change-Id: If0eb478a35cabd6c09007f70a75dad0757749605
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1966024
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 06db147e54fcd1778c4b85a9e2bea1d6cdb4837c
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Dec 13 07:01:40 2019 +0000

    Roll third_party/spirv-tools/src 5c019b5923c1..96354f5047bf (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/5c019b5923c1..96354f5047bf
    
    
    Created with:
      gclient setdep -r third_party/spirv-tools/src@96354f5047bf
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC ianelliot@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: ianelliot@google.com
    Change-Id: Ia02eda3a904131e1efa5f401e6259e09bf9848a5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1966023
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit ef11f849b71bf0e11d14a6e61a241d3163d82e61
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Dec 13 07:01:56 2019 +0000

    Roll third_party/glslang/src 6c479796f6e4..ebf634bcaa3e (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/6c479796f6e4..ebf634bcaa3e
    
    
    Created with:
      gclient setdep -r third_party/glslang/src@ebf634bcaa3e
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/glslang-angle-autoroll
    Please CC ianelliot@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: ianelliot@google.com
    Change-Id: I5d36e291b54c1d57688e413a9b8e6a794b15277f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1966025
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 1d77542f568118a990c237debc517f64977e8397
Author: Cody Northrop <cnorthrop@google.com>
Date:   Tue Dec 3 15:54:41 2019 -0700

    Add flag to label captures
    
    Add an optional parameter (ANGLE_CAPTURE_LABEL) to
    ANGLE frame capture that tags files and functions
    uniquely, allowing multiple frame captures to be
    replayed by a test harness.
    
    Example:
    
      ANGLE_CAPTURE_LABEL=foo
    
    Results in filenames like this:
    
      foo_capture_context1.cpp
      foo_capture_context1.h
      foo_capture_context1_files.txt
      foo_capture_context1_frame000.angledata
      foo_capture_context1_frame000.cpp
      foo_capture_context1_frame001.angledata
      foo_capture_context1_frame001.cpp
      ...
    
    Functions wrapped in namespaces like this:
    
      namespace foo
      {
          void ReplayContext1Frame0();
          void ReplayContext1Frame1();
      }
    
    For use like this:
    
      foo::SetupContext1Replay();
      for (...)
      {
          foo::ReplayContext1Frame(i);
      }
    
    Bug: angleproject:3630
    Change-Id: Ibe27dc4d40a36606ee40678a9e4d43b5a4baf976
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1949603
    Commit-Queue: Cody Northrop <cnorthrop@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 554b453c9559c52b2f71891a408faee6140e48aa
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Dec 12 13:09:30 2019 -0500

    gn: Add 'test_only' label to util targets.
    
    Clarifies that angle_util is only used in tests and samples.
    
    Bug: angleproject:3162
    Change-Id: I9a578cf7a9a09b2c3fd4683155824ed2e72f68cc
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1964934
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 270e2e8819eeb3ca9ec14d9ddba17193f025d614
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Dec 12 13:08:08 2019 -0500

    util: Always export default visibility.
    
    This should fix the CFI build compatibility with class exports.
    
    Bug: chromium:1030192
    Bug: angleproject:3162
    Change-Id: I228d6d387f8b29c0a500038de962f9f216454d7a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1964933
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit e0f8b5d083541298360a38108e5f3fc487cea8fe
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Dec 12 14:58:12 2019 -0500

    Roll chromium_revision d209d45ba4..e1633af636 (719599:724302)
    
    Change log: https://chromium.googlesource.com/chromium/src/+log/d209d45ba4..e1633af636
    Full diff: https://chromium.googlesource.com/chromium/src/+/d209d45ba4..e1633af636
    
    Changed dependencies
    * build: https://chromium.googlesource.com/chromium/src/build.git/+log/ebec9c5ad4..dfe5662014
    * testing: https://chromium.googlesource.com/chromium/src/testing/+log/72e16daaa5..c1b508625d
    * third_party/googletest: https://chromium.googlesource.com/chromium/src/third_party/googletest/+log/60616473f7..f8eeeb06c0
    * third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/e77e1c06c8..f262c1b3c4
    * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/05979d8cad..a9190d6699
    DEPS diff: https://chromium.googlesource.com/chromium/src/+/d209d45ba4..e1633af636/DEPS
    
    Clang version changed e84b7a5fe230e42b8e6fe451369874a773bf1867:c2443155a0fb245c8f17f2c1c72b6ea391e86e81
    Details: https://chromium.googlesource.com/chromium/src/+/d209d45ba4..e1633af636/tools/clang/scripts/update.py
    
    TBR=jmadill@chromium.org,
    BUG=None
    
    Change-Id: I3e2d6b59263870a6713b8e3d2161c2411b932cf1
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1965436
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Antonio Maiorano <amaiorano@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 0bf3c4b585afa0e7849df8efa38e464140da6a3e
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Dec 12 07:01:02 2019 +0000

    Roll third_party/vulkan-tools/src 0dc201a808ec..c1a7421f0f93 (3 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/0dc201a808ec..c1a7421f0f93
    
    git log 0dc201a808ec..c1a7421f0f93 --date=short --first-parent --format='%ad %ae %s'
    2019-12-11 charles@lunarg.com build: update vulkaninfo.hpp to fix windows build warnings
    2019-12-11 mark@lunarg.com build: Update to verson 1.1.130 of the Vulkan Headers
    2019-12-11 charles@lunarg.com vulkaninfo: reduced spurious warnings for msvc
    
    Created with:
      gclient setdep -r third_party/vulkan-tools/src@c1a7421f0f93
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/vulkan-tools-angle-autoroll
    Please CC ianelliot@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: ianelliot@google.com
    Change-Id: Id6562a8b6967909c70aef10ea8f6c9fead24c0c9
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1963622
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit e2d7cbf6545c47d1e07abfb7969c0315939bf699
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Dec 12 07:01:40 2019 +0000

    Roll third_party/spirv-tools/src 00ca4e5bdfdb..5c019b5923c1 (3 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/00ca4e5bdfdb..5c019b5923c1
    
    
    Created with:
      gclient setdep -r third_party/spirv-tools/src@5c019b5923c1
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC ianelliot@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: ianelliot@google.com
    Change-Id: I58aada86788183ec7904ec51e8a68df29c77f2b0
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1963623
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit d5ac2e89d243fa86672877bbd01f30cc8cb0e8ce
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Dec 12 07:01:58 2019 +0000

    Roll third_party/vulkan-validation-layers/src da451cc7cd04..6a35bc9967d9 (6 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/da451cc7cd04..6a35bc9967d9
    
    git log da451cc7cd04..6a35bc9967d9 --date=short --first-parent --format='%ad %ae %s'
    2019-12-12 jbolz@nvidia.com tests: Add tests for VK_KHR_buffer_device_address
    2019-12-12 jbolz@nvidia.com layers: Add VK_KHR_buffer_device_address support
    2019-12-11 tobias.hector@amd.com tests: Added tests for new vkAllocateMemory validation
    2019-12-11 tobias.hector@amd.com layers: Introduce validation for vkAllocateMemory VUIDs
    2019-12-11 jeremy@lunarg.com tests: Test overlapping push constant ranges
    2019-12-11 jeremy@lunarg.com corechecks: Fix overlapping push constant ranges
    
    Created with:
      gclient setdep -r third_party/vulkan-validation-layers/src@6a35bc9967d9
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll
    Please CC ianelliot@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: ianelliot@google.com
    Change-Id: Ib8f078d1fb93bee521567b67fa87c6ccc078eaaf
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1963625
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 62602e942870dcc2b10fd67d04c2259cb33d2ff6
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Dec 12 07:01:41 2019 +0000

    Roll third_party/SwiftShader 544ae91ee039..07958d452f93 (10 commits)
    
    https://swiftshader.googlesource.com/SwiftShader.git/+log/544ae91ee039..07958d452f93
    
    git log 544ae91ee039..07958d452f93 --date=short --first-parent --format='%ad %ae %s'
    2019-12-12 bclayton@google.com src/Vulkan/Debug: Add scope for case block
    2019-12-11 bclayton@google.com Vulkan/Debug: Add Server
    2019-12-11 bclayton@google.com Vulkan/Debug: Add Context
    2019-12-11 bclayton@google.com Tweaks to make clang-format produce better code
    2019-12-11 amaiorano@google.com Add EmulatedReactor.cpp to Subzero.vcxproj
    2019-12-11 bclayton@google.com Regres: Fix debug macro detection
    2019-12-11 capn@google.com Do not indent C++ namespace contents
    2019-12-11 bclayton@google.com Vulkan: Add description methods to all commands.
    2019-12-11 bclayton@google.com .vscode: Add cppdap to includePath
    2019-12-11 swiftshader.regress@gmail.com Regres: Update test lists @ 544ae91e
    
    Created with:
      gclient setdep -r third_party/SwiftShader@07958d452f93
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/swiftshader-angle-autoroll
    Please CC ianelliot@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: ianelliot@google.com
    Change-Id: I5576ab6409124dd99dd903c949598797479894cb
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1963624
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 6381d7f14805c1c9c56f35e043c6dd33ef9624ad
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Dec 10 23:19:23 2019 -0500

    Vulkan: Avoid linear search in shader on varying location assignment
    
    Glslang wrapper was trying to identify whether the varying is declared
    in each of the out/in shaders by looping through the macro symbols that
    need replacement.
    
    This change instead adds stage information to PackedVarying assigned
    when collecting varyings.  Glslang wrapper then simply tests the
    bitfield for the stages of interest.
    
    Bug: angleproject:3571
    Change-Id: I29614e3e62d7df88e413c1732ac04e24243f167a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1954677
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 3c75d244d6f9ef1eb9f6f010f01828658fe9d38a
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Wed Dec 11 15:52:14 2019 -0500

    Suppress more dEQP-GLES31.functional.shaders.helper_invocation.* tests
    
    Failures discovered when running locally on Pixel 2 with recent OS.
    
    Bug: angleproject:4110
    Change-Id: I14cde5456a0d7802c60ed3bc771fc371b0834087
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1962541
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 4dff995667e52664e45de8a613b3e140bad089e1
Author: James Darpinian <jdarpinian@chromium.org>
Date:   Tue Dec 10 17:05:37 2019 -0800

    Presubmit check forbidding tab characters in source files.
    
    WebKit's Subversion repository forbids tab characters in source files.
    Follow-up to:
    https://chromium-review.googlesource.com/c/angle/angle/+/1954410
    
    Bug: angleproject:3439
    Change-Id: I7ab170cae6985c62ee2f163c15d2746f620fe648
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1959750
    Commit-Queue: James Darpinian <jdarpinian@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>

commit 49135f689abdd7736f03eac81e8331e7463ca4f7
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Dec 10 11:27:09 2019 -0500

    Vulkan: Fix descriptor pool init in presence of atomic counters
    
    The descriptor pool was initialized with the number of atomic counter
    buffers, but we always use 8 storage buffers for atomic counter buffer
    emulation regardless of how many atomic counter buffers there.
    
    This change fixes the descriptor pool initialization by requesting 8
    storage buffer descriptors if there are any atomic counter buffers.
    
    Bug: angleproject:4199
    Change-Id: Ide58c013cba8ac46228dba795a82304b97ee83ac
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1959489
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Tim Van Patten <timvp@google.com>

commit e4eb75daf576d51740d0e2937767276c51e48cb6
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Dec 6 11:10:47 2019 -0500

    Vulkan: EXT_gpu_shader5 support: dynamically uniform indexing
    
    Bug: angleproject:3569
    Change-Id: I5abb7f2889fa5173457497d4156a3dadbcf77640
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1954613
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>

commit fa467885c404392edad33ae142a4cad6cddb9ad6
Author: Ian Elliott <ianelliott@google.com>
Date:   Wed Dec 11 06:31:36 2019 -0700

    Vulkan: Update Linux-specific multisample failures
    
    Bug: angleproject:3565
    Change-Id: I429268ba679dff924b229d289ced7148c1d86fdb
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1961594
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit 4ad8b55ef4274c730788fe3d42e6ebc27095ca6e
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Tue Dec 3 10:07:41 2019 -0700

    Return valid qualifier after error
    
    Using EvqLast for the variable causes us to hit an assert in
    sh::getQualifierString when we try to print a later error message.
    Just use the appropriate qualifier regardless that it's not valid
    for a compute shader, we've output the error.
    
    Bug: angleproject:4187
    Change-Id: If6fa5dea07d7b6e0d3307485f41d59c5ea7f1c4c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1948525
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>

commit 1ed23f2d9dcaf9672104ff20d798413cab1d9891
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Dec 11 07:01:02 2019 +0000

    Roll third_party/vulkan-tools/src 5ceb7be9a3bf..0dc201a808ec (3 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/5ceb7be9a3bf..0dc201a808ec
    
    git log 5ceb7be9a3bf..0dc201a808ec --date=short --first-parent --format='%ad %ae %s'
    2019-12-10 jeremyk@lunarg.com vulkaninfo: Add VK_EXT_metal_surface info
    2019-12-10 jeremyk@lunarg.com windows: Change winrt name
    2019-12-10 slawomir.cygan@intel.com vulkaninfo: load user32.dll dynamically
    
    Created with:
      gclient setdep -r third_party/vulkan-tools/src@0dc201a808ec
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/vulkan-tools-angle-autoroll
    Please CC ianelliot@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: ianelliot@google.com
    Change-Id: I6dc514f4bb5718acc6d344870fc936f7c1274a8e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1961569
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit ac10756937c83fbc2f638f2fa322d6363f177867
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Dec 11 07:01:58 2019 +0000

    Roll third_party/vulkan-validation-layers/src a749c31b749b..da451cc7cd04 (5 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/a749c31b749b..da451cc7cd04
    
    git log a749c31b749b..da451cc7cd04 --date=short --first-parent --format='%ad %ae %s'
    2019-12-10 mark@lunarg.com layers: Remove vuid mapping file
    2019-12-10 mark@lunarg.com build: Update for 1.1.130 version of Vulkan header
    2019-12-10 mark@lunarg.com tests: Fix stray VUID ref in buffer_image_memory_sampler
    2019-12-10 mark@lunarg.com tests: Fix stray VUID refs in positivelayertests
    2019-12-10 mark@lunarg.com corechecks: Fix incorrect CmdSetViewportWScalingNV names
    
    Created with:
      gclient setdep -r third_party/vulkan-validation-layers/src@da451cc7cd04
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll
    Please CC ianelliot@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: ianelliot@google.com
    Change-Id: I5e2f985bf0066e5249dfd79c17ba3a5af413fb29
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1961572
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 11c429965c94f775c10659e397cb3f0f095ca902
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Dec 11 07:01:42 2019 +0000

    Roll third_party/SwiftShader 31916f494c2e..544ae91ee039 (29 commits)
    
    https://swiftshader.googlesource.com/SwiftShader.git/+log/31916f494c2e..544ae91ee039
    
    git log 31916f494c2e..544ae91ee039 --date=short --first-parent --format='%ad %ae %s'
    2019-12-11 capn@google.com Enable vk-unittests with Subzero JIT
    2019-12-10 bclayton@google.com Kokoro: Split tests into Debug and RelWithDebInfo
    2019-12-10 chrisforbes@google.com Accept ImageCubeArray SPIRV capability
    2019-12-10 bclayton@google.com Vulkan/Debug: Add Thread and EventListener
    2019-12-10 bclayton@google.com Vulkan/Debug: Add Location
    2019-12-10 bclayton@google.com Vulkan/Debug: Add File
    2019-12-10 bclayton@google.com Vulkan/Debug: Add WeakMap
    2019-12-10 bclayton@google.com Vulkan/Debug: Add Value and Variable
    2019-12-10 bclayton@google.com Vulkan/Debug: Add Type
    2019-12-10 bclayton@google.com CMakeLists: Fix logic of BUILD_CPPDAP
    2019-12-10 swiftshader.regress@gmail.com Regres: Update test lists @ d00dfe49
    2019-12-10 chrisforbes@google.com Advertise VK_PRESENT_MODE_MAILBOX_KHR
    2019-12-10 bclayton@google.com Regres: Reduce scope of regres CI emails
    2019-12-10 amaiorano@google.com Fix REACTOR_DEFAULT_OPT_LEVEL not actually applying
    2019-12-10 capn@google.com Remove Visual Studio Vulkan project files
    2019-12-10 bclayton@google.com Vulkan/Debug: Add ID
    2019-12-09 chrisforbes@google.com Remove Float->UInt conversion workaround
    2019-12-09 capn@google.com Add Float to UInt unit test
    2019-12-09 amaiorano@google.com Add REACTOR_DEFAULT_OPT_LEVEL macro
    2019-12-09 amaiorano@google.com Subzero: fix alloca return address allocation
    2019-12-09 amaiorano@google.com Subzero: proper fix for assert(Dest->hasReg())
    2019-12-09 bclayton@google.com CMakeLists: Add CMake rules for Vulkan debugger
    2019-12-09 bclayton@google.com Add github.com/google/cppdap as a third_party dependency
    2019-12-09 bclayton@google.com Add github.com/nlohmann/json as a third_party dependency
    2019-12-09 capn@google.com Enforce int and short to be 32- and 16-bit respectively
    2019-12-09 sugoi@google.com Cubemap array support
    2019-12-09 amaiorano@google.com Revert "Fix materialization of function arguments"
    2019-12-09 bclayton@google.com Kokoro: Add ReactorUnitTests to windows presubmits
    2019-12-09 capn@google.com Remove coverage asserts for tested code
    
    Created with:
      gclient setdep -r third_party/SwiftShader@544ae91ee039
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/swiftshader-angle-autoroll
    Please CC ianelliot@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: ianelliot@google.com
    Change-Id: Icc4faea0596e4e01d0d997a2d2d0a07aa1d993cc
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1961571
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit e5c2089fc52ae7eb3be58e24737824a2cb85216c
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Dec 11 07:01:41 2019 +0000

    Roll third_party/spirv-tools/src 983b5b4fccea..00ca4e5bdfdb (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/983b5b4fccea..00ca4e5bdfdb
    
    
    Created with:
      gclient setdep -r third_party/spirv-tools/src@00ca4e5bdfdb
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC ianelliot@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: ianelliot@google.com
    Change-Id: If27692a6f0255eecb19794c13d3f4b3e4d6ad6eb
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1961570
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit d6053daa6203bd9ab467711662652368f5f28cc8
Author: James Darpinian <jdarpinian@chromium.org>
Date:   Thu Dec 5 17:46:23 2019 -0800

    Remove tabs from source files.
    
    WebKit's Subversion repo refuses to commit source files that contain
    tabs.
    
    Bug: angleproject:3439
    Change-Id: I0a804bcfa0375a98e19945e20297c90d31106827
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1954410
    Commit-Queue: James Darpinian <jdarpinian@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit caa6eccde3ee90fcec9254c86060404c29b7d51a
Author: Hyunchang Kim <hckim.kim@samsung.com>
Date:   Sun Oct 27 13:46:56 2019 +0900

    Vulkan: Implement Transform Feedback support via extension
    
    Implemented transform feedback extension path. Where
    VK_EXT_transform_feedback is supported, extension path will be taken
    over an emulation path. Extension path has advantages in terms of
    performance.
    
    BUG=angleproject:3206
    Test: dEQP-GLES3.functional.transform_feedback.*
          angle_end2end_tests --gtest_filter=TransformFeedbackTest*
    
    Change-Id: Ia07c23afb289d9c67073469a97b714ec96f5265a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1882767
    Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
    Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>

commit ccea6b5b931a654b6191a703ca1f16ba0cc0fdcb
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Dec 10 08:35:56 2019 +0000

    Roll third_party/glslang/src d519167d2ecb..6c479796f6e4 (3 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/d519167d2ecb..6c479796f6e4
    
    
    Created with:
      gclient setdep -r third_party/glslang/src@6c479796f6e4
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/glslang-angle-autoroll
    Please CC ianelliot@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: ianelliot@google.com
    Change-Id: I0a2e7eff7a803818df5ad331b5ff0fe75eb83588
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1959779
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 4059f49c4e4b1891d4c9d4511d85adfae5c26ebb
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Dec 10 07:01:58 2019 +0000

    Roll third_party/vulkan-validation-layers/src f34b9fb086b3..a749c31b749b (3 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/f34b9fb086b3..a749c31b749b
    
    git log f34b9fb086b3..a749c31b749b --date=short --first-parent --format='%ad %ae %s'
    2019-12-10 tony@lunarg.com tests: Add pos test for GetProcAddr with extensions
    2019-12-10 tony@lunarg.com layers: Fix GetProcAddr for promoted extensions
    2019-12-09 shannon@lunarg.com build: Update known-good for 1.1.129 Vulkan header
    
    Created with:
      gclient setdep -r third_party/vulkan-validation-layers/src@a749c31b749b
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll
    Please CC ianelliot@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: ianelliot@google.com
    Change-Id: I34b27bb71b6806f20019976863dd7760c9fed0cd
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1959774
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 9906bcccb6c78ff834d6280af036c9cc21f926b3
Author: Ian Elliott <ianelliott@google.com>
Date:   Tue Dec 10 09:59:17 2019 -0700

    Vulkan: Update bugs for multisample texture failures
    
    After additional debugging, new bugs were filed and bug numbers were
    updated.
    
    Bug: angleproject:3565
    Bug: angleproject:4197
    Bug: angleproject:4212
    Bug: angleproject:4213
    Change-Id: I7211df7d19280f2fba482394c23a887e6ea5e002
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1959490
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit 9af3e13785ab9ef7a9bc70714fd6c2f919e44301
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Dec 5 15:35:33 2019 -0500

    Vulkan: EXT_gpu_shader5 support: fma
    
    Add the fma() builtin function to ESSL.
    
    Bug: angleproject:3569
    Change-Id: Ic8419b4c117ecdd8b47aa733bf7aff9ee7579bbf
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1954484
    Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 351307eba33211be31cd1c6ea78ab23be8665f1e
Author: David Benjamin <davidben@chromium.org>
Date:   Tue Dec 10 10:47:41 2019 -0500

    Fix potential indexing into an empty vector in ANGLE tests
    
    The tests are failing after "Warning: incomplete system info collection"
    which suggests systemInfo.gpus is empty. Check for that before indexing
    into the vector; defaulting the active index to zero in
    https://chromium-review.googlesource.com/c/angle/angle/+/1925031 was not
    sufficient and the line still needs a bounds check.
    
    Bug: chromium:923166, chromium:1032552
    Change-Id: Ic9716830403e0dfcfa5d11539537c2a39e0e2386
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1959488
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Ian Elliott <ianelliott@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit 3eaf6294686bcf63e6f006b6325fbd6b1be797b5
Author: Brandon Schade <b.schade@samsung.com>
Date:   Mon Nov 25 18:08:18 2019 -0800

    Vulkan: Add options to select more device types
    
    Add support to set a default device type
    using existing ANGLE_DEFAULT_PLATFORM
    environment variable. The valid vulkan options
    are as follows:
    
    vulkan              - vulkan with device hardware
    vulkan-null         - vulkan with null device (Mock ICD)
    swiftshader         - vulkan with swiftshader
    
    Bug: angleproject:3998
    Change-Id: I15f00e8024818fbaf674ca6fcdbcdac5a90cace2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1956140
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit f60da87424a4747142d3f7187a55c1e19869a663
Author: David Benjamin <davidben@chromium.org>
Date:   Tue Nov 19 18:45:45 2019 -0500

    Fix out-of-bounds access bug in ANGLE tests
    
    When not filled in, as in Android, activeGPUIndex is -1. This is fine
    for Android because it doesn't use vendorID, but the function computed
    vendorID unconditionally without checking for -1.
    
    Default activeGPUIndex to 0 instead of -1. Note code still needs to
    check for systemInfo.gpus.empty().
    
    This caused crashes when _LIBCPP_DEBUG=0 was enabled.
    
    Bug: chromium:923166
    Change-Id: If4d1dff9553a580fd92bc0497fc092789d07ed93
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1925031
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

commit 6e4004dd2eb8f7741aec4cff3e9fa9d2a26ec98d
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Fri Dec 6 14:41:17 2019 -0500

    Add metal display type to angle_deqp_tests
    
    Adds --deqp-egl-display-type=angle-metal for running the deqp tests
    on Mac. Note: does not add any test suppressions for metal.
    
    Bug: angleproject:2634
    Change-Id: I8f8d3a83cf93a5b930b05af9f0075a9ce435823a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1954612
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

commit 01553e0e847a6f51ab8ef0c5fd3839f220e21a65
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Dec 9 08:25:48 2019 +0000

    Roll third_party/vulkan-headers/src 2b89fd4e2734..0e57fc1cfa56 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers/+log/2b89fd4e2734..0e57fc1cfa56
    
    git log 2b89fd4e2734..0e57fc1cfa56 --date=short --first-parent --format='%ad %ae %s'
    2019-12-09 oddhack@sonic.net Update for Vulkan-Docs 1.1.130
    
    Created with:
      gclient setdep -r third_party/vulkan-headers/src@0e57fc1cfa56
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/vulkan-headers-angle-autoroll
    Please CC ianelliot@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    TBR=ianelliot@google.com
    
    Bug: None
    Change-Id: Ie028ebf3b6be0b833e980658b755ef428250614c
    Tbr: ianelliot@google.com
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1957400
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 5a1add39e987d1734edc9375988fd790af7d089a
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Dec 9 07:02:41 2019 +0000

    Roll third_party/SwiftShader b9f03f47d5f5..31916f494c2e (7 commits)
    
    https://swiftshader.googlesource.com/SwiftShader.git/+log/b9f03f47d5f5..31916f494c2e
    
    git log b9f03f47d5f5..31916f494c2e --date=short --first-parent --format='%ad %ae %s'
    2019-12-07 digit@google.com [Subzero] Remove assert that breaks Shuffle operations.
    2019-12-06 bclayton@google.com SpirvShader: Use struct for MemoryVisitor callback.
    2019-12-06 bclayton@google.com Regres: Update dEQP to include fence timeout fix.
    2019-12-06 bclayton@google.com Vulkan: Tidy VkCommandBuffer.cpp
    2019-12-06 bclayton@google.com Reactor: Rename Blend() to Shuffle()
    2019-12-06 swiftshader.regress@gmail.com Regres: Update test lists @ b9f03f47
    2019-12-06 bclayton@google.com Reactor: Switch swizzles over to 16-bit hex codes
    
    Created with:
      gclient setdep -r third_party/SwiftShader@31916f494c2e
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/swiftshader-angle-autoroll
    Please CC geofflang@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: geofflang@google.com
    Change-Id: Icfd2b4304841ad6d7b419d5c7d5d477faef45505
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1957973
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit d7967b831299efbeff9e84986621872d607cc132
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Dec 9 08:42:57 2019 +0000

    Roll third_party/glslang/src 0de87ee9a5bf..d519167d2ecb (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/0de87ee9a5bf..d519167d2ecb
    
    
    Created with:
      gclient setdep -r third_party/glslang/src@d519167d2ecb
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/glslang-angle-autoroll
    Please CC ianelliot@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: ianelliot@google.com
    Change-Id: I29c4f44ed84166120a14025a16913a64782e4d4c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1956491
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit d94856d09b635e8be6b9bfd92214a72a736ac940
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Dec 9 07:01:58 2019 +0000

    Roll third_party/vulkan-validation-layers/src a3ee4384fb57..f34b9fb086b3 (3 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/a3ee4384fb57..f34b9fb086b3
    
    git log a3ee4384fb57..f34b9fb086b3 --date=short --first-parent --format='%ad %ae %s'
    2019-12-06 jeremy@lunarg.com Remove default initialized push constant ranges
    2019-12-06 mark@lunarg.com tests: Add imageless framebuffer positive test
    2019-12-06 mark@lunarg.com statetracker: Avoid bad derefs for imageless framebuffer cases
    
    Created with:
      gclient setdep -r third_party/vulkan-validation-layers/src@f34b9fb086b3
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll
    Please CC geofflang@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: geofflang@google.com
    Change-Id: Ib392ee963d7390a4584d0b0c2f6504cacb5e6d2a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1957971
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 64860e76b11491c0f14f8ad3997cdb2c849264b0
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Dec 9 07:02:40 2019 +0000

    Roll third_party/spirv-tools/src e82a428605f6..983b5b4fccea (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/e82a428605f6..983b5b4fccea
    
    
    Created with:
      gclient setdep -r third_party/spirv-tools/src@983b5b4fccea
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC geofflang@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: geofflang@google.com
    Change-Id: Ie7e4e811857bf0d2113ada42b723e46e2e351c3f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1957972
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit a42b6db14b05891c11d0108325d5119d6f49597c
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Dec 9 07:01:02 2019 +0000

    Roll third_party/vulkan-tools/src 0a0625a3dca6..5ceb7be9a3bf (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/0a0625a3dca6..5ceb7be9a3bf
    
    git log 0a0625a3dca6..5ceb7be9a3bf --date=short --first-parent --format='%ad %ae %s'
    2019-12-06 tony@lunarg.com Revert "cube: Port Wayland impl from wl-shell to xdg-shell"
    
    Created with:
      gclient setdep -r third_party/vulkan-tools/src@5ceb7be9a3bf
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/vulkan-tools-angle-autoroll
    Please CC geofflang@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: geofflang@google.com
    Change-Id: I601964651ce3e66680e00c5d1cce20811b8eeb4d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1957968
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 27c89d2b5c567dbe74cb854e77c45bd15bcdcde8
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Nov 25 10:22:01 2019 -0500

    Vulkan: fix BufferVk::map() synchronization
    
    4398b2b6a2ac13034dff249d8c049c4047b5fed2 made finishToSerial() in
    BufferVk::map() conditional to whether the serial is in use to work
    around a performance regression.  Notes:
    
    - Prior to 087f1384f233792921d34c0ca5b5a90fac75b070, finishToSerial
      already did that, but that check was inadvertently removed.
    - finishToSerial waits for the smallest serial that's bigger than or
      equal to the requested serial.
    - The flush() call in BufferVk::map() was conditional to whether the
      serial is in use, but it really meant to check whether the buffer has
      pending commands in the graph.
    
    The end result is that there was an unnecessary flush in BufferVk::map()
    if we had to wait for a previous serial to finish.
    
    This change makes the flush conditional to whether the buffer has
    pending commands in the graph, and the finishToSerial call to whether
    the serial is not yet finished.
    
    Bug: angleproject:3994
    Change-Id: Idca436ef2439bcc8c59396a07b2591c1dfadd669
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1932341
    Reviewed-by: Brandon Schade <b.schade@samsung.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 36ab960e885da6e9b6660d5edc3ac7c51d026b03
Author: Xinyi He <xinyi.he@arm.com>
Date:   Wed Dec 4 14:13:05 2019 +0800

    Vulkan: Resize the result vector in EGLChooseConfigTest end2end test
    
    Resize the defaultConfigs vector to its actual size to avoid using
    nullptr elements to get attributes.
    
    BUG=angleproject:4195
    
    Change-Id: I3cbad9ee8c2c9faeaa30f72a04cf2c071f79db19
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1949985
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 92183a268319bc625743e375b76fe5c7c31d27c7
Author: Ian Elliott <ianelliott@google.com>
Date:   Fri Dec 6 11:27:33 2019 -0700

    Vulkan: Latest Intel driver fixes 2-sample standard positions
    
    Update the expectations file to expect these to pass on all Vulkan drivers now.
    
    Bug: angleproject:4198
    Change-Id: I38982db1e23706f0063795757dfe1d8c8c45294a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1955697
    Reviewed-by: Ian Elliott <ianelliott@google.com>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit c6458072bc45e7d0f34e2e55bdba73c12adcae79
Author: Ian Elliott <ianelliott@google.com>
Date:   Thu Dec 5 11:45:10 2019 -0700

    Fix multisample renderbuffer compliance (e.g. 3->4 samples)
    
    This change ensures that the following spec language is correctly
    implemented:
    
        the resulting value for RENDERBUFFER_SAMPLES is guaranteed to be
        greater than or equal to samples and no more than the next larger
        sample count supported by the implementation.
    
    For example, if 2, 4, and 8 samples are supported, and if 5 samples are
    requested, ANGLE should use 8 samples, and return 8 when
    GL_RENDERBUFFER_SAMPLES is queried.
    
    Note: There is a known problem with NVIDIA OpenGL driver that causes
    another test to be expected to fail.
    
    Bug: angleproject:2222
    Bug: angleproject:4196
    Change-Id: I28921badf9568427799b0af347198b5df06c2aaa
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1954444
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit 63c15519592566aa6ee573b430d426c13edd5c5b
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Thu Dec 5 12:59:13 2019 -0500

    Also use GL_RENDERER to determine vendorID
    
    ~10% or more Linux users* do not have AMD/ATI in the GL_VENDOR,
    only in GL_RENDERER. Our heuristics only checked GL_VENDOR, so
    this CL adds GL_RENDERER to the string being checked to find the
    vendor ID.
    (*According to https://feedback.wildfiregames.com/report/opengl/feature/GL_VENDOR)
    
    Bug: angleproject:4204
    Change-Id: Ie89080b4431fdf02a4ca09709973ea3f271a3e84
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1953486
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

commit b92ec2443fda56c63a6745c0a5cd7e6a4c112543
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Dec 6 15:08:54 2019 +0000

    Revert "Re-land "Add new test runner harness.""
    
    This reverts commit e20560faf1de86c01198143ef7733a12a098a90b.
    
    Reason for revert: Now fails on Linux CFI and also is a bit flaky.
    
    Original change's description:
    > Re-land "Add new test runner harness."
    >
    > Re-land changes:
    >
    >  * Unit test is suppressed in ASAN
    >  * --deqp-case is fixed
    >  * Debug layer errors should correctly work with failure expectations
    >
    > Original message:
    >
    > The ANGLE test harness is a harness around GoogleTest that provides
    > functionality similar to the Chromium test harness. It supports:
    >
    >  * splitting a test set into shards
    >  * catching and reporting crashes and timeouts
    >  * outputting to the Chromium JSON test results format
    >  * multi-process execution
    >
    > Unit tests are added in test_utils_unittest.cpp.
    >
    > Bug: angleproject:3162
    > Change-Id: I841f2b5dfe51f7f44dac68324bdf6afd418b8bfb
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1948240
    > Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    > Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    > Commit-Queue: Jamie Madill <jmadill@chromium.org>
    
    TBR=ynovikov@chromium.org,ianelliott@google.com,jonahr@google.com,jmadill@chromium.org
    
    Change-Id: Ibfd65b8b18ead3a232abb6cb75fd6489b0ff5f38
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:3162
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1954570
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 732c9d02b51867fb2b78e8287549bcf84b158c83
Author: Josh Matthews <josh@joshmatthews.net>
Date:   Fri Nov 29 13:59:03 2019 -0500

    Add /APPCONTAINER linker flag to shared libraries in UWP builds.
    
    Bug: angleproject:4181
    Change-Id: I6940d5605e85bcf923b201be0f0f2b1f61c30ed5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1944463
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit eef221310f5e49009bda43ce340db66e31768598
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Dec 6 07:01:42 2019 +0000

    Roll third_party/SwiftShader bbd0694f9ab2..b9f03f47d5f5 (18 commits)
    
    https://swiftshader.googlesource.com/SwiftShader.git/+log/bbd0694f9ab2..b9f03f47d5f5
    
    git log bbd0694f9ab2..b9f03f47d5f5 --date=short --first-parent --format='%ad %ae %s'
    2019-12-05 digit@google.com [vulkan] Add VK_SUBGROUP_FEATURE_ARITHMETIC_BIT support
    2019-12-05 bclayton@google.com Vulkan: Optimize shaderClipDistance and shaderCullDistance
    2019-12-05 bclayton@google.com Vulkan: Implement shaderClipDistance and shaderCullDistance
    2019-12-05 paulthomson@google.com Regres: support GCOV_PREFIX for collecting coverage
    2019-12-05 chrisforbes@google.com Regres: update testlists for recent deqp roll
    2019-12-05 chrisforbes@google.com Regres: Adjust exit code handling
    2019-12-05 digit@google.com [vulkan] Clarify configuration macros for external memory and semaphores.
    2019-12-05 amaiorano@google.com ReactorUnitTests: add unit tests for intrinsics
    2019-12-05 amaiorano@google.com SubzeroReactor: implement most missing intrinsics
    2019-12-05 amaiorano@google.com SubzeroReactor: add stubbed coroutine support
    2019-12-05 amaiorano@google.com Subzero: fix assert for sqrt of vector float types
    2019-12-05 amaiorano@google.com Subzero: hack fix for assert(Dest->hasReg())
    2019-12-05 amaiorano@google.com SubzeroReactor: fix assertion !isVectorType(Ty)
    2019-12-05 amaiorano@google.com Subzero: fix assert when dumping unnamed constant
    2019-12-05 chrisforbes@google.com Regres: roll deqp forward to current tip of 1.1.6
    2019-12-04 sugoi@google.com Enable the fullDrawIndexUint32 feature
    2019-12-04 swiftshader.regress@gmail.com Regres: Update test lists @ bbd0694f
    2019-12-04 bclayton@google.com VulkanUnitTests: Fix bad comment on assembly.
    
    Created with:
      gclient setdep -r third_party/SwiftShader@b9f03f47d5f5
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/swiftshader-angle-autoroll
    Please CC geofflang@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: geofflang@google.com
    Change-Id: I720c9e121605054c30570ccfe8f83678d4b1262b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1955230
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit b2c2d667d540f3cd3e2591ec57b0974f4c63a8f7
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Dec 6 07:01:58 2019 +0000

    Roll third_party/vulkan-validation-layers/src e72b61c7c20d..a3ee4384fb57 (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/e72b61c7c20d..a3ee4384fb57
    
    git log e72b61c7c20d..a3ee4384fb57 --date=short --first-parent --format='%ad %ae %s'
    2019-12-05 mark@lunarg.com tests: Add tests for CmdFillBuffer offset and size
    2019-12-05 mark@lunarg.com corechecks: Add offset/size checks for CmdFillBuffer
    
    Created with:
      gclient setdep -r third_party/vulkan-validation-layers/src@a3ee4384fb57
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll
    Please CC geofflang@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: geofflang@google.com
    Change-Id: I175ccbba8eaf3d5c79b397422c7c32d64de8ef3f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1955231
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 11e6944ec5a84a780c495bbf6d3edf04404e0539
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Thu Dec 5 13:12:10 2019 -0500

    Linux AMD crash when src blit region outside framebuffer
    
    Linux AMD has a crash on an assert in the mesa driver that the source rectangle
    for blitFramebuffer be inside the framebuffer. Add Linux AMD to the existing
    workaround for this case.
    Note: this will duplicate some work on Linux AMD if the blit call is outside
    the framebuffer and also very large (the adjustSrcDstRegionBlitFramebuffer
    workaround)
    
    Bug: 1014370
    Change-Id: I1afd1c92ab07dba6814d6b87ff7c3c19a19bdc0e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1953487
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 4576f1d0bfcb7d8142f5256d7d5ebe02ca7f5781
Author: Ian Elliott <ianelliott@google.com>
Date:   Thu Dec 5 10:10:48 2019 -0700

    Vulkan: Implement multisample textures
    
    This functionality is exercised by running angle_deqp_gles31_tests with the
    following sets of command arguments:
    
      --gtest_filter=dEQP.GLES31/functional_texture_multisample* --use-angle=vulkan
    
      --gtest_filter=dEQP.GLES31/functional_state_query_texture_level_texture_2d_multisample* --use-angle=vulkan
    
      --gtest_filter=dEQP.GLES31/functional_state_query_texture_texture_2d_multisample_texture_immutable* --use-angle=vulkan
    
    The following are some high-level design notes:
    
    - Texture::setStorageMultisample() handles converting the "requested number of
      samples" to the actual number of samples used (e.g. converting 3 to 4),
      supported by the underlying back-end).  The actual number used is stored in
      gl::TextureState::mImageDescs, for use by other GLES commands.
    
    - ANGLE uses the Vulkan standard sample locations/positions.  If the underlying
      Vulkan driver's VkPhysicalDeviceLimits::standardSampleLocations is false,
      ANGLE limits itself to GLES 2.0 (i.e. before GLES 3.0 which adds multisample
      renderbuffers).
    
    - The Vulkan specification currently doesn't support ANGLE providing support
      for GLES 1-sample textures, because of the following Vulkan specification
      statement:
    
      - If the image was created with VkImageCreateInfo::samples equal to
        VK_SAMPLE_COUNT_1_BIT, the instruction must: have MS = 0.
    
    - At least one Vulkan driver returns different
      VkPhysicalDeviceLimits::*SampleCounts for different formats.  Because of
      this, ANGLE does a logical-AND of all values in order to only support the
      commonly-available numbers of samples.
    
    The detailed design document is located at:
    https://docs.google.com/document/d/1NiM8gAR74iGGXGTE6IP1ChdDUZjhtXRuJdtEp_wGFEM/edit?usp=sharing
    
    Bug: angleproject:3565
    Bug: angleproject:4103
    Bug: angleproject:4104
    Bug: angleproject:4196
    Bug: angleproject:4197
    Bug: angleproject:4198
    Change-Id: I28921badf9568427799b0af347198b5df06c2db0
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1919982
    Commit-Queue: Ian Elliott <ianelliott@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit d68bf3e2d2abe276d0a9acece3404561635e72df
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Dec 4 12:30:56 2019 -0500

    Fix image/sampler uniform range in presence of atomic counters
    
    The change that introduced images to the front-end placed them at the
    end of the uniforms list, so the loop that was calculating the image
    range was starting from the end of that list.
    
    The change that introduced atomic counters to the front-end placed them
    at the end of the uniforms list too, but the image range loop was not
    adjusted to take this fact into account (neither was the sampler range
    loop for that matter).
    
    If a shader used both images and atomic counter buffers, the image range
    was calculated as empty.  Similar issues would arise if the shader used
    both samplers and atomic counters.
    
    A test is added where a shader has a default uniform, a UBO, an SSBO, an
    image and an atomic counter, to make sure any combination of these
    resources doesn't result in a bug.
    
    Bug: angleproject:4190
    Change-Id: I7818ee5258dd964215a18acfd7c3d6515b61c595
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1950655
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>

commit 6e532b8cf0ee667c0518da6ccef5491d727e66e0
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Dec 5 11:16:16 2019 -0500

    Fix compute shared memory size validation
    
    When a struct was involved, the required size for each field was added
    up, but also multiplied by its array size.  However, when calculating
    the field size, the array size was already multipled in.
    
    This resulted in the calculated size to be larger than it actually is,
    resulting in failures in KHR-GLES31.core.compute_shader.shared-max.
    
    Bug: angleproject:4173
    Change-Id: I900c17fa65decdeb20c3651c3342295fed2f7c61
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1953483
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 795a3559211255c0ddfc268e788a8b338b48d48e
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Dec 3 11:31:18 2019 -0500

    Vulkan: EXT_gpu_shader5 support: precise
    
    The precise keyword is used in tessellation shaders but introduced in
    this extension.
    
    EXT_gpu_shader5 introduces a handful of features to shaders.  This
    change only implements the `precise` keyword.
    
    Bug: angleproject:3569
    Change-Id: I2252b79098eb8ba2d2faa040d7eaed7548b7051e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1939851
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit e20560faf1de86c01198143ef7733a12a098a90b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Dec 4 13:18:36 2019 -0500

    Re-land "Add new test runner harness."
    
    Re-land changes:
    
     * Unit test is suppressed in ASAN
     * --deqp-case is fixed
     * Debug layer errors should correctly work with failure expectations
    
    Original message:
    
    The ANGLE test harness is a harness around GoogleTest that provides
    functionality similar to the Chromium test harness. It supports:
    
     * splitting a test set into shards
     * catching and reporting crashes and timeouts
     * outputting to the Chromium JSON test results format
     * multi-process execution
    
    Unit tests are added in test_utils_unittest.cpp.
    
    Bug: angleproject:3162
    Change-Id: I841f2b5dfe51f7f44dac68324bdf6afd418b8bfb
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1948240
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit af52f9c692dff19a7249d63595c614a997e042a6
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Dec 3 14:11:17 2019 -0500

    Fix tests checking for major version > 3
    
    The tests meant to do getClientMajorVersion() >= 3, but in a few
    locations accidentally did > 3.
    
    Bug: angleproject:3569
    Change-Id: Ie69898348982c6aae7dac265a18229c257dbfbda
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1947458
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 362168eb695d0ac0a2bee85dd356232c9c20d0ef
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Dec 5 07:01:56 2019 +0000

    Roll third_party/glslang/src e58c080d4f02..0de87ee9a5bf (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/e58c080d4f02..0de87ee9a5bf
    
    
    Created with:
      gclient setdep -r third_party/glslang/src@0de87ee9a5bf
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/glslang-angle-autoroll
    Please CC geofflang@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: geofflang@google.com
    Change-Id: I8ff675710626a7197a71abb386b2b4013f27c30f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1952391
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 5f857839b9ece789d3e3881395f898b4a5625b54
Author: Ian Elliott <ianelliott@google.com>
Date:   Wed Dec 4 15:30:50 2019 -0700

    Improve current multisampled renderbuffer/texture support
    
    This is split off from a change to implement multisampled textures for
    the Vulkan back-end, and will come before that change.  The changes
    include:
    
    - Make a common utility rx::GetSamplePosition() function.  D3D11 and
      Vulkan use the same standard sample positions/locations for 1, 2, 4,
      8, and 16 samples.  The D3D11 back-end has a utility function for
      this, which is being moved to a common location--for use by both the
      D3D11 and Vulkan back-ends.
    
    - Texture::setStorageMultisample() handles converting the "requested number of
      samples" to the actual number of samples used (e.g. converting 3 to 4),
      supported by the underlying back-end).  The actual number used is stored in
      gl::TextureState::mImageDescs, for use by other GLES commands.
    
    - Change some end2end tests to not make assumptions about the supported number
      of samples, but to properly query what is supported.
    
    Bug: angleproject:3565
    Bug: angleproject:4196
    Change-Id: I1dc12fedd0f8fb4975f90d87486e443b069b7141
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1948535
    Commit-Queue: Ian Elliott <ianelliott@google.com>
    Reviewed-by: Ian Elliott <ianelliott@google.com>

commit 2719fa446b8f880245c7e608fe802ed4f6cba516
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Dec 4 15:05:57 2019 -0500

    Remove build_apk_secondary_abi from gn files
    
    This flag is always true now and is being removed from GN.
    
    Bug: angleproject:4026
    Bug: angleproject:2344
    Change-Id: I7e90d95a41cd4a9e054e3e102578db3323e999e8
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1951525
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit e3c25715ec2b68f9dbdd0b7489c6b6d02c336dc1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Dec 3 14:08:36 2019 -0500

    gn: Minor improvements.
    
    Renaming "all" targets to reduce duplication. Also add libGLESv1_CM to
    "angle". And remove "shader_translator" since we already had
    "angle_shader_translator".
    
    An attempt to work around "invalid COFF sections" error that is popping
    up on the MSVC try bots.
    
    Bug: None
    Change-Id: I105aa5e59f67173643a3a2071b2aff345b5a6135
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1947457
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit fab10c23e266815ca6acc4b4207f335ef534929c
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Dec 4 11:34:42 2019 -0500

    Vulkan: Optimize unused uniform cleanup in glslang wrapper
    
    Bug: angleproject:3803
    Change-Id: Ib260c86c68e5b11deaec8658cd9768af9b44e086
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1949629
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit c3f0352de1b21ca71c3834dc8a7955c1bfa05f14
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Dec 4 12:13:00 2019 -0500

    Re-enable atomic counter tests on !windows
    
    There is a bug that prevents us from running these tests on the windows
    bots.  This change enables them on other platforms so we don't lose
    coverage.
    
    Bug: angleproject:3738
    Change-Id: I9b546c3223499af88b347f8a01be8edb245c19a7
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1950654
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 61c6aecc180dc4f997412af5c039cf6703ae99e9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 28 14:30:18 2019 -0500

    Vulkan: Fold read access into write flags on buffer writes
    
    This could lead to a subtle bug:
    
    Say we use a buffer as a storage buffer and write to it. We then must
    issue a memory barrier before using it as a uniform buffer. However we
    would set the SHADER_READ bit as a read mask on a storage buffer
    access. This seems like it could lead to a missing barrier.
    
    Bug: angleproject:4178
    Change-Id: I486002739b7fb000ffacc0a1e996784b7875e7ba
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1943034
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>

commit a654d3512b0d943137d844712ef55ef868301ca7
Author: shrekshao <shrekshao@google.com>
Date:   Mon Dec 2 18:12:24 2019 -0800

    Turn on fboRenderMipmap for D3D11
    
    Bug: 1023747
    Change-Id: I8ca320432aad663e2a6d70f494692df518376258
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1947710
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Shrek Shao <shrekshao@google.com>

commit b40c65ceaa0a2b2add3b432e5cd729433faa4a83
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Tue Dec 3 10:12:34 2019 -0700

    Split out core.compute_shader expectations
    
    The failures have been triaged and split into more specific bugs.
    
    Bug: angleproject:3601
    Change-Id: Icb262a047bba78a11d710e479ad659a9fa1caf1a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1948524
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Tim Van Patten <timvp@google.com>

commit 33a00efd7c494b32cfa331005271bcb99a65502f
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Wed Nov 27 09:21:45 2019 -0700

    Add Compute Shared Memory Size Validation
    
    Add tracking of shared memory declarations in compute shaders.
    
    Test:
      angle_deqp_gles31_tests --gtest_filter=dEQP.GLES31/functional_debug_negative_coverage_callbacks_compute_exceed_shared_memory_size_limit
    
    Bug: 4173
    Change-Id: If2a86d467a82f73fa5b2ee0ced752701acfe1872
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1934653
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 5f3456e3314b48f26157bcda2780684d5a28c10b
Author: Tom Anderson <thomasanderson@chromium.org>
Date:   Tue Dec 3 14:16:19 2019 -0800

    Expose GL_ARB_sync for GL
    
    BUG=chromium:1028799
    R=jonahr
    CC=vasilyt
    
    Change-Id: Id17c4061b206953b1e904bf7938cb371612e33fd
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1948534
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

commit 006a1554286769ba417b0b06be430b129698b3a9
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Dec 4 07:01:58 2019 +0000

    Roll third_party/vulkan-validation-layers/src 4fde9b750992..e72b61c7c20d (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/4fde9b750992..e72b61c7c20d
    
    git log 4fde9b750992..e72b61c7c20d --date=short --first-parent --format='%ad %ae %s'
    2019-12-03 dadschoorse@gmail.com include cassert in vk_extension_helper.h
    
    Created with:
      gclient setdep -r third_party/vulkan-validation-layers/src@e72b61c7c20d
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll
    Please CC geofflang@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: geofflang@google.com
    Change-Id: I647c43e868f17775548545671e283830559b3aba
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1950027
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 154167f215e99bda1641cc8bd002bce33d9e02a8
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Dec 4 07:01:41 2019 +0000

    Roll third_party/SwiftShader b64fbfec4dcd..bbd0694f9ab2 (3 commits)
    
    https://swiftshader.googlesource.com/SwiftShader.git/+log/b64fbfec4dcd..bbd0694f9ab2
    
    git log b64fbfec4dcd..bbd0694f9ab2 --date=short --first-parent --format='%ad %ae %s'
    2019-12-03 chrisforbes@google.com Remove Common/Types.hpp include from SpirvShader
    2019-12-03 chrisforbes@google.com Regres: Add pending deqp change to fix bad graphicsfuzz tests
    2019-12-03 srisser@google.com Make Vk::Stringify return std::string
    
    Created with:
      gclient setdep -r third_party/SwiftShader@bbd0694f9ab2
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/swiftshader-angle-autoroll
    Please CC geofflang@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: geofflang@google.com
    Change-Id: Ia5795718520bc2de13a5331fb3471f5d16ba5dbe
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1950025
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 089c47168baba134a89995eafa226e968b4d0f0e
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Dec 4 07:01:40 2019 +0000

    Roll third_party/spirv-tools/src 3ed4586044f2..e82a428605f6 (3 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/3ed4586044f2..e82a428605f6
    
    
    Created with:
      gclient setdep -r third_party/spirv-tools/src@e82a428605f6
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC geofflang@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: geofflang@google.com
    Change-Id: I84921c632e3a8f55a5c2e16d03984f5119d7ac15
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1950024
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit b939b4a7247d169a825712600ef747d40a1eac8c
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Dec 4 07:01:56 2019 +0000

    Roll third_party/glslang/src a4af7676feb0..e58c080d4f02 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/a4af7676feb0..e58c080d4f02
    
    
    Created with:
      gclient setdep -r third_party/glslang/src@e58c080d4f02
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/glslang-angle-autoroll
    Please CC geofflang@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: geofflang@google.com
    Change-Id: Ia950c8adef32a30ee53f05e3c9e01d8576f62f8e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1950026
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 249cb200173f3fcbd5055399fee0a3e5b8721c86
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Dec 3 11:10:06 2019 -0500

    Translator: Rename TIntermInvariantDeclaration to ..GlobalQualifier..
    
    This is to support the upcoming `precise` keyword.
    
    Bug: angleproject:3569
    Change-Id: Idbcc8fd6f261757dbbf81b381e7a2dae938d8101
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1947451
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a5045ac36d1749ad1dbdb5d0f1b864da3d2b3e63
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Dec 3 11:02:17 2019 -0500

    glslang.l: refactor extension checks
    
    Bug: angleproject:3569
    Change-Id: I7cbbaa4d1cdd4dd4268f28e06c907958cff9b4e8
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1947450
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 5efb36b9af0c4aec3d9b0554b95ce9a82b964c59
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Nov 25 16:14:55 2019 -0500

    Automatically call flex/bison if necessary
    
    ANGLE translator's parser code generation is changed to use the binaries
    of flex/bison stored in the cloud.  scripts/run_code_generation.py now
    automatically runs these files if the input files change.
    
    Bug: angleproject:3419
    Change-Id: Icce4247f93b27baf8ee12dbb16112fa2cc98c111
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1940572
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 62a93045cd86bfa25ebe7a1e30101c0df270f76d
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Dec 2 15:19:15 2019 -0500

    Vulkan: Fix WaW same-layout image transitions
    
    These transitions were incorrectly handled by an execution barrier
    alone, but that's not per spec.  Write-after-write hazards always need a
    memory barrier.
    
    Bug: angleproject:3347
    Bug: angleproject:3554
    Change-Id: Id2d2579888e0b59e589fcdd52416363f2cf5cf97
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1943546
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 8f31872c859bd2e71c3a16104936b5320adea019
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Dec 3 18:34:52 2019 +0000

    Revert "Add new test runner harness."
    
    This reverts commit fb40d231c3e2ee7c38f8445ef5defc0ab0f5f15d.
    
    Reason for revert: Has a bug with the ASan build and also has a few
    bugs with ANGLE standalone test expectations an filter.
    
    Bug: chromium:1030192
    Bug: angleproject:4193
    
    Original change's description:
    > Add new test runner harness.
    >
    > The ANGLE test harness is a harness around GoogleTest that provides
    > functionality similar to the Chromium test harness. It supports:
    >
    >  * splitting a test set into shards
    >  * catching and reporting crashes and timeouts
    >  * outputting to the Chromium JSON test results format
    >  * multi-process execution
    >
    > Unit tests are added in test_utils_unittest.cpp.
    >
    > Bug: angleproject:3162
    > Change-Id: Idb15f113de8eb32db12bc93542de93b08d7c1447
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1478016
    > Commit-Queue: Jamie Madill <jmadill@chromium.org>
    > Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    
    TBR=ynovikov@chromium.org,jonahr@google.com,jmadill@chromium.org
    
    Change-Id: I647e747571784b1ca7c1d0687193c70a63eb08d1
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:3162
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1947456
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit f0f46772d20b1a09db590ca462903771cef8e463
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Dec 3 10:21:58 2019 -0500

    D3D9: Log the exact error code generated by D3D9 device creation.
    
    BUG=1029091
    
    Change-Id: I552627dd18d0d5b48c02bff12c9368c724a65f54
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1947448
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit ff83dabf2cb8115f8bcffd41030d8ac8781728c8
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Dec 3 10:10:53 2019 -0500

    Skip flaky BlendMinMaxTest.RGBA16F/ES2_Metal.
    
    BUG=angleproject:4185
    
    Change-Id: I236d4372ab22e9083d00cf13fa2ad682a1d42f14
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1947447
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit fc2dd45054bf8478522e43f7d86f5e328833fdf9
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Dec 3 11:34:38 2019 -0500

    Link to the autoroller configuration directory in the wrangling doc.
    
    BUG=angleproject:1944
    
    Change-Id: I3f6e50fbc93948416c32070418a4f24a51a3c1bd
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1947452
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 98e8be8841eb08f3c2f65097bfd973269b61fe79
Author: Nico Weber <thakis@chromium.org>
Date:   Tue Dec 3 10:53:13 2019 -0500

    Remove an unused .gn file.
    
    The almost identical one in third_party/vulkan-loader/src/BUILD.gn
    is used instead, and this one is unused.
    
    Bug: None
    Change-Id: I9d1acfdec019fb4bc74ed4869014edbf9fd64ca5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1947449
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 7e753cb700c8a757a5804dfb7471d1e080e1db4e
Author: Ethan Lee <flibitijibibo@gmail.com>
Date:   Tue Dec 3 10:05:24 2019 -0500

    Fix UWP build
    
    Bug: angleproject:4186
    Change-Id: I4fcfe2553f209e191d88058fe30d31c88a61f69f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1947446
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit e4ac2ff3f6a22f95c2a5d670a5083b054eb1e096
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Nov 28 16:30:15 2019 -0500

    GL: Make GL_EXT_texture_format_BGRA8888 enableable.
    
    Disable returning BGRA as an implementation read format unless
    GL_EXT_texture_format_BGRA8888 is exposed.  WebGL doesn't support this extension
    and returning BGRA as an implementation read format is invalid.
    
    TEST=functional/gles3/negativebufferapi.html
    TEST=functional/gles3/integerstatequery.html
    
    BUG=angleproject:4179
    
    Change-Id: I313721f09da0e455128b88b129bd34338d47af73
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1943407
    Reviewed-by: James Darpinian <jdarpinian@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit c4faeb79812e6f22298c7fa384fa9e5022f1baf8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Nov 25 10:33:52 2019 -0500

    Use SwiftShader-based ICD generation.
    
    We moved this into the SwiftShader repo proper in:
    https://swiftshader-review.googlesource.com/c/SwiftShader/+/38491
    
    We can remove ANGLE's custom rules. Also removes the layer generation
    script which was now unused. Also cleans up the Vulkan back-end
    BUILD.gn a bit.
    
    Bug: dawn:283
    Change-Id: I490e8e8fc6fcadec58aca53a157ce7c4a47def3c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1932340
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 38e5a8de485ac58909fdc76c8f96b99f58a96b8c
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Dec 3 07:01:56 2019 +0000

    Roll third_party/glslang/src 83af46951202..a4af7676feb0 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/83af46951202..a4af7676feb0
    
    
    Created with:
      gclient setdep -r third_party/glslang/src@a4af7676feb0
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/glslang-angle-autoroll
    Please CC geofflang@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: geofflang@google.com
    Change-Id: Iae5df5c516d75f2aa8aa1a738b627027a8a07f19
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1947722
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit b00fe93c80eda9a0b7d3deda898cef71893aac8b
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Dec 3 07:01:01 2019 +0000

    Roll third_party/vulkan-tools/src 979b531e9fff..0a0625a3dca6 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/979b531e9fff..0a0625a3dca6
    
    git log 979b531e9fff..0a0625a3dca6 --date=short --first-parent --format='%ad %ae %s'
    2019-12-02 bill.hollings@brenwill.com vkcube: Replace MoltenVK surfaces with Metal
    
    Created with:
      gclient setdep -r third_party/vulkan-tools/src@0a0625a3dca6
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/vulkan-tools-angle-autoroll
    Please CC geofflang@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: geofflang@google.com
    Change-Id: I6fef339859da970f0416ce0d8f6f874d3af8ac98
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1947720
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 32c57b7963917b606e89f04bea3ff404d0734a43
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Dec 3 07:01:40 2019 +0000

    Roll third_party/spirv-tools/src 47f3eb42641b..3ed4586044f2 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/47f3eb42641b..3ed4586044f2
    
    
    Created with:
      gclient setdep -r third_party/spirv-tools/src@3ed4586044f2
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC geofflang@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: geofflang@google.com
    Change-Id: I43e63689ab019e69440bac9c2a92fffa7b87a838
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1947721
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit fb40d231c3e2ee7c38f8445ef5defc0ab0f5f15d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Dec 2 16:39:18 2019 -0500

    Add new test runner harness.
    
    The ANGLE test harness is a harness around GoogleTest that provides
    functionality similar to the Chromium test harness. It supports:
    
     * splitting a test set into shards
     * catching and reporting crashes and timeouts
     * outputting to the Chromium JSON test results format
     * multi-process execution
    
    Unit tests are added in test_utils_unittest.cpp.
    
    Bug: angleproject:3162
    Change-Id: Idb15f113de8eb32db12bc93542de93b08d7c1447
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1478016
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 9601a548854dc776da6e7bd94d9b39ff03afc322
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Sat Nov 23 23:44:52 2019 -0500

    Vulkan: implement external semaphore barriers
    
    glWaitSemaphoreEXT and glSignalSemaphoreEXT functions optionally request
    buffer and image barriers to be performed by the implementation.
    
    If any barriers are present, a single global memory barrier is inserted
    to take care of memory accesses.
    
    In both functions, buffer and image memory barriers are used to perform
    queue ownership transfers to ANGLE's queue (glWaitSemaphoreEXT) or the
    EXTERNAL queue (glSignalSemaphoreEXT).
    
    In glWaitSemaphoreEXT, the given layouts are information regarding how
    the external entity (the caller) has modified the images' layouts, and
    is used to update ANGLE's internal state tracking.
    
    Bug: angleproject:3289
    Bug: 1026673
    Change-Id: Ic478a8813df727c89413c8ae2adf42b5c1d06069
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1933016
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Michael Spang <spang@chromium.org>

commit 190d9a81671d7ca0c725787e69471f1b0d2c3e34
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Nov 29 09:57:40 2019 -0500

    Fix RenderingLimitToDefaultFBOSizeWithNoAttachments test
    
    MAX_DRAW_BUFFERS has a minimum value of 4.  This test was
    unconditionally using 6 draw buffers.
    
    Bug: angleproject:4092
    Bug: angleproject:4180
    Change-Id: I069874a6402da1cb007bf9504e68b9910951cf63
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1944527
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Alexis Hétu <sugoi@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 745999a9763346d7ed6c1091c710722873b9db09
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Nov 19 12:59:02 2019 -0500

    Add test for multithreaded shared-context resource
    
    The test does this:
    
    1. Context 1: Read Texture 1 and draw into Framebuffer 1
    2. Context 2: Read Texture 1 and draw into Framebuffer 2
    3. Context 1: Delete Framebuffer 1
    4. Context 1: Flush
    5. Context 2: Modify Texture 1
    
    Issue is Texture 1's mCurrentReadingNodes contains one node from each
    context's command graph, one of which is deleted at step 4. At step 5, a
    dependency is added from both nodes (one already deleted) to a new node,
    causing use-after-free.
    
    Bug: angleproject:4130
    Change-Id: I06720aec20d0b49114937f1cd9b193a4f1df9d8d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1924790
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 47a1fda2a5f53dd633e3cb3d6a6c30afb9ca4788
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Dec 2 09:23:45 2019 -0500

    D3D: Log why a renderer fails to initialize.
    
    BUG=1029091
    
    Change-Id: I80a69f5d5294522d7229976f41ba5a61a6c2724d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1945891
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit ca1b0fb895ca86ce6300cf365dce7b10c395c559
Author: Tim Van Patten <timvp@google.com>
Date:   Mon Nov 25 12:13:01 2019 -0700

    VULKAN: dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer.framebuffer_texture2d
    
    Add the following SWANGLE test failure to
    deqp_gles31_test_expectations.txt:
    
    dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer.framebuffer_texture2d
    
    Bug: angleproject:3590
    Test: None
    Change-Id: I0f234ea2d7a90e2b95220b152cb0da3822df1ef3
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1933764
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Commit-Queue: Tim Van Patten <timvp@google.com>

commit 19f9f41481964be3a22e03a443eb37535a70e598
Author: Xinyi He <xinyi.he@arm.com>
Date:   Fri Nov 29 10:30:25 2019 +0800

    Vulkan: Textures incorrect on Android maps with Vulkan Backend
    
    The issue was fixed, but adding a regression test to avoid it
    again. glMemoryBarrier inserts a memory barrier and breaks the
    submission order, which causes the copyBufferToImage happens
    before copyImageToBuffer and image corruption. This test fails
    on commit 052167b, and can pass on the latest build.
    
    Bug: angleproject:4074
    Change-Id: Icc42dd7b2ba167815b223085ce933682654ce760
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1943848
    Commit-Queue: Ian Elliott <ianelliott@google.com>
    Reviewed-by: Ian Elliott <ianelliott@google.com>

commit 8784a9284f653b9bc6fa54d75217e4f2a190376c
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Dec 2 07:01:04 2019 +0000

    Roll third_party/SwiftShader fb7ca1d5aca5..b64fbfec4dcd (3 commits)
    
    https://swiftshader.googlesource.com/SwiftShader.git/+log/fb7ca1d5aca5..b64fbfec4dcd
    
    git log fb7ca1d5aca5..b64fbfec4dcd --date=short --first-parent --format='%ad %ae %s'
    2019-11-30 bclayton@google.com VkPipeline: Replace spirv-opt list with RegisterPerformancePasses()
    2019-11-29 paulthomson@google.com Regres: refactor for use as a library
    2019-11-29 swiftshader.regress@gmail.com Regres: Update test lists @ fb7ca1d5
    
    Created with:
      gclient setdep -r third_party/SwiftShader@b64fbfec4dcd
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/swiftshader-angle-autoroll
    Please CC cwallez@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: cwallez@google.com
    Change-Id: Id3d9dfdb0769511da8391220411aac9726ebb6b2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1946094
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 0e8baa5926f1ac192c150dc399f3146f097fb8f3
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Dec 2 07:01:04 2019 +0000

    Roll third_party/spirv-tools/src b334829a91d6..47f3eb42641b (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/b334829a91d6..47f3eb42641b
    
    
    Created with:
      gclient setdep -r third_party/spirv-tools/src@47f3eb42641b
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC cwallez@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: cwallez@google.com
    Change-Id: I814d0cb3b82a5218140d785421b3c69d5fb8ebd3
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1946095
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 4c23d7fe12476e5523fe1ad1f6cecf2b0fcfd954
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Dec 2 07:01:04 2019 +0000

    Roll third_party/glslang/src 38b4db48f98c..83af46951202 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/38b4db48f98c..83af46951202
    
    
    Created with:
      gclient setdep -r third_party/glslang/src@83af46951202
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/glslang-angle-autoroll
    Please CC cwallez@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: cwallez@google.com
    Change-Id: I4476e3fdea378cb843430a21d64d2f17e13983a2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1946096
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit ea0dcd4bda188993f537aad22f54160268f7a864
Author: Antonio Maiorano <amaiorano@google.com>
Date:   Fri Nov 29 15:51:14 2019 -0500

    Use Vulkan rectangle lines to emulate OpenGL multisampled lines
    
    SwiftShader recently added support for multisampled Bresenham lines to be spec
    compliant with Vulkan, so now Angle must explicitly request non-Bresenham lines
    when multisampling is enabled.
    
    Bug: angleproject:4087
    Change-Id: Ie854746144894e3e0a68622e985cbd4ba7781ac3
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1944529
    Commit-Queue: Antonio Maiorano <amaiorano@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 6935b02965298d91f258352d775d28d3a8bbc529
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Nov 29 10:57:20 2019 -0500

    Ignore .git_cl_description_backup
    
    depot_tools used to create this file in $HOME, but now stores it in the
    current repository.
    
    Bug: None
    Change-Id: Ia127c2273eb23e7acffd5d0cf7c61e5d4f521a0b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1944528
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 5e6d6c496367ea190035121af1550b5a0361ee94
Author: Shahbaz Youssefi <syoussefi@chromium.com>
Date:   Thu Nov 28 10:18:30 2019 -0500

    Update flex and bison binaries for Windows.
    
    These binaries were updated using update_flex_bison_binaries.py.
    Please see instructions in tools/flex-bison/README.md.
    
    flex is at version 2.6.4
    bison is at version 3.3.2
    
    Bug: 3419
    Change-Id: I640621e670a918c72fbb21186893a2cc438c0eb5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1943027
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 102aa5225c85384b82e766e38d81e03bbd314e3e
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Nov 28 12:00:06 2019 -0500

    Update flex and bison binaries for Linux.
    
    These binaries were updated using update_flex_bison_binaries.py.
    Please see instructions in tools/flex-bison/README.md.
    
    flex is at version 2.6.4
    bison is at version 3.3.2
    
    Bug: 3419
    Change-Id: Iac8d0029b18602cc6e5f495d3b8c6bc928977500
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1943029
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 7012250a8c7b45ae1a572bc81ed6a5a607c4e5dc
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Nov 25 15:19:52 2019 -0500

    Infrastructure for uploading flex/bison binaries
    
    The binaries are retrieved from MSys2 on windows and built from source
    on Linux.  Updates to these binaries should be infrequent enough to
    not warrant a completely automated system.
    
    Bug: angleproject:3419
    Change-Id: I282f9ca14059d1fe0d88f2ffd31d02df0ea6b88f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1940571
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 87e10803d546abcaf502e9afa4a5fe4f2bf9b530
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Nov 29 07:01:51 2019 +0000

    Roll third_party/vulkan-validation-layers/src 61050599ec0f..4fde9b750992 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/61050599ec0f..4fde9b750992
    
    git log 61050599ec0f..4fde9b750992 --date=short --first-parent --format='%ad %ae %s'
    2019-11-28 pdaniell@nvidia.com layers: Fix VK_KHR_separate_depth_stencil_layouts bugs
    
    Created with:
      gclient setdep -r third_party/vulkan-validation-layers/src@4fde9b750992
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll
    Please CC cwallez@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: cwallez@google.com
    Change-Id: I8fe4e0dfced4ccbca13d54b9e8983347c57fa03e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1944049
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit c96187a919ebb773fa0a50965c8e7a99e1d893d0
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Nov 29 07:01:04 2019 +0000

    Roll third_party/SwiftShader d6e903bdc9ef..fb7ca1d5aca5 (13 commits)
    
    https://swiftshader.googlesource.com/SwiftShader.git/+log/d6e903bdc9ef..fb7ca1d5aca5
    
    git log d6e903bdc9ef..fb7ca1d5aca5 --date=short --first-parent --format='%ad %ae %s'
    2019-11-28 bclayton@google.com SpirvShaderEnumNames: Use spirv-tools' spvOpcodeString()
    2019-11-28 bclayton@google.com Rename SpirvShader_dbg.cpp -> SpirvShaderEnumNames.cpp
    2019-11-28 bclayton@google.com SpirvShader: Remove now unused includes
    2019-11-28 bclayton@google.com SpirvShader: Move arithmetic ops to new cpp file
    2019-11-28 bclayton@google.com SpirvShader: Move image handling to new cpp file
    2019-11-28 bclayton@google.com SpirvShader: Move spec ops to new cpp file
    2019-11-28 bclayton@google.com SpirvShader: Move group ops to new cpp file
    2019-11-28 bclayton@google.com SpirvShader: Move memory ops to new cpp file
    2019-11-28 bclayton@google.com SpirvShader: Move control flow handling to new cpp file
    2019-11-28 bclayton@google.com SpirvShader: Move GLSLstd450 handling to new cpp file
    2019-11-28 bclayton@google.com Pipeline: Move utility functions to ShaderCore
    2019-11-28 jmadill@chromium.org Fix ICD generation (again).
    2019-11-28 bclayton@google.com Regres: Use android.googlesource.com for dEQP
    
    Created with:
      gclient setdep -r third_party/SwiftShader@fb7ca1d5aca5
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/swiftshader-angle-autoroll
    Please CC cwallez@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: cwallez@google.com
    Change-Id: Ib5511403e97be57c78784cbec8619f6cb4907312
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1944048
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit bc82fb14aab4b1238cdb7291bdd34816863f26b8
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Thu Nov 28 16:58:19 2019 -0500

    Suppress failing end2end tests for ASAN builds
    
    GLSLTest_ES31.StructArraySample and
    ComputeShaderTest.DispatchComputeIndirect both hit stack-buffer-overflow
    errors with ASAN enabled, using the vulkan backend. Right now ASAN is
    only tested on Mac, so these are only hit when Mac is using
    swiftshader-vulkan.
    
    Bug: 1029378
    Change-Id: Ie590f73c29be44f683fd47fe4da139e1b5f96289
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1943408
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

commit 82219d287b573ced311dc2343c2e596293573e09
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Nov 26 10:17:11 2019 -0500

    Vulkan: fix alpha values in convert vertex shader
    
    When reading vertex attributes, GLES requires the y and z components to
    be filled with 0 if missing, and the alpha channel to be filled with 1.0
    for float types and 1 for integer types.
    
    At the same time, this change reduces the number of variations in this
    shader.
    
    Bug: angleproject:3192
    Change-Id: I1bdf491952c296962fa9160f2d29d415eb3d570d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1936708
    Reviewed-by: Jaedon Lee <jaedon1.lee@samsung.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 5afd5ec6adce4611ca6cfe2ef404b3c510d542a9
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Fri Oct 25 10:53:40 2019 -0600

    Vulkan support for MacOS (using SwiftShader)
    
    Created a new WindowSurface/Display for MacOS/Vulkan, along with some
    GN changes to get it working.
    
    Bug: 1015454
    Change-Id: I3f7a12f173795efe598856c702ce53b1e50831eb
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1880163
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 39f3ccda19931e20170783d726bc4e7d2c7653d8
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Nov 28 17:45:01 2019 +0100

    Suppress SimpleStateChange failure on Metal NVIDIA
    
    BUG=angleproject:4177
    TBR=geofflang@chromium.org
    
    Change-Id: I642e4bd3650b5b6beb6d9b18106d787c5dbc14f6
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1942348
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 6ebed5428e4ee334d0ffc33572ed5ec68dcd458e
Author: Xiaoxuan Liu <xiaoxuan.liu@arm.com>
Date:   Wed Nov 27 19:10:16 2019 +0800

    Add arm64 to libpng build configuration.
    
    In libpng build option, neon files were missing for arm64,
    add "arm64" option to libpng build configuration.
    
    BUG=angleproject:4026
    
    Change-Id: I38280c8089be93de224959583091f3a151f94ab0
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1940017
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 7fd3ad466b4def80115c28f473f7cd9a1b024f98
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Nov 28 07:01:03 2019 +0000

    Roll third_party/spirv-tools/src f31f26f73930..b334829a91d6 (4 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/f31f26f73930..b334829a91d6
    
    
    Created with:
      gclient setdep -r third_party/spirv-tools/src@b334829a91d6
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC cwallez@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: cwallez@google.com
    Change-Id: I5e77e15f61a924a4183ea49965e4b586374a5729
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1941570
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit b9a9a3c70f4957470e77449cef8be70d6c6a00b9
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Nov 28 07:01:03 2019 +0000

    Roll third_party/vulkan-tools/src 6f6e3371c92a..979b531e9fff (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/6f6e3371c92a..979b531e9fff
    
    git log 6f6e3371c92a..979b531e9fff --date=short --first-parent --format='%ad %ae %s'
    2019-11-27 jeremyk@lunarg.com vkcube: Fix Cube Squishing on Resize
    
    Created with:
      gclient setdep -r third_party/vulkan-tools/src@979b531e9fff
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/vulkan-tools-angle-autoroll
    Please CC cwallez@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: cwallez@google.com
    Change-Id: I2d43213baf6132eefa9a9f660d3300c64af81a55
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1941569
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit c5f453659ef941c870f05a54900620082530cd55
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Nov 28 07:01:04 2019 +0000

    Roll third_party/SwiftShader 663dcefa22ea..d6e903bdc9ef (4 commits)
    
    https://swiftshader.googlesource.com/SwiftShader.git/+log/663dcefa22ea..d6e903bdc9ef
    
    git log 663dcefa22ea..d6e903bdc9ef --date=short --first-parent --format='%ad %ae %s'
    2019-11-28 sugoi@google.com Support multisampled Bresenham lines
    2019-11-27 sugoi@google.com Support sample image instruction operand
    2019-11-27 jmadill@chromium.org Fix ICD build when using multiple toolchains.
    2019-11-27 chrisforbes@google.com gles: Only clamp default block uniform indexes
    
    Created with:
      gclient setdep -r third_party/SwiftShader@d6e903bdc9ef
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/swiftshader-angle-autoroll
    Please CC cwallez@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: cwallez@google.com
    Change-Id: I0596f70dda8f3be71bda0d2fe48d2010f415e50e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1941571
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 7bb0115cecb60d70b084ae38da4bbee08261efd1
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Nov 28 07:01:51 2019 +0000

    Roll third_party/vulkan-validation-layers/src 8c954d5a413d..61050599ec0f (6 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/8c954d5a413d..61050599ec0f
    
    git log 8c954d5a413d..61050599ec0f --date=short --first-parent --format='%ad %ae %s'
    2019-11-27 camden@lunarg.com layers: Fix naming convention in PD_STATE
    2019-11-27 camden@lunarg.com layers: Remove CALLSTATE everywhere except BP
    2019-11-27 jasuarez@igalia.com tests: Implement test for VK_KHR_timeline_semaphore
    2019-11-27 jasuarez@igalia.com layers: Implement VK_KHR_timeline_semaphore validations
    2019-11-27 digit+github@google.com build: Fix Vulkan headers detection with CMake
    2019-11-27 jbolz@nvidia.com layers: Remove MemTrack-FreedMemRef that has moved to best_practices
    
    Created with:
      gclient setdep -r third_party/vulkan-validation-layers/src@61050599ec0f
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll
    Please CC cwallez@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: cwallez@google.com
    Change-Id: Ib47de40f60be363ade83ea8f4591ff68ab272e28
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1941572
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit fc3ec57ddf27da2f8cb37dabf8257b71943d2517
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 27 21:43:22 2019 +0000

    Reland "Vulkan: Accelerate Texture PBO updates"
    
    This reverts commit 27d3c9399925d23726880ef910b9068fa39307cf.
    
    Reason for revert: Investigation is unable to reproduce the regresion.
    Shows up on the perf CI.
    
    Original change's description:
    > Revert "Vulkan: Accelerate Texture PBO updates"
    >
    > This reverts commit efb45edaefc07fc7120ebbde83bbc84876afda1a.
    >
    > Reason for revert: Significant perf regression on several benchmarks.
    > See bug for more details.
    >
    > Bug: chromium:1027098
    >
    > Original change's description:
    > > Vulkan: Accelerate Texture PBO updates
    > >
    > > If the format of the image and the PBO match,
    > > use a vkCmdCopyBufferToImage transfer operation.
    > >
    > > Test: angle_end2end_tests --gtest_filter=*PBOCompressedSubImage*
    > >       angle_end2end_tests --gtest_filter=*PBOWithMultipleDraws*
    > >       dEQP-GLES3.functional.texture.specification.tex*image*d_pbo*
    > > Bug: angleproject:3777
    > > Change-Id: I3f271024a635be113202a16f8893a199c194172d
    > > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1906203
    > > Reviewed-by: Cody Northrop <cnorthrop@google.com>
    > > Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
    >
    > TBR=cnorthrop@google.com,syoussefi@chromium.org,jmadill@chromium.org,m.maiya@samsung.com,b.schade@samsung.com
    >
    > # Not skipping CQ checks because original CL landed > 1 day ago.
    >
    > Bug: angleproject:3777
    > Change-Id: I774655962e9ab5a866b9324002fb8edae8550834
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1939927
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    > Commit-Queue: Jamie Madill <jmadill@chromium.org>
    
    TBR=cnorthrop@google.com,syoussefi@chromium.org,jmadill@chromium.org,m.maiya@samsung.com,b.schade@samsung.com
    
    Change-Id: I8560a2e70de230eac3256a1df5eb2ecaa6f26bcf
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: chromium:1027098, angleproject:3777
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1939852
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c4f889fbe74216f530199b1416360d5def985ff9
Author: James Darpinian <jdarpinian@chromium.org>
Date:   Mon Nov 25 16:53:04 2019 -0800

    Fix format/internalformat confusion
    
    Bug: angleproject:4084
    Change-Id: I24a184b78bef2994a3045b141ecd72a49d66cfdf
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1934890
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: James Darpinian <jdarpinian@chromium.org>

commit 232d009dbdc7bf2b716068c1e493d4b1d32d488c
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Nov 27 10:12:23 2019 -0500

    Fix string literal comparison in validation
    
    String literals shouldn't be compared by pointer, especially if the
    literal is declared in a header (so the two pointers can come from
    different translation units, because the string literal might have a
    different copy in each).
    
    Use strcmp instead.
    
    Bug: angleproject:4175
    Change-Id: I6002ccb185f48928b67ce8a7b3508e427761a8c3
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1940568
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 33adad19dfde9c64b88ce426e9c00549f5bb7219
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 27 10:21:20 2019 -0500

    Roll chromium_revision 5fe256ab5e..d209d45ba4 (709762:719599)
    
    Change log: https://chromium.googlesource.com/chromium/src/+log/5fe256ab5e..d209d45ba4
    Full diff: https://chromium.googlesource.com/chromium/src/+/5fe256ab5e..d209d45ba4
    
    Changed dependencies
    * build: https://chromium.googlesource.com/chromium/src/build.git/+log/258e22bc61..ebec9c5ad4
    * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/cf454b247c..6b3e658d6f
    * testing: https://chromium.googlesource.com/chromium/src/testing/+log/85152663b9..72e16daaa5
    * third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/403ca5ad3a..e77e1c06c8
    * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/662cbb8d60..05979d8cad
    DEPS diff: https://chromium.googlesource.com/chromium/src/+/5fe256ab5e..d209d45ba4/DEPS
    
    Clang version changed 64a362e7216a43e3ad44e50a89265e72aeb14294:e84b7a5fe230e42b8e6fe451369874a773bf1867
    Details: https://chromium.googlesource.com/chromium/src/+/5fe256ab5e..d209d45ba4/tools/clang/scripts/update.py
    
    TBR=jmadill@chromium.org,
    BUG=None
    
    Change-Id: I81aa1bc885ae18abddf04593245d1c394679a679
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1940569
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 2ed71c811da7de457110f3100be6025ef520307a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 27 11:42:08 2019 -0500

    Vulkan: Isolate DisplayVk.h from Display.cpp.
    
    With this change we no longer can access Vulkan (or Volk) headers
    in the ANGLE front-end. The only header that needs to be visible is
    the new "DisplayVk_api.h".
    
    This will simplify a bit of Volk integration.
    
    Also reworks how the entry points and headers are exposed to the tests.
    
    Bug: angleproject:3740
    Change-Id: Ic1434f304619427ed6ad6370bc090ceb7858df94
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1936707
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tobin Ehlis <tobine@google.com>

commit 2a72553dc7aeb7e52f3986ef56efc0c66230092f
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Mon Nov 25 14:22:50 2019 -0500

    Add EGLSurfaceTest.ResizeWindowWithDraw
    
    This test will ensure the backbuffer is also properly resized when
    the window is resized.
    
    Bug: angleproject:4167
    Change-Id: I1d73f07379b4f05e453520e22ef1369f51182197
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1934311
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit ea1c2400ed6655b03f61cb5793c45d014d0e4b14
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 27 10:49:57 2019 -0500

    Suppress -Wsizeof-array-div in dEQP.
    
    Until the upstream bug is fixed. Tracked in
    https://gitlab.khronos.org/Tracker/vk-gl-cts/issues/2127
    
    Bug: angleproject:4176
    Change-Id: I094735e1153c83439db54b43545297466ef2e2c7
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1940570
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit b6148c3af63edfadeab23b4b58e402dc40d0485f
Author: Le Hoang Quyen <lehoangq@gmail.com>
Date:   Thu Nov 21 10:13:44 2019 +0800

    Metal: re-enable end2end tests
    
    Bug: angleproject:4157
    Change-Id: Ia7e29c32696c84556e9ea527fc48b086b1bc4766
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1940007
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 74d4bf9893fc1f783be256c39c1b3f99af16f517
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Nov 26 15:34:11 2019 -0500

    Remove !empty() assert on FastVector::data()
    
    The user of the API is allowed to call data() on an empty vector.
    
    Bug: 1026414
    Change-Id: I41ea65c50b94115ace7930d75cd8f14782548d6c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1937807
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 95b176e41475d6f13b956e7a13142382af049d4b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 27 10:15:57 2019 -0500

    Tweaks to roll_deps.py.
    
    Removes a few repos that are no longer in DEPS. Also remove fuchsia_sdk
    as it's not avaiable by default on some platforms and isn't really part
    of Chromium.
    
    Bug: angleproject:4176
    Change-Id: I141213811c085b4281f64d93a14eb4a2b83e005e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1940567
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 27d3c9399925d23726880ef910b9068fa39307cf
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 27 11:39:41 2019 +0000

    Revert "Vulkan: Accelerate Texture PBO updates"
    
    This reverts commit efb45edaefc07fc7120ebbde83bbc84876afda1a.
    
    Reason for revert: Significant perf regression on several benchmarks.
    See bug for more details.
    
    Bug: chromium:1027098
    
    Original change's description:
    > Vulkan: Accelerate Texture PBO updates
    >
    > If the format of the image and the PBO match,
    > use a vkCmdCopyBufferToImage transfer operation.
    >
    > Test: angle_end2end_tests --gtest_filter=*PBOCompressedSubImage*
    >       angle_end2end_tests --gtest_filter=*PBOWithMultipleDraws*
    >       dEQP-GLES3.functional.texture.specification.tex*image*d_pbo*
    > Bug: angleproject:3777
    > Change-Id: I3f271024a635be113202a16f8893a199c194172d
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1906203
    > Reviewed-by: Cody Northrop <cnorthrop@google.com>
    > Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
    
    TBR=cnorthrop@google.com,syoussefi@chromium.org,jmadill@chromium.org,m.maiya@samsung.com,b.schade@samsung.com
    
    # Not skipping CQ checks because original CL landed > 1 day ago.
    
    Bug: angleproject:3777
    Change-Id: I774655962e9ab5a866b9324002fb8edae8550834
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1939927
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 781bb85e96986a927f17a537e3973d3acf02dba8
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Nov 27 07:01:04 2019 +0000

    Roll third_party/spirv-tools/src 85f3e93d13f3..f31f26f73930 (4 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/85f3e93d13f3..f31f26f73930
    
    
    Created with:
      gclient setdep -r third_party/spirv-tools/src@f31f26f73930
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC cwallez@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: cwallez@google.com
    Change-Id: I5f6bd01cb79c8328e8d91582c2524f39d4cd79b8
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1938443
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit f848256008f5a38711353aba533a9a6881751a69
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Nov 26 15:47:48 2019 -0500

    Don't use too many color attachments in clear test
    
    GL_MAX_COLOR_ATTACHMENTS has a minimum value of 4.  The test was
    unconditionally using 5 attachments.
    
    Bug: angleproject:4172
    Change-Id: I793c297b50e3fdc54f75e2c5608508279028359f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1937808
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>

commit c373dfd84194eb79e8d1a03e6831741ad874d654
Author: Mohan Maiya <m.maiya@samsung.com>
Date:   Fri Nov 22 08:48:22 2019 -0800

    Vulkan : Handle dirty state correctly when there are muiltiple VAOs
    
    If vertex array object binding is changed, we need to update
    the pipeline cache with the attribute information of the newly
    bound VAO. We cache the strides of attributes because emulated
    attributes will have strides that don't match the stride info
    cached in its binding struct. Also added a test case that
    switches between multiple VAOs.
    
    Bug: angleproject:4127
    Test: angle_end2end_tests.exe --gtest_filter=SimpleStateChangeTestES31.MultipleVertexArrayObjectRendering
    Change-Id: I4f23aec33d5aa5988baa41f3c63db5534daf75ca
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1917453
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Commit-Queue: Tobin Ehlis <tobine@google.com>

commit 88752889c721c4621dde3e9209dffd60f5fc8d1f
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Nov 20 14:09:52 2019 -0500

    Vulkan: Fix barriers w.r.t sampled->storage image update
    
    df415528411f97454e765ff6a83ed1cbc90a7d13 implemented a feature where
    images are not created with the storage flag until needed.  This is a
    necessary optimization.
    
    There were a few misuses of the BufferHelper::onRead/Write helpers that
    set up the appropriate barriers that this change fixes.
    
    Bug: angleproject:3816
    Change-Id: I7e62d98b7325f938152a1972f4ebee083ed319c2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1924989
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Xinyi He <xinyi.he@arm.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Sunny Sun <sunny.sun@arm.com>

commit 5b2740c57090a9acca2264a4a0efdccb7df2f694
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Nov 22 11:55:25 2019 -0500

    Vulkan: Remove unnecessary barrier in image -> buffer copy
    
    There was already a changeLayout call that inserted an imageBarrier.  A
    TRANSFER_SRC to TRANSFER_SRC barrier was unnecessarily (and manually)
    added afterwards that was pointless.
    
    Bug: angleproject:3816
    Change-Id: I8177487fc843fa5869c7b5063c74602933a81d58
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1929270
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Sunny Sun <sunny.sun@arm.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit fe2d3ddde90a456834dc8ea5d9652517d6c52eca
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Nov 26 15:04:06 2019 +0000

    Roll third_party/SwiftShader afc52b0b26d7..663dcefa22ea (10 commits)
    
    https://swiftshader.googlesource.com/SwiftShader.git/+log/afc52b0b26d7..663dcefa22ea
    
    git log afc52b0b26d7..663dcefa22ea --date=short --first-parent --format='%ad %ae %s'
    2019-11-26 bclayton@google.com Reactor: Work around new MSVC brokenness.
    2019-11-26 swiftshader.regress@gmail.com Regres: Update test lists @ f2637d0d
    2019-11-26 bclayton@google.com Merge changes I672a4d28,I4a74212f,I5c51e8aa,I323ea936
    2019-11-25 jonahr@google.com Present should return OUT_OF_DATE if the window size outdated
    2019-11-25 cwallez@chromium.org Make GN builds produce an ICD JSON in the build dir
    2019-11-25 chrisforbes@google.com Add missing vkCmdSetLineStippleEXT function
    2019-11-25 sugoi@google.com Improved pNext pointer handling
    2019-11-25 awoloszyn@google.com Fix vkQueuePresentKHR is pResults is not null.
    2019-11-25 swiftshader.regress@gmail.com Regres: Update test lists @ d44d6151
    2019-11-25 kadam@inf.u-szeged.hu ExecutionEngine: add preliminary support for COFF ARM64
    
    Created with:
      gclient setdep -r third_party/SwiftShader@663dcefa22ea
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/swiftshader-angle-autoroll
    Please CC cwallez@google.com,jmadill@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: cwallez@google.com,jmadill@google.com
    Change-Id: I1def792ab0ddefa27b2252f2a9a7a88c9528c9f2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1936550
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit c3c15fcf3cc3a8ba00b725ab9d3e91dfece4ad65
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Nov 26 07:01:51 2019 +0000

    Roll third_party/vulkan-validation-layers/src 5efc3922e3e8..8c954d5a413d (3 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/5efc3922e3e8..8c954d5a413d
    
    git log 5efc3922e3e8..8c954d5a413d --date=short --first-parent --format='%ad %ae %s'
    2019-11-26 locke@lunarg.com tests: Using wrong queue
    2019-11-26 locke@lunarg.com tests: pipeline stage conditional rednering
    2019-11-26 locke@lunarg.com layers: Add conditional rendering
    
    Created with:
      gclient setdep -r third_party/vulkan-validation-layers/src@8c954d5a413d
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll
    Please CC cwallez@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: cwallez@google.com
    Change-Id: I8d3103ede0b89d6cc75ba359badeba8d43522ff1
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1936102
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit a57c1fb63869faf2869ae3ed9aacf7809cc58e9f
Author: Xinyi He <xinyi.he@arm.com>
Date:   Tue Nov 26 15:08:26 2019 +0800

    Vulkan: Large builtins overflow during string construction in glslang
    
    It is fixed in the glslang that the string size expands to 200,
    so remove the workaround in the commit 4c7db77.
    
    Bug: angleproject:4120
    Change-Id: Iacc17259a68b3c92763c309a61b7fd87b130edc6
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1936074
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Ian Elliott <ianelliott@google.com>

commit 4cef8a49b49d2acb2ff7621ab73fdfecc1fa1291
Author: Le Hoang Quyen <lehoangq@gmail.com>
Date:   Tue Nov 26 00:04:00 2019 +0800

    Metal: Support depthRange near > far
    
    Metal doesn't natively support near > far depthRange, need to
    emulate it via shader.
    
    Bug: angleproject:2634
    Change-Id: I1885cad3467478a0dcc4b25b7d41f980b9e03103
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1919282
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>

commit ab63fd28450aaf62c276e54a4bb7aea6ff0821d7
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Nov 26 07:01:02 2019 +0000

    Roll third_party/vulkan-tools/src 39b3005ba560..6f6e3371c92a (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/39b3005ba560..6f6e3371c92a
    
    git log 39b3005ba560..6f6e3371c92a --date=short --first-parent --format='%ad %ae %s'
    2019-11-25 code@mstoeckl.com cube: Port Wayland impl from wl-shell to xdg-shell
    
    Created with:
      gclient setdep -r third_party/vulkan-tools/src@6f6e3371c92a
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/vulkan-tools-angle-autoroll
    Please CC cwallez@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: cwallez@google.com
    Change-Id: I1c10c31b8d98144f516637d8a529392ad410cfbe
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1936100
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit f65b212492ec492756c5be216290dd886a991841
Author: Felipe Archondo <felipearchondo@google.com>
Date:   Mon Nov 25 18:04:35 2019 -0500

    [fuchsia] Change all Angle Presents to Present2s
    
    Bug: fuchsia:41855
    Change-Id: Ia754c61c0ff7256781d9bf7d97b77e3bda1b01e9
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1935327
    Reviewed-by: Michael Spang <spang@chromium.org>
    Commit-Queue: Michael Spang <spang@chromium.org>

commit 4b53273c1292fed4532ff46aeecb1f53eb595069
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Thu Nov 21 09:42:42 2019 -0700

    Vulkan: Fix validation issue with swiftshader
    
    Need to check that a VBO is actually bound (or rather no client
    arrays are bound) and return appropriate error.
    
    Test:
    angle_deqp_khr_gles31 --use-angle=swiftshader --gtest_filter=dEQP.KHR_GLES31/core_draw_indirect_negativenoVBOarrays
    
    Bug: angleproject:3564
    Change-Id: Ic200993f9afcc3b43706ac0b509b10fa905857f7
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1922303
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tobin Ehlis <tobine@google.com>

commit a825eb70cc43fc3c59ce968fdec493a51cd3c6c6
Author: Ethan Lee <flibitijibibo@gmail.com>
Date:   Thu Nov 21 11:37:17 2019 -0500

    Implement BaseVertex draw calls for Vulkan, OpenGL, NULL contexts.
    
    This adds support for the following functions:
    
    - glDrawElementsBaseVertex
    - glDrawRangeElementsBaseVertex
    - glDrawElementsInstancedBaseVertex
    
    Bug: angleproject:3582
    Bug: angleproject:3402
    Bug: angleproject:4166
    Change-Id: I83770f62e3a918c0965fd4ca8c7d9e598b8b4154
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1929083
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 8dfc2b05d9871274779c56d8c5dec3399f97ee55
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Nov 25 15:12:58 2019 -0500

    Update codegen presubmit error.
    
    Clarifies that gclient sync should happen before codegen to avoid using
    stale hashes on upload.
    
    Bug: angleproject:3227
    Change-Id: I7777458b6fa659a07307ad1d845ac7d332afa8f2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1934313
    Reviewed-by: Ethan Lee <flibitijibibo@gmail.com>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit e5b474c683dcaccbc83aef12a90a6e3fa4996702
Author: Le Hoang Quyen <lehoangq@gmail.com>
Date:   Tue Nov 19 23:04:00 2019 +0800

    Metal: support ANGLE_instance_arrays/EXT_instance_arrays
    
    Also added TRIANGLE_FAN & LINE_LOOP instanced draws test cases.
    
    Bug: angleproject:2634
    Change-Id: I84740a7221ab49710cf23767c81fa2d303aad364
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1919280
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 34e5a96edc3ee51a607870d31fbfb9d10459df6f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Nov 25 11:46:15 2019 -0500

    Fix header typo in rapidjson.
    
    Was found when using the custom test harness.
    
    Bug: angleproject:3162
    Change-Id: I9db11eddb51508ff1eaebe02c106cd4a95c369b1
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1932342
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 04e074d1aae0aa1c3d9990ca147b17d5b6f96529
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Nov 25 08:32:51 2019 +0000

    Roll third_party/vulkan-headers/src 24347673152e..2b89fd4e2734 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers/+log/24347673152e..2b89fd4e2734
    
    git log 24347673152e..2b89fd4e2734 --date=short --no-merges --format='%ad %ae %s'
    2019-11-25 oddhack@sonic.net Update for Vulkan-Docs 1.1.129
    
    Created with:
      gclient setdep -r third_party/vulkan-headers/src@2b89fd4e2734
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/vulkan-headers-angle-autoroll
    Please CC cwallez@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    TBR=cwallez@google.com
    
    Bug: None
    Change-Id: I2d4e0d6776b358fd06dd20ec2dda61be22f0951f
    Tbr: cwallez@google.com
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1934050
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 214e8700e76a76579990e674024db8cd1117bfed
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Nov 25 07:37:45 2019 +0000

    Roll third_party/SwiftShader 131a1ba8d06a..afc52b0b26d7 (7 commits)
    
    https://swiftshader.googlesource.com/SwiftShader.git/+log/131a1ba8d06a..afc52b0b26d7
    
    git log 131a1ba8d06a..afc52b0b26d7 --date=short --no-merges --format='%ad %ae %s'
    2019-11-25 bclayton@google.com Fix build: Do not return stack temporary.
    2019-11-25 bclayton@google.com Fix chrome build: Use spaces (not tabs) in .gn files (2/2)
    2019-11-25 bclayton@google.com Fix chrome build: Use spaces (not tabs) in .gn files
    2019-11-22 chrisforbes@google.com Fix vkGetDescriptorSetLayoutSupport implementation
    2019-11-22 srisser@google.com Log unsupported extensions used in pNext structs
    2019-11-22 sugoi@google.com Handle new device extension properties
    2019-11-22 swiftshader.regress@gmail.com Regres: Update test lists @ 698235ce
    
    Created with:
      gclient setdep -r third_party/SwiftShader@afc52b0b26d7
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/swiftshader-angle-autoroll
    Please CC courtneygo@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: courtneygo@google.com
    Change-Id: Ia87fd46f9df69ec256ce3b6458bd7e9fe2b66f50
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1932035
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 09891ef6d4d00288e5ba54fec6b393a662cfa5da
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Nov 25 07:01:50 2019 +0000

    Roll third_party/glslang/src 43fe7bafb14e..38b4db48f98c (4 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/43fe7bafb14e..38b4db48f98c
    
    
    Created with:
      gclient setdep -r third_party/glslang/src@38b4db48f98c
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/glslang-angle-autoroll
    Please CC courtneygo@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: courtneygo@google.com
    Change-Id: I0b086a9a322b3e04dd108ae4f94a8f44778018c1
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1932030
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit b1393d70e91af6d11c15b7a631781a1ec38aa5e8
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Nov 25 07:01:35 2019 +0000

    Roll third_party/spirv-tools/src 45dde9ad6dde..85f3e93d13f3 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/45dde9ad6dde..85f3e93d13f3
    
    
    Created with:
      gclient setdep -r third_party/spirv-tools/src@85f3e93d13f3
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC courtneygo@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: courtneygo@google.com
    Change-Id: I027066165401dd47e80c31302e2811a546ecd95f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1932028
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit e9b68f332a30f60ba722c511b7335a38da6fa009
Author: Emircan Uysaler <emircan@chromium.org>
Date:   Tue Nov 19 19:34:24 2019 -0500

    Clean unused NewCreateImagePipeCmd
    
    This call is to be deprecated.
    
    Bug: angleproject:3905
    Change-Id: Iffca3a3bee4d0ff930598635a27592e068696bbf
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1925032
    Commit-Queue: Michael Spang <spang@chromium.org>
    Reviewed-by: Michael Spang <spang@chromium.org>

commit 6430e5e0035bf43695662784b9a2aec726f25cd7
Author: Cody Northrop <cnorthrop@google.com>
Date:   Wed Nov 20 19:56:10 2019 -0700

    Enable frame capture on Android
    
    This CL gets capture/replay working on Android again.
    * Updates where Android frame captures are written
    * Uses debug system properties to prime Android environment variables
    * Adds a configurable target Context to the capture_replay sample
    * Updates capture/replay documentation for Android
    
    Bug: angleproject:4036
    Test: Captured TRex on Android, replayed on Linux
    Change-Id: I94b4f6dc77468cd179b9d884b4dcd4afa56bd28c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1928056
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Cody Northrop <cnorthrop@google.com>

commit d32650bb9ee087815e047c2100fcf61fc7114f99
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 21 12:52:34 2019 -0500

    Posix: Fix async LaunchProcess.
    
    The prior method was only checking for a PID's existance. We should
    also check for zombie process states. This allows our child process
    launcher to correctly determine when a process is done on Linux and
    other Posix systems.
    
    Also starts the test timer on Posix LaunchProcess implementations.
    
    Also removes the need to end command line arg lists with nullptr.
    
    Also removes some Fuchsia-specific preprocessor checks.
    
    Also adds a regression test.
    
    Bug: angleproject:3162
    Change-Id: I5725a8a0e8c5151f2d3e06df0a36dd64c0e0ee69
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1928873
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit fb1c2fe8bb7c98fa1d502697db1f4e5089cd72e1
Author: shrekshao <shrekshao@google.com>
Date:   Wed Nov 13 11:10:39 2019 -0800

    EXT_texture_norm16 readpixels fix
    
    Adding validation logic for RGBA16 readpixels.
    Change readPixels format from UNSIGNED_BYTE to UNSIGNED_SHORT in the
    test.
    
    FYI:
    According to https://www.khronos.org/registry/OpenGL/extensions/EXT/EXT_texture_norm16.txt
    ReadPixels format and type used during CopyTex* are limited to RGBA
    
    Bug: 1024387, 1000354, angleproject:1365, angleproject:4089
    Change-Id: I70517f255fe335f60e55bdf15f7ebf82e3de0800
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1914127
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Shrek Shao <shrekshao@google.com>

commit f3d35f8f9c6fa3fc08d966b4215f6b09bd324b27
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Fri Nov 22 14:24:52 2019 -0700

    Suppress flaky failure with Win7/NVIDIA/D3D11
    
    Seeing intermittent failure on this test only on Win7/NVIDIA/D3D11.
    Suppress for now.
    
    Bug: angleproject:4163
    Change-Id: Idfa44516a194dcd5710622d11801ce089c1e829d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1931338
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>

commit 4c7db77e0185d4c41465c4d0fd97845fe775c44d
Author: Xinyi He <xinyi.he@arm.com>
Date:   Thu Oct 31 15:42:31 2019 +0800

    Vulkan: Set limitation on maxComputeWorkGroupCount
    
    According to Table 20.45 and Chapter 17 in the ES 3.1 spec, MAX_COMPUTE_WORK_GROUP_COUNT
    is get as a GLint by using GetIntegeri_v. However, it is an unsigned integer
    in the Vulkan. It needs to set limitation on maxComputeWorkGroupCount[] during
    translating.
    
    1. Change the data type to GLint stored in Caps.
    2. Ensure that the limitation is set during initialization.
    3. Add workaround for angleproject:4120
    
    Bug: angleproject:4066
    Change-Id: I1659ba1d560e30b9599cace0feeab8a18890c3ff
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1890586
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Ian Elliott <ianelliott@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit b868861c3478a8a71db49abedd74704d4bb718c0
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Nov 22 07:01:23 2019 +0000

    Roll third_party/SwiftShader f2c9ce1e08ed..131a1ba8d06a (14 commits)
    
    https://swiftshader.googlesource.com/SwiftShader.git/+log/f2c9ce1e08ed..131a1ba8d06a
    
    git log f2c9ce1e08ed..131a1ba8d06a --date=short --no-merges --format='%ad %ae %s'
    2019-11-22 sugoi@google.com libVulkan references and deferences structures uselessly
    2019-11-21 srisser@google.com Revert submission
    2019-11-21 sugoi@google.com Vulkan header update
    2019-11-21 srisser@google.com Log unsupported extensions used in pNext structs
    2019-11-21 amaiorano@google.com Subzero: add subzeroEmitTextAsm flag
    2019-11-21 amaiorano@google.com Subzero: add subzeroDumpEnabled flag
    2019-11-21 amaiorano@google.com Subzero: map optimization level none/less to m1
    2019-11-21 amaiorano@google.com Subzero: fix invalid asserts during emit()
    2019-11-21 amaiorano@google.com Subzero: fix invalid register allocation
    2019-11-21 amaiorano@google.com Subzero Win64: fix Call for ptr and spillover args
    2019-11-21 chrisforbes@google.com Regres: Update deqp to 3ca6f6fe2e4e023cb9d4ea763990336d762b49e2
    2019-11-21 digit@google.com [OpenGL] Fix implicit int-to-float-conversion compiler warning.
    2019-11-21 sugoi@google.com Remove quadLayout
    2019-11-21 kadam@inf.u-szeged.hu Add new relocation types.
    
    Created with:
      gclient setdep -r third_party/SwiftShader@131a1ba8d06a
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/swiftshader-angle-autoroll
    Please CC courtneygo@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=courtneygo@google.com
    Change-Id: Icd8079a4199e28725242b97e25099d6d84dd22c9
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1930472
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 732cbdac27afbd5f17f0b632df3f22ca992c0bf7
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Nov 22 08:45:03 2019 +0000

    Roll third_party/glslang/src f4d4668529f1..43fe7bafb14e (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/f4d4668529f1..43fe7bafb14e
    
    
    Created with:
      gclient setdep -r third_party/glslang/src@43fe7bafb14e
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/glslang-angle-autoroll
    Please CC courtneygo@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=courtneygo@google.com
    Change-Id: Id991cfa06a627a3e2872123a8d8096efa76c1727
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1930482
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 8bba14cbb0039f5eab46e9da3842f901d10ac0d6
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Nov 22 07:01:29 2019 +0000

    Roll third_party/vulkan-validation-layers/src 53902309eda9..5efc3922e3e8 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/53902309eda9..5efc3922e3e8
    
    git log 53902309eda9..5efc3922e3e8 --date=short --no-merges --format='%ad %ae %s'
    2019-11-21 rgarcia@igalia.com layers: Fix broken config file parsing
    
    Created with:
      gclient setdep -r third_party/vulkan-validation-layers/src@5efc3922e3e8
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll
    Please CC courtneygo@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=courtneygo@google.com
    Change-Id: I8935b073c7f40619c2560e1ab091ef6de238ffa5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1930473
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit bcf9cf89aea53f983d55e1d2eab05877f06424c0
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Nov 22 07:01:52 2019 +0000

    Roll third_party/vulkan-headers/src ba6cbb047868..24347673152e (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers/+log/ba6cbb047868..24347673152e
    
    git log ba6cbb047868..24347673152e --date=short --no-merges --format='%ad %ae %s'
    2019-11-21 mark@lunarg.com build: Clarify Windows build instructions
    
    Created with:
      gclient setdep -r third_party/vulkan-headers/src@24347673152e
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/vulkan-headers-angle-autoroll
    Please CC courtneygo@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    TBR=courtneygo@google.com
    
    Bug: None
    Change-Id: I878b7705cf15ac97516b26dc78dedcb7452a98f9
    Tbr: courtneygo@google.com
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1929923
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 37ba927e040f29791cf4dfb1c893d7b928724001
Author: Ethan Lee <flibitijibibo@gmail.com>
Date:   Wed Nov 20 01:51:12 2019 -0500

    UWP: Implement GetPathSeparatorForEnvironmentVar
    
    Bug: angleproject:4142
    Change-Id: Idb5e1b540d9ac7ab802357f247b41a6546173a35
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1925254
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit d83dc175e2c35862665c9bfdbdd9bf00f435583f
Author: Ethan Lee <flibitijibibo@gmail.com>
Date:   Wed Nov 20 01:50:36 2019 -0500

    GN: Only link to delayimp when d3d9 is enabled
    
    Bug: angleproject:4142
    Change-Id: If7afac61386f205271997bcae53cd726a1786114
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1925253
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c5c096aab4084bd609b9df49dd7abf9f9019b78d
Author: Tim Van Patten <timvp@google.com>
Date:   Fri Nov 15 15:36:16 2019 -0700

    Enable Compute Shader Program Input Queries
    
    Compute shader inputs were not being tracked in the Shader or Program
    states, causing program interface queries to fail. This change treats
    compute shader inputs (all built-ins) as Attributes and pipes them
    through from the Compiler to the Program to enable input queries. While
    compute shader inputs are not technically attributes (or varyings),
    the ANGLE code understands and handles attributes and a program
    can never have both a vertex and compute shader, so there can't be any
    conflicts.
    
    The naming of these variable lists should probabaly be revisited at some
    point to better handle these different use-cases.
    
    Bug: angleproject:3596
    Test: dEQP-GLES31.functional.program_interface_query.program_input.resource_list.compute.empty
    Change-Id: Ie52cd59041868cfdb5d3d759bb4ec53c8d5b38d5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1919557
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Commit-Queue: Tim Van Patten <timvp@google.com>

commit 6fcc0bb83334dfa21d93b5ec7db0119daf8e86aa
Author: Le Hoang Quyen <lehoangq@gmail.com>
Date:   Thu Nov 21 01:19:40 2019 +0800

    Metal: Re-add end2end test configs (running test is still disabled)
    
    angle_test_instantiate.cpp & angle_test_instantiate_apple.mm:
    - Disabled metal platform selection on pre-10.13 mac devices for
    Bug: angleproject:4153
    
    Explicitly disabled tests on metal:
    - DifferentStencilMasksTest.DrawWithDifferentMask
    - PointSpritesTest.PointSizeAboveMaxIsClamped
    - WebGL2ReadOutsideFramebufferTest.CopyTexSubImage3D
    
    This requires the crash fix in http://crrev.com/c/1924101
    
    Bug: angleproject:4153
    Bug: angleproject:2634
    Change-Id: I95046d731a8ba7414cf1a1f4b6f2940282725872
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1926389
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>

commit 84c074cf32f20dab2b5ac0bf1ea1e2d99242d3f7
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Nov 20 15:32:44 2019 -0500

    Vulkan: Simplify AppendToPNextChain use
    
    The function is turned into a template to avoid the reinterpret_cast at
    call sites.  Additionally, uses Vulkan's own VkBaseOutStructure instead
    of a bespoke definition.
    
    Bug: angleproject:4027
    Change-Id: Ib236d44a12c0363e7e89b9bf2ed5ab8166252730
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1924992
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Tobin Ehlis <tobine@google.com>

commit b0a9de95128d9a97995b59db5a0c6386c56e051e
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Nov 20 13:42:37 2019 -0500

    Fix assert in angle_deqp_khr_gles* executables
    
    The //build/config/gcc:symbol_visibility_hidden config was removed in an
    attempt to improve stack traces on Linux. However, this resulted in the
    in-class-inline-functions in glslang to be weak symbols.  The KHR dEQP
    tests link against glslang as well as libGLESv2.so, resulting in
    angle_deqp_khr_gles*_tests to link those weak symbols.  Due to glslang's
    usage of a global variable in InitializeDll.cpp, a bug is created where
    ANGLE sometimes calls into its own copy of glslang and sometimes the KHR
    dEQP's version, with the two copies of the global variable being
    inconsistent.
    
    Bug: angleproject:4123
    Change-Id: I0cfe3236117b1219db4fea4495e1583334c04fbe
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1926887
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 05af7590f40c36bc3b1bb5b7d4d32f6bbd2ad78e
Author: Le Hoang Quyen <lehoangq@gmail.com>
Date:   Wed Nov 20 01:04:00 2019 +0800

    Metal: Fix FramebufferMtl's read-after-delete
    
    Due to late verification, ContextMtl might call onFinishedDrawingToFrameBuffer()
    on a deleted framebuffer object inside syncState()
    
    Fix:
    - Switch to call onStartedDrawingToFrameBuffer() on new FBO instead of
    calling onFinishedDrawingToFrameBuffer() on old (and possibly deleted)
    FBO.
    
    - Also discard framebuffer only takes effect per render pass. The
    discard flag will be reset when render pass starts.
    
    Bug: angleproject:4144
    Change-Id: I7c6c96862892f1c241ce4af3b61862fa4b710a94
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1924101
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 7c95d081a13a8c5fc472ff3e18ed7e9e4a59d0e6
Author: jason <jaszhix@gmail.com>
Date:   Tue Nov 12 15:42:43 2019 -0600

    Fix crash during resizes when using the OpenGL renderer on Windows
    
    Partial revert of f06076396afa8585e19e140f4a8b02720ede77e5
    
    Address test failures
    
    Guard context reset in DisplayWGL::makeCurrent with !mUseDXGISwapChains
    
    BUG=chromium:1004117
    
    Change-Id: I9b6eb7bc83a6e4b1a21fa0703404e41c6090730d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1913314
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit b61069cef9ffae0c33e56bd1188faf38c8b3d48c
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Thu Nov 21 09:52:53 2019 -0500

    Manually roll Vulkan-Loader DEPS
    
    Move from tobin_remove_wdk_dependence back to master.
    
    Bug: 1022751
    Change-Id: I3ac11fd6297cd8db935877cd934c66744d61956e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1928614
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

commit ba8f4e7d8cb1148efe9ca9bd5a4f115d19275482
Author: Cody Northrop <cnorthrop@google.com>
Date:   Thu Nov 21 07:57:24 2019 -0700

    Update auto-roller list in wrangling doc
    
    Bug: angleproject:1944
    Bug: angleproject:4095
    Change-Id: Ieb16cb6718f04e07394e457f1c7b73b3cd8a1c10
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1929135
    Commit-Queue: Cody Northrop <cnorthrop@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 97267272aabd5137f4b0950ddec9820434568f07
Author: Tobin Ehlis <tobine@google.com>
Date:   Wed Nov 20 15:07:48 2019 -0700

    Vulkan:Remove exceptions for passing tests
    
    These two test groups are now passing so removing from exceptions file:
    dEQP-GLES31.functional.state_query.integer.max_framebuffer_samples*
    dEQP-GLES31.functional.state_query.integer.max_uniform_locations*
    
    Bug: angleproject:3520
    Change-Id: I47634a52d3306202f944dc9548ba44c3dda8fc91
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1924993
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Commit-Queue: Tobin Ehlis <tobine@google.com>

commit 1898c08274eb3cf630999799f939c345e1cef813
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 21 06:37:39 2019 -0500

    Roll third_party/android_ndk/ 89e8db0cd..27c0a8d09 (1 commit)
    
    $ git log 89e8db0cd..27c0a8d09 --date=short --no-merges --format='%ad %ae %s'
    2019-11-20 jmadill Remove case-sensitive netfilter headers.
    
    Created with:
      roll-dep third_party/android_ndk
    
    Bug: angleproject:2344
    Bug: angleproject:4139
    Change-Id: Ief7276110fb2631d73d64524d35857903ed7e51a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1928613
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit bf492e4910bb5a1f62148aafc5a6650f1a82764d
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Nov 21 07:01:22 2019 +0000

    Roll third_party/SwiftShader 2377845dd216..f2c9ce1e08ed (4 commits)
    
    https://swiftshader.googlesource.com/SwiftShader.git/+log/2377845dd216..f2c9ce1e08ed
    
    git log 2377845dd216..f2c9ce1e08ed --date=short --no-merges --format='%ad %ae %s'
    2019-11-20 awoloszyn@google.com Fix xcb library name.
    2019-11-20 sugoi@google.com Remove unused depth buffer quad layout logic
    2019-11-20 sugoi@google.com Fixed 3D image copy
    2019-11-20 sugoi@google.com Remove depth+stencil formats from the Blitter
    
    Created with:
      gclient setdep -r third_party/SwiftShader@f2c9ce1e08ed
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/swiftshader-angle-autoroll
    Please CC courtneygo@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=courtneygo@google.com
    Change-Id: Ib47a2058d10ff40ce321bce67041ea98221e54d8
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1928219
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 34e2192150e806dbe7e93afccb017a336e02c465
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Nov 21 07:01:38 2019 +0000

    Roll third_party/vulkan-tools/src 40cd2166a446..39b3005ba560 (26 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/40cd2166a446..39b3005ba560
    
    git log 40cd2166a446..39b3005ba560 --date=short --no-merges --format='%ad %ae %s'
    2019-11-20 shannon@lunarg.com build: Update known good for 1.1.128 Vulkan header
    2019-11-19 charles@lunarg.com vulkaninfo: check that extensions aren't disabled
    2019-11-15 daniel.charles@intel.com vulkaninfo: return properly on xcb onnection errors
    2019-11-06 shannon@lunarg.com build: Update known good for 1.1.127 Vulkan header
    2019-11-06 jeremyk@lunarg.com build: Update MoltenVK version to v1.0.38
    2019-11-01 charles@lunarg.com vulkaninfo: added more documentation for show-formats
    2019-11-01 jeremyk@lunarg.com vulkaninfo: Fix gitlab issue 181
    2019-10-30 charles@lunarg.com vulkaninfo: fix infinite sleep for non text outputs
    2019-10-30 charles@lunarg.com vulkaninfo: fixed spelling of properties
    2019-10-30 mikes@lunarg.com gn: Generate VkICD_mock_icd.json on mac
    2019-10-29 charles@lunarg.com vulkaninfo: add documentation for show-formats
    2019-10-29 charles@lunarg.com vulkaninfo: add documentation for --show-formats
    2019-10-28 shannon@lunarg.com build: Update known-good commits for SDK 126
    2019-10-25 shannon@lunarg.com build: Update known good for 1.1.126 Vulkan header
    2019-10-23 georges.stavracas@gmail.com cube: Try to bind to wl_compositor v4
    2019-10-15 shannon@lunarg.com build: Update known good for 1.1.124 Vulkan header
    2019-10-15 charles@lunarg.com vulkaninfo: Present Surfaces now wont show duplicates
    2019-10-14 charles@lunarg.com vulkaninfo: Added asserts to check output
    2019-10-14 jeremyk@lunarg.com cube: Revert 1.1.114 SDK workaround for vkcube
    2019-10-11 charles@lunarg.com vulkaninfo: updated json documentation
    2019-10-11 jeremyk@lunarg.com build: Fix Vulkaninfo Bundle build on MacOS
    2019-10-08 charles@lunarg.com vulkaninfo: Fix closing immediately on windows
    2019-10-08 charles@lunarg.com vulkaninfo: Handle device group extension not available
    2019-10-07 charles@lunarg.com vulkaninfo: fix extra newlines
    2019-10-04 charles@lunarg.com vulkaninfo: Major Refactor
    2019-09-19 jeremyk@lunarg.com build: Update MoltenVK version in known_good.json
    
    Created with:
      gclient setdep -r third_party/vulkan-tools/src@39b3005ba560
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/vulkan-tools-angle-autoroll
    Please CC courtneygo@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=courtneygo@google.com
    Change-Id: I1dff115525481d8d765682551c00d03a3ee0c4ac
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1928221
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 59cd8821e3a16ace445b779391ed5d334241eaf7
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Nov 21 07:01:29 2019 +0000

    Roll third_party/vulkan-validation-layers/src 720c5deb0244..53902309eda9 (9 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/720c5deb0244..53902309eda9
    
    git log 720c5deb0244..53902309eda9 --date=short --no-merges --format='%ad %ae %s'
    2019-11-20 petr_kraus@email.cz tests: Fix Mock workaround in acquire test
    2019-11-20 petr_kraus@email.cz tests: Remove redundant skip msg in acquire test
    2019-11-20 mikes@lunarg.com build: Add command counter object to GN build
    2019-11-20 lionel.g.landwerlin@intel.com tests: Add tests for VK_KHR_performance_query
    2019-11-20 lionel.g.landwerlin@intel.com layers: Add VK_KHR_performance_query validations
    2019-11-20 mark@lunarg.com tests: Add test for BeginQuery timestamp qpool type
    2019-11-20 mark@lunarg.com corechecks: Add check for QP timestamp type in BeginQuery
    2019-11-20 camden@lunarg.com tests: Add Subclass for BestPractices Tests
    2019-11-20 shannon@lunarg.com build: Update VUIDs for 1.1.128 header
    
    Created with:
      gclient setdep -r third_party/vulkan-validation-layers/src@53902309eda9
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll
    Please CC courtneygo@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=courtneygo@google.com
    Change-Id: Ifc8638f072f801727f8dc0de1f3b2192d8c8a6b4
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1928220
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit fdbc1acec72fdf2948f7dc31a5530a219c9febd6
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Nov 21 07:01:57 2019 +0000

    Roll third_party/spirv-tools/src 2ee9aaa288d9..45dde9ad6dde (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/2ee9aaa288d9..45dde9ad6dde
    
    
    Created with:
      gclient setdep -r third_party/spirv-tools/src@45dde9ad6dde
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC courtneygo@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=courtneygo@google.com
    Change-Id: I7af9d507cbe8ec3740c0380c325a56fcc490cf82
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1928222
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit b8e748be6b94e64b722765c54968d39b64e2ae95
Author: Brandon Schade <b.schade@samsung.com>
Date:   Thu Nov 7 18:00:50 2019 -0800

    Vulkan: Add an end2end test to log GLES capabilities
    
    Logs information listed at:
    https://opengles.gpuinfo.org/listcapabilities.php
    in CSV format
    
    The list from gpuinfo doesn't include capabilities
    introduced by extensions
    
    Test: angle_end2end_tests.exe --gtest_filter=*PrintGLESCapabilities*
    Bug: angleproject:4093
    Change-Id: I59c82879ee2e3486269aa0cb40e2ee6c6e646ec5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1917443
    Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 5530b3ff782281dffb2179e13ce690cb4f822218
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 20 17:13:04 2019 -0500

    Update dEQP KHR-GLES31 expectations.
    
    Bug: angleproject:3596
    Bug: angleproject:4132
    Bug: angleproject:4145
    Bug: angleproject:4146
    Bug: angleproject:4147
    Bug: angleproject:4148
    Bug: angleproject:4150
    Change-Id: I5495c31f5c2d85a9c3f7d177c53e800f50675354
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1925389
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 2ba626dc121339a995a1ffd16a32299bf023cb21
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 20 17:13:02 2019 -0500

    Work around dEQP KHR-GLES31 bug with tess/geom support.
    
    dEQP was inadvertendly requiring the presence of these extensions to
    even run the tests. There's a WIP fix to the dEQP tests and this CL
    implements that fix as a temporary workaround until we can update dEQP.
    
    Fixes several tests in KHR-GLES31.core.constant_expressions and
    KHR-GLES31.core.shader_macros. They now correctly return unsupported.
    
    Bug: angleproject:4143
    Change-Id: I110beb2f18fd29f8f02b2ab166cfcfcfae80c2c1
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1924620
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 10f41ebb722bc8e471e9d6c64ae3f54848cb545e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 19 12:53:36 2019 -0500

    GN: Make dEQP import libEGL/libGLESv2 as data_deps.
    
    This removes the hard link dependency on ANGLE. Allows us to use ANGLE
    dEQP tests with msan. Otherwise they were complaining about missing
    shared libraries. Also would eventually let us test ANGLE dEQP tests
    against a native driver.
    
    Was done as a part of investigating SwapBuffers crashes on SwiftShader.
    
    Bug: angleproject:4060
    Change-Id: I569de15573c8eb7808bd7783f1a514655d1c6422
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1898207
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c1776c61e5c3722cb2de95aac1119289ff822469
Author: Tobin Ehlis <tobine@google.com>
Date:   Wed Nov 13 11:36:35 2019 -0700

    Vulkan:Add Swiftshader configs
    
    Add Swiftshader configs to existing test instantiation macros for all ESX
    variants. This causes Swiftshader to be used to run end2end tests.
    
    Added detection code to know when tests are running on Swiftshader and skipping
    a number of fails initially.
    
    Note that when running ANGLE end2end tests within Chromium build on Win32 bots
    there were crashes with Swiftshader config for tests that should have been skipped.
    Due to this, just skipping Swiftshader configs on Win32 for now.
    
    Bug: angleproject:4081
    Bug: angleproject:4092
    Change-Id: I32527a62304c5fad90f645b372edf9411ca2b212
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1914126
    Commit-Queue: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 4193e212db0c75f898b768eaf59df44816e7b51f
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Wed Nov 20 11:03:09 2019 -0500

    Clean up dontUseLoopsToInitializeVariables condition
    
    This workaround is ported from chrome's
    dont_use_loops_to_initialize_variables workaround, which is enabled on
    Qualcomm Adreno devices. Better to check for Qualcomm than !NVIDIA
    
    Bug: 784817
    Change-Id: I2f8314ca97aeca7fdcea60ef9d2fb9e64f075a32
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1924625
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

commit efb45edaefc07fc7120ebbde83bbc84876afda1a
Author: Brandon Schade <b.schade@samsung.com>
Date:   Tue Sep 24 09:23:53 2019 -0700

    Vulkan: Accelerate Texture PBO updates
    
    If the format of the image and the PBO match,
    use a vkCmdCopyBufferToImage transfer operation.
    
    Test: angle_end2end_tests --gtest_filter=*PBOCompressedSubImage*
          angle_end2end_tests --gtest_filter=*PBOWithMultipleDraws*
          dEQP-GLES3.functional.texture.specification.tex*image*d_pbo*
    Bug: angleproject:3777
    Change-Id: I3f271024a635be113202a16f8893a199c194172d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1906203
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Commit-Queue: Mohan Maiya <m.maiya@samsung.com>

commit f9c3eaf45730f6b507642fc2268110ea305baa87
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Tue Nov 19 15:19:04 2019 -0500

    Add ability to disable all ANGLE features
    
    Chrome has a --disable-gpu-driver-bug-workarounds flag that needs to be
    able to be forwarded to ANGLE
    
    Bug: 1016377
    Change-Id: Ied6c8656742e25c32d508b8bfe76a902d82bcf93
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1925249
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 8392b1181411ec06ba34930da89f3452225cbf74
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Wed Nov 20 16:57:08 2019 +0000

    Revert "Metal: Enable end2end tests."
    
    This reverts commit 0bb42e091b77f174632434a05789b2ce632bd902.
    
    Reason for revert: https://bugs.chromium.org/p/chromium/issues/detail?id=1026633
    
    Causing failures on Mac bots.
    
    Original change's description:
    > Metal: Enable end2end tests.
    >
    > Explicitly disabled tests:
    > - DifferentStencilMasksTest.DrawWithDifferentMask
    > - PointSpritesTest.PointSizeAboveMaxIsClamped
    > - WebGL2ReadOutsideFramebufferTest.CopyTexSubImage3D
    >
    > Bug: angleproject:2634
    > Change-Id: I76ab450c06d0e1be1e7469a8b9c6497684c3ca54
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1906607
    > Commit-Queue: Jamie Madill <jmadill@chromium.org>
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    > Reviewed-by: Geoff Lang <geofflang@chromium.org>
    
    TBR=geofflang@chromium.org,jonahr@google.com,jmadill@chromium.org,le.hoang.q@gmail.com
    
    Change-Id: Iaa4264834170a49c274f186d3d74f57714c84b32
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:2634
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1926378
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>

commit 41352a8fc6a0eaebffcd59d2a7052200206dc696
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Tue Nov 19 16:32:45 2019 -0700

    Update expecatations for Program Pipeline tests
    
    Tests that depend on Program Pipeline that had generic bug IDs
    have been collected under anglebug.com/3570 as the program pipeline
    work tracker.
    
    Bug: angleproject:3570
    Change-Id: Ifefd445376f16c48d872eb5abf63bad7d6e4c99a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1925531
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit caeb21747b597cdd556c62ff2278024e1de09790
Author: Le Hoang Quyen <lehoangq@gmail.com>
Date:   Wed Nov 20 22:30:17 2019 +0800

    Mac: Add dsymutil to DEPS
    
    Needed for ASAN build on Mac.
    
    Bug: angleproject:4149
    Change-Id: If2041727ec9bbe40723a991e7455cad12d05ddff
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1926387
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 0303cf6b95be9a307c32a670a70dd44ce08a004c
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Wed Oct 30 16:46:38 2019 +0800

    OpenGL: Port all Intel-related workaround conditions from gpu_driver_bug_list.json
    
    This patch ports all the Intel-related shader workarounds defined in
    gpu_driver_bug_list.json used by Chromium validating command buffer
    into ANGLE so that they can also take effect in Chromium passthrough
    command buffer.
    
    Bug: 1020467
    Bug: 642605
    Bug: 403957
    Change-Id: I8e4866fc34d5e8f1b2f4dbfa8e526b80249ba166
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1889386
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit b066177a9b3fa2ed2aacd3fa868aa5c188d4fa4a
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Nov 19 15:13:20 2019 -0500

    Vulkan: Remove duplicate shader variation
    
    ConvertVertex's UintToUint and HalfFloatToHalfFloat were generating
    identical shaders.
    
    Bug: angleproject:3802
    Change-Id: I8eb2d55debbc5501f191830a2723b02d0d1f0827
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1925248
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Reviewed-by: Hyunchang Kim <hckim.kim@samsung.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 0bb42e091b77f174632434a05789b2ce632bd902
Author: Le Hoang Quyen <lehoangq@gmail.com>
Date:   Tue Nov 19 23:04:00 2019 +0800

    Metal: Enable end2end tests.
    
    Explicitly disabled tests:
    - DifferentStencilMasksTest.DrawWithDifferentMask
    - PointSpritesTest.PointSizeAboveMaxIsClamped
    - WebGL2ReadOutsideFramebufferTest.CopyTexSubImage3D
    
    Bug: angleproject:2634
    Change-Id: I76ab450c06d0e1be1e7469a8b9c6497684c3ca54
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1906607
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 1f13f5e658ebc0f1dde3f2cd25ec6a7a59dcc2fe
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Nov 20 08:52:22 2019 +0000

    Roll third_party/SwiftShader 79afb7620a69..2377845dd216 (6 commits)
    
    https://swiftshader.googlesource.com/SwiftShader.git/+log/79afb7620a69..2377845dd216
    
    git log 79afb7620a69..2377845dd216 --date=short --no-merges --format='%ad %ae %s'
    2019-11-20 bclayton@google.com Reactor: Move print apis out of core reactor header.
    2019-11-20 bclayton@google.com Reactor: Remove the CallSupported capability.
    2019-11-20 bclayton@google.com Reactor: Add ConstantData() and member function calling
    2019-11-20 bclayton@google.com Reactor/Traits: Swap the naming of CToReactorPtr and CToReactorPtrT.
    2019-11-20 bclayton@google.com Reactor/Traits: Fix brokenness with CToReactor::cast of pointers.
    2019-11-19 bclayton@google.com Reactor: Split Traits.hpp into Traits.hpp and Traits.inl
    
    Created with:
      gclient setdep -r third_party/SwiftShader@2377845dd216
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/swiftshader-angle-autoroll
    Please CC courtneygo@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=courtneygo@google.com
    Change-Id: Ia4518bf1b446bfbb1226e96bb1dda97879f0cd8f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1925880
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit c8de7532bad53ee1606c9500d7781250ffababe8
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Nov 20 07:01:58 2019 +0000

    Roll third_party/spirv-tools/src 57b4cb40b21d..2ee9aaa288d9 (3 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/57b4cb40b21d..2ee9aaa288d9
    
    
    Created with:
      gclient setdep -r third_party/spirv-tools/src@2ee9aaa288d9
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC courtneygo@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=courtneygo@google.com
    Change-Id: I548de5576ac5e9dedbe3592340e39a08dfdf4f63
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1925363
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 8d94b5e9339ac425afdb9ffe5185b4c1a87b8db9
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Nov 20 07:01:29 2019 +0000

    Roll third_party/vulkan-validation-layers/src c2bd11586919..720c5deb0244 (11 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/c2bd11586919..720c5deb0244
    
    git log c2bd11586919..720c5deb0244 --date=short --no-merges --format='%ad %ae %s'
    2019-11-19 rgarcia@igalia.com layers: Fix crashes with depth/stencil resolve
    2019-11-19 shannon@lunarg.com build: Update known-good for 1.1.128 header
    2019-11-19 petr_kraus@email.cz tests: Use actual extension names in skip msg
    2019-11-19 petr_kraus@email.cz Fix links in the top-level README
    2019-11-19 petr_kraus@email.cz layers: Protect whole scope against null
    2019-11-19 petr_kraus@email.cz layers: Refactor config ParseFile()
    2019-11-19 petr_kraus@email.cz layers: Restyle vk_layer_config
    2019-11-19 petr_kraus@email.cz layers: Suppress stack warning in VS
    2019-11-19 mark@lunarg.com tests: Fix querypool type in DifferentCB test
    2019-11-19 petr_kraus@email.cz tests: Test swapchain acquire count
    2019-11-18 petr_kraus@email.cz layers: Fix swapchain acquire count check
    
    Created with:
      gclient setdep -r third_party/vulkan-validation-layers/src@720c5deb0244
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll
    Please CC courtneygo@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=courtneygo@google.com
    Change-Id: I76fb2db8f1b87ff8e00c980c6a39f0bcb7a02af2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1925362
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 99bd10b704228438eec162957c376b0736d6577e
Author: Tobin Ehlis <tobine@google.com>
Date:   Mon Nov 18 15:18:30 2019 -0700

    Vulkan:Disable AtomicCounterBuffer tests on Vulkan
    
    These tests were incorrectly turned on for Vulkan during the recent
    test macro refactor.
    
    Bug: angleproject:4125
    Change-Id: I36940209e4223182e4810c30b0d0098d4abf0222
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1922591
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Commit-Queue: Tobin Ehlis <tobine@google.com>

commit 736164ff79bedba62706112e3858b7b2af5247ef
Author: Ethan Lee <flibitijibibo@gmail.com>
Date:   Fri Nov 15 14:59:38 2019 -0500

    Headers: Add EGLAPI to SwapBuffersWithFrameTokenANGLE
    
    Bug: angleproject:4116
    Change-Id: I83392c7bad002d9b6b939983385ace7c9ebcc090
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1919633
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit d8531638c1ad6c6d97a64917a96a67d3fee1bbe6
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Thu Nov 14 09:04:24 2019 -0700

    Vulkan: Ensure consistent limits for texture & framebuffer
    
    GLES 3.1 requires that the maximum framebuffer width & height be
    at least as large as the maximum texture size. Vulkan doesn't have
    that requirement and for SwiftShader the values are different
    (4096 for FB, 8192 for texture). Use the smaller of the two to
    keep things consistent.
    
    Test:
      angle_deqp_gles31_tests --use-angle=swiftshader --gtest_filter=dEQP-GLES31.functional.state_query.integer.max_framebuffer_*
    
    Bug: angleproject:4102
    Change-Id: Ie04a5272084c5f6a19ac06d952281b7df9fe9a06
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1917130
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Tobin Ehlis <tobine@google.com>

commit 3b43647fba8054fe137f518bcb35ef732472d531
Author: Mingyu Hu <mihu@microsoft.com>
Date:   Fri Nov 15 14:17:55 2019 -0800

    EXT_multisampled_render_to_texture clean up and prep for 2DMultisampleArray.
    
    1) Added new Multisampled Image Index. For the upcoming
    multisampled array case, we cannot automatically create the same
    MS image index during resolve. So the correct MS image index is created and
    saved during the initial creation of the MS Texture. It seems to be more
    streamlined as well, only creating the MS image index once, and not using
    hardcoded values to get the subresourceIndex.
    2) reordering resolveTextureHelper to remove duplicated code.
    
    Bug: angleproject:3107
    Change-Id: Ifd91136a64efb5e7bd296e09cd876a6e6eb8e77e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1919555
    Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit cbabb45393f3ed15682406e947ec9b03f3adb64e
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Nov 19 14:12:34 2019 -0500

    Skip crashing KHR tests on Nvidia
    
    Tests were previously disabled on Nvidia, but this was erroneously
    narrowed to Linux.
    
    Bug: angleproject:4128
    Change-Id: I9b96e84341c7c3352eaefbba73fdc5b2c67a921e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1924791
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 9107577c02f36bc9b7fa77a940c4fa6393ad6e47
Author: shrekshao <shrekshao@google.com>
Date:   Mon Nov 18 15:00:29 2019 -0800

    Skip TextureNorm16Test on Nexus6P
    
    Since either revert of the original patch or the new fix is failing
    some bots, suppress it first.
    
    https://chromium-review.googlesource.com/c/angle/angle/+/1917423
    https://chromium-review.googlesource.com/c/angle/angle/+/1914127
    
    TBR=geofflang@chromium.org
    
    Bug: 1024387, angleproject:4089
    Change-Id: I56fe0ba7e8a33f72b287528e920d6733e9cb5037
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1922602
    Reviewed-by: Shrek Shao <shrekshao@google.com>
    Commit-Queue: Shrek Shao <shrekshao@google.com>

commit 240befe55bb3cf960d6efdb26482e41ec7821e24
Author: Tobin Ehlis <tobine@google.com>
Date:   Fri Nov 15 14:40:31 2019 -0700

    Add support for gl_HelperInvocation
    
    Added HelperInvocation to builtin_variables.json, regenerate the codegen
    portions of compiler, and plumb support for HelperInvocation through the
    rest of the compiler.
    
    Skipping some fails on Android and Swiftshader for this initial change and
    will debug/fix those issues in a follow-on.
    
    Bug: angleproject:4110
    Change-Id: I781a2782ace84200bc615a2cc26b908a62e2aa26
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1922061
    Commit-Queue: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 377b8caf136546f44475d8e860154669df324e13
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Tue Nov 19 08:57:01 2019 -0700

    Add suppressions for failures on Intel/Linux
    
    The refactor to angle_end2end_tests added tests to OpenGL ES and
    some of these tests are failing on Intel/Linux. Skip those tests
    for now.
    
    Bug: angleproject:4121
    Change-Id: I7a56099faac558a4e18d98eb5f0b25522d656e61
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1924061
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d22b8be4b457951ac255991d300845199753e063
Author: Ethan Lee <flibitijibibo@gmail.com>
Date:   Fri Nov 15 12:26:39 2019 -0500

    GN: Make X11 optional, based on a user-defined variable.
    
    Not all Linux platforms will have X11 available (Wayland, GGP), so we have to
    declare a variable that checks use_x11 separately.
    
    Bug: angleproject:4116
    Change-Id: I7e33956da6344b8db4d4e32dbbd1b42f58f7019c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1919632
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 53e4536092586226c8c00ad1ecf447ed1330a4f9
Author: Le Hoang Quyen <lehoangq@gmail.com>
Date:   Sat Nov 9 17:26:58 2019 +0800

    Metal: support texture's incomplete image definitions.
    
    glTexImage*, glCopyImage* will copy data to the image at the respective
    index, then during draw call, the image data will be transferred to
    real Metal texture.
    
    Test done: MipmapTest.DefineValidExtraLevelAndUseItLater
    
    For implementation notes, see
    src/libANGLE/renderer/metal/doc/TextureDataCompleteness.md
    
    Bug: angleproject:2634
    Change-Id: I0ca24c8beff2e109a794260c436985e9f4650d83
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1906609
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 24d7e23ea4b50f76adbc5e41060c9abbffbbe451
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Nov 19 07:01:57 2019 +0000

    Roll third_party/spirv-tools/src c3f22f7cba60..57b4cb40b21d (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/c3f22f7cba60..57b4cb40b21d
    
    
    Created with:
      gclient setdep -r third_party/spirv-tools/src@57b4cb40b21d
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC courtneygo@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=courtneygo@google.com
    Change-Id: Id232a52bf6585b6920bcc89c90f5d4a78303c3db
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1923343
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 7b70f75ad631d7782645ce023d77dc8ce5adf8d7
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Nov 19 07:01:29 2019 +0000

    Roll third_party/vulkan-validation-layers/src e2441190bb0c..c2bd11586919 (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/e2441190bb0c..c2bd11586919
    
    git log e2441190bb0c..c2bd11586919 --date=short --no-merges --format='%ad %ae %s'
    2019-11-18 petr_kraus@email.cz tests: Test swapchain acquire for sync param
    2019-11-18 petr_kraus@email.cz layers: Migrate swapchain acquire check to stateless
    
    Created with:
      gclient setdep -r third_party/vulkan-validation-layers/src@c2bd11586919
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll
    Please CC courtneygo@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=courtneygo@google.com
    Change-Id: I30072791f6789163859db13874da74ad611cabf3
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1923342
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit d47076f286fe42f114fee198ba72ec2617899864
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Nov 19 07:01:23 2019 +0000

    Roll third_party/SwiftShader aba1020d3914..79afb7620a69 (5 commits)
    
    https://swiftshader.googlesource.com/SwiftShader.git/+log/aba1020d3914..79afb7620a69
    
    git log aba1020d3914..79afb7620a69 --date=short --no-merges --format='%ad %ae %s'
    2019-11-18 chrisforbes@google.com Remove vulkan.hpp
    2019-11-18 bclayton@google.com Pipeline: Add custom debug printers for SamplerFunction.
    2019-11-18 bclayton@google.com Reactor: Change the signature of PrintValue::Ty
    2019-11-18 bclayton@google.com Reactor: Handle more implicit casting for Call() arguments
    2019-11-18 swiftshader.regress@gmail.com Regres: Update test lists @ aba1020d
    
    Created with:
      gclient setdep -r third_party/SwiftShader@79afb7620a69
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/swiftshader-angle-autoroll
    Please CC courtneygo@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=courtneygo@google.com
    Change-Id: Iae58f8caf12a61d228d2d6ae937ab437313e1f2b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1923340
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit e4b3136913c68b05a84766e8048b28737e9961ee
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Nov 18 14:44:29 2019 -0500

    Update front-end image test failures' bug number
    
    Bug: angleproject:3563
    Bug: angleproject:4124
    Change-Id: I105c3ddecb5a558fd4fcbaa824c1374bd01234ce
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1921631
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit db3e5183b64959440974d227786c938039e8cf7f
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Nov 14 13:47:55 2019 -0500

    Vulkan: Fix col-major transformation of unsized arrays
    
    If the row-major expression that was being transformed was in the form:
    
         arr.length()
    
    where `arr` is an SSBO unsized array, the translator transformation was
    attempting to transpose the `arr` expression, which is both wrong and
    impossible.  Note that length() is removed through a prior
    transformation except for this particular case.
    
    This change recognizes this usage and supports it by keeping the
    expression as is (as the length() would be identical pre or post
    transformation).
    
    Bug: angleproject:3443
    Change-Id: I8efacb7b12d5e53047eb56ab5d86830d81952d86
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1917422
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 430d4059adb39b30aa376676f2a24d8ca4e8d9d9
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Nov 18 13:29:15 2019 +0000

    Roll third_party/vulkan-headers/src d42d0747ee1b..ba6cbb047868 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers/+log/d42d0747ee1b..ba6cbb047868
    
    git log d42d0747ee1b..ba6cbb047868 --date=short --no-merges --format='%ad %ae %s'
    2019-11-18 oddhack@sonic.net Update for Vulkan-Docs 1.1.128
    
    Created with:
      gclient setdep -r third_party/vulkan-headers/src@ba6cbb047868
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/vulkan-headers-angle-autoroll
    Please CC courtneygo@google.com,borenet@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    TBR=borenet@google.com, courtneygo@google.com
    
    Bug: None
    Change-Id: I7ae8bd8f3081239cb71b5f7f1ddf328a356eaac1
    Tbr: courtneygo@google.com,borenet@google.com
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1921815
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 954888135395176c96a9f4ab5fc466a352d4bb8b
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Nov 18 07:01:31 2019 +0000

    Roll third_party/vulkan-validation-layers/src f8ea20adee82..e2441190bb0c (42 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/f8ea20adee82..e2441190bb0c
    
    git log f8ea20adee82..e2441190bb0c --date=short --no-merges --format='%ad %ae %s'
    2019-11-15 s.fricke@samsung.com layers: Add ext mem check for vkGet*MemReqs
    2019-11-14 camden@lunarg.com tests: Add test file for BP and move 1 test
    2019-11-14 camden@lunarg.com CMake: Add vklayertests_best_practices.cpp to CMake
    2019-11-14 camden@lunarg.com layers: Remove DrawCmd perf warning from Buf Val
    2019-11-14 camden@lunarg.com layers: Add DrawCmd perf warning to Best Practices
    2019-11-14 mark@lunarg.com tests: Verify reset/use of qpool in different command buffers
    2019-11-14 mark@lunarg.com corechecks: Enable querystate tracking across multiple submitInfos
    2019-11-13 tony@lunarg.com tests: Add mechanism to deal with duplicate errors
    2019-11-12 mark@lunarg.com tests: Add secondary CB VkSubmitInto validation check
    2019-11-12 mark@lunarg.com corechecks: Add secondary CB VU check
    2019-11-12 mark@lunarg.com corechecks: Fix propagation of skip in CB state validation
    2019-11-12 mark@lunarg.com build: Add VUID coverage text file to AppVeyor artifacts
    2019-11-07 pdaniell@nvidia.com tests: Add tests for VK_KHR_separate_depth_stencil_layouts
    2019-11-07 PDANIELL@nvidia.com layers: Add support for VK_KHR_separate_depth_stencil_layouts
    2019-11-05 shannon@lunarg.com build: Update known-good for 1.1.127 header
    2019-11-04 jbolz@nvidia.com layers: Update ValidateShaderStageInputOutputLimits to new spec rules
    2019-11-01 mark@lunarg.com cmake: Restore creation of standard validation json file
    2019-11-01 jmacnak@gmail.com tests: Add RT shader group tests
    2019-11-01 jmacnak@gmail.com layers: Add RT shader group validation
    2019-10-31 mikes@lunarg.com tests: Add macOS loader filename
    2019-10-31 locke@lunarg.com tests: Swapchain image layout
    2019-10-31 locke@lunarg.com layers: Swapchain pluarl bound_images
    2019-10-30 tony@lunarg.com gpu: Add more positive tests
    2019-10-30 mark@lunarg.com tests: Remove android limits workaround
    2019-10-30 mark@lunarg.com tests: Allow hw limits to override baked-in test GL limits
    2019-10-29 bob@lunarg.com Android: Make tests more reliable
    2019-10-28 shannon@lunarg.com build: Update known-good commits for SDK 126
    2019-10-25 jeremy@lunarg.com layers: Fix attachment unused false positive
    2019-10-25 mark@lunarg.com tests: Exclude GetomInputOutputComps limit test from Android
    2019-10-25 mark@lunarg.com tests: Fix filter key for shaderc failure messages
    2019-10-25 camden@lunarg.com layers: best_practices-Fix MemoryFree Exception
    2019-10-25 camden@lunarg.com layers: Initialize numMemObjects in BP
    2019-10-24 jeremy@lunarg.com layers: Validate specialization constants
    2019-10-24 jeremy@lunarg.com build: Update glslang
    2019-10-24 mark@lunarg.com layers: Removed obsolete layer-specific readme file
    2019-10-24 mark@lunarg.com docs: Add layer configuration doc, shared with the SDK
    2019-10-24 jbolz@nvidia.com tests: Add tests for externsync descriptorset updates
    2019-10-24 jbolz@nvidia.com layers: Relax UPDATE_AFTER_BIND externsync rules in ThreadSafety
    2019-10-23 bob@lunarg.com tests: Don't filter logcat messages
    2019-10-22 shannon@lunarg.com build: Update known-good for 1.1.126 header
    2019-10-22 jbolz@nvidia.com tests: Test CmdTraceRays with no descriptor set bound
    2019-10-22 jbolz@nvidia.com layers: Add PreCallValidateCmdTraceRaysNV
    
    Created with:
      gclient setdep -r third_party/vulkan-validation-layers/src@e2441190bb0c
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/vulkan-validation-layers-angle-autoroll
    Please CC cnorthrop@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=cnorthrop@google.com
    Change-Id: I6295c45e6bf565a98b22d05d4650c42d89d80c22
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1921749
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit bbdabb3b9b0a45a64bcdedd970b7414aec1c78a7
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Nov 18 07:01:03 2019 +0000

    Roll third_party/glslang/src 37dcb894574e..f4d4668529f1 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/37dcb894574e..f4d4668529f1
    
    
    Created with:
      gclient setdep -r third_party/glslang/src@f4d4668529f1
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/glslang-angle-autoroll
    Please CC cnorthrop@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=cnorthrop@google.com
    Change-Id: Ibf838a97de16946b159063747250fc9338b0684a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1921747
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 37f7316ecaafae630312304447e5a4d6f6758e5e
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Nov 18 07:01:22 2019 +0000

    Roll third_party/SwiftShader 102fd19c65f4..aba1020d3914 (7 commits)
    
    https://swiftshader.googlesource.com/SwiftShader.git/+log/102fd19c65f4..aba1020d3914
    
    git log 102fd19c65f4..aba1020d3914 --date=short --no-merges --format='%ad %ae %s'
    2019-11-15 bclayton@google.com Remove the now unused sw::Event.
    2019-11-15 bclayton@google.com VkQueryPool: Migrate from sw sync to marl
    2019-11-15 bclayton@google.com VkDevice: Migrate to using marl::Event::any()
    2019-11-15 bclayton@google.com VkFence: Migrate to marl::Event
    2019-11-15 bclayton@google.com Merge changes Ifb21caa2,Iaca5897d
    2019-11-15 swiftshader.regress@gmail.com Regres: Update test lists @ cc221e83
    2019-11-15 chrisforbes@google.com Update deqp to b64acc6c3371607583b3aa6d12c7290b4aaae747
    
    Created with:
      gclient setdep -r third_party/SwiftShader@aba1020d3914
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/swiftshader-angle-autoroll
    Please CC cnorthrop@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=cnorthrop@google.com
    Change-Id: Ie779409c1316d9b30cb91c6ad0df18a71ebfa634
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1921748
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 51b5a3222b60d5f523d04b5a86eeb28278880db4
Author: Tobin Ehlis <tobine@google.com>
Date:   Fri Nov 15 13:17:35 2019 -0700

    Update dEQP 3.1 expectations
    
    Set bug 4110 for dEQP-GLES31.functional.shaders.helper_invocation.*
    
    Bug: angleproject:4110
    Bug: angleproject:1442
    Change-Id: Ic1b62e5f1a1a47fd92420fb1aeab7f97dd9f75dc
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1919549
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Commit-Queue: Tobin Ehlis <tobine@google.com>

commit a829c0b93d6d6ec15ff04158e01bc4536729eb0d
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Thu Nov 14 16:49:02 2019 -0500

    Expose EGL_CHROMIUM_sync_control via GLX_OML_sync_control
    
    On GLX, we can expose the EGL_CHROMIUM_sync_control extension by
    forwarding to GLX_OML_sync_control when it's available. This will help
    with accurate vsync times for Chrome
    
    Bug: 1020252
    Change-Id: I9b1e8cf0f8b1a548cc7cc7202fac2d0cdb01d74d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1918104
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit e4aa7235b859772cacfe90fbaf1e70f07b002e61
Author: Tim Van Patten <timvp@google.com>
Date:   Wed Nov 13 14:09:35 2019 -0700

    Vulkan: Update Expectations with GLES 3.1 Conformance Failures
    
    Update the following expectations files with GLES 3.1 conformance
    failures to help tracking:
    
    deqp_gles31_test_expectations.txt
    deqp_khr_gles31_test_expectations.txt
    
    Bug: angleproject:4098
    Bug: angleproject:4099
    Bug: angleproject:4100
    Bug: angleproject:4101
    Bug: angleproject:4102
    Bug: angleproject:4103
    Bug: angleproject:4104
    Bug: angleproject:4105
    Bug: angleproject:3443
    Bug: angleproject:4107
    Bug: angleproject:4106
    Bug: angleproject:4108
    Test: None (test failures were collect with Khronos conformance run)
    Change-Id: I9ea818f99c6b74602ea5321f393f0066bc115905
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1914131
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Commit-Queue: Tim Van Patten <timvp@google.com>

commit deae1fce2cc55f37cb866f149fd9b848e082751c
Author: Le Hoang Quyen <lehoangq@gmail.com>
Date:   Sat Nov 9 17:22:40 2019 +0800

    Enable Metal backend.
    
    Metal will be secondary default backend after OpenGL for now.
    
    The tests will be enabled for metal in
    CL http://crrev.com/c/1906607.
    
    Bug: angleproject:2634
    Change-Id: I109c641d749c2a207bbb7d500bc281ffb0b13848
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1906612
    Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>

commit 20f11f583f10ef0de20f6affbcbd1f0cca6e6b35
Author: Tim Van Patten <timvp@google.com>
Date:   Thu Nov 14 15:08:53 2019 -0700

    Update GLES31 Expectations
    
    The following tests need to have their bugs corrected in
    deqp_gles31_test_expectations.txt:
    
    dEQP-GLES31.functional.separate_shader.*
    dEQP-GLES31.functional.program_interface_query.program_input.resource_list.compute.empty
    dEQP-GLES31.functional.program_interface_query.shader_storage_block.buffer_data_size.*
    
    Bug: angleproject:3570
    Bug: angleproject:3596
    Test: None
    Change-Id: I09807d86a2cec153fcb7d6b22407bdd0d84c44ef
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1918045
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Commit-Queue: Tim Van Patten <timvp@google.com>

commit 1c795d9ef28b9d4e0668bd1a56307043359770c5
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Tue Nov 12 11:03:14 2019 -0500

    Add a test to capture bug with LUMA blit workaround
    
    This test captures a bug with state tracking in the BlitGL LUMA
    texture workaround.
    
    Bug: 1022080
    Change-Id: I22d2eb0d653778be300ab4a1f6b27e67f8cf1cbd
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1912140
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

commit 86f651198df25fd91e807da8411ad8dd82fdc435
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Fri Nov 15 13:57:15 2019 +0800

    Add android_ndk and catapult to .gitignore
    
    BUG=angleproject:4026
    
    Change-Id: I58ed4dea3c962c6a7c46deb69400b984d8a2ea30
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1918569
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 4207870bcd604d4486607d51642db297c96c6b0c
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Nov 15 07:01:24 2019 +0000

    Roll third_party/spirv-tools/src 3da910d55f20..c3f22f7cba60 (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/3da910d55f20..c3f22f7cba60
    
    
    Created with:
      gclient setdep -r third_party/spirv-tools/src@c3f22f7cba60
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC cnorthrop@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=cnorthrop@google.com
    Change-Id: Ibf9f114a42ab052536d3106b07227bd3cd6c0651
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1918960
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 36fbe6029343c80b01e86ce9f24230e47ae18d5b
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Nov 15 07:01:33 2019 +0000

    Roll third_party/SwiftShader b2407dd746de..102fd19c65f4 (4 commits)
    
    https://swiftshader.googlesource.com/SwiftShader.git/+log/b2407dd746de..102fd19c65f4
    
    git log b2407dd746de..102fd19c65f4 --date=short --no-merges --format='%ad %ae %s'
    2019-11-14 amaiorano@google.com PixelRoutine: const-qualify reference parameters
    2019-11-14 swiftshader.regress@gmail.com Regres: Update test lists @ b2407dd7
    2019-11-14 capn@google.com Rasterize 'Bresenham' line segments as parallelograms
    2019-11-14 sugoi@google.com Negative baseVertex support
    
    Created with:
      gclient setdep -r third_party/SwiftShader@102fd19c65f4
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/swiftshader-angle-autoroll
    Please CC cnorthrop@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=cnorthrop@google.com
    Change-Id: I624498c405221a12cfb1a6fbc5e62e5484457edf
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1918961
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 5f4db6a76640134ef267241e6d11006101a4f7e5
Author: Mingyu Hu <mihu@microsoft.com>
Date:   Mon Nov 11 14:52:37 2019 -0800

    Fix performance issue with EXT_multisampled_render_to_texture
    
    Adding a dirty flag to the mMSTexInfo struct so that the multisampled
    texture does not get unnecessarily resolved on each call.
    
    Bug: chromium:1019199
    Change-Id: Ia9b24cd0a7f2d82f83f20f7e60f9f2b23383ec6f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1910531
    Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 11c487a891ebada38eaa81cd53ada198899444fc
Author: Tim Van Patten <timvp@google.com>
Date:   Fri Oct 25 16:50:01 2019 -0600

    Manually copy dEQP data files to output directory
    
    dEQP has data files that live in several directories within dEQP's
    source tree. For example, GLES3 has data files that live within:
    
    data/gles3/data/
    external/graphicsfuzz/data/gles3/
    
    However, we can only tell dEQP about a single data directory during
    initialization of dEQP. To get around this, we are manually copying all
    of the necessary data files to the output generated files directory and
    pointing dEQP to this single directory. This also helps us solve a
    second problem related to the paths that dEQP uses when accessing
    graphicsfuzz data files.
    
    For the graphicsfuzz tests, dEQP will attempt to open the necessary
    shaders by accessing them with the path:
    
    data/gles3/graphicsfuzz/
    
    However, those files would normally live at the path that matches their
    location within the source tree:
    
    external/graphicsfuzz/data/gles3/graphicsfuzz/
    
    As part of the manual copy of these data files, we are also able to
    strip the extra 'external/graphicsfuzz/' portion of the path.
    
    Bug: angleproject:2322
    Test: dEQP
    Change-Id: Ibc96442c221485e2f246890fa8fe51f090c5e222
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1881759
    Commit-Queue: Tim Van Patten <timvp@google.com>
    Reviewed-by: Tim Van Patten <timvp@google.com>

commit 1a01b4b322a57da5a8f7248790a82df6d5ce4575
Author: Tobin Ehlis <tobine@google.com>
Date:   Mon Nov 11 16:41:07 2019 -0700

    Refactor end2end test macros
    
    This is a foundational CL to enabling the end2end tests on swiftshader.
    
    Refactored infrastructure with new ANGLE_INSTANTIATE_TEST_ES*
    macros that will run tests over all various combinations of all
    platforms for different ES versions.
    
    Just skipping failing tests initially to get the refactor landed.
    
    Bug: angleproject:4081
    Bug: angleproject:4092
    Change-Id: I017f6c3267179e49b6ae08cc7488096b423dcdb5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1904635
    Commit-Queue: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>

commit 968df09eed922af3b2b4a18fe6ce581aa5815859
Author: Tim Van Patten <timvp@google.com>
Date:   Mon Nov 11 16:48:14 2019 -0700

    Treat VK_TIMEOUT as an error
    
    The fence wait time was increased to 120 seconds, so we don't expect
    VK_TIMEOUT to be returned by a healty GPU. This change makes it so that
    when VK_TIMEOUT is returned, we will treat this as an error and
    propagate it to the GLES application as a GL_INVALID_OPERATION.
    
    It is expected that the GL application will re-initialize ANGLE which
    will also reinitialize the Vulkan device (and hopefully clean up the
    error). This is not our final design for ANGLE's VK_TIMEOUT handling,
    since we expect to expand our Vulkan device lost error handling when
    implementing the GLES 3.2 robustness requirements. This will likely
    improve ANGLE's VK_TIMEOUT handling as well.
    
    Bug: angleproject:4043
    Test: Manually force VK_TIMEOUT (lower kMaxFenceWaitTimeNs)
    Change-Id: I2449ad214ada176014a1702a9b3417d4498d070f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1910722
    Commit-Queue: Tim Van Patten <timvp@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>

commit 0e5d019e9ae8dbdc0ac08426cc498cc116548214
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Fri Nov 8 08:43:21 2019 -0700

    Vulkan: Enable 3.0 as default context version
    
    Now that 3.0 support is passing dEQP, always return that as the
    context version to use (unless app asks for 1.0).
    
    Test: angle_end2end --gtest_filter=EGLBackwardsCompatibleContextTest.BackwardsCompatibleEnabledES3/*
    Bug: angleproject:3750
    Change-Id: I0402ac015acfc22e84a985fe75346999bcc47188
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1906202
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>

commit edc560fec25fd3b01979f236ea4c3bb139df4874
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Thu Oct 31 17:18:29 2019 -0600

    Vulkan: Add 565 and validate pixel formats: Windows
    
    Add support for 565 to Windows. Also includes code that verifies
    generated configs can actually be supported by Vulkan.
    Test:
    --use-angle=swiftshader --deqp-gl-config-name=rgb565d0s0ms0 --gtest_filter=dEQP.GLES3/functional_fragment_ops_interaction_basic_shader_80
    
    Bug: angleproject:4016
    Change-Id: Idcfd4dd368c4a30ef177aa89e1035d2f00570c99
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1885378
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>

commit 6e687af2649d48aa66b020fab4057ac85191dd8b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Oct 17 14:36:41 2019 -0400

    Support standalone Android builds in ANGLE.
    
    By disabling apk generation, we can build all of our targets in a
    standalone ANGLE checkout on Linux.
    
    This allows tools like gn desc to give us useful information about
    Android builds.
    
    BUG=angleproject:4026,angleproject:2344
    
    Change-Id: Ic46348fd06c5174ce5e5a4d89ceb391246c6ac6b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1866080
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 515f9bebd1f8808fb1763b802e5cd3b467063ebb
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Nov 14 07:01:24 2019 +0000

    Roll third_party/spirv-tools/src ab3cdcaef56e..3da910d55f20 (3 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/ab3cdcaef56e..3da910d55f20
    
    
    Created with:
      gclient setdep -r third_party/spirv-tools/src@3da910d55f20
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC cnorthrop@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=cnorthrop@google.com
    Change-Id: I8b6eea801806cefacb0db8f63f05609f5478029d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1915880
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit ae55a94ff52ce8c987979200f190ce03f90f1992
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Nov 14 07:01:31 2019 +0000

    Roll third_party/SwiftShader 88632cac30e1..b2407dd746de (3 commits)
    
    https://swiftshader.googlesource.com/SwiftShader.git/+log/88632cac30e1..b2407dd746de
    
    git log 88632cac30e1..b2407dd746de --date=short --no-merges --format='%ad %ae %s'
    2019-11-13 chrisforbes@google.com regres: Don't ignore abnormal exits
    2019-11-13 swiftshader.regress@gmail.com Regres: Update test lists @ 88632cac
    2019-11-13 digit@google.com [vulkan] Implement VK_KHR_external_memory_fd for Linux and Android.
    
    Created with:
      gclient setdep -r third_party/SwiftShader@b2407dd746de
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/swiftshader-angle-autoroll
    Please CC cnorthrop@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=cnorthrop@google.com
    Change-Id: Ib24713050daecfc44bd0075f4896283e7232225f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1915881
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 1b52f05868c92b0f5e6adb3ccd0d15eac5c77975
Author: Ian Elliott <ianelliott@google.com>
Date:   Wed Nov 13 16:04:53 2019 -0700

    Vulkan: Update bug numbers for GLES 3.1 "debug" expected failures
    
    I triaged these failures and put cross-backend failures in 2324, and
    Vulkan-specific failures in 3590.
    
    Bug: angleproject:2324
    Bug: angleproject:3590
    Change-Id: Iac806334f410d660c9af42a5c9101b26364911bf
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1914928
    Reviewed-by: Ian Elliott <ianelliott@google.com>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit f533355b414060bd2907ebc565f0f5443c57710d
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Nov 13 20:04:24 2019 +0000

    Roll third_party/vulkan-headers/src d287523f48db..d42d0747ee1b (6 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers/+log/d287523f48db..d42d0747ee1b
    
    git log d287523f48db..d42d0747ee1b --date=short --no-merges --format='%ad %ae %s'
    2019-11-06 jmadill@chromium.org GN: Add support for Google Games Platform.
    2019-11-06 8729214+jonahryandavis@users.noreply.github.com build: BUILD.gn missing defines for MacOS
    2019-11-04 oddhack@sonic.net Update for Vulkan-Docs 1.1.127
    2019-10-28 shannon@lunarg.com vulkan: Fix typo for `operator==` in `vulkan.hpp`
    2019-10-25 shannon@lunarg.com vulkan: Update `vulkan.hpp` for VS2015 VT fix
    2019-10-21 oddhack@sonic.net Update for Vulkan-Docs 1.1.126
    
    Created with:
      gclient setdep -r third_party/vulkan-headers/src@d42d0747ee1b
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/vulkan-headers-angle-autoroll
    Please CC cnorthrop@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    Tbr: cnorthrop@google.com
    Change-Id: I36b0e8d3141bf621fdee054cd45d0e98cd3b70c4
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1914130
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit b3c4dffd66567b4b8debc09eba86811dfb3c2431
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Nov 12 14:42:23 2019 -0500

    Vulkan: Fix glMemoryBarrier* implementation
    
    The indirect bit handling is no longer necessary, as setup*Indirect
    functions already add the barriers if necessary.  The framebuffer bit
    is unnecessary as the image layout transition from storage image to
    framebuffer attachment would already add the necessary barrier.  Image
    access bit was indeed necessary, but so is shader storage bit which is
    added.
    
    Bug: angleproject:3574
    Bug: angleproject:3879
    Bug: angleproject:3934
    Change-Id: I9da722e7a34941932731335af2313783295031ba
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1913080
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Tim Van Patten <timvp@google.com>

commit feb3fb1ad13882f3ff1900b3b5c23463c6675ea5
Author: Cody Northrop <cnorthrop@google.com>
Date:   Tue Nov 12 07:32:24 2019 -0700

    ES31: Update Vulkan skip list for SSBO
    
    This test is passing on multiple implementations locally, including
    SwiftShader on Android.  Suspect a driver bug, will follow up with
    vendor.
    
    dEQP-GLES31.functional.synchronization.in_invocation.ssbo_alias_overwrite
    
    Bug: angleproject:3602
    Bug: angleproject:4097
    Change-Id: I363ca6fe150419f4338988cf88c7926c689914b2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1911293
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Cody Northrop <cnorthrop@google.com>

commit 4b642a6d90f58bf286725944dd0cf3b624e14cea
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Sep 4 16:47:33 2019 -0400

    Desktop GLSL input + Vulkan GLSL output in shader_translator
    
    This is a sample program that can be used to compile a shader and
    inspect the intermediate tree or the output from the shader translator.
    This change adds support for the recently added desktop GLSL inputs as
    well as the ability to produce Vulkan GLSL output.
    
    Bug: angleproject:3453
    Change-Id: I1f378e8d84b74636d6a47ce1aaff5f1f55f5bbb3
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1784881
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit d4b3120e60715131392d5e35c28df15a2b3efcb7
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Nov 13 07:01:24 2019 +0000

    Roll third_party/spirv-tools/src 12e54dae167c..ab3cdcaef56e (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/12e54dae167c..ab3cdcaef56e
    
    
    Created with:
      gclient setdep -r third_party/spirv-tools/src@ab3cdcaef56e
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC cnorthrop@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=cnorthrop@google.com
    Change-Id: I2e643d6348ab9edf9084607666445988f1ab655c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1914160
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 853e8544ba7e467a74a681a97be95b2f7854df97
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Nov 13 07:01:28 2019 +0000

    Roll third_party/glslang/src f34cdc70ca1b..37dcb894574e (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/f34cdc70ca1b..37dcb894574e
    
    
    Created with:
      gclient setdep -r third_party/glslang/src@37dcb894574e
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/glslang-angle-autoroll
    Please CC cnorthrop@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=cnorthrop@google.com
    Change-Id: I74bceafb6cedf58fe7c772c9fbf580d0b8efa7aa
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1914161
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 9ec5c78a9256b381d3e78ce89044f5d309b630a4
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Nov 13 07:01:31 2019 +0000

    Roll third_party/SwiftShader 9da287fd0264..88632cac30e1 (6 commits)
    
    https://swiftshader.googlesource.com/SwiftShader.git/+log/9da287fd0264..88632cac30e1
    
    git log 9da287fd0264..88632cac30e1 --date=short --no-merges --format='%ad %ae %s'
    2019-11-12 bclayton@google.com Regres: Don't treat non-zero error codes as crashes.
    2019-11-12 tobine@google.com Vulkan:maxPerStageDescriptorStorageBuffers = 16
    2019-11-12 nicolascapens@google.com Revert "Suppress 32-bit MSVC warning."
    2019-11-12 bclayton@google.com Regres: Add workaround for Khronos Gitlab issues
    2019-11-12 swiftshader.regress@gmail.com Regres: Update test lists @ 9da287fd
    2019-11-12 sugoi@google.com Blend mode fix for 565 format
    
    Created with:
      gclient setdep -r third_party/SwiftShader@88632cac30e1
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/swiftshader-angle-autoroll
    Please CC cnorthrop@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: angleproject:4016
    TBR=cnorthrop@google.com
    Change-Id: I39661778e6d1018568736bb499d0e0943b6031b9
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1914162
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 4f023f565a618bd2325147e2fe7b05a992419f66
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Nov 11 15:46:02 2019 -0500

    Enable passing end2end test
    
    Bug: angleproject:3361
    Change-Id: Ie488f77a7baa0ce66d192c651e826c2fee597af2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1912139
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 3f647b1bf9a476adb1af5037b88ef7403eb73e31
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Nov 9 16:24:50 2019 -0500

    Vulkan: Improve Bresenham line emulation.
    
    Clamps the vertex position to the subpixel grid before interpolation.
    This will give more correct results on systems that have less than
    8 bits of subpixel accuracy.
    
    Also uses a more accurate formulation for the emulation filter in the
    fragment shader using dfdx and dfdy.
    
    Fixes line raster CTS tests on SwiftShader. Still does not produce spec
    conformant lines. Updates the public docs to indicate this.
    
    Bug: angleproject:2830
    Change-Id: Ib9a268df3e7d986bd2b1348be664389fe8fc0ef2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1826598
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tim Van Patten <timvp@google.com>

commit b9b1bae4effb7002133da1964fd893e0d8cb9790
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Nov 12 07:01:24 2019 +0000

    Roll third_party/spirv-tools/src 3e4abc9ac382..12e54dae167c (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/3e4abc9ac382..12e54dae167c
    
    
    Created with:
      gclient setdep -r third_party/spirv-tools/src@12e54dae167c
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC cnorthrop@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=cnorthrop@google.com
    Change-Id: I25c0aa854a5d44c9f517de60603c3014a3b7a95f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1910782
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 867f8c92ed1ac207f1ee99121eb44d48505ccaae
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Nov 12 07:01:31 2019 +0000

    Roll third_party/SwiftShader 31edef751a8d..9da287fd0264 (6 commits)
    
    https://swiftshader.googlesource.com/SwiftShader.git/+log/31edef751a8d..9da287fd0264
    
    git log 31edef751a8d..9da287fd0264 --date=short --no-merges --format='%ad %ae %s'
    2019-11-11 timvp@google.com Output Swiftshader version to logcat
    2019-11-11 chrisforbes@google.com Allow depth/stencil attachment to be VK_ATTACHMENT_UNUSED in clear
    2019-11-11 swiftshader.regress@gmail.com Regres: Update test lists @ 414f99e0
    2019-11-11 chrisforbes@google.com Relax descriptor set index assert at descriptor point of definition
    2019-11-11 sugoi@google.com Avoid sync issues by removing global android swapchain map
    2019-11-11 bclayton@google.com Regres: Check out the change before attempting to read files from it.
    
    Created with:
      gclient setdep -r third_party/SwiftShader@9da287fd0264
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/swiftshader-angle-autoroll
    Please CC cnorthrop@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=cnorthrop@google.com
    Change-Id: I27defe08fe427a2fe8eec29bd49c35dcae411383
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1910783
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit e33c1582b4bc6da24c08f14aa2b74d1677c974dd
Author: shrekshao <shrekshao@google.com>
Date:   Wed Nov 6 16:55:29 2019 -0800

    Fix EXT_texture_norm16
    
    * Add norm16 format info for OpenGL backend
    * Add validation for newly introduced norm16 formats
    * Fix some logic of texture tests
    
    Bug: chromium:1000354, angleproject:1365
    Change-Id: Ie6d6e5e276da4df4b7c667be28d324d4976b35ec
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1902720
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shrek Shao <shrekshao@google.com>
    Commit-Queue: Shrek Shao <shrekshao@google.com>

commit 82fd2540c56d99978d1aa127c44f5060b38b91de
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Nov 11 10:46:17 2019 -0500

    Windows: Use Job handle in LaunchProcess.
    
    This forces all child processes to quit when the parent process is
    unexpectedly terminated.
    
    Disabled on Windows 7 because it seems to fail with assinging the
    process to the job object. Possibly because of permission conflicts
    with the Chromium base/test launcher.
    
    Bug: angleproject:3162
    Change-Id: I35f1c1ac5c802904b9b7220cab1bafce1ae0ea15
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1862989
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit f18ff947360d24edea57ba58b28b1f25c5d99d03
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Nov 9 23:01:47 2019 -0500

    Minor tweaks to SampleApplication.
    
    Removes an unreferenced function. Also adds the ability for samples to
    respond to key up and down events. Only implemented on Windows.
    
    Bug: angleproject:2830
    Change-Id: I44c9f93f0ad07b92923ffc0efa580f97d9b98693
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1908448
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 1abb0dd1324b7195952b1f8db212f35f140efc07
Author: Le Hoang Quyen <lehoangq@gmail.com>
Date:   Mon Nov 11 00:07:59 2019 +0800

    Add Metal progress to README
    
    Just to let users of ANGLE aware of
    
    Bug: angleproject:2634
    Change-Id: I241ed569a967e8c427cb5cc2e6d82c73c17e320c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1906621
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 1c7097b69c50eecc7416d6aa52e87cabc25ebf17
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Nov 11 07:01:30 2019 +0000

    Roll third_party/SwiftShader d9ed1c2732ba..31edef751a8d (3 commits)
    
    https://swiftshader.googlesource.com/SwiftShader.git/+log/d9ed1c2732ba..31edef751a8d
    
    git log d9ed1c2732ba..31edef751a8d --date=short --no-merges --format='%ad %ae %s'
    2019-11-09 chrisforbes@google.com Update deqp to vulkan-cts-1.1.6.1
    2019-11-08 chrisforbes@google.com Fix PointCoord builtin
    2019-11-08 bclayton@google.com Kokoro: Allow 'Fixes:' in bug check
    
    Created with:
      gclient setdep -r third_party/SwiftShader@31edef751a8d
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/swiftshader-angle-autoroll
    Please CC jonahr@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=jonahr@google.com
    Change-Id: Id5d4e11721e8d64f0434e6fd58c178419c31e327
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1909434
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 02eeebf198865b075cfcaa1ee839317695bad872
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Nov 11 07:01:25 2019 +0000

    Roll third_party/spirv-tools/src 041f0a02493d..3e4abc9ac382 (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/041f0a02493d..3e4abc9ac382
    
    
    Created with:
      gclient setdep -r third_party/spirv-tools/src@3e4abc9ac382
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC jonahr@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=jonahr@google.com
    Change-Id: Ic814942250eea97d3370bf18eb5947941e22188f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1909433
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 012d15196023467be913ef6d537417be91e68e16
Author: James Darpinian <jdarpinian@chromium.org>
Date:   Thu Oct 31 16:50:23 2019 -0700

    Stop using __has_include<Cocoa/Cocoa.h>
    
    __has_include seems to cause problems with goma builds.
    Instead, detect iOS vs MacOS using TargetConditionals.h. Also use
    plain C++ instead of Objective-C++ when possible.
    
    Bug: angleproject:3439
    Bug: 1015591
    Change-Id: I816624e0cdc54ad3a18d3891b4efecf6fe640574
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1894243
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: James Darpinian <jdarpinian@chromium.org>

commit 5c0e6e52bd5ecc3616cf0bff09e3e7c8f88dc0b7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Nov 8 17:05:38 2019 -0500

    Capture/Replay: Implement more state for mid-execution replay.
    
    Includes much more state serialization. Notably Vertex Arrays were
    missing as well as multiple GL render states. Also fixes many
    serialization bugs. For example, we would not be using the correct
    client array and pack/unpack state in the mid-execution capture. Also
    depth/stencil attachments were missing from the capture.
    
    Also fixes the replay sample to work with non-zero starting frames.
    
    With these fixes we can run mid-execution replay of the T-Rex demo.
    
    Bug: angleproject:3611
    Change-Id: I6945eb9b30a5137be996956b43f074a0a750b333
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1895112
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tim Van Patten <timvp@google.com>

commit 405d4cf3c90b215fc3054ff683b43de38273155b
Author: Le Hoang Quyen <lehoangq@gmail.com>
Date:   Sat Nov 9 02:28:49 2019 +0800

    Metal: multiple bug fixes
    
    - ContextMtl: triangle fan draws should call setupDraw() with original
    parameters. Not the modified parameters.
    - SurfaceMtl: should initialize metal layer's drawableSize after layer's
    creation.
    - TextureMtl & FrameBufferMtl: Fix texture copySubImage CPU path
    incorrectly copied unflipped area.
    - mtl_render_utils: Fix wrong variable name used for trifan compute
    pipeline cache table.
    - mtl_resources: Fix texture & buffer memory leaks due to missing
    ANGLE_MTL_AUTORELEASE.
    - mtl_utils: Fix viewport flipping error due to arithmetic between
    unsigned & signed values.
    
    These bugs were discovered during dEQP tests running.
    
    Bug: angleproject:2634
    Change-Id: Ie01380910ab68a2b876718d9dac0b5b4c41b607c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1906608
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>

commit c2f1f618812724db5632820dc25480057fcea640
Author: Le Quyen <lehoangq@gmail.com>
Date:   Mon Oct 28 13:06:42 2019 +0800

    Always use MTLPixelFormatBGRA8Unorm for SurfaceMtl.
    
    Apple Features Table says BGRA8 is not always available but it turned
    out not the case based on response from Apple dev.
    
    Bug: angleproject:2634
    Change-Id: I9e3465420f45fcd362cbdd385bb78169463a759d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1906606
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>

commit 60a396a813370c1e60a8e0fe6cc9cd16c54b2a6a
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Thu Nov 7 16:36:45 2019 -0500

    Reset texture swizzle state to default after LUMA workaround
    
    The copySubImage LUMA workaround sets special TEXTURE_SWIZZLE_RGBA
    values to work. However, it must reset this parameter back to the
    default state after the workaround completes.
    
    Bug: 1022080
    Change-Id: I84870f1264311c106ebece1e6a37d5f92a1da28c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1904627
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

commit 50919254cbc716d09703f93c2d38a0368809dbda
Author: Austin Eng <enga@chromium.org>
Date:   Thu Nov 7 10:52:21 2019 -0800

    Only enable addAndTrueToLoopCondition feature on Mac Intel
    
    The issue which reported the need for this workaround only found a
    problem on Mac. The failure doesn't happen on other the Linux
    OpenGL Intel driver, so it shouldn't be enabled there.
    
    Bug: chromium:1021900, chromium:644669
    Change-Id: I65e7462828419aeb9182898f73977ee1c5e72ff3
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1904291
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Austin Eng <enga@chromium.org>

commit dc98ca69edd0a803eed76e16d650fa69ea5610f0
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Nov 8 07:01:28 2019 +0000

    Roll third_party/glslang/src e471df3c9154..f34cdc70ca1b (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/e471df3c9154..f34cdc70ca1b
    
    
    Created with:
      gclient setdep -r third_party/glslang/src@f34cdc70ca1b
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/glslang-angle-autoroll
    Please CC jonahr@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=jonahr@google.com
    Change-Id: I2902d0c568de1c07f2d688982aa6d80389cd7f94
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1905273
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 6fdbe529e9bb24b05f4ba096e1fa40edcbeea120
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Nov 8 07:01:31 2019 +0000

    Roll third_party/SwiftShader 27a3d31d7a9d..d9ed1c2732ba (1 commits)
    
    https://swiftshader.googlesource.com/SwiftShader.git/+log/27a3d31d7a9d..d9ed1c2732ba
    
    git log 27a3d31d7a9d..d9ed1c2732ba --date=short --no-merges --format='%ad %ae %s'
    2019-11-07 sugoi@google.com Prevent rasterizing fragments outside the framebuffer
    
    Created with:
      gclient setdep -r third_party/SwiftShader@d9ed1c2732ba
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/swiftshader-angle-autoroll
    Please CC jonahr@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: angleproject:4060
    TBR=jonahr@google.com
    Change-Id: I7cd94017d1dedfcab87e599f586396b9900b8d03
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1905274
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 7f9c9a7fc00143cb5ad26a0bb5cb6950db4a1e58
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Nov 8 07:01:25 2019 +0000

    Roll third_party/spirv-tools/src dc59b4b075e9..041f0a02493d (4 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/dc59b4b075e9..041f0a02493d
    
    
    Created with:
      gclient setdep -r third_party/spirv-tools/src@041f0a02493d
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC jonahr@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=jonahr@google.com
    Change-Id: I0937fa1cef8e10179104802c47df697d495702de
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1905272
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 652dbfc63e70f7af1b4d3d9beff5ae69b1699c14
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 6 16:56:28 2019 -0500

    Init Blend State color mask defaults.
    
    This is an unrelated code cleanup. Previously we would only init these
    member variables in the gl::State initialization code.
    
    Bug: angleproject:3611
    Change-Id: I3aa34958ce5b00542d45ef63e0b32010b2eb3220
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1902188
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a5a04ac0f9bb6b4d7db61ba66ad8b400d665c78f
Author: Le Quyen <lehoangq@gmail.com>
Date:   Tue Oct 29 22:57:55 2019 +0800

    Metal backend pt3: shader translator
    
    Implementation of GLSL to MSL translator
    
    Bug: angleproject:2634
    Change-Id: I66e2374b461548fac46163ea79790a488515e6b0
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1887251
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 653ee5f115aeeefc0ac3ebc781496dc10d18d3cc
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 7 09:14:22 2019 -0500

    Capture/Replay: Introduce capture index file.
    
    This index file lets us very easily write a generic capture sample.
    Previously the dev had to maintain a list of multiple sources files.
    Potentially hundreds. By writing the source file list to an index file
    we can load this easily in GN as a variable and plug that into the
    sources.
    
    Also updates docs.
    
    Bug: angleproject:3611
    Change-Id: I69ba961e271d6d13d06ae01c89a0605a6fd725ec
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1902189
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>

commit e167f76b08ecb67724b1e28a38c9eb99d48da51c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 6 16:51:55 2019 -0500

    Capture/Replay: Pass gl::State to capture functions.
    
    This replaces passing gl::Context. Using a gl::State directly will more
    easily let the mid-execution replay code pass a mocked gl::State
    instead of having to modify the real underlying Context state. For
    example when capturing pixel pack and unpack parameters the states
    could not be overridden without changing the gl::Context itself.
    Similarly when capturing client side data.
    
    Also moves a query parameter info function into queryutils so it can be
    accessible to the State-based capture.
    
    Refactoring change only.
    
    Bug: angleproject:3611
    Change-Id: I3c064001cfa83ebbb67a2b8fc8b6180491edd215
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1899728
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 075cc4c355a64c7d053bd4249eca2dc9a8d29a90
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Nov 7 07:01:31 2019 +0000

    Roll third_party/SwiftShader 88264e3e188d..27a3d31d7a9d (1 commits)
    
    https://swiftshader.googlesource.com/SwiftShader.git/+log/88264e3e188d..27a3d31d7a9d
    
    git log 88264e3e188d..27a3d31d7a9d --date=short --no-merges --format='%ad %ae %s'
    2019-11-06 jonahr@google.com Fix issues presenting MetalSurfaces
    
    Created with:
      gclient setdep -r third_party/SwiftShader@27a3d31d7a9d
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/swiftshader-angle-autoroll
    Please CC jonahr@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=jonahr@google.com
    Change-Id: I6ca25951e73f298519756654d250524ea23a4b61
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1903408
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 266e4e05a88c3591dd92025e97361ea4a4849713
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Nov 7 07:01:25 2019 +0000

    Roll third_party/spirv-tools/src d9fbf0234869..dc59b4b075e9 (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/d9fbf0234869..dc59b4b075e9
    
    
    Created with:
      gclient setdep -r third_party/spirv-tools/src@dc59b4b075e9
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC jonahr@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=jonahr@google.com
    Change-Id: If778c8f30ee5cfd9b94216905df566505511cef7
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1902367
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 8542baee0645c9f1787c2412690209e19d2c1b0e
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Nov 7 07:01:28 2019 +0000

    Roll third_party/glslang/src 5d0e01d9e7f9..e471df3c9154 (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/5d0e01d9e7f9..e471df3c9154
    
    
    Created with:
      gclient setdep -r third_party/glslang/src@e471df3c9154
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/glslang-angle-autoroll
    Please CC jonahr@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=jonahr@google.com
    Change-Id: I71df38874026822623509b2bbfff0714ef804326
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1902368
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit cc0919dcb64b3129dbe36d31cd1b411c90c1803a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 6 16:51:53 2019 -0500

    Capture/Replay: Fix VertexAttribType BYTE output.
    
    Was mistakenly outputting UNSIGNED_BYTE. Caused incorrect rendering in
    the T-Rex replay.
    
    Bug: angleproject:3611
    Change-Id: I91c91cb8b35f5f56cb4cce5b6893cef0fdbf71d8
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1902187
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 16da95155a16f2227bcbab094eba13c1fe2a0f41
Author: Tobin Ehlis <tobine@google.com>
Date:   Mon Nov 4 11:19:14 2019 -0700

    Vulkan:ImageHelper read combined DS textures
    
    Update ImageHelper to be able to copy both the depth and stencil
    aspects of a DS image to a buffer. The aspects are copied separately
    with the depth data preceding the stencil data.
    
    This allows dEQP-GLES31.functional.stencil_texturing.misc.base_level
    test to pass. Added exception for ANDROID VULKAN where test still
    fails and new tracking bug (4080) for this case.
    
    Bug: angleproject:3949
    Bug: angleproject:4080
    Change-Id: Ib6104d7fa9f516154131f3e82161078ba216cfe1
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1897649
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Tobin Ehlis <tobine@google.com>

commit 322220a0b2055d5460c0176ed83c09914e5f459c
Author: Tim Van Patten <timvp@google.com>
Date:   Tue Nov 5 09:51:43 2019 -0700

    Vulkan: Ignore VK_INCOMPLETE from vkGetPipelineCacheData
    
    When getting the data store from a pipeline cache, we do the following
    sequence:
    
    1.) Query the amount of data to get.
    2.) Create a buffer to hold that data.
    3.) Request that amount of pipeline cache data.
    
    This typically works without errors, but we have seen cases where the
    amount of pipeline cache data changes between steps (1) and (3). This
    leads to the driver returning VK_INCOMPLETE because we requested a
    different amount of data than the driver currently has (either too much
    or too little). However, getting at least the pipeline cache header is
    all that's required, so this isn't necessarily an error:
    
    From the Vulkan spec:
    > If pDataSize is less than the maximum size that can be retrieved by
    the pipeline cache, at most pDataSize bytes will be written to
    pData, and vkGetPipelineCacheData will return VK_INCOMPLETE. Any
    data written to pData is valid and can be provided as the
    pInitialData member of the VkPipelineCacheCreateInfo structure
    passed to vkCreatePipelineCache.
    
    This change will update ANGLE to ignore VK_INCOMPLETE, rather than
    treating it as an error.
    
    Bug: angleproject:3988
    Test: Android dEQP-GLES2.*
    Change-Id: I6518d7cb00c26ae403b58aafa86a600fa7a8504a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1900009
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Tim Van Patten <timvp@google.com>

commit 6072d056a7cbed1815c1e9e9515b1edc3d2237f1
Author: Tobin Ehlis <tobine@google.com>
Date:   Tue Nov 5 10:26:12 2019 -0700

    Vulkan:Ignore layer warnings about provoking vtx ext
    
    We're temporarily using a pre-release version of the provoking vertex
    vulkan extension that's causing the layers to complain about unknown
    structs. I already skipped two warnings, but missed this one so adding
    it. This will temporarily disable the warning until the extension lands
    in the header.
    
    Bug: angleproject:4063
    Change-Id: Ide7b0b068fca6ea4b3cd60bce35fb56f431e4739
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1900014
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Tobin Ehlis <tobine@google.com>

commit f7b3a2ac776872f59e9bc8aa0ce76c0693a0eb27
Author: shrekshao <shrekshao@google.com>
Date:   Mon Nov 4 15:51:51 2019 -0800

    Fix d3d9 intel gpu fail to create image surface issue
    
    Set allowClearForRobustResourceInit to true on D3D9 backend,
    which fixes clients report issues where unity web app throws
    `Fail to create image surface` error on integrated-intel gpu
    
    Bug: chromium:1011627, chromium:1017076
    Change-Id: I733434123a8c34671b1a33b87017367baec5623c
    TBR=geofflang@chromium.org
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1898701
    Reviewed-by: Shrek Shao <shrekshao@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 19dd51b005fe2663fb2f8190c27aa38e590f76d6
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Nov 4 11:28:19 2019 +0000

    GL: Expose PBO extensions
    
    Ensure WebGLCompatibilityTest.EnablePixelBufferObjectExtensions functions
    in surfaceless mode by creating a framebuffer to do the test glReadPixels
    from.
    
    BUG=angleproject:4079
    
    Change-Id: I109b3cdeb85625a6a97832ecf8130d53a4074af9
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1893058
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit f8b5a4c8f62f7af54373a2003892123ac4d92187
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Nov 6 07:01:24 2019 +0000

    Roll third_party/spirv-tools/src e0d5544c9864..d9fbf0234869 (3 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/e0d5544c9864..d9fbf0234869
    
    
    Created with:
      gclient setdep -r third_party/spirv-tools/src@d9fbf0234869
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC jonahr@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=jonahr@google.com
    Change-Id: Ice35b534d9ad4d77b3ef25c2ae14bf2bc44b55be
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1899844
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit aae71bda01a7105c410477d68510e7e52bf96771
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Nov 6 07:01:30 2019 +0000

    Roll third_party/SwiftShader aaa64b76c0b4..88264e3e188d (3 commits)
    
    https://swiftshader.googlesource.com/SwiftShader.git/+log/aaa64b76c0b4..88264e3e188d
    
    git log aaa64b76c0b4..88264e3e188d --date=short --no-merges --format='%ad %ae %s'
    2019-11-06 swiftshader.regress@gmail.com Regres: Update test lists @ 215bc794
    2019-11-05 jonahr@google.com Add VK_EXT_metal_surface extension support
    2019-11-05 capn@google.com Update Vulkan CTS testlist
    
    Created with:
      gclient setdep -r third_party/SwiftShader@88264e3e188d
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/swiftshader-angle-autoroll
    Please CC jonahr@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=jonahr@google.com
    Change-Id: I4e8fae15600166d5f268da1ee513ded8a45b2c52
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1899845
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 1d09b983031b59967c201fdaff1735b830657ccd
Author: Alexis Hetu <sugoi@google.com>
Date:   Tue Nov 5 16:22:04 2019 -0500

    Vulkan: Fix memory corruption crash
    
    When VK_EXT_LINE_RASTERIZATION or VK_EXT_PROVOKING_VERTEX is present,
    createInfo's pNext pointer is set, which caused pEnabledFeatures to
    not be set, which ended up causing memory corruption issues.
    
    This change was made to comply with the Vulkan spec, specifically:
    "If the pNext chain includes a VkPhysicalDeviceFeatures2 structure,
     then pEnabledFeatures must be NULL"
    
    Since the VkPhysicalDeviceFeatures2 structure is only added to the
    pNext member of the createInfo structure in the if statement above,
    restoring the else statement solves this issue.
    
    Bug: angleproject:4060
    Change-Id: I0688c4297f167fa28e110cd6ee11a11b95282493
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1899731
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 1bae56151db3158c03fb9d21302975be19a68a2e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Nov 2 09:58:51 2019 -0400

    Remove some ignores from export_targets.py.
    
    These were fixed upstream.
    
    Bug: angleproject:4077
    Change-Id: I656616a111e1703f8a910c27e6be3ec3e918f6ba
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1899726
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit ac36a55cc2deadc3c77eebcf55f05241b1667bbe
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Nov 5 08:27:28 2019 +0000

    Roll third_party/glslang/src 48233ad3d45b..5d0e01d9e7f9 (7 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/48233ad3d45b..5d0e01d9e7f9
    
    
    Created with:
      gclient setdep -r third_party/glslang/src@5d0e01d9e7f9
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/glslang-angle-autoroll
    Please CC jonahr@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=jonahr@google.com
    Change-Id: If9ae34dc69395f1497c884285791cff87e0d496e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1899361
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 9649b725a16e4b30cebadc1778f8aa42b65605b1
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Nov 5 07:01:24 2019 +0000

    Roll third_party/spirv-tools/src f1e5cd73f658..e0d5544c9864 (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/f1e5cd73f658..e0d5544c9864
    
    
    Created with:
      gclient setdep -r third_party/spirv-tools/src@e0d5544c9864
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC jonahr@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=jonahr@google.com
    Change-Id: Iabc14c43ed42e7fe4aac37269808f412cb194baa
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1899209
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit df415528411f97454e765ff6a83ed1cbc90a7d13
Author: Sunny Sun <sunny.sun@arm.com>
Date:   Thu Oct 24 09:22:39 2019 +0800

    Vulkan: Enable VK_IMAGE_USAGE_STORAGE_BIT when it is needed
    
    VK_IMAGE_USAGE_STORAGE_BIT is always enabled for vkImage, this
    increases memory bandwidth in some platforms.
    This CL changes the behavior to enable VK_IMAGE_USAGE_STORAGE_BIT
    when necessary.
    
    Bug: angleproject:3904
    Test: angle_end2end_tests
    Test: angle_deqp_gles2_tests
    Change-Id: I8ffd37efa8d99d04328fa6232de0755be3273d9e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1857799
    Commit-Queue: Sunny Sun <sunny.sun@arm.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 67527cb4529351b719ad346cb825e47838d51f11
Author: Josh Matthews <mrlachatte@gmail.com>
Date:   Fri Oct 25 13:47:55 2019 -0400

    Fix compilation on UWP targets.
    
    Bug: angleproject:4053
    Change-Id: Iaa358c8ce61d0ebaae11672bfb6dac2d3e847be1
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1881343
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c898ec1a5e2fb2abd2fcb63b2f1f2e3cba151ec2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Nov 4 15:20:18 2019 -0500

    Add EGL GGP extensions.
    
    This CL adds two new extensions:
    
     * EGL_ANGLE_ggp_stream_descriptor:
        Introduces a new attribute to CreateWindowSurface. Allows the app
        to pass in a stream descriptor to VkCreateSurfaceKHR.
        Mirrors VK_GGP_stream_descriptor_surface.
    
     * EGL_ANGLE_swap_with_frame_token:
        Introduces a new function 'eglSwapBuffersWithFrameTokenANGLE'. This
        allows the app to pass a GGP frame token down to vkQueuePresentKHR.
        Mirrors VK_GGP_frame_token.
    
    Bug: angleproject:4078
    Change-Id: I4313ac4c264e68999905049f661bc64b44f72fab
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1897315
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>

commit 71b0f0b588d64b5be77c6bb5f2e9cac6990a72b1
Author: Jeff Vigil <j.vigil@samsung.com>
Date:   Fri Oct 25 09:53:06 2019 -0600

    EGL: Implement EGL_KHR_surfaceless_context
    
    Add extension string to registry
    Add extension flag to EGL and Vulkan Displays
    
    Bug: angleproject:3960
    Test: dEQP-EGL.functional.surfaceless_context.*
          angle_end2end_tests --gtest_filter=EGLSurfacelessContextTest*
    Change-Id: Id17916f1f636454af395b7bc92892dcf8fc93e54
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1885075
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 5cbb77739e8d4743e426735c38405c95ff49b4c1
Author: Tim Van Patten <timvp@google.com>
Date:   Mon Nov 4 11:05:14 2019 -0700

    Vulkan: Increase Fence Wait Time
    
    Our current fence wait time is triggering timeouts while running with
    SwiftShader. However, it's possible for a 'real' application to hit a
    timeout also with a large enough workload. This change increases the
    timeout to something large enough for us to avoid most timeouts and
    instead rely on the OS's detection and recovery mechanism (e.g., Windows
    TDR).
    
    We will continue to investigate improving ANGLE's command timeout
    handling mechanism.
    
    Bug: angleproject:4043
    Test: CQ
    Change-Id: I3a32174d1d794806fef1971806797683b6b3f0b2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1897648
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 28b0c453174a7e40bd8e3c5cf22b841cc75aab5d
Author: Jeff Vigil <j.vigil@samsung.com>
Date:   Fri Oct 11 15:22:02 2019 -0600

    New end2end test to print EGL information
    
    Print out EGL vendor, version, clients, clent extensions, display extensions
    Print GL vendor, version, renderer, shader, extensions
    Prints each EGL config ID and its attributes
    Just Vulkan based information. D3D and GL can be enabled.
    
    Bug: angleproject:4039
    Test: angle_end2end_tests --gtest_filter=EGLPrintEGLinfoTest*
    Change-Id: I103a22eacb2eb14547d7908f93eeeca5434c5e66
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1879492
    Commit-Queue: Jeff Vigil <j.vigil@samsung.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 0c541c30cf3d0e13c74fffa65d618fd7f2c184f7
Author: Tim Van Patten <timvp@google.com>
Date:   Mon Nov 4 10:17:41 2019 -0700

    Fix Platform methods list
    
    Functions have to be added to the end of the list to prevent breaking
    EGL on Android.
    
    Bug: angleproject:2634
    Change-Id: I19705144d8ab873c13891038f840b9fc96a79103
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1897646
    Commit-Queue: Tim Van Patten <timvp@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 5883a44b60c6362436b823d8d986e27e3b13ea3a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Nov 2 19:34:47 2019 -0400

    Vulkan: Don't pass width/height to Surface constructors.
    
    These values are accessible already from the Surface state. Sometimes
    they don't apply (e.g. GGP). Remove them to keep the code clearer.
    Updates the offscreen surface constructor to pull width and height from
    the attributes map instead of using parameters. Otherwise they weren't
    used.
    
    Refactoring change only.
    
    Bug: angleproject:4078
    Change-Id: I9e49eadc7116562f62bd8d11342d6b8835376719
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1895762
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 2f6a9afd1eff628ae92afd5fdda630a7efda8d1b
Author: Tobin Ehlis <tobine@google.com>
Date:   Fri Nov 1 15:06:58 2019 -0600

    Vulkan:Ignore layer warnings about provoking vtx ext
    
    We're temporarily using a pre-release version of the provoking vertex
    vulkan extension that's causing the layers to complain about unknown
    structs. Temporarily disable these warnings until the extension lands
    in the header.
    
    Bug: angleproject:4063
    Change-Id: Ia441ddef21bfcca9bb1b46f25a009eb469e8f1fc
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1895326
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Tobin Ehlis <tobine@google.com>

commit b9ddfd577a20706be8caf27e9abfabd59c1faa81
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Nov 4 07:01:31 2019 +0000

    Roll third_party/SwiftShader fda994c63075..aaa64b76c0b4 (8 commits)
    
    https://swiftshader.googlesource.com/SwiftShader.git/+log/fda994c63075..aaa64b76c0b4
    
    git log fda994c63075..aaa64b76c0b4 --date=short --no-merges --format='%ad %ae %s'
    2019-11-01 amaiorano@google.com Modify Blitter to implement FunctionT
    2019-11-01 amaiorano@google.com Modify SetupRoutine to implement FunctionT
    2019-11-01 amaiorano@google.com Modify PixelRoutine to implement FunctionT
    2019-11-01 amaiorano@google.com Modify VertexRoutine to implement FunctionT
    2019-11-01 amaiorano@google.com ReactorUnitTests: use FunctionT
    2019-11-01 amaiorano@google.com Reactor: add type-safe FunctionT and RoutineT
    2019-11-01 natsu@google.com Allow concurrent eglSwapBuffers() with same display but different surfaces
    2019-11-01 natsu@google.com Move egl locking code from main.cpp to libEGL.cpp
    
    Created with:
      gclient setdep -r third_party/SwiftShader@aaa64b76c0b4
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/swiftshader-angle-autoroll
    Please CC ynovikov@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=ynovikov@google.com
    Change-Id: I3f139b83f7f77beb913ee2dca988d7cfe98a01ef
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1896150
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit ef323f4d43a13d17cb68144c0499866e6730f9eb
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Nov 4 07:01:24 2019 +0000

    Roll third_party/spirv-tools/src 618ee509421f..f1e5cd73f658 (3 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/618ee509421f..f1e5cd73f658
    
    
    Created with:
      gclient setdep -r third_party/spirv-tools/src@f1e5cd73f658
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC ynovikov@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=ynovikov@google.com
    Change-Id: I810ffee83153c8dd880d2e3a1fa4db2b23092f8e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1896148
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 6c7208f93d6ecda3ad2515ea02e3dd5985a9dafe
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 31 14:33:27 2019 -0400

    Capture/Replay: Implement mid-execution replay.
    
    Mid-execution replay starts the replay from a specific start frame
    instead of frame 0. Integration tests will then run between the start
    and end frames. This lets us make much smaller reproduction cases from
    large benchmarks or applications.
    
    We implement mid-execution replay via a cpp "Setup" function. The
    replay test will run the setup function before the starting frame. Test
    execution proceeds normally after setup.
    
    Currently we do not implement mid-execution capture. We run capture on
    all frames. Including frames before the start frame. We do this to
    intercept compiled shaders and programs for easier caching. This could
    be changed in the future to also start capture mid-execution. Mid-
    execution capture might require using ProgramBinary calls to capture
    shader and program data.
    
    Many captures are unimplemented. Several comments indicate missing
    functionality. There's a lot we can add as we explore replaying more
    complex applications and higher GL versions. We will also need some
    kind of state reset functionality so we can run the replay in a loop.
    
    Bug: angleproject:3611
    Change-Id: I51841fc1a64e3622c34e49c85ed8919a9a7c0b20
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1689329
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>

commit b68a279ce188cc0f3920276afbd610c6ec4f7a84
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 31 17:47:59 2019 -0400

    Capture/Replay: Capture GetFloatv params.
    
    Was used in the mip map ANGLE sample. Add a new helper function that we
    can use for multiple captures.
    
    Bug: angleproject:3611
    Change-Id: I430ce0089df4ce81ba2ca2ad64c0c206b59397b2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1894144
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tim Van Patten <timvp@google.com>

commit a576e0d41cf91051d4e092566df8eb3e396d883c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Nov 2 17:23:34 2019 -0400

    Capture/Replay: Only convert GLES 2 GLenums to string.
    
    Previously the enum conversion script would convert all enums in gl.xml
    including those for desktop GL. When replaying from a CPP file we would
    sometimes try to use enum values that only are exposed in desktop GL.
    
    One example is GL_TEXTURE_MAX_ANISOTROPY/GL_TEXTURE_MAX_ANISOTROPY_EXT.
    GLES only has the "EXT" version. Desktop uses the core version. This
    was breaking a replay sample that used the EXT enum.
    
    Fix this by a) including the anisotropy extension in registry_xml and
    b) updating the enum script to only parse GLES 2 entries. In the future
    we could improve the situation by auto-generating a header that defines
    exactly the enums we need for ANGLE.
    
    Also updates the enum helper to use uppercase enum values.
    
    Bug: angleproject:3611
    Change-Id: I1e01608bc8af282dc078d5a19ac4eba659c96b57
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1894143
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tim Van Patten <timvp@google.com>

commit 95f5806e98307acb12365c29504286fdfb0673c8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Nov 2 17:19:43 2019 -0400

    Delete stale unused proc table functions.
    
    These were orphaned and unused after we shifted the proc table
    generator to split between WGL and EGL.
    
    Bug: angleproject:3533
    Change-Id: I0bf6df438ba431a0cac0a1f89eabc13c67a0f676
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1895760
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 422ebad20adb41017a351c9bb229c0ddcf13c918
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 31 16:02:48 2019 -0400

    Fix ANGLE_get_image cube map handling.
    
    Was missing a layer parameter. Also includes a regression test.
    
    Also updates incomplete texture handling in Vulkan. Will try to sync
    the texture storage if the texture has never been used.
    
    Bug: angleproject:3944
    Change-Id: I5fcd6931f9cb9e008faaeaecb1f6df275a2af73f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1894142
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tim Van Patten <timvp@google.com>

commit 35f74cd6f8398ebee94aeaa225b197b5bb850588
Author: shrekshao <shrekshao@google.com>
Date:   Thu Oct 31 16:47:10 2019 -0700

    Reorder BaseVertexBaseInstance draw calls parameters
    
    To match the parameter order of MultiDraw* calls.
    And potentially expose in chromium directly with ANGLE_ prefix.
    
    Bug: angleproject:3402, chromium:891861
    Change-Id: I19548f4c3c7faa422e43905850b218039de43015
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1894241
    Commit-Queue: Shrek Shao <shrekshao@google.com>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit fe26bae45243f7265d992eb1fdb6a4f812ab0b5d
Author: Le Quyen <lehoangq@gmail.com>
Date:   Tue Oct 29 18:38:53 2019 +0800

    Metal backend implementation pt 2
    
    This is without Metal specific shader translator implemented yet.
    
    Bug: angleproject:2634
    Change-Id: I95d589442251c9ba111bd05a2dc379a36739046c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1855069
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 076fae01016528aa58a8af7ea817a922d297cc53
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Nov 1 07:01:28 2019 +0000

    Roll third_party/glslang/src b131630e7c74..48233ad3d45b (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/b131630e7c74..48233ad3d45b
    
    
    Created with:
      gclient setdep -r third_party/glslang/src@48233ad3d45b
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/glslang-angle-autoroll
    Please CC ynovikov@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=ynovikov@google.com
    Change-Id: I5897793dd12484322c1361965335abe1acdb6169
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1895072
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit e96039218e9d83a904fb8b5588ee1ab984bc8e17
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 31 14:33:26 2019 -0400

    Capture/Replay: Correct a few GLenum replay issues.
    
    This change refactors the GLenum utils into a non-autogenerated and an
    autogenerated portion. That makes it easier to modify the non-auto-
    generated bits to properly output GLenums even when the gl.xml data
    isn't totally correct. For instance, the "GetPName" group was missing
    a bunch of queries. Instead of trying to fix the GL we can simply fall
    back to querying the "Default" group when we return invalid enum.
    
    Also corrects a missing "0x" on hex output.
    
    Also allows the capture/replay sample to specify the correct binary
    data directory when testing a replay.
    
    Bug: angleproject:3611
    Change-Id: I8e4c690b2850bb157a8cde8b057b20603e4b177d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1891008
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit ba65c156cf76e73ddbb405a26f299cf079af0f92
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 31 10:52:24 2019 -0400

    Capture/Replay: Implement GetFramebufferParameter capture.
    
    This is necessary for the T-Rex benchmark.
    
    Bug: angleproject:3611
    Change-Id: I4573f8e86356272364baaccc678494707d2eebc0
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1893571
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 3ff097ff2055888d5295378eac43925760442914
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 31 10:42:00 2019 -0400

    Win: Add ANGLE_WAIT_FOR_DEBUGGER option.
    
    Setting this environment variable will make ANGLE pop up a dialog. The
    dev can then attach a debugger to this dialog. Only implemented on
    Windows currently.
    
    This option is only available when ASSERTs are enabled in libGLESv2.
    
    The code is based on SwiftShader's implementation of WaitForDebugger:
    https://cs.chromium.org/chromium/src/third_party/swiftshader/src/Vulkan/main.cpp
    
    Bug: angleproject:4072
    Change-Id: I160cb91a423a6d4517f067f2a6f3a2d953b26505
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1892173
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 5e6be1d627e9bb5e430b7fa9afd12c7e647a2ada
Author: Alexis Hetu <sugoi@google.com>
Date:   Fri Oct 11 11:29:22 2019 -0400

    Provoking vertex feature support enabled
    
    Added support in ANGLE for the provoking vertex feature,
    which allows to choose the provoking vertex convention
    (first or last) for flat shading.
    
    Just copying the vk_ext_provoking_vertex.h file into ANGLE src tree for now.
    When the extension lands in the vulkan header we'll migrate to that and remove this
    file from ANGLE.
    
    With this, all these tests pass with SwANGLE:
    dEQP-GLES3.functional.fragment_out.* (fixes 526 failures)
    dEQP-GLES3.functional.rasterization.flatshading.* (fixes 6 failures)
    dEQP-GLES3.functional.shaders.linkage.varying.* (already passing before, still passing)
    
    Bug: angleproject:3430
    Bug: angleproject:3677
    Bug: angleproject:4063
    Change-Id: Icc361f567072c12472398e37a94a61d7f95007ad
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1855681
    Commit-Queue: Alexis Hétu <sugoi@chromium.org>
    Reviewed-by: Alexis Hétu <sugoi@chromium.org>

commit 133be10311f8fb318e14b9fb160d2eca112ce65c
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Oct 31 07:01:30 2019 +0000

    Roll third_party/SwiftShader e1cda3916cee..fda994c63075 (2 commits)
    
    https://swiftshader.googlesource.com/SwiftShader.git/+log/e1cda3916cee..fda994c63075
    
    git log e1cda3916cee..fda994c63075 --date=short --no-merges --format='%ad %ae %s'
    2019-10-30 digit@google.com [vulkan] Implement external semaphore support for Fuchsia
    2019-10-30 digit@google.com Vulkan headers: restore vulkan_fuchsia_extras.h include.
    
    Created with:
      gclient setdep -r third_party/SwiftShader@fda994c63075
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/swiftshader-angle-autoroll
    Please CC ynovikov@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=ynovikov@google.com
    Change-Id: Ifab83c52fc2d7b3be486e0befc5918092526f198
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1892556
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 6946043676e7084993ce1e85be6ace57c7c07604
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Oct 31 07:01:24 2019 +0000

    Roll third_party/spirv-tools/src 7e2cba6a5241..618ee509421f (3 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/7e2cba6a5241..618ee509421f
    
    
    Created with:
      gclient setdep -r third_party/spirv-tools/src@618ee509421f
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC ynovikov@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=ynovikov@google.com
    Change-Id: I66bd4b119b577a194fc3e10e21c14ab15c0d4808
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1892555
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 841b01678c49feae44fea7b8b349bc658d994a6c
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Wed Oct 30 18:08:53 2019 -0400

    Suppress flaky dEQP-GLES3 test on Win7 NVIDIA D3D11
    
    dEQP-GLES3.functional.rasterization.flatshading.triangles
    
    Bug: angleproject:4070
    Change-Id: I8bdba9d1b9d3c04df42a6c90fa106cf7e8b1a018
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1890729
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 5da6f444eff622be6be0636c4b8a889c9ecfb56b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Oct 30 12:54:49 2019 -0400

    Fix error string commas.
    
    For example: 1, 2, 3, 4 became 1 = 2 = 3 = 4.
    
    These were acidentally changed to equals signs way back in this CL:
    
    610640fabee9 "Don't use gl::Error in validation."
    
    Bug: angleproject:4067
    Change-Id: I05d1c5ecc5f6fb7636f81ca59d05928dd940bf8d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1890631
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 924dad3b22c29f0e76478d6a3ca97a634f0f5487
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Oct 30 07:01:34 2019 +0000

    Roll third_party/spirv-tools/src 42f885238114..7e2cba6a5241 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/42f885238114..7e2cba6a5241
    
    
    Created with:
      gclient setdep -r third_party/spirv-tools/src@7e2cba6a5241
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC ynovikov@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=ynovikov@google.com
    Change-Id: I6e83a7ad7fa1c53ecf862cd0f359e7589e6e5ab0
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1889339
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 07be79e14506bec41b7e02ae5d8e66de75b41b15
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Oct 30 07:01:48 2019 +0000

    Roll third_party/SwiftShader f8f6103eb89f..e1cda3916cee (2 commits)
    
    https://swiftshader.googlesource.com/SwiftShader.git/+log/f8f6103eb89f..e1cda3916cee
    
    git log f8f6103eb89f..e1cda3916cee --date=short --no-merges --format='%ad %ae %s'
    2019-10-29 sugoi@google.com vkGetPhysicalDeviceFeatures2 fix
    2019-10-29 sugoi@google.com Provoking vertex fixes
    
    Created with:
      gclient setdep -r third_party/SwiftShader@e1cda3916cee
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/swiftshader-angle-autoroll
    Please CC ynovikov@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: angleproject:3677,angleproject:3430,angleproject:3677,angleproject:3430
    TBR=ynovikov@google.com
    Change-Id: I9b60af8c54c22dfb34f4fec6a06adaa41eed186c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1889340
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit bb35bb4e53795964f32eee820ed823bc11ddbd9b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Oct 29 17:17:04 2019 -0400

    Vulkan: Implement simple case ANGLE_get_image.
    
    A couple cases are left unimplemented:
    
    Incomplete/unused Textures. This leads to a slightly more tricky
    implementation. Since we need to read back from the staging buffer
    we will need to flush the Image contents to a temporary buffer.
    
    Depth/stencil readback. Requires a more complex pixel packing
    step.
    
    3D/Cube/2D Array readback. Also requires a more complex packing
    step.
    
    Bug: angleproject:3944
    Change-Id: Ic5d9a606177ba7e3e5ab945feb5f555afa11741f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1879964
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>

commit ec5c3d5f66657aaad8b690e95778a4b8c7265888
Author: Tobin Ehlis <tobine@google.com>
Date:   Mon Oct 28 13:46:37 2019 -0600

    Fix Renderbuffer support for unsized DS formats
    
    This extends a previous fix for TextureAttachment support to also apply
    to Renderbuffer. Unsized DS formats should not pick up support from ES3
    automatically.
    Also unsized DEPTH COMPONENT textures should not be allowed as renderbuffer
    without also having support for GL_ANGLE_depth_texture or
    GL_OES_depth_texture extensions.
    
    The DS sections of format tables were also refactored so that the columns
    align again.
    
    Bug: angleproject:3952
    Change-Id: I034b6bc95091f345b7e543d7454e04554ad8eb79
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1884421
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Tobin Ehlis <tobine@google.com>

commit f8a8ac0cf70698c1c26a14bfbed26c5c785180a4
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Tue Oct 29 11:59:22 2019 -0600

    Update docs for recent dEQP / VK-GL-CTS update
    
    Location of dEQP / VK-GL-CTS has moved, update doc/dEQP.md.
    
    Bug: angleproject:3914
    Change-Id: I705922b7292ffb60954042edae2514d515e68b44
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1887678
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>

commit 2c703b1a991b17e34e59c927270c6d2e62a339ca
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Thu Oct 24 17:53:24 2019 -0600

    Print the testConfig in dEQP tests.
    
    This will help debug failures on the bots that could be caused by the
    wrong test config being used. As a side effect this changes the
    condition array of GPUTestConfig to use an angle::BitSetT
    
    BUG=chromium:997351
    
    Change-Id: If742cd3d416694d5df6c3e6c1d722a24f487a960
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1879585
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Ian Elliott <ianelliott@google.com>

commit 88a74e59f04ca700b70e4297b781d4dc4979f3ea
Author: Ian Elliott <ianelliott@google.com>
Date:   Tue Oct 29 09:48:18 2019 -0600

    Vulkan Android: Remove support for EGLConfig's with GL_RGB10_A2 & GL_RGBA16F
    
    These were recently reverted from the Android Vulkan loader, and must
    also be reverted from ANGLE.  When the Android Vulkan loader adds
    back support, it will be conditional based on whether the device
    supports those formats.  Therefore, at that time, ANGLE will need to
    do the same.
    
    Bug: http://anglebug.com/4019
    Bug: http://anglebug.com/4061
    Bug: http://anglebug.com/4062
    Change-Id: I0b749dc8be0439e6f3b8eeeb51716d4185e9b021
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1887393
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit febdcf511c0ec497b8006c6ba010d7bb23432bfc
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Mon Oct 28 10:54:03 2019 -0600

    Roll dEQP to VK-GL-CTS
    
    Switch from Android dEQP to Khronos GL CTS.
    We now mirror from the public Khronos Github
    github.com/KhronosGroup/VK-GL-CTS
    This includes a number of text fixes for GLES 2.0 conformance.
    
    Bug: angleproject:3914
    Bug: angleproject:1656
    Change-Id: I4cccd33e47752742cb989127c5883c0afd075b9e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1879579
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>

commit 287b0a670fbf0c61c3e32c98a7b4678f218a841a
Author: Tim Van Patten <timvp@google.com>
Date:   Thu Oct 24 17:21:40 2019 -0600

    Vulkan: Enable forceOldRewriteStructSamplers for all Android ICDs
    
    Both Qualcomm and SwS require forceOldRewriteStructSamplers to be
    enabled, so this change will enable that feature for all of Android.
    
    We aren't sure yet why this is required for SwS also, but that will be
    chased as part of issue 2703.
    
    Bug: angleproject:4045
    Change-Id: I83b2ac18e0111ed35438ffd457bfe120911a7767
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1879711
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit dc883a948e710d3cd15bc9def6e195a7441d43f5
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Oct 29 07:01:34 2019 +0000

    Roll third_party/spirv-tools/src ec12de913124..42f885238114 (3 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/ec12de913124..42f885238114
    
    
    Created with:
      gclient setdep -r third_party/spirv-tools/src@42f885238114
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC ynovikov@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=ynovikov@google.com
    Change-Id: I4d367272caee2c40d00237049e7af1b0b5db7bc2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1885999
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit dca568a3575f4515ef06aba0eb1eb4d247417348
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Oct 29 07:01:48 2019 +0000

    Roll third_party/SwiftShader 1737a30e3e34..f8f6103eb89f (2 commits)
    
    https://swiftshader.googlesource.com/SwiftShader.git/+log/1737a30e3e34..f8f6103eb89f
    
    git log 1737a30e3e34..f8f6103eb89f --date=short --no-merges --format='%ad %ae %s'
    2019-10-28 sugoi@google.com VK_EXT_provoking_vertex support
    2019-10-28 jonahr@google.com Fix vulkan builds in ANGLE on MacOS
    
    Created with:
      gclient setdep -r third_party/SwiftShader@f8f6103eb89f
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/swiftshader-angle-autoroll
    Please CC ynovikov@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: angleproject:3677,angleproject:3430
    TBR=ynovikov@google.com
    Change-Id: Ib298b4e4a21eeadaa876f442fc2c4408b44f3b23
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1886000
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit e78527989c4c8e2b517a77647843fafeb74e283a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 28 13:51:43 2019 -0400

    Vulkan: Clean up redundant vk:: prefixes.
    
    Were in a lot of places in vk_helpers.
    
    Bug: angleproject:3944
    Change-Id: I8635400d6debb7ed92e3cf84993773ca9ed74285
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1879963
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Reviewed-by: Tim Van Patten <timvp@google.com>

commit 96ba0f12119a67f119c9acb6fc1ca8bce113a1ad
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 28 13:51:42 2019 -0400

    Vulkan: Move readPixels logic to ImageHelper.
    
    This logic will be shared with ANGLE_get_image. Cleans up some of the
    graph access logic so it can work easily with TextureVk/RenderbufferVk.
    
    Bug: angleproject:3944
    Change-Id: If069528f27b2c291d52de892c707562875b95227
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1879962
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>

commit 6f23b4b7038e0b5baa75db310c1988a7b85f1a3a
Author: Miko Mynttinen <mmynttinen@mozilla.com>
Date:   Tue Sep 3 20:04:28 2019 +0200

    Fix MinGW include: s/VersionHelpers.h/versionhelpers.h/
    
    Bug: angleproject:4050
    Change-Id: I7d6ac948479b499df4fb4f734fc0d9abd40bb455
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1880451
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit dfc20daf5ada92fd5433d73b3cb65153807b241d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 28 13:51:42 2019 -0400

    Plumb more logic for ANGLE_get_image.
    
    Also implements and tests validation / negative API.
    
    Bug: angleproject:3944
    Change-Id: I3385a4255f4fab6a12eee2abfa5ffcce2107359a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1879961
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>

commit 2f71802b4404331ecb8f86d6691097479e6b29ae
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 28 11:48:46 2019 -0400

    GN: Don't expose glslang when unused.
    
    The ninja generation step could get confused if we try to build the
    glslang wrapper project on platforms that don't support glslang. Turn
    it off if the Metal / Vulkan back-ends are not enabled.
    
    Bug: angleproject:4053
    Change-Id: If4dd2856681f18f4f45e952bf88e33371b9a1e3c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1884010
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a12b303296045fd7a8bc5f04aec92c50ed9c088e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 28 12:55:49 2019 -0400

    Don't cc angle-team on Chromium DEPS rolls.
    
    Leave a TODO to use the wrangler email alias when Chrome's rota-ng
    tool is updated.
    
    Bug: angleproject:4059
    Change-Id: Ide7538b4762ea3ec0f21237e1f2af7dba5023301
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1884012
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 0964988b77ab20af3e42d9904d0ab1924fab48b4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Oct 26 19:47:41 2019 -0400

    Fixups to ANGLE_get_image boilerplate.
    
    - Remove level parameter from GetRenderbufferImage.
    - Add packed enum handling to GetTexImage.
    - Fix ext spec reference to table 8.4.
    
    Bug: angleproject:3944
    Change-Id: I8f67608396217aaddb789dd95d0f3e2378ce918d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1879960
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 225301d6dc53eb798622c86a272402de7f59f52f
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Oct 28 07:01:19 2019 +0000

    Roll third_party/SwiftShader f44f7c066a67..1737a30e3e34 (1 commits)
    
    https://swiftshader.googlesource.com/SwiftShader.git/+log/f44f7c066a67..1737a30e3e34
    
    git log f44f7c066a67..1737a30e3e34 --date=short --no-merges --format='%ad %ae %s'
    2019-10-25 sugoi@google.com Removed stencil reference from PixelProcessor::States
    
    Created with:
      gclient setdep -r third_party/SwiftShader@1737a30e3e34
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/swiftshader-angle-autoroll
    Please CC jonahr@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=jonahr@google.com
    Change-Id: I74de5492bf7d771d4d70f2ee91e8579b22b4cddd
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1883390
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 076f869ce5ac607e85201068d334ac3d8c49fe72
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Oct 28 07:01:23 2019 +0000

    Roll third_party/spirv-tools/src b34fa731931b..ec12de913124 (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/b34fa731931b..ec12de913124
    
    
    Created with:
      gclient setdep -r third_party/spirv-tools/src@ec12de913124
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC jonahr@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=jonahr@google.com
    Change-Id: I26ac305c6099059c7f1d5671fdd2b0aa419e8881
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1883391
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 95a736bd334711626a0af3d6ead3c4c789932aaf
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Oct 9 10:26:25 2019 -0400

    Reland "Add more test_utils functions."
    
    This is a reland of 5fcfcea4a9379633a83a67fc1d94938cb31f2a9c
    
    Re-land uses static linking with angle_util. The root cause
    of the CFI error wasn't solved. Static linking works around
    the problem by not using any export rules.
    
    Second re-land fixes missing imports for libEGL and libGLESv2
    static varieties.
    
    Original change's description:
    > Add more test_utils functions.
    >
    > Includes methods for creating temporary files, deleting files, and
    > reading files into a string. Also renames GetPathSeparator to mention
    > it's only used for environment variables. Includes a new virtual type
    > angle::Process that will be used to implement cross-platform async
    > Process launching for tests. Also includes a way to specify a custom
    > crash handler callback.
    >
    > Also adds a few unit tests for the new functionality. They are disabled
    > on Android because the functions are not needed by the new test runner.
    >
    > Bug: angleproject:3162
    > Change-Id: I3e2c2e9837608884c98379fa0f78c9ffbe158d73
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1821940
    > Commit-Queue: Jamie Madill <jmadill@chromium.org>
    > Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    
    Bug: chromium:1015810
    Bug: angleproject:3162
    Change-Id: I2a18b819b0f91df610ad12ffedea2b38349fe7cf
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1879859
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit e7c8e80dbb2eb3d5311bdda74e757dd12b80a8a0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Oct 26 08:16:12 2019 -0400

    Roll chromium_revision 60074bf9e0..5fe256ab5e (709436:709762)
    
    Change log: https://chromium.googlesource.com/chromium/src/+log/60074bf9e0..5fe256ab5e
    Full diff: https://chromium.googlesource.com/chromium/src/+/60074bf9e0..5fe256ab5e
    
    Changed dependencies
    * build: https://chromium.googlesource.com/chromium/src/build.git/+log/a193dcc697..258e22bc61
    * testing: https://chromium.googlesource.com/chromium/src/testing/+log/f712af4fd9..85152663b9
    * third_party/jsoncpp: https://chromium.googlesource.com/chromium/src/third_party/jsoncpp/+log/571788934b..1cfec065ed
    * third_party/yasm: https://chromium.googlesource.com/chromium/src/third_party/yasm/+log/cc10bc0f1d..02a8d2167f
    DEPS diff: https://chromium.googlesource.com/chromium/src/+/60074bf9e0..5fe256ab5e/DEPS
    
    No update to Clang.
    
    Also includes new DEPS for jsoncpp and yasm.
    
    TBR=jmadill@chromium.org,
    BUG=1017514
    
    Change-Id: I0f1998407f74521251d920d269ad2787e79fb57d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1882273
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 76763cb90a431b7fa3a9dcfefe6b71436a8e48a1
Author: Ian Elliott <ianelliott@google.com>
Date:   Fri Oct 25 11:09:27 2019 -0600

    SwiftShader: Update the expectations file according to latest testing
    
    Some tests fixed.  Others only fail on Android.
    
    Bug: angleproject:4016
    Bug: angleproject:4019
    Bug: angleproject:4045
    Change-Id: If3b915fdd1c54cefa17589f025ea8a93935377c4
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1880165
    Reviewed-by: Ian Elliott <ianelliott@google.com>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit 04ee27effffb1ac5a330e94a9edf3b51cb070b96
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 24 18:29:15 2019 -0400

    Capture/Replay: Add ANGLE_get_image extension.
    
    Will be used for mid-execution capture. Only has a
    stubbed-out implementation right now.
    
    Bug: angleproject:3944
    Change-Id: I6ddae07907ecbdbd3be9a5d2d3fcafeb425445e4
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1878888
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>

commit 003629a5172ae30476646cd56b0571a6a0f033aa
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Oct 25 15:24:20 2019 +0000

    Roll third_party/SwiftShader 883e817b14bf..f44f7c066a67 (4 commits)
    
    https://swiftshader.googlesource.com/SwiftShader.git/+log/883e817b14bf..f44f7c066a67
    
    git log 883e817b14bf..f44f7c066a67 --date=short --no-merges --format='%ad %ae %s'
    2019-10-25 amaiorano@google.com Fix LLVM7 partially initialized ManagedStatic
    2019-10-24 sugoi@google.com Fixed using an offset in Blitter::blitFromBuffer()
    2019-10-24 sugoi@google.com Fix stencil+MSAA
    2019-10-24 paulthomson@google.com Add LESS_DEBUG_INFO CMake option
    
    Created with:
      gclient setdep -r third_party/SwiftShader@f44f7c066a67
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/swiftshader-angle-autoroll
    Please CC jonahr@google.com,jmadill@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: angleproject:4037,angleproject:4013,angleproject:4044
    TBR=jonahr@google.com,jmadill@google.com
    Change-Id: If8150d05ff1e222c24c1f8dc09b99cbb42bffa10
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1880455
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 02c89327172a871e845ac3f84453fe9388ff1542
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 25 12:04:36 2019 -0400

    Capture/Replay: Fix capture build on Android.
    
    A compile error slipped in due to lack of test coverage.
    
    Bug: angleproject:3611
    Change-Id: Id34ce239f3913efb0ed1abab77321981419cab44
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1880160
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit adcda20c2ae708cfffbc60267ace78cb0c889ee0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 25 11:27:00 2019 -0400

    Update wrangling docs to link to SwiftShader roller.
    
    Bug: angleproject:1944
    Change-Id: I8eabf5e8ec5cd7bfeab4db9b7bd5422f5168744e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1880159
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit e55374f71853a4552f1b47932bb0a1ccd37af0bf
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 24 12:55:12 2019 -0400

    GN: Explicitly add several Windows libs.
    
    These were not implicitly added in the Skia build.
    
    Bug: angleproject:4046
    Change-Id: I0acdb4056e4598ea372b650dbd8044fe680187b1
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877483
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 8ab0bf1f61e28242a41c147115e4ba3080f99c69
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 24 12:55:12 2019 -0400

    Fix warnings in xxhash.
    
    Again these were showing up in Skia.
    
    Bug: angleproject:4046
    Change-Id: Ia295ac02b1e1d7bd4186243fc2bf38dffce43c2f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877482
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 4bad53557fc235137b7e332f7e2ebad3ab8aea44
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Oct 25 11:54:24 2019 +0000

    Roll third_party/spirv-tools/src feb154921397..b34fa731931b (23 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/feb154921397..b34fa731931b
    
    
    Also rolling transitive DEPS:
      third_party/spirv-headers/src 842ec9067462..af64a9e826bf
    
    Created with:
      gclient setdep -r third_party/spirv-tools/src@b34fa731931b
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC jonahr@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=jonahr@google.com
    Change-Id: I19a2870cef1000757fa7767ef45b5fbac8a3a4a5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1880801
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 664be3f8a38cfab9f11f0c84a43cff91b4c69326
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 25 11:17:58 2019 -0400

    Capture/Replay: Fix docs link.
    
    Should be samples/capture_replay not samples/capture_and_replay.
    
    Bug: angleproject:3611
    Change-Id: I5de4849c875add39df36f7875482e4dc91ca0ca6
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1880158
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 070356819d396a556a4a8bee240f249f980d7e82
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 25 09:00:41 2019 -0400

    Use googletest nested DEPS file.
    
    This will fix the issue where gclient didn't support checking
    out DEPS-inside-DEPS. We pass a 'googletest_revision' variable
    to third_party/googletest via recursedeps.
    
    Bug: chromium:1017514
    Change-Id: I4ef3785e385775910f24e13e60e284b8ab2996d6
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1881023
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 7d51cc98bd96d1aad9c341414177738c42a99cb9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 25 08:06:35 2019 -0400

    Roll chromium_revision 9325340209..60074bf9e0 (704874:709436)
    
    Change log: https://chromium.googlesource.com/chromium/src/+log/9325340209..60074bf9e0
    Full diff: https://chromium.googlesource.com/chromium/src/+/9325340209..60074bf9e0
    
    Changed dependencies
    * build: https://chromium.googlesource.com/chromium/src/build.git/+log/592281c03c..a193dcc697
    * testing: https://chromium.googlesource.com/chromium/src/testing/+log/6752fa027a..f712af4fd9
    * third_party/googletest: https://chromium.googlesource.com/chromium/src/third_party/googletest/+log/c721b68dde..60616473f7
    * third_party/jsoncpp: https://chromium.googlesource.com/chromium/src/third_party/jsoncpp/+log/48246a0995..571788934b
    * third_party/libjpeg_turbo: https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git/+log/9d3bf3e968..bc13578529
    * third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/ddebad26cf..403ca5ad3a
    * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/6bc727d9d8..662cbb8d60
    DEPS diff: https://chromium.googlesource.com/chromium/src/+/9325340209..60074bf9e0/DEPS
    
    No update to Clang.
    
    TBR=jmadill@chromium.org,
    BUG=None
    
    Change-Id: I429a0179f2941ebe04a41a1e25068c2bc41e66c3
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1881022
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 155947fc238d7df1bb9a4427d06b9219fc41dbab
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 24 12:55:11 2019 -0400

    Enable "-Wconditional-uninitialized".
    
    This is a final warning used by Skia.
    
    Bug: angleproject:4046
    Change-Id: I3970e30e4bd2aef07cddadd7322ef120ac857493
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877481
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 16370a65a4c92eed80fd2ace35e8ebc6d21949bc
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 24 12:55:11 2019 -0400

    Enable "-Winconsistent-missing-destructor-override".
    
    This is purely a code style and consistency warning. Enabled to
    support building in Skia.
    
    Bug: angleproject:4046
    Change-Id: Ibdcd06ded0195123e52c693851c43d0864e54ad1
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877480
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit ec14fd5a24482451e3c84f8bfa8650f7bb250c77
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Oct 25 07:01:10 2019 +0000

    Roll third_party/glslang/src 7662586844f4..b131630e7c74 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/7662586844f4..b131630e7c74
    
    
    Created with:
      gclient setdep -r third_party/glslang/src@b131630e7c74
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/glslang-angle-autoroll
    Please CC jonahr@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=jonahr@google.com
    Change-Id: Ia4ef9eeef7404245de43d5adf1636e395c4e61f2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1880657
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit c017cee9df6e68af8d275914b0184c0a8965167e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 24 12:55:10 2019 -0400

    Enable "-Wundefined-reinterpret-cast".
    
    A couple cases popped up where we were using an undefined cast.
    Fix them by rearranging assignment macros to use decltype.
    
    Another warning that is enabled in Skia.
    
    Bug: angleproject:4046
    Change-Id: Ibdbae0b2a96909b101a259ff805b8b2d43a5174b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877479
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 77fba58c9658dcce5729f1df0217fe9e4c0a2733
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 24 19:29:24 2019 -0400

    Fix improper vertex array assignment in ANGLE test.
    
    Test: StateChangeTestES3.VertexArrayObjectAndDisabledAttributes
    Bug: angleproject:4049
    Change-Id: Ibda86585e9117686283081a76df213b2b2db0b6e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1879582
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 4db96149ce00774a252d84e29894bb4cfb4c09d7
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Oct 24 16:38:45 2019 -0600

    GL: Temporarily disable emulatePrimitiveRestartFixedIndex.
    
    This workaround appears to cause problems on Mac ASAN builds.
    Disabling it while investigating the root cause.
    
    BUG=1017337
    BUG=angleproject:3997
    
    Change-Id: I16a2f07f8fc69ec4d5ab40a5bf521c43f6854a49
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1879873
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 68945f1c27cb3cadc1226a0c9b910e43280a23d0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 24 12:55:09 2019 -0400

    Enable "-Wredundant-parens".
    
    This one is also required by Skia. It's purely for consistency and
    code readability.
    
    Bug: angleproject:4046
    Change-Id: I9ed418a0bf6c7661f0970fef6da7088ca6ae6204
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877478
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a6206854673892195364faa1e729f4ad628a93bd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 24 12:55:09 2019 -0400

    Enable "-Wmissing-field-initializers".
    
    This is another warning required by Skia. This one didn't find
    anything that surprising. Enabling the warning does help enforce
    code consistency and avoids a bit of possible undefined behaviour.
    
    Bug: angleproject:4046
    Change-Id: Ifec7f4afad49cd820bf3c0a79df3f46559473ee2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877477
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 859ca039b7aefeb8420eb6bf5e3d173d816af1c8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 24 12:55:08 2019 -0400

    Enable "-Wshadow-field".
    
    This warning verifies we don't give variables names that shadow
    fields. This is another good warning to enable that Skia requires.
    This CL also fixes a small number of points in code that used this
    bad pattern. We have to disable the warning for Glslang for now.
    
    Bug: angleproject:4046
    Change-Id: I072a686e3023b60cfafa778525fe712ce1fb5a50
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877476
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit fd58d22cb0c2875b5bb045cea39ecbd587ebc763
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 24 12:55:07 2019 -0400

    Enable "-Wtautological-type-limit-compare".
    
    This is used by Skia. It seems like a good this to enable in any case.
    It verifies that we don't do pointless comparisons like "int < INTMAX".
    
    Fix the one instance by using the base checked numeric helpers.
    
    Bug: angleproject:4046
    Change-Id: Ie14a9cb2754df52929591281062d92ef70df8f97
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877474
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 3db80f9377c7e8bacca32fa098fe43413dae7ea5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 24 18:31:22 2019 -0400

    Use "full" git cl format by default.
    
    This uses the new setting added to depot_tools. The diff
    lines of context setting was removed.
    
    Bug: angleproject:4003
    Change-Id: I6f7d471d3cce066cd3a6caa200828d09ccfca5ae
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1879577
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit f251995def68d49b6c93f0825ec502c55c512eae
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 24 12:42:36 2019 -0400

    Capture/Replay: Write capture index file.
    
    This file will be used with multi-frame captures to share common code.
    Common code is global state, resource maps, and a list of frame replay
    functions. This should make converting a CPP replay into a functional
    test quite a bit simpler. The replay files will now be something like:
    
    angle_capture_context1.cpp
    angle_capture_context1.h
    angle_capture_context1_frame000.cpp
    angle_capture_context1_frame001.cpp
    ... etc
    
    Also adds a template for adding a capture/replay sample. Instructions
    are located in samples/BUILD.gn and docs in doc/CaptureAndReplay.md.
    
    Bug: angleproject:3611
    Change-Id: I437b338fd84689d670a7d9e3e219d9334de25fd8
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1869543
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>

commit 7af2676bd799d5b64293ef9ea4faff8d5c901fd0
Author: Tobin Ehlis <tobine@google.com>
Date:   Wed Oct 23 16:18:57 2019 -0600

    Fix TextureAttachment support for unsized DS formats
    
    Unsized DS formats should not pick up support from ES3 automatically.
    Also unsized DEPTH COMPONENT textures should not be allowed as texture
    attachments without also having support for GL_ANGLE_depth_texture or
    GL_OES_depth_texture extensions.
    This change modifies some unsized formats to require extension support
    for TextureAttachment use.
    
    There are a couple of tests bugs that were exposed by this change so
    updated those tests as well.
    
    This CL only changes TextureAttachment support, but it's quite possible
    that renderbuffer (and texture) support may also need to be updated.
    Will attempt that in a follow-on.
    
    Bug: angleproject:3952
    Change-Id: I75d15330dc418c421cd2855135e1e8100a89b2e8
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877135
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a2e66a5e52706ce5987114622f0fdf567eea6bd6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 24 12:42:36 2019 -0400

    Capture/Replay: Introduce environment options and docs.
    
    Introduces a few ways of controlling capture via:
    
     * `ANGLE_CAPTURE_ENABLED`:
       Can be set to "0" to disable capture entirely.
     * `ANGLE_CAPTURE_OUT_DIR`:
       Can specify an alternate directory than the CWD.
     * `ANGLE_CAPTURE_FRAME_END`:
       This variable can override the default of 10 frame to capture.
    
    Also adds a simple usage guide document.
    
    Bug: angleproject:3611
    Change-Id: I49d32d5bae2c490dcbeb0f1ce3c6038e433adfaa
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1869542
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 6b652b335259295d90702fff9f3b34988eef36f7
Author: Ian Elliott <ianelliott@google.com>
Date:   Thu Oct 24 10:03:37 2019 -0600

    Vulkan: Update expectations for SwiftShader sRGB fix
    
    Issue 4011 had 2 root causes, one of which was fixed and the other split out into 4037.
    
    Bug: angleproject:4011
    Bug: angleproject:4037
    Change-Id: I460588d7667429751416c1904863a5117a8a4b1d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1878889
    Reviewed-by: Ian Elliott <ianelliott@google.com>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit c139250ce1c573e33e653fbacc331c0be0dc5677
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sun Oct 13 15:05:23 2019 -0400

    Vulkan: Enable multithreading tests.
    
    These now pass with all the prior work.
    
    One test case is left disabled on Linux due to timeouts.
    
    Bug: angleproject:2464
    Change-Id: If41f59f44f78160cf1b26dc05f560afd286996bf
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1832526
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 299b1baf87bd5dc459c11fa11e0f275ff89a6dcf
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 24 09:29:18 2019 -0400

    GN: Fix one missing check for 'angle_has_build'.
    
    This was blocking using our GN files in Skia.
    
    Bug: angleproject:4046
    Change-Id: I12887a53c5f92b0e00206f8d391a8d03433b5e6e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877475
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 3a8b8908605bbb8da453cf5cee466922736d70f2
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Oct 23 13:26:13 2019 -0600

    GL: Follow-up primitive restart emulation fixes.
    
     - Use the existing utility function for computing the primitive
       restart index.
     - Fix bad merge that removed the unfoldShortCircuits feature.
    
    BUG=1017337
    BUG=angleproject:3997
    
    Change-Id: I4ba5ada9816731bdd29a0e518ce225bdd69a762e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1876453
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 56d4da0510a546ee70b59659d798301f2096bcc1
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Oct 24 07:01:19 2019 +0000

    Roll third_party/SwiftShader 7738ed713e7b..883e817b14bf (1 commits)
    
    https://swiftshader.googlesource.com/SwiftShader.git/+log/7738ed713e7b..883e817b14bf
    
    git log 7738ed713e7b..883e817b14bf --date=short --no-merges --format='%ad %ae %s'
    2019-10-23 webmaster@saschawillems.de Added vkGetPhysicalDeviceWin32PresentationSupportKHR to Vulkan ICD
    
    Created with:
      gclient setdep -r third_party/SwiftShader@883e817b14bf
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/swiftshader-angle-autoroll
    Please CC jonahr@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=jonahr@google.com
    Change-Id: If101eb655a556a70884b6b65d8f628d98901e73a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877852
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 806747e03674d106e78e05aaee364a4c831f2645
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Oct 24 07:01:09 2019 +0000

    Roll third_party/glslang/src 5e634c8999e6..7662586844f4 (3 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/5e634c8999e6..7662586844f4
    
    
    Created with:
      gclient setdep -r third_party/glslang/src@7662586844f4
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/glslang-angle-autoroll
    Please CC jonahr@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=jonahr@google.com
    Change-Id: Ibaa281c82997e29b0d27a1e67c828a8f693c79d7
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1877851
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit b2885bc4a40fd5539980f0845f8ee9c6fa6098b4
Author: Tobin Ehlis <tobine@google.com>
Date:   Wed Oct 23 13:33:48 2019 -0600

    Vulkan:Enable UpdateBufferInUse test on AMD
    
    Re-tested this and it's now passing so turning it on.
    
    Bug: angleproject:3255
    Change-Id: Iccf63cfaa4386dfda5628e189362631e655953f5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1876081
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Tobin Ehlis <tobine@google.com>

commit 052167bc15d37f346ee7e8bd6cd5474a674d7da0
Author: Xinyi He <xinyi.he@arm.com>
Date:   Tue Aug 13 14:09:04 2019 +0800

    Vulkan: Mipmap is unconditionally enabled in ANGLE
    
    ANGLE always enables the Mipmap. The fix does redefining
    the image with mipmaps and replace the origin one only
    when it is necessary.
    
    Bug: angleproject:3737
    Change-Id: Ia33a16fd7feae303fb114988059c4eec58c4232d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1750627
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Reviewed-by: Ian Elliott <ianelliott@google.com>

commit 88a99e4382c1c7413d6b7324a06cdc045adb23c6
Author: Tobin Ehlis <tobine@google.com>
Date:   Wed Oct 23 12:07:41 2019 -0600

    Vulkan:Roll Loader
    
    Update loader to version that will make sure the
    VK_ICD_FILENAMES env variable is always picked up on Windows.
    
    Bug: angleproject:2464
    Change-Id: I6c161c00e0af708f288f59fc62b9cb9d6f131626
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1876451
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Tobin Ehlis <tobine@google.com>

commit 710040a3ddac06f3d92d0b7acac23de3324f3aff
Author: Tobin Ehlis <tobine@google.com>
Date:   Tue Oct 22 10:32:27 2019 -0600

    OES_depth32 is for render buffer capability
    
    Our format caps table was incorrectly reporting GL_DEPTH_COMPONENT32_OES
    supported as a texture or texture attachment if OES_depth32 extension is
    supported. However, the OES_depth32 extension spec says:
    
    This extension enables 32-bit depth components as a valid render buffer
    storage format.
    
    So texture and texture attachment should not be reported as supported if
    OES_depth32 is available but neither GL_ANGLE_depth_texture or
    GL_OES_depth_texture are supported, which is currently the case for
    swiftshader.
    
    Bug: angleproject:3952
    Change-Id: Ia29853229de9ff0918d6752631edfccf5f2ba3f8
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1874007
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Commit-Queue: Tobin Ehlis <tobine@google.com>

commit 08af1c80188f9797d72b0a16749cad9f764df4b7
Author: Tobin Ehlis <tobine@google.com>
Date:   Tue Oct 22 08:58:52 2019 -0600

    Vulkan:Store full 64bit handle in GarbageObject
    
    On 32bit builds we were only storing 32bit handles for non-
    dispatchable objects. This resulted in the handles getting shrunk
    from 64-bits which then led to false validation errors.
    
    Fixed this by using VK_DEFINE_NON_DISPATCHABLE_HANDLE() macro in
    GarbageObject instead of VK_DEFINE_HANDLE().
    
    Also MSVC on Win32 didn't like reinterpret_cast<> with the updated
    64bit handles so migrated a number of GarbageHandle casts to be
    c-style which is contrary to style guide, but is preferable to
    conditional code.
    
    Bug: angleproject:3924
    Bug: angleproject:3946
    Change-Id: Icb4139e34989179e46ac1f0c76269ff49ab1e897
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1873244
    Commit-Queue: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit a1ed9d1a8492ebcad7d7d6d7cb8cf918ef0ac5d9
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Oct 23 07:01:20 2019 +0000

    Roll third_party/SwiftShader a68a80a4dbf9..7738ed713e7b (6 commits)
    
    https://swiftshader.googlesource.com/SwiftShader.git/+log/a68a80a4dbf9..7738ed713e7b
    
    git log a68a80a4dbf9..7738ed713e7b --date=short --no-merges --format='%ad %ae %s'
    2019-10-22 amaiorano@google.com Fix sRGB conversion not applying generally
    2019-10-22 bclayton@google.com regres: Automatically build dEQP based on new config file
    2019-10-22 amaiorano@google.com Fix unary minus warnings
    2019-10-21 sugoi@google.com Enable support for Bresenham lines
    2019-10-21 sugoi@google.com Fix queries with arrays containing other structures
    2019-10-18 amaiorano@google.com Fix Win32SurfaceKHR resize issues
    
    Created with:
      gclient setdep -r third_party/SwiftShader@7738ed713e7b
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/swiftshader-angle-autoroll
    Please CC jonahr@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: angleproject:4011,angleproject:4034
    TBR=jonahr@google.com
    Change-Id: If970eee12d3553e8fdc2c333028b8289ebf6832a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1875374
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit a9f11bf14bcebf84788914012da0c3525d4b5e94
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 21 08:39:14 2019 -0400

    GN: Separate out constructor/destructor warnings.
    
    This will allow for the capture/replay sample to disable the warnings.
    We'd like to keep them enabled for most of ANGLE code.
    
    Bug: angleproject:3611
    Change-Id: I3cc7af26fa54c03cc5b79727e7b403a1b218a903
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1869544
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>

commit a48f95abefdab5adb4ea0e3ff5a990acc1256f28
Author: Le Quyen <lehoangq@gmail.com>
Date:   Mon Oct 14 14:49:49 2019 +0800

    Move Vulkan GlslangWrapper code to a shared location.
    
    Metal backend will reuse Vulkan's GlslangWrapper code.
    The Metal backend will use this code to translate glsl to spirv then
    cross compile to Metal Shading Language using spirv-cross.
    So the source code of GlslangWrapper should be moved outside vulkan folder.
    
    Bug: angleproject:2634
    Change-Id: I208062daf0d77756c9d32cfdab925b7dfdf83e05
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1858042
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit d4affcdd2ac9e752dc5ab6cac3fbb080703f17d4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Oct 22 12:32:04 2019 -0400

    Vulkan: Roll validation layers.
    
    Includes a fix necessary for multithreading tests.
    
    Bug: angleproject:2464
    Change-Id: I009e48be611ef7b96ad9caba8e0729881e1a8fb9
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1872789
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 1efcbdb62f35952c8fe8b85ea75cb56064af640d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Oct 22 12:32:04 2019 -0400

    Vulkan: Fix sampler object lifetime.
    
    Using the same scheme as we do for VkImageViews we can track VkSampler
    lifetime using SharedResourceUse. This fixes the race condition that
    could occur when samplers are deleted in one Context while being used
    in another.
    
    This fixes the last known resource lifetime issue. The multithreading
    tests should now pass without validation errors.
    
    Also adds regression tests to angle_end2end_tests.
    
    Bug: angleproject:2464
    Change-Id: I9dbed5062a0863b240ddf1a9b5d28560334934de
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1869548
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Ian Elliott <ianelliott@google.com>
    Reviewed-by: Tim Van Patten <timvp@google.com>

commit df9a7500d373b2d28c98e4d41b68ff28b61cc70c
Author: jchen10 <jie.a.chen@intel.com>
Date:   Mon Oct 21 15:32:27 2019 +0800

    Remove forceNonZeroScissor workaround
    
    The original driver bug no longer exists after upgrading the bots. This
    workaround has the side effect causing the bug 3867.
    
    Bug: angleproject:3407
    Bug: angleproject:3867
    Change-Id: I64f2e41729f209a1cef5ba49140650207666992c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1870845
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit b307010280b7f8f14b24660976c2938d4166c06c
Author: jchen10 <jie.a.chen@intel.com>
Date:   Fri Oct 18 16:01:34 2019 +0800

    Add SH_REMOVE_DYNAMIC_INDEXING_OF_SWIZZLED_VECTOR
    
    This is a workaround for the webgl2 conformance test case
    WebglConformance_conformance2_glsl3_vector_dynamic_indexing_swizzled_lvalue.
    Dynamic indexing of swizzled lvalue like "v.zyx[i] = 0.0" is problematic on
    various platforms. This removes the indexing by translating it this way:
    
    void dyn_index_write_vec3(inout vec3 base, in int index, in float value){
      switch (index) {
        case (0):
          (base[0] = value);
          return ;
        case (1):
          (base[1] = value);
          return ;
        case (2):
          (base[2] = value);
          return ;
        default:
          break;
      }
      if ((index < 0))
      {
        (base[0] = value);
        return ;
      }
      {
        (base[2] = value);
      }
    }
    
    ...
    dyn_index_write_vec3(v.zyx, i, 0.0);
    ...
    
    Bug: chromium:709351
    Change-Id: I971b38eb404209b56e6764af1063878c078a7e88
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1869109
    Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 0b779a7c4e88e22eb500892bdb328edd9af3c991
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Oct 10 14:54:09 2019 -0400

    GL: Emulate primitive restart when PRIMITIVE_RESTART_FIXED_INDEX is unavailable.
    
    PRIMITIVE_RESTART_FIXED_INDEX isn't available until desktop GL 4.3. When it is
    not available, emulate it by enabling PRIMITIVE_RESTART and set the primitive
    restart index before each draw call based on the index type.
    
    TEST=deqp/functional/gles3/primitiverestart/*
    
    BUG=angleproject:3997
    
    Change-Id: Id736f1056cb07da91c6d592693406333142e6265
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1853885
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>

commit be1fa7d8cddfe0ccc05d1458678b93eaab1afa43
Author: Tobin Ehlis <tobine@google.com>
Date:   Wed Oct 16 16:34:57 2019 -0600

    Vulkan: Enable VK_EXT_line_rasterization
    
    Plumbing to make ANGLE use VK_EXT_line_rasterization
    extension when available.
    
    Bug: angleproject:3981
    Change-Id: I12913c20bff69ab0b7c16462c10b8b5fd8e1c2a5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1865027
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Alexis Hétu <sugoi@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 9122bec28506ddefc46974c0d210382a9881aaf0
Author: Mingyu Hu <mihu@microsoft.com>
Date:   Mon Oct 21 11:03:48 2019 -0700

    Fix EXT_multisample_render_to_texture perf regression
    
    EXT_multisampled_render_to_texture was causing perf
    degradation through multiple unnecessary creation/destruction
    of the shadow multisampled texture. This is solved by keeping around
    the multisampled texture, so both will be available.
    
    Bug: chromium:1015031
    Change-Id: I44deee67c02c19bc8749d3ed0d45661f52902e72
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1872618
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 89eda11eb74210d0c3aa2a5cc46b924f7e86d8e6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Oct 22 08:08:30 2019 -0400

    Metal: Move ldflags to Metal backend config.
    
    ldflags apparently don't work in source_sets.
    
    Bug: chromium:1014228
    Change-Id: I123900ae7f7ef3705301dc9b78cdf92ebd0e5c4f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1873235
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 66aae7e647fdcdd1a8e7b1ab0e4977fa5e071b56
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Oct 22 07:01:09 2019 +0000

    Roll third_party/glslang/src 834ee546f93d..5e634c8999e6 (3 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/834ee546f93d..5e634c8999e6
    
    
    Created with:
      gclient setdep -r third_party/glslang/src@5e634c8999e6
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/glslang-angle-autoroll
    Please CC jonahr@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=jonahr@google.com
    Change-Id: Ie6d635a2afa818b4d12347528dd50bb32e69066a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1873103
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 5335faaece2ad62af2176df1efb92884f5750c15
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Mon Oct 21 15:46:46 2019 -0400

    Robust validate_step_info in generate_stats.py
    
    If there is a warning during validate_step_info and the step_info is
    None, the script should not attempt to update that step in the
    Spreadsheet object.
    
    Bug: angleproject:4030
    Change-Id: Ib94ba82219745ee4ab36c52e9b1d3a04a76a05d2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1872569
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit f228038ddeb46f90a785e7e6dec250cccc340490
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Thu Oct 17 11:18:47 2019 -0600

    Treat Pixel 2 XL and Pixel 2 the same
    
    When running on a Pixel 2 XL PIXEL2 expecations were not being
    applied. Both devices use the same chipset and have same capabilities
    so treat them the same for expectations.
    
    Bug: angleproject:4025
    Change-Id: I5287e80c21b681765af540ed6dfbd053aa838c1c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1866076
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 4a80ba25e67b56bd32b90f9665c35129ca705217
Author: Tim Van Patten <timvp@google.com>
Date:   Thu Oct 10 17:07:26 2019 -0600

    Vulkan: Ignore VK_INCOMPLETE from vkGetPipelineCacheData
    
    From vkGetPipelineCacheData(3) Manual Page:
    
    If pDataSize is less than the maximum size that can be retrieved by
    the pipeline cache, at most pDataSize bytes will be written to
    pData, and vkGetPipelineCacheData will return VK_INCOMPLETE. Any
    data written to pData is valid and can be provided as the
    pInitialData member of the VkPipelineCacheCreateInfo structure
    passed to vkCreatePipelineCache.
    
    Bug: angleproject:3988
    Test: CQ, CtsOpenGLTestCases
    Change-Id: I34589ee3c9e27839a9cd0168b4a2186f4cbb255e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1854680
    Commit-Queue: Tim Van Patten <timvp@google.com>
    Reviewed-by: Tobin Ehlis <tobine@google.com>

commit 68591effc086ae99611e5c5f7db46960f99a3bc6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sun Oct 13 15:05:23 2019 -0400

    Vulkan: Store ImageView access in the graph.
    
    This will ensure we don't destroy the image views when they are still
    in use by other Contexts.
    
    Bug: angleproject:2464
    Change-Id: I1d3ba2ad241250e31ea32873446c4cb23971750d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1843236
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit f939cb63fdde376a9aecaa9a768fb4d2989a8dd6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sun Oct 20 21:44:36 2019 +0000

    Revert "Reland "Add more test_utils functions.""
    
    This reverts commit 7923e234bc458eda5936b8cb4f09fa19e28c0452.
    
    Reason for revert: Fails compilation on rollers:
    
        [2097/6048] SOLINK ./lib_angle_unittests__library.cr.so
        FAILED: lib_angle_unittests__library.cr.so lib_angle_unittests__library.cr.so.TOC lib.unstripped/lib_angle_unittests__library.cr.so
        python "../../build/toolchain/gcc_solink_wrapper.py" --readelf="../../third_party/android_ndk/toolch...(too long)
        ld.lld: error: undefined symbol: glCreateShader
        >>> referenced by shader_utils.cpp
        >>>               angle_util_static/shader_utils.o:(CompileShader(unsigned int, char const*)) in archive obj/third_party/angle/libangle_util_static.a
    
        ld.lld: error: undefined symbol: glShaderSource
    
    Original change's description:
    > Reland "Add more test_utils functions."
    >
    > This is a reland of 5fcfcea4a9379633a83a67fc1d94938cb31f2a9c
    >
    > Re-land uses static linking with angle_util. The root cause
    > of the CFI error wasn't solved. Static linking works around
    > the problem by not using any export rules.
    >
    > Original change's description:
    > > Add more test_utils functions.
    > >
    > > Includes methods for creating temporary files, deleting files, and
    > > reading files into a string. Also renames GetPathSeparator to mention
    > > it's only used for environment variables. Includes a new virtual type
    > > angle::Process that will be used to implement cross-platform async
    > > Process launching for tests. Also includes a way to specify a custom
    > > crash handler callback.
    > >
    > > Also adds a few unit tests for the new functionality. They are disabled
    > > on Android because the functions are not needed by the new test runner.
    > >
    > > Bug: angleproject:3162
    > > Change-Id: I3e2c2e9837608884c98379fa0f78c9ffbe158d73
    > > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1821940
    > > Commit-Queue: Jamie Madill <jmadill@chromium.org>
    > > Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    >
    > Bug: chromium:1015810
    > Bug: angleproject:3162
    > Change-Id: I6a2c1e7b585a13ca846759f32da0777c00d7f7e6
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1869541
    > Commit-Queue: Jamie Madill <jmadill@chromium.org>
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    
    TBR=ynovikov@chromium.org,jonahr@google.com,jmadill@chromium.org
    
    Change-Id: I975b2214411906cb981bffa04fa50e0a65ff8b4e
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: chromium:1015810, angleproject:3162
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1870811
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 7923e234bc458eda5936b8cb4f09fa19e28c0452
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Oct 9 10:26:25 2019 -0400

    Reland "Add more test_utils functions."
    
    This is a reland of 5fcfcea4a9379633a83a67fc1d94938cb31f2a9c
    
    Re-land uses static linking with angle_util. The root cause
    of the CFI error wasn't solved. Static linking works around
    the problem by not using any export rules.
    
    Original change's description:
    > Add more test_utils functions.
    >
    > Includes methods for creating temporary files, deleting files, and
    > reading files into a string. Also renames GetPathSeparator to mention
    > it's only used for environment variables. Includes a new virtual type
    > angle::Process that will be used to implement cross-platform async
    > Process launching for tests. Also includes a way to specify a custom
    > crash handler callback.
    >
    > Also adds a few unit tests for the new functionality. They are disabled
    > on Android because the functions are not needed by the new test runner.
    >
    > Bug: angleproject:3162
    > Change-Id: I3e2c2e9837608884c98379fa0f78c9ffbe158d73
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1821940
    > Commit-Queue: Jamie Madill <jmadill@chromium.org>
    > Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    
    Bug: chromium:1015810
    Bug: angleproject:3162
    Change-Id: I6a2c1e7b585a13ca846759f32da0777c00d7f7e6
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1869541
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit beacd8c81554346f1ab2d9d84717789b30408fa0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 17 14:34:02 2019 -0400

    Vulkan: Rename format fields.
    
    Renames 'angleFormat' to 'intendedFormat'. Also renames 'bufferFormat'
    and 'imageFormat' to 'actualImageFormat' and 'actualBufferFormat'. This
    renaming should make it clearer to the reader what the meaning of the
    different format fields are. Intended format is the front-end format
    and the actual formats are the formats we pass to Vulkan. Also updates
    the documentation.
    
    Bug: angleproject:4009
    Change-Id: If61bf7250e88f7ed3d452718574c963d718e27b2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1866077
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d739727b79ee84504ab1681d36f6267788000ef5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sun Oct 20 11:36:10 2019 -0400

    Remove Vulkan repos from exec script whitelist.
    
    This is no longer needed with the static generated code baking.
    
    Bug: angleproject:3320
    Change-Id: Id549792bf0e1d3e0433904a666d70630278b15c4
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1869547
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 0163470450726394efaf11570daade9f34eb2f6e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sun Oct 20 13:15:08 2019 +0000

    Revert "util: Always specify default visibility on exports."
    
    This reverts commit 2bf23ea84e4f071c18f01b94748f3be7dccc4019.
    
    Reason for revert: Probably not the right fix. Will export
    all angle_utils symbols in places where they shouldn't be.
    
    Original change's description:
    > util: Always specify default visibility on exports.
    >
    > This fixes undefined behaviour with CFI.
    >
    > Bug: chromium:1015810
    > Bug: angleproject:3162
    > Change-Id: I58cfb78adabbff05e5b4560dfd70b190411fa26d
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1869303
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    > Commit-Queue: Jamie Madill <jmadill@chromium.org>
    
    TBR=ynovikov@chromium.org,jmadill@chromium.org
    
    Change-Id: Ie847a9e6506178eb2b14e63a1ee5e9a1775b4548
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: chromium:1015810, angleproject:3162
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1869546
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 2bf23ea84e4f071c18f01b94748f3be7dccc4019
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 18 17:07:21 2019 -0400

    util: Always specify default visibility on exports.
    
    This fixes undefined behaviour with CFI.
    
    Bug: chromium:1015810
    Bug: angleproject:3162
    Change-Id: I58cfb78adabbff05e5b4560dfd70b190411fa26d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1869303
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 0cb09633d68c9b6d922206214b99284c21305fb0
Author: Lan Wei <lanwei@chromium.org>
Date:   Fri Oct 18 15:50:10 2019 +0000

    Revert "Add more test_utils functions."
    
    This reverts commit 5fcfcea4a9379633a83a67fc1d94938cb31f2a9c.
    
    Reason for revert:
    1 Test Suite(s) failed. angle_unittests failed because of:
    TestUtils.RunApp on Linux CFI
    https://ci.chromium.org/p/chromium/builders/ci/Linux%20CFI
    
    
    Original change's description:
    > Add more test_utils functions.
    >
    > Includes methods for creating temporary files, deleting files, and
    > reading files into a string. Also renames GetPathSeparator to mention
    > it's only used for environment variables. Includes a new virtual type
    > angle::Process that will be used to implement cross-platform async
    > Process launching for tests. Also includes a way to specify a custom
    > crash handler callback.
    >
    > Also adds a few unit tests for the new functionality. They are disabled
    > on Android because the functions are not needed by the new test runner.
    >
    > Bug: angleproject:3162
    > Change-Id: I3e2c2e9837608884c98379fa0f78c9ffbe158d73
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1821940
    > Commit-Queue: Jamie Madill <jmadill@chromium.org>
    > Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    
    TBR=ynovikov@chromium.org,jonahr@google.com,jmadill@chromium.org
    
    Change-Id: I1441bfbae31712f72b4aebeeea9cd711c3975a5d
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:3162
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1869254
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 72b2be2e56ffc63418db01b5858ade3fae92ff39
Author: Ian Elliott <ianelliott@google.com>
Date:   Fri Oct 18 09:52:27 2019 -0600

    Vulkan: Add expectations for Swiftshader dEQP failures.
    
    Bug: angleproject:3952
    Bug: angleproject:4011
    Bug: angleproject:4013
    Change-Id: Ia490ea1db052c31f5517822965b28d80b98dcc68
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1865438
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit 7f418fc2677a978c77f1a3aba4b163b7501ed960
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Tue Oct 1 07:56:53 2019 -0600

    Vulkan: lineloop support for DrawArrayIndirect
    
    Add support for lineloops.
    Includes a compute shader for generating an index
    buffer to draw lineloop.
    
    Instancing turns out to be a special case for indirect draws if we
    have vertex attributes that need to be emulated (e.g. divisor too
    large or native vertex format not available).
    
    Test: dEQP.GLES31/functional_draw_indirect_*
          angle_end2end_tests --gtest_filter=LineLoopIndirectTest.*/*
          dEQP.GLES3/functional_draw_*
    Bug: angleproject:3564
    Change-Id: I1fdabe2c8a690c8b6df9e252e1e839e08796bcca
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1834682
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 299bea6438264efdaaa3ece8e9aea09e6e6b2a74
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Oct 18 07:01:09 2019 +0000

    Roll third_party/glslang/src a959deb00750..834ee546f93d (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/a959deb00750..834ee546f93d
    
    
    Created with:
      gclient setdep -r third_party/glslang/src@834ee546f93d
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/glslang-angle-autoroll
    Please CC jmadill@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=jmadill@google.com
    Change-Id: Id5a849aaf30be27f8ef981e4b91da0e627682746
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1868829
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit c6db4a035a17fd50c40bdb547840e4d8d21595c2
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Oct 18 07:01:19 2019 +0000

    Roll third_party/SwiftShader 6652f0b64287..a68a80a4dbf9 (1 commits)
    
    https://swiftshader.googlesource.com/SwiftShader.git/+log/6652f0b64287..a68a80a4dbf9
    
    git log 6652f0b64287..a68a80a4dbf9 --date=short --no-merges --format='%ad %ae %s'
    2019-10-17 sugoi@google.com Vulkan header update
    
    Created with:
      gclient setdep -r third_party/SwiftShader@a68a80a4dbf9
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/swiftshader-angle-autoroll
    Please CC jmadill@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=jmadill@google.com
    Change-Id: Ic469fd596d19d9279fbf529f52ad265fb2dde30f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1868830
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 6dee176c8d7d712a23d3841c26ff9e6738fdbe2b
Author: Tobin Ehlis <tobine@google.com>
Date:   Thu Oct 17 15:26:03 2019 -0600

    Vulkan:Roll vulkan layers and headers
    
    This layer update contains a fix for x11 build.
    
    Bug: 1011068
    Change-Id: I75354b51cd43d3b57f427e8505b4bb7bd3f62eed
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1866960
    Commit-Queue: Tobin Ehlis <tobine@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 5fcfcea4a9379633a83a67fc1d94938cb31f2a9c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Oct 9 10:26:25 2019 -0400

    Add more test_utils functions.
    
    Includes methods for creating temporary files, deleting files, and
    reading files into a string. Also renames GetPathSeparator to mention
    it's only used for environment variables. Includes a new virtual type
    angle::Process that will be used to implement cross-platform async
    Process launching for tests. Also includes a way to specify a custom
    crash handler callback.
    
    Also adds a few unit tests for the new functionality. They are disabled
    on Android because the functions are not needed by the new test runner.
    
    Bug: angleproject:3162
    Change-Id: I3e2c2e9837608884c98379fa0f78c9ffbe158d73
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1821940
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>

commit 7e23efd3a526d9df162bb7c5950fe4a07301afee
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Oct 17 14:43:14 2019 -0400

    Fix compiler warning in NativeBufferImageSiblingAndroid.h.
    
    BUG=angleproject:4026
    
    Change-Id: If66f21c4d5693213611b05fa71ba1da328ea612c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1866078
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 93121f36a8ceebf8950f501f2d18ee8386e92cca
Author: Tobin Ehlis <tobine@google.com>
Date:   Thu Oct 17 08:18:16 2019 -0600

    Make invalid extension directive a CHROMEOS warning
    
    This change allows extension directive after ESSL1.0 non-preprocessor tokens on CHROMEOS.
    CHROMEOS kiosks have a video player that violates this spec requirement so just flagging
    as a warning to prevent failed video playback.
    
    Added ANGLE_PLATFORM_CHROMEOS define to build config in order to only make this a warning
    on CHROMEOS. Split the ESSL1 & ESSL3 cases back out as ESSL3 had always been an error
    on all platforms in the past and so want to keep it that way.
    
    Bug: 1003005
    Bug: angleproject:4023
    Change-Id: Ia931b3a8dad82dbda4c9c9e49a9c1090116397b5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1866464
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Tobin Ehlis <tobine@google.com>

commit 01cfefef418c24e348f47900c1638ac865531095
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Oct 17 14:43:43 2019 -0400

    Fix building libpng on arm CPUs.
    
    Some arm-specific files were not part of the build.
    
    BUG=angleproject:4026
    
    Change-Id: Ie3534c66ebce53348a00f74b95b7f6e3859ee30f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1866079
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 05bd18968d05baf9cff8fb3da2f433381cd0b2b1
Author: Le Quyen <lehoangq@gmail.com>
Date:   Thu Oct 17 23:08:03 2019 +0800

    Report Metal as unavailable
    
    Metal backend is not ready yet, so report as unavailable
    to avoid DisplayMtl being created by frontend.
    
    Bug: angleproject:2634
    Change-Id: Ia45977cede01f62347967eefe661b63bef3575e5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1865736
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit f483d4ee4696568b7fb5015ff896220b8db327cf
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Oct 16 14:13:17 2019 -0400

    Vulkan: Move SwiftShader ICD json to root_out_dir.
    
    This fixes loading SwiftShader in Chrome and in Renderdoc. Requires
    explicitly specifying the ICD and module directories ("./" or ".\\").
    
    Bug: angleproject:3876
    Bug: b/142756865
    Change-Id: I9183c81cb0e8ac117fc5d7a8f2048dc0555632c4
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1864315
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 48aa52f7305a0dc0e611c8cfa0031629054ba3e4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 17 07:56:53 2019 -0400

    Fix broken GN "all_dependent_configs".
    
    This regressed with http://crrev.com/c/1864726 . Only fails in configs
    that specify 'use_fuzzing_engine'.
    
    Bug: angleproject:4021
    Change-Id: I7cd4ab1d91525074c44a6ea2a9d8c41d9b9e437e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1866074
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 3f3a6e3610f16b875c3debae350b9c25e7384328
Author: Yan <shaobo.yan@intel.com>
Date:   Thu Oct 17 15:07:52 2019 +0800

    Add "DIFF_LINES_OF_CONTEXT: 1" to fix format issue
    
    Update codereview.settings file to workaround git cl format
    issue based on change in this https://crrev.com/c/1864309
    
    Bug: angleproject:4003
    Change-Id: I4352800535465e8cac85aa6148c21d28c099ca5a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1866275
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 0da4e91947241f38b13c3a9f95fc5eae7ed0c23c
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Oct 17 07:01:20 2019 +0000

    Roll third_party/SwiftShader 9097eeb5359b..6652f0b64287 (11 commits)
    
    https://swiftshader.googlesource.com/SwiftShader.git/+log/9097eeb5359b..6652f0b64287
    
    git log 9097eeb5359b..6652f0b64287 --date=short --no-merges --format='%ad %ae %s'
    2019-10-16 amaiorano@google.com Subzero: fix calling C functions on Windows x86
    2019-10-16 amaiorano@google.com Subzero: fix invalid arg access on Windows x86
    2019-10-16 amaiorano@google.com Subzero: fix warnings for VS 2019 x86 build
    2019-10-16 amaiorano@google.com Subzero: fix calling C functions on Windows x64
    2019-10-16 amaiorano@google.com Add .clang-format file to third_party/subzero
    2019-10-16 amaiorano@google.com Reactor: add test for external call to routine
    2019-10-16 amaiorano@google.com Reactor: add unit tests for testing arg passing
    2019-10-16 amaiorano@google.com Reactor: add overload of rr::Call for void(...)
    2019-10-16 natsu@google.com Remove hardcoded sdk_versions in third_party
    2019-10-16 tdusnoki@inf.u-szeged.hu Define getHostCPUFeatures for Windows on ARM64 platform
    2019-10-16 srisser@google.com Fix how we calculate potential overflows with PBOs
    
    Created with:
      gclient setdep -r third_party/SwiftShader@6652f0b64287
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/swiftshader-angle-autoroll
    Please CC jmadill@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=jmadill@google.com
    Change-Id: Ib7f1f0ff7e2ce0ce648719daaf0570a879010da2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1866410
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 7fa774cf83d65a3cd7afa0be1089825720291f40
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Oct 17 07:01:18 2019 +0000

    Roll third_party/glslang/src 1ff0c181bb37..a959deb00750 (12 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/1ff0c181bb37..a959deb00750
    
    
    Created with:
      gclient setdep -r third_party/glslang/src@a959deb00750
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/glslang-angle-autoroll
    Please CC jmadill@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=jmadill@google.com
    Change-Id: I33039aed9d8a69b4975b9719f1e5e2293c2e934e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1866409
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit ed6e230ec65e7fe4acff17a00eb85bc3c8459bb5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Oct 16 18:19:05 2019 -0400

    Vulkan: Re-enable release ASSERTs.
    
    This change will broadcast the release asserts config to all ANGLE
    targets. Instead of the ones that inherited from angle_common.
    
    Bug: angleproject:4021
    Change-Id: I574b01d47e85004f69fb59856cac7b10f0d8d170
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1864726
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit ae1b7786b89a5cde6bafe93f6a2ccce8f6d9621c
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Wed Oct 16 16:42:53 2019 -0400

    Fix ANGLE_FEATURE_CONDITION style issue
    
    Macro should end with a ;
    
    Bug: angleproject:3976
    Change-Id: I4aaa146464d9d7e6230a3de44c30cfd1179a89ae
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1864620
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 16944ed21bc21040f9dec282ef4b3508d1976ca9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Oct 16 14:05:51 2019 -0400

    Vulkan: Fix ASSERT that could be triggered on some swaps.
    
    Unclear why this wasn't reproducing on our integrated tests. Seems to
    affect most Vulkan tests.
    
    Regression likely introduced with the multithreading code.
    
    Bug: angleproject:2464
    Change-Id: I62a0c1a4f5e5bf63efdef2a979d9b2efb6a1ea81
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1864314
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit a0b064d012c856326f4a743ef36b977ceebb9266
Author: Mingyu Hu <mihu@microsoft.com>
Date:   Tue Oct 15 15:16:22 2019 -0700

    Disabling multisampled_render_to_texture extension if renderer is ADRENO.
    
    Skia roll breaking for:
    Test-Win10-MSVC-LenovoYogaC630-GPU-Adreno630-arm64-Debug-All-ANGLE.
    
    Bug: angleproject:4007
    Change-Id: I5ba1047540c02d27e05425b7af347207500b3682
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1863741
    Commit-Queue: Mingyu Hu <mihu@microsoft.com>
    Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 9a334fdadf3f74db751a6593e01738f2e7b8caa4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Oct 16 12:48:42 2019 -0400

    Delete README.angle from googletest.
    
    This file is a bit odd. It doesn't belong in this folder.
    
    Bug: angleproject:3986
    Change-Id: Idf783e469a679a73f900bb20093e7e339fab9301
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1864312
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 2ed547a66cbf7773f702dc468abcdd7e08e74c3a
Author: Tim Van Patten <timvp@google.com>
Date:   Tue Oct 15 17:34:09 2019 -0600

    Vulkan: Mark destination buffers dirty after a copy
    
    When a user performs a copy between GL buffers, we need to mark the
    destination buffer dirty in case that buffer data is used as vertex
    data and requires another conversion to be done.
    
    Bug: angleproject:3544
    Test: dEQP-GLES3.functional.buffer.copy.*
    Change-Id: Ie3196db4feb0f01d0b25c8799312c5f57c1095a2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1863007
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Tim Van Patten <timvp@google.com>

commit a14555a7928f33097c7e6c811cdb2563a4462801
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sun Oct 13 15:05:22 2019 -0400

    Vulkan: Refactor RenderTargetVk ImageViews.
    
    Instead of storing a pointer to an ImageView, store a
    pointer to an ImageViewHelper. The level and layer index
    are all that's needed to pull the right image view from
    the ImageViewHelper.
    
    Will make it easier to store ImageView references in the
    graph to track lifetime.
    
    Bug: angleproject:2464
    Change-Id: I773fa79a89ceefc99ff70e4eed4985f9f01fe26a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1857549
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Ian Elliott <ianelliott@google.com>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>

commit 8952dd658afe252f21b1da944254924deb9cf563
Author: Tobin Ehlis <tobine@google.com>
Date:   Wed Oct 16 13:54:38 2019 +0000

    Revert "Vulkan: Define VK_USE_PLATFORM_XLIB_KHR"
    
    This reverts commit bedeb781e8ca8a57c31b56d28ba1cde983e5ba47.
    
    Reason for revert: <INSERT REASONING HERE>
    
    Original change's description:
    > Vulkan: Define VK_USE_PLATFORM_XLIB_KHR
    >
    > For vulkan x11 build need to define VK_USE_PLATFORM_XLIB_KHR.
    >
    > Bug: 1011068
    > Change-Id: I1ff51a37618eb3a095bdf18e0615a3610225b6fc
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1863319
    > Commit-Queue: Jamie Madill <jmadill@chromium.org>
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    
    TBR=penghuang@chromium.org,tobine@google.com,jmadill@chromium.org
    
    Change-Id: I6cf135e36603ea01bc418fd6f7ce7f131890531e
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: 1011068
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1864579
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Commit-Queue: Tobin Ehlis <tobine@google.com>

commit bedeb781e8ca8a57c31b56d28ba1cde983e5ba47
Author: Tobin Ehlis <tobine@google.com>
Date:   Tue Oct 15 12:31:11 2019 -0600

    Vulkan: Define VK_USE_PLATFORM_XLIB_KHR
    
    For vulkan x11 build need to define VK_USE_PLATFORM_XLIB_KHR.
    
    Bug: 1011068
    Change-Id: I1ff51a37618eb3a095bdf18e0615a3610225b6fc
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1863319
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 14dd70757eb07a841301395f33e0428925648cd9
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Oct 16 07:01:32 2019 +0000

    Roll third_party/SwiftShader 036463457e5f..9097eeb5359b (8 commits)
    
    https://swiftshader.googlesource.com/SwiftShader.git/+log/036463457e5f..9097eeb5359b
    
    git log 036463457e5f..9097eeb5359b --date=short --no-merges --format='%ad %ae %s'
    2019-10-16 sugoi@google.com Workaround a compiler issue
    2019-10-16 swiftshader.regress@gmail.com Regres: Update test lists @ a27dfcf8
    2019-10-14 digit@google.com Fix Linux build.
    2019-10-14 digit@google.com [vulkan] Implement Linux-based external semaphore
    2019-10-14 digit@google.com [linux]: Remove linux namespace.
    2019-10-11 sugoi@google.com Stencil buffer texture sampling
    2019-10-07 amaiorano@google.com Add support for configurable subpixel precision
    2019-10-07 amaiorano@google.com Use correct values for sampleStandardLocations
    
    Created with:
      gclient setdep -r third_party/SwiftShader@9097eeb5359b
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/swiftshader-angle-autoroll
    Please CC jmadill@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=jmadill@google.com
    Change-Id: Ic75ba28c790bf004ce8182a201ee2dd4d43d8c9e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1864450
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 0b9ebe58e3802b58953a4ef0884d5fd8f308ed70
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Oct 15 11:15:42 2019 -0400

    Vulkan: Add "ImageViewHelper".
    
    This allows views to track a different lifetime than vk::ImageHelper.
    This in turn will fix the race condition on ContextVk destruction when
    releasing ImageViews owned by TextureVk and RenderbufferVk. For now
    this is a refactoring change only.
    
    Bug: angleproject:2464
    Change-Id: I9581975bd5d4913233bbed8439dd4a632cc78a2a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1843231
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Ian Elliott <ianelliott@google.com>

commit 81ab9c90998f8cf3fbca548d9b4ea32ece0aa13b
Author: Lee Salzman <lsalzman@mozilla.com>
Date:   Fri Aug 2 07:11:16 2019 +1000

    Use image upload workaround for Intel Ivy Bridge with D3D11 renderer.
    
    Firefox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1578910
    
    Bug: angleproject:3980
    Change-Id: Ia14c5afd989365975bc57b303e59b4ef7669d522
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1845664
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 2d0e5b554d4ffbca76730d0e7308e665675446df
Author: Mingyu Hu <mihu@microsoft.com>
Date:   Tue Aug 27 13:49:07 2019 -0700

    GL_EXT_multisampled_render_to_texture extension. Part 2.
    
    For textures that use this extension, a multisampled texture is
    implicitly created for the texture.
    Upon write or read, the multisampled texture is either return
    to be drawn to or resolved and returned as a single sampled texture.
    
    This is the functionality change with end2end tests.
    
    Bug: angleproject:980428
    Change-Id: I5776875a132fed7a3f4f00fb02f9e8e250684630
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1773717
    Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit acf66fdd4e876e2a1bb465e6c567a81cda297de4
Author: James Darpinian <jdarpinian@chromium.org>
Date:   Fri Oct 11 16:38:09 2019 -0700

    Fix registry_xml.py dependency
    
    registry_xml.py was not included in gen_gl_enum_utils.py inputs.
    gen_gl_enum_utils might not run when it should because of this missing
    dependency.
    
    Discovered in https://chromium-review.googlesource.com/c/angle/angle/+/1838418/6/src/libANGLE/gl_enum_utils_autogen.cpp#1810
    
    Bug: angleproject:4000
    Change-Id: Ib98df7046a59800c102be54b44f46a203ba77c42
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1857645
    Commit-Queue: James Darpinian <jdarpinian@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit e7b5c5e99289f3f0f9768308d05941a2e98f839b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 14 16:33:40 2019 -0400

    Metal: Use -weak_framework to support OS 10.10.
    
    This OS is still tested in Chromium configurations. e.g.:
    
    https://ci.chromium.org/p/chromium/builders/ci/Mac10.10%20Tests/47668
    
    Bug: chromium:1014228
    Bug: angleproject:2634
    Change-Id: Iadefd461ba8bbaec03dcc711227580f6ecdcad6a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1860105
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit da1f90aa77b4fc5dcb6a5d17def690d3b01e9c1d
Author: Brian Sheedy <bsheedy@chromium.org>
Date:   Mon Oct 14 10:08:54 2019 -0700

    Add .yapfignore file
    
    Adds a .yapfignore file so that Python files can be excluded from
    "git cl format". This currently only ignores
    scripts/export_targets.py since its use of Python 3 causes issues.
    
    This requires depot_tools revision
    59b06a838a4e06c43075db252921f4bd45f7f673 or later to work, as
    .yapfignore files were unused until then.
    
    Bug: angleproject:3985
    Change-Id: Ib9e10f6b5d6baf6b87e7edd0525885553508829d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1860319
    Commit-Queue: Brian Sheedy <bsheedy@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit fede5cb664d96da6ea6acc0bc208d32a14431f32
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Oct 12 14:43:26 2019 -0400

    Vulkan: Remove resource destruction layer suppressions.
    
    Bug: angleproject:3925
    Change-Id: Ic2bda7daf67c6fa735c15735dcb60c5f9a203fc0
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1857895
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a2f89c00048378e6dc04b44839a7807a55149ec2
Author: Jiajie Hu <jiajie.hu@intel.com>
Date:   Sat Oct 12 13:40:03 2019 +0800

    Add sampler array index validation for ESSL 3.00 onwards
    
    In Section 12.30 of the ESSL 3.00 spec on p143-144:
    
      Indexing of arrays of samplers by constant-index-expressions is
      supported in GLSL ES 1.00. A constant-index-expression is an
      expression formed from constant-expressions and certain loop indices,
      defined for a subset of loop constructs. Should this functionality be
      included in GLSL ES 3.00?
    
      RESOLUTION: No. Arrays of samplers may only be indexed by constant-
      integral-expressions.
    
    Bug: chromium:985032
    Change-Id: Iad9e4b8000b442a6631e1d2295c2670c4a79d486
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1849452
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 130fdbcc23edb00f17abe212eb091e62032415c1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 10 19:13:07 2019 -0400

    Roll chromium_revision 43eb5958f7..9325340209 (704334:704874)
    
    Change log: https://chromium.googlesource.com/chromium/src/+log/43eb5958f7..9325340209
    Full diff: https://chromium.googlesource.com/chromium/src/+/43eb5958f7..9325340209
    
    Changed dependencies
    * build: https://chromium.googlesource.com/chromium/src/build.git/+log/fd0d28db80..592281c03c
    * testing: https://chromium.googlesource.com/chromium/src/testing/+log/9d2d0dad36..6752fa027a
    * third_party/fuchsia-sdk: https://chromium.googlesource.com/chromium/src/third_party/fuchsia-sdk.git/+log/5fd29151cf..1785f0ac8e
    * third_party/googletest/src: https://chromium.googlesource.com/external/github.com/google/googletest.git/+log/cd17fa2abd..f2fb48c3b3
    * third_party/libjpeg_turbo: https://chromium.googlesource.com/chromium/deps/libjpeg_turbo.git/+log/6dcdade882..9d3bf3e968
    DEPS diff: https://chromium.googlesource.com/chromium/src/+/43eb5958f7..9325340209/DEPS
    
    No update to Clang.
    
    Bug: angleproject:3986
    Change-Id: I38b789bea72b140191888ae20e8fff9b892108bc
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1854681
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 1948af385c1bc69a9ced516663fe1b4e2dc93383
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 11 17:49:24 2019 -0400

    Add a roll_deps script based on WebRTC.
    
    Should make the process of rolling Chromium DEPS into ANGLE easier.
    Eventually we could set up an auto-roller.
    
    Original:
    
    https://webrtc.googlesource.com/src/+/master/tools_webrtc/autoroller/roll_deps.py
    
    Modified to include ANGLE's Chromium DEPS only. We will continue to use
    Skia's auto-roller for more one-off DEPS.
    
    Also adds a 'chromium_revision' DEPS custom variable that we could
    potentially use for other things like pinning a Chromium version on our
    testers.
    
    Sample usage:
    
    python scripts/roll_deps.py -v --clean -i
    
    -v : verbose
    --clean : cleans previous roll branch
    -i : ignore dirty tree
    
    Bug: angleproject:3986
    Change-Id: I7289cf76eb5635a286c20453e846d4ff9a0481b1
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1852707
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit c42da4e57c3d6e43996566e2ef76855d6fbff87b
Author: James Darpinian <jdarpinian@chromium.org>
Date:   Thu Oct 3 13:46:28 2019 -0700

    Extend ANGLE_request_extension with DisableExtension
    
    ARB_texture_rectangle is the only currently supported disablable
    extension. This allows us to use ARB_texture_rectangle in WebGL
    implementations without exposing it to WebGL user shaders.
    
    Bug: angleproject:3956
    Bug: angleproject:3770
    Change-Id: I80b10d2e9c9feebe545ce15195721487165ecc51
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1838418
    Commit-Queue: James Darpinian <jdarpinian@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 253019996d3ba02c5bb20b2d7e1863214b0acbc0
Author: Le Quyen <lehoangq@gmail.com>
Date:   Fri Oct 11 14:49:00 2019 +0800

    Metal implementation pt 1: autogen resources
    
    Autogen format table and internal shaders for Metal.
    
    Bug: angleproject:2634
    Change-Id: I4d81fcd17a0e9959ba9c38a250acc7abb168f54c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1855067
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d192e933eb69e96b498a785777b117b145f3f360
Author: Cody Northrop <cnorthrop@google.com>
Date:   Fri Sep 27 10:27:10 2019 -0600

    Vulkan: Support binding texture levels as a rendertarget
    
    This CL refactors how TextureVk handles rendertargets.  It removes
    the single rendertarget that previously supported 2D, and expands
    the layer/level list of rendertargets to handle all cases.
    
    Bug: angleproject:3184
    Bug: angleproject:3996
    Test: Texture2DTestES3.FramebufferTextureChangingBaselevel/ES3_Vulkan
    Test: FramebufferRenderMipmapTest.RenderToMipmap/ES2_Vulkan
    Test: FramebufferRenderMipmapTest.RenderToMipmap/ES3_Vulkan
    Test: ComputeShaderTest.ImageStoreMipmapSlice/ES3_1_Vulkan
    Change-Id: I466d0389cc6744994f88c40cc388fca694b53a99
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1854895
    Reviewed-by: Ian Elliott <ianelliott@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Cody Northrop <cnorthrop@google.com>

commit bbf0ce28f06a7917d54db8794d2a71bd0c7439c2
Author: Tobin Ehlis <tobine@google.com>
Date:   Fri Oct 11 06:55:36 2019 -0600

    Vulkan:Add support to stage D or S textures
    
    Correctly set image aspect for depth or stencil texture staging.
    This fixes 6 failing dEQP 3.0 tests and an end2end test.
    Note that DS combined aspect textures will need special handling
    to read each aspect separately which is not included in this fix.
    
    Bug: angleproject:3949
    Change-Id: I8e3f8166bdd31e2c002752b2f5c107ba411b2b0d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1855964
    Commit-Queue: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>

commit 741c0aa6f5a12659520437b381c6f522c5ee6d77
Author: Ian Elliott <ianelliott@google.com>
Date:   Thu Oct 10 15:26:07 2019 -0600

    Vulkan: Update GLES 3.0 expectations files
    
    Helping team understand what's still crashing/failing within the 3.0
    expectations files.
    
    Bug: angleproject:2950
    Change-Id: I63f1d05ae60e34d423fd4b962a79c21ae813e335
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1854015
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit 4398b2b6a2ac13034dff249d8c049c4047b5fed2
Author: Brandon Schade <b.schade@samsung.com>
Date:   Thu Oct 10 16:39:33 2019 -0700

    Vulkan: finishToSerial only if the buffer is in use
    
    The call to flushImpl() was conditioned on the buffer
    being used but the call to finishToSerial() was outside.
    This caused an unconditional wait and unnecessary pipeline
    stall. The fix is to make sure to perform a flush and
    wait only when the buffer is in use.
    
    Bug: angleproject:3994
    Change-Id: I1b297cf11a67f7611d37808cb111d6b52ac16f90
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1854881
    Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit f912b2943855443d9fc9af83bde99b4d249ff81a
Author: Cody Northrop <cnorthrop@google.com>
Date:   Thu Oct 10 15:32:14 2019 -0600

    Vulkan: Handle 2Darray base/max level change
    
    When staging updates to the vkImage based on texture base/max level
    change, we weren't properly handling texture 2Darray.
    
    This CL changes several helpers to explicitly accept Vulkan extents
    and offsets so it is clear how things should be treated.
    
    Bug: angleproject:3991
    Test: dEQP-GLES3.functional.shaders.texture_functions.texturesize.*sampler2darray*
    Change-Id: Iae80ce7201180224fc3bb7823f21a360950c515d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1854020
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Commit-Queue: Cody Northrop <cnorthrop@google.com>

commit a21362f5a6ae8929899fb54fb646f395d141d98b
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Thu Oct 10 15:26:19 2019 -0400

    GL: Missing check for texture format sample counts
    
    ANGLE was hitting an issue running on llvmpipe because llvmpipe doesn't
    properly implement texture formats with multisampling, but claims
    otherwise to be OpenGL 3.3 compliant. ANGLE did not validate the claim
    on the backend, so the frontend was hitting an ASSERT that failed.
    This patch makes sure to validate this part of the spec, and limits the
    driver to OpenGL 2 if it's not conformant.
    
    Bug: 976382
    Change-Id: I6ad6d757e26f90068df83aeb3caf7685aa2f1c07
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1853889
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 67486ec24551750367c19c12d63dccfcc59b9061
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Oct 11 07:01:21 2019 +0000

    Roll ./third_party/spirv-tools/src 82f84c4b8f19..feb154921397 (3 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/82f84c4b8f19..feb154921397
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@feb154921397
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC geofflang@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=geofflang@google.com
    Change-Id: I634d8c04a62c67f257422f23cb3d8e518db3891b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1854940
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 3a1e314b0399b2fc7cfe34cde929ca1e6ee97b37
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Oct 11 07:01:14 2019 +0000

    Roll ./third_party/glslang/src 4b97a1108114..1ff0c181bb37 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/4b97a1108114..1ff0c181bb37
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@1ff0c181bb37
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/glslang-angle-autoroll
    Please CC geofflang@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=geofflang@google.com
    Change-Id: I5eb0a962ce4b62241f604ae17c6494faa01185fb
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1854939
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit a5f5e7778ad7fb472d21dc057bea3e049dab7226
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 10 21:21:51 2019 -0400

    D3D11: Fix warning that showed up in VS2019.
    
    Was related to the new D3D11on12 code.
    
    Bug: angleproject:3986
    Change-Id: I801b816c620a7307ee5a236856949866a8daf747
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1854720
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 6950a87f905453f8626aa6932463fb9be6528628
Author: Sergey Ulanov <sergeyu@google.com>
Date:   Thu Oct 10 18:01:23 2019 -0700

    [Fuchsia] Exclude libvk_swiftshader.so on Fuchsia
    
    libvk_swiftsahder.so was pulled on web_engine package after swiftshader
    was enabled in Angle. We don't need it so it can be excluded.
    
    This is a reland of
    https://chromium-review.googlesource.com/c/angle/angle/+/18228630 .
    
    Bug: fuchsia:37278
    Change-Id: I4de8c7fe4706104791dfe5fc9b4e021db9f2948b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1854883
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit d37992d121c776e5916f7556a61a8868f0d1ff16
Author: Tim Van Patten <timvp@google.com>
Date:   Fri Oct 4 10:13:23 2019 -0600

    Vulkan: Prevent Creating ES 3.0 Context if Min. Caps. Not Met
    
    ANGLE should not allow creating an ES 3.0 context if the device's
    maxPerStageDescriptorUniformBuffers or maxVertexOutputComponents
    values are too low to support the necessary minimums for GLES 3.0.
    
    Bug: angleproject:3938
    Test: CQ
    Change-Id: I4fce841d1f364c1aef1a883fa5edb64a4b93f08e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1841971
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Tim Van Patten <timvp@google.com>

commit 8896e18e6fa337eb16186e988b3acc04e6945f13
Author: jchen10 <jie.a.chen@intel.com>
Date:   Tue Oct 8 16:07:52 2019 +0800

    Fix the missing global memory barriers
    
    This adds the transtlations of GL_SHADER_IMAGE_ACCESS_BARRIER_BIT, and
    GL_FRAMEBUFEER_BARRIER_BIT to the vulkan backend.
    
    Bug: angleproject:3934
    Change-Id: I2bd86a16b461cf7dc01d0d4386f49365a5292446
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1847172
    Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit ee08d9249dcd4e3f8db6990c763db942dd5b49e5
Author: Mohan Maiya <m.maiya@samsung.com>
Date:   Thu Oct 10 08:56:12 2019 -0700

    Vulkan: Enable GL_OES_EGL_image_external_essl3
    
    GL_OES_EGL_image_external_essl3 support was added a while back.
    This patch just enables it for the Vulkan backend
    
    Bug: angleproject:2668
    Test: ./angle_end2end_tests --gtest_filter=ImageTestES3*Vulkan
    Change-Id: I6b8b1f63ed6e9faafe668ad9a73fc7fbc9c17670
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1852190
    Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 8ba50490174a3bc39f990c25a809d1891f975f9b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 10 17:46:54 2019 -0400

    Use relative paths/hooks in DEPS.
    
    Should work now that infra changes landed some time ago. Will make it
    easier to use an auto-roller for Chromium DEPS.
    
    Bug: angleproject:3986
    Change-Id: I73ab20b516c4b9105bb4854549dcadb1892f3de9
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1852708
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit cea7396342458760be8e3c1bf763a5b50fc2b972
Author: Alexis Hetu <sugoi@google.com>
Date:   Thu Oct 10 11:56:45 2019 -0400

    Vulkan: Base max renderbuffer size on max framebuffer size
    
    maxRenderbufferSize was based on max2DTextureSize, which is
    larger in SwiftShader than maxFramebufferX. This was causing
    the dEQP-GLES3.functional.shaders.builtin_functions.precision.*
    tests to create rendertargets that were too large for what
    SwiftShader supports. Adding checks for maxFramebufferX values
    on top of the max2DTextureSize check fixes all the tests.
    
    Bug: angleproject:3990
    Change-Id: I006d2ddeb0f7e582d6aef88457cfb292efd5a05c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1852709
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 67a017f42e7645ccaf62f0787794491f9707a72b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 10 15:27:27 2019 -0400

    Checkout GLES 1.1 conformance from DEPS.
    
    This follows a pattern in Chromium where they are slowly removing
    src-internal and moving to the public DEPS. Also removes the
    angle-internal dependency and removes the folder from .gitignore so
    developers can clean it up.
    
    Bug: angleproject:3993
    Change-Id: I51a169fbff5bf629f03038c0870873cf9f5e3863
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1853888
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 32bee0fd038e1c3a5d5660aff8080b433b11e1fd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 10 11:46:58 2019 -0400

    Fix debug layers being disabled everywhere.
    
    The define that controlled the debug layer preference was mistakenly
    checking a Vulkan define. When the Vulkan define was moved into the
    Vulkan back-end then the layers became disabled for all back-ends.
    
    Fix this by using a layered check in the Vulkan back-end and restoring
    the asserts enabled check to ShouldUseDebugLayers.
    
    Suppresses some tests that regressed the layers after they were broken.
    
    Bug: angleproject:3987
    Bug: angleproject:3991
    Change-Id: I6aafcff6d9e19866c2324663ef4d4550e97fcfb8
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1852706
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 4210e49b7b710270d7d01eb01f77af9e57374961
Author: Alexis Hetu <sugoi@google.com>
Date:   Thu Oct 10 14:22:03 2019 -0400

    Correct presubmit error for missing Bug ID
    
    Having a Bug ID is not enough to silence this error,
    the Bug ID must be on the line directly above the
    Change ID line to prevent getting this error.
    
    Bug: angleproject:3992
    Change-Id: I90ec1169efb77c1be6a1004e579f16e89115be50
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1853604
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Alexis Hétu <sugoi@chromium.org>

commit 7387258291ac5d4b34cf6156455d936b3c3728f5
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Oct 10 10:11:11 2019 -0400

    Update some implementation limits to match modern drivers.
    
    Raise the implementation limits for some caps that should not affect
    performance and add a logging mode to print when caps have been limited.
    
    Fix missing caps limitation of max texture sizes.
    
    BUG=angleproject:2915
    
    Change-Id: I51bd9544e1e1a9582e2beed61c624ef2b7079e99
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1852705
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit d200a77a22cf4241ab0e5714f4479ca300334bf1
Author: Le Quyen <lehoangq@gmail.com>
Date:   Thu Oct 10 00:44:01 2019 +0800

    Metal backend skeleton implementation.
    
    Bug: angleproject:2634
    Change-Id: I34be82f4a80a6851fecb53a51e069b134d82613a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1849079
    Commit-Queue: Le Hoang Quyen <le.hoang.q@gmail.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit aa292a59f9f222535c2ff34d8eecbe3cce039664
Author: Ian Elliott <ianelliott@google.com>
Date:   Thu Oct 10 08:22:04 2019 -0600

    Generate GLES 3.2 entry points
    
    This is a combination of:
    
    - Changing the "scripts/generate_entry_points.py" script to tell it to
      also auto-generate GLES 3.2.  Also changing "scripts/gen_proc_table.py".
    
    - Generating new and modified files needed to add GLES 3.2 to the
      ANGLE front-end.  This is done by running the following command:
      "python scripts/run_code_generation.py".
    
    - Creating the following files:
    
      - src/libANGLE/validationES32.h
      - src/libANGLE/validationES32.cpp
      - src/libANGLE/capture_gles_3_2_params.cpp
    
    - Hand-editing the following files:
    
      - src/libGLESv1_CM/libGLESv1_CM.cpp
      - include/GLES2/gl2ext_angle.h
      - src/libGLESv2.gni
      - src/libANGLE/Context.h
      - src/libANGLE/Context.cpp
      - src/libANGLE/Context_gl.cpp
      - src/libANGLE/ErrorStrings.h
      - src/libANGLE/State.h
      - src/libANGLE/validationES1.cpp
      - src/libANGLE/validationGL3.cpp
      - src/libANGLE/validationGL31.cpp
      - src/libANGLE/validationGL32.cpp
      - src/libANGLE/validationGL33.cpp
      - src/libANGLE/validationGL4.cpp
      - src/libANGLE/validationGL43.cpp
      - src/libANGLE/validationGL45.cpp
    
    Bug: angleproject:3649
    Change-Id: I5b67f72e3e3b55e74039ec3e28aa8d399ec08cf2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1850231
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit 6e6539816196f8333dd6b3f7bf7405be178ba141
Author: Le Quyen <lehoangq@gmail.com>
Date:   Wed Oct 9 15:19:02 2019 +0800

    Added PVRTC compression extension needed for Metal on iOS.
    
    Bug: angleproject:2634
    Change-Id: I413f754fe5551b1e248bc2b824b327b92d8c70f9
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1849076
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit ad5f71649e210069ab5427ddb46755358df220a1
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Oct 10 07:01:22 2019 +0000

    Roll ./third_party/spirv-tools/src 3c7ff8d4f0a1..82f84c4b8f19 (10 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/3c7ff8d4f0a1..82f84c4b8f19
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@82f84c4b8f19
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC geofflang@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=geofflang@google.com
    Change-Id: I1a8f90754220f9a42b1eb72c61c2d9fe34933502
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1851685
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit c5e0ac757a112a24a0118d434e652fd7b558e6a8
Author: Kenneth Russell <kbr@chromium.org>
Date:   Wed Oct 9 20:33:09 2019 -0700

    Conditionalize DeviceCGL implementation.
    
    Needed in order to build in WebKit.
    
    Bug: angleproject:3973
    Tbr: geofflang@chromium.org
    Tbr: jmadill@chromium.org
    Change-Id: I9818a2f74d07daa4709892c1cfa81670e5f80617
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1851245
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Commit-Queue: Kenneth Russell <kbr@chromium.org>

commit 5d9c4ee328bc160b24746b03eb78aa38c42eb2fc
Author: Nathan Zabriskie <nazabris@microsoft.com>
Date:   Tue Sep 17 15:36:25 2019 -0700

    Add D3D11on12 device option
    
    This CL adds a new D3D11on12 device option which runs the D3D11
    API on top of D3D12. This is done to aid in preliminary
    investigations into the feasibility of creating a full D3D12
    backend implementation.
    
    Bug: angleproject:3919
    Change-Id: I0ad4250eb3c93b0b74274c904aac74f03753c7ad
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1814404
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d7323cf7f12d0a3fdfdbfa985d99066fdf0882ce
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Oct 9 18:05:16 2019 -0400

    Fix a warning with VS2019.
    
    Popped up when testing with the new compiler.
    
    Bug: angleproject:3986
    Change-Id: I2c0f838941b133e0d7785f1ba62b5e7d02d89bd4
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1849986
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 9c2df983c0435471f5b5b4c600166f2a99500767
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Oct 9 16:45:13 2019 -0400

    Roll Chromium DEPS (October 2019).
    
    Several child repos. In preparation for rolling MSVC 2019 in build/.
    
    Bug: angleproject:3986
    Change-Id: I4207b39ab11f84a7b109462606ffa1b76278bfe3
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1849977
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 28ff9922239e7341d7b08d7d35b5c6b65c5d1abd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Oct 9 16:08:35 2019 -0400

    Vulkan: Get rid of "TextureVkViews".
    
    This struct was used to implement different views for stencil mode. It
    is replaced with a single stencil mode view for sampling.
    
    We shouldn't be using a stencil-specific view for our render view. In
    cases where we're attaching a Depth/Stencil texture to a Framebuffer's
    special depth/stencil attachment point we will still need to use a
    single 'Draw' view attached to depth/stencil. So there's no need for a
    separate 'Draw' view for stencil.
    
    Also there's no current support for a separate 'Fetch' view for
    stencil textures. There may not be any easy way to trigger this path as
    it's only used in seamful cube map emulation and image copy. Seamful
    emulation is ES 2.0 only while stencil textures are ES 3.1 so that's
    not a possible use. Image copy doesn't seem to be possible either as it
    stands right now.
    
    Bug: angleproject:3975
    Change-Id: Ic999f9471ea533d1184a364732c569124aa802bf
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1842230
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>

commit 2fa9d73469ff78949abc2505004fdeeebb1c89de
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Oct 7 16:35:38 2019 -0400

    Partially Revert "Convert DXT1 RGB data to DXT3 RGBA when uploading to the GPU."
    
    This reverts commit e6582161b04beaa368f3081897912ede89d7800d.
    
    Remove the DXT1->DXT3 transcoding but leave in the MacOS workarounds for fixing
    the alpha channel of DXT1 textures.
    
    BUG=angleproject:3729
    
    Change-Id: Ib276c1e4a58155866da8c661cba2063a4e4304fe
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1846015
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 2d5c8d31972d07fedf04db85e9f10921353c0d52
Author: Cody Northrop <cnorthrop@google.com>
Date:   Tue Oct 8 22:37:32 2019 -0600

    Vulkan: Fix off by one when flushing staged texture updates
    
    When updating ImageHelper::flushStagedUpdates to handle base and
    max texture level, we got off by one when deciding if an update
    landed in in the range of the current vkImage. When there are 8
    mipLevels and we see an update for level 8, that should not be
    applied, and should be preserved in updatesToKeep.
    
    Bug: angleproject:3950
    Test: MipmapTest.DefineValidExtraLevelAndUseItLater/ES2_Vulkan
    Change-Id: I63e0c24f7885f8b0580ce212b531711aebcf0e01
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1848933
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Commit-Queue: Cody Northrop <cnorthrop@google.com>

commit d0cf5579fedb253f6e9c1308ad1f03eb58fbcc3b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Oct 7 13:40:24 2019 -0400

    Make sure all extension strings start with GL_
    
    BUG=angleproject:3974
    
    Change-Id: I01bb5e6f7dec800ac36464a7d64c26998a0b087f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1845473
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 09495f87d9a959ac66acb67728af6f035a8b8c43
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Oct 9 08:23:13 2019 -0400

    Add ANGLE Platform Metal extension.
    
    EGL_ANGLE_platform_angle_metal is the new extension name.
    
    Bug: angleproject:2634
    Change-Id: I6ebffbd4f6d7974bc5ef6d48849e985ee83e9808
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1848793
    Reviewed-by: Le Hoang Quyen <le.hoang.q@gmail.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit ef4c25e71c32487feade5e9f8e79cb569545b846
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Oct 8 17:03:04 2019 -0400

    GL: Skip buffer validation for transform feedback buffers.
    
    Transform feedback buffer state is managed by TransformFeedbackGL, the
    state tracked in StateManagerGL is not correct.
    
    BUG=angleproject:3900
    
    Change-Id: I73f7b9b1c8d3b4087e25eb4cf3844faf210793a0
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1848392
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 8e7d9d6c2326a36ff57335ceeb41eb86cb639a7f
Author: Kenneth Russell <kbr@chromium.org>
Date:   Fri Oct 4 18:19:32 2019 -0700

    Add EGL_ANGLE_device_cgl extension.
    
    Supports querying the CGLContextObj and CGLPixelFormatObj associated
    with ANGLE's underlying OpenGL context on macOS.
    
    Minor refactorings to implementation of device attribute queries on
    all platforms.
    
    Bug: angleproject:3973
    Change-Id: I24341668be4cbfed0b7f2df4c1402df1effe275e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1846733
    Commit-Queue: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 7de9f95df905ebfb54ea8a3cbae4b07fadc3f2e8
Author: Eric Foo <efoo@chromium.org>
Date:   Mon Oct 7 16:23:12 2019 -0700

    Add COMPONENT and TEAM information in OWNERS file
    
    Bug: 977050
    Change-Id: I969fbc59b3a94cc544097ad0ad850ce12bee70bd
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1845663
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit d01ae535b36c47b8f09b2c43a9a213c40fc2a55c
Author: Kenneth Russell <kbr@chromium.org>
Date:   Sat Oct 5 23:30:29 2019 -0700

    (ANGLE) Rename CHROMIUM_compressed_texture_etc to use ANGLE_ prefix.
    
    This is the ANGLE side of a two-sided patch including Chromium to
    rename this synthetic OpenGL extension to use an ANGLE_ prefix.
    
    Bug: chromium:1011653
    Change-Id: Ice4b526a34157ebbd8c283aacc9437fae2e35d6e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1843506
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Kenneth Russell <kbr@chromium.org>

commit d5735c1814f76d347d1915f7c4d61b03f497afdf
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Oct 8 11:36:47 2019 -0400

    Roll angle-internal.
    
    Contains the latest up-to-date GLES 1 conformance branch synched with
    ToT Khronos master.
    
    Bug: angleproject:3979
    Change-Id: Ie85547155e17f860cf1ce29808234a96f3e41261
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1846060
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 88bc4d3d117db8f25e5817bda0f3263d9116673f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 4 20:41:24 2019 -0400

    Vulkan: Get rid of "fetch" level/layer image views.
    
    Instead always use 2D array views when rendering to cube maps. We need
    to keep the "fetch" image view for the main image for emulating
    seamless cube map textures on GL 2.0. We also use it for some texture
    copying init. These uses could potentially be replaced with sample
    instructions if we wanted to remove this last "fetch" view.
    
    Bug: angleproject:3975
    Change-Id: I90f9be9fc6542d8ec27f6722132c1b27acf72176
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1842226
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit cb653d43b6079477422a729afb515deb1e8418eb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 4 17:26:59 2019 -0400

    Vulkan: Get rid of level layer "storage" views.
    
    By using a 2D instead of 2D array view for the render target we can
    merge the 'storage' and 'draw' level/layer views.
    
    Bug: angleproject:3975
    Change-Id: Icf8c0bf6bec4147595c2b728362abd51bdf03f3e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1841947
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 93b213cb95fc716537f18f91755877404070891f
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Fri Sep 27 16:18:28 2019 -0600

    Vulkan: Update depth/stencil expectations
    
    Update depth/stencil test expectations.
    One test remove as it now passes, others narrowed to NVIDIA only.
    
    Bug: angleproject:3970
    Bug: angleproject:2905
    Change-Id: Ie73ac2eb586469f78e025b4ad3a8fa0274abd3af
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1845334
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Reviewed-by: Ian Elliott <ianelliott@google.com>
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>

commit e600ac2a03bbd6cd7e0cb8ef0706fd3b7b9a7912
Author: Tim Van Patten <timvp@google.com>
Date:   Fri Oct 4 14:31:57 2019 -0600

    Create test to validate scissor size is correct
    
    The concern is that if a user changes the framebuffer's attachment
    to one with a different size, contextVk->updateScissor() may not be
    called and we may render too much/little. This change creates a test to
    verify that when the FBO's attachment size changes, the correct amount
    of fragments are drawn.
    
    Bug: angleproject:3754
    Test: FramebufferTest_ES3
    Change-Id: I47108d6fe3e671ddc8c30cf969f63c1c3ae76f84
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1842128
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>

commit 199e8ee06a7a1460120b323beeffbbcb013ad82e
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Oct 8 07:01:21 2019 +0000

    Roll ./third_party/spirv-tools/src c18c9ff6bc30..3c7ff8d4f0a1 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/c18c9ff6bc30..3c7ff8d4f0a1
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@3c7ff8d4f0a1
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC geofflang@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=geofflang@google.com
    Change-Id: I5ea82c0e4200ea5ea4036783b1b52a9eb36d1aca
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1845585
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit a333b87cfcbe26daa7760aa710234c8e999d9ba5
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Fri Sep 27 14:00:14 2019 -0600

    Vulkan: Handle D24 -> D32FS8X24 depth fallback
    
    Swiftshader's depth support requires that ANGLE fall back to using
    the D32FS8X24 depth format. Some conversion routines needed to be
    added to support that use.
    
    Test:
    dEQP.GLES3/functional_texture_format_sized_*
    
    Bug: angleproject/3937
    Change-Id: I979dc5e9b01dac40f564daad4f4817b61bd056ac
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1829170
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit a787b6187a134c64cc9c336a2cdd20ed08778eb2
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Thu Oct 3 12:59:12 2019 -0400

    D3D11: Buffers larger than MAX_UNIFORM_BLOCK_SIZE
    
    We had clamped all UBOs to MAX_UNIFORM_BLOCK_SIZE, when D3D11
    allows the underlying buffer to be larger as long as each UBO
    binding is still within the max.
    
    Bug: 906683
    Bug: angleproject:3388
    Change-Id: Id5536302dd73a41c0882fddd77e94f4503f00730
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1837356
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

commit 2682b5a02d16d03094e579fea17c802b23999251
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 7 15:13:23 2019 -0400

    Documentation maintenance.
    
    Fixes links in the Vulkan back-end doc. Also includes a link to the
    Vulkan back-end docs on the main page. Also updates the building code
    section to mention VS2019 and make the win toolchain varable set more
    prominent.
    
    Bug: angleproject:1944
    Change-Id: I8e8f0775daa3643afaa1ddd44429fa7d8e77b19b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1846014
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 1e3f2e0b78c643c6d3e4c407aaa3a67a4d68b53e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 7 14:11:34 2019 -0400

    Roll angle-internal with new GLES 1.0 fixes.
    
    The fixes require a few changes in ANGLE to support the build. Will
    upstream them to Khronos once its proved they can run the GLES 1.0
    tests correctly.
    
    Bug: angleproject:3979
    Change-Id: I74ff0cfa8ccc1bc903517a67d26352c4801e6355
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1845471
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Lingfeng Yang <lfy@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit cc4d833180caaa9c4de3db1812af30842821fd58
Author: Brian Sheedy <bsheedy@chromium.org>
Date:   Wed Sep 11 17:26:00 2019 -0700

    Reland "Add export_targets.py to presubmit"
    
    This is a reland of c40a21f353a2d0a37e83f3dce3a1c3096574be64
    
    Changes: Fixed presubmit failing on Windows due to being unable
    
    to find gn, fixed export_targets.py failing on Windows for
    
    Googlers due to being unable to find Visual Studio files.
    
    Original change's description:
    > Add export_targets.py to presubmit
    >
    > Adds export_targets.py to run as part of presubmit in order to help
    > prevent breaking Firefox with BUILD.gn changes.
    >
    > Bug: chromium:1003151
    > Change-Id: I5a7ab00891cd7c094c797e6150f642f803a726b6
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1802038
    > Commit-Queue: Jamie Madill <jmadill@chromium.org>
    > Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    
    Bug: chromium:1003151
    Change-Id: I321ade86f2d969601afb8e1ed61c36bf166887b5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1842127
    Commit-Queue: Brian Sheedy <bsheedy@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 6acfca3ad3e322638970a6301f39f5b4262a0cdd
Author: Cody Northrop <cnorthrop@google.com>
Date:   Fri Oct 4 08:06:29 2019 -0600

    Vulkan: Handle texStorage when base level is set
    
    In this scenario, we allow the texStorage call to fully populate the
    image, then let dirty bits change the vkImage to reflect the base level.
    
    Bug: angleproject:3948
    Bug: angleproject:3949
    Test: dEQP-GLES3.functional.shaders.texture_functions.texturesize.*
    Change-Id: I1f453653a23b9d1802a374def40c9372ada8822a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1841275
    Commit-Queue: Cody Northrop <cnorthrop@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit e94f473753bea6cb8ddbfa5e894f55e4a272bf28
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Oct 7 07:01:21 2019 +0000

    Roll ./third_party/spirv-tools/src 8fa0f1a6567c..c18c9ff6bc30 (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/8fa0f1a6567c..c18c9ff6bc30
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@c18c9ff6bc30
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC cwallez@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=cwallez@google.com
    Change-Id: Ic0136a5a52268cb0edf6839c20b7e3a53fb0c0b5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1844872
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 23d6a0e668bfd134852ca35e5953f53ec0a2e9cb
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Oct 7 07:01:14 2019 +0000

    Roll ./third_party/glslang/src 135e3e35ea87..4b97a1108114 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/135e3e35ea87..4b97a1108114
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@4b97a1108114
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/glslang-angle-autoroll
    Please CC cwallez@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=cwallez@google.com
    Change-Id: If8cff92bf2d74888f7afa465fceaf9e54af34c66
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1844871
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 5e9d4ee99ea11265ac48cdc41cc60480f37e4f02
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Oct 5 09:49:36 2019 -0400

    Vulkan: Re-enable SwiftShader tests.
    
    These should be fixed with this CL:
    https://swiftshader-review.googlesource.com/c/SwiftShader/+/36990
    
    Bug: angleproject:3876
    Change-Id: I02e657cd9b1986c914c5ed4c79dd86a91fe0cb75
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1842129
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 1ba72546da4ce83b340fdd965655010b75c749db
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 4 15:17:49 2019 -0400

    GN: Allow building without /build/ folder.
    
    This will allow for ANGLE to be used in the Skia build.
    
    Bug: angleproject:3943
    Change-Id: Idd1840f4445c63e696a7cdcd8b873623b8408306
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1835346
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>

commit f7ad03aa869b9b00660e84a18ebc0461709c0951
Author: Mohan Maiya <m.maiya@samsung.com>
Date:   Fri Oct 4 08:50:38 2019 -0700

    Vulkan: Enable a few polygon offset tests in dEQP
    
    These tests pass on Vulkan backend except on Nvidia cards.
    Nivida vulkan driver does not clamp the depth fragment
    in case of floating-point representation.
    
    Bug: angleproject:3678
    Test: dEQP-GLES3.functional.polygon_offset.float32_result_depth_clamp
          dEQP-GLES3.functional.polygon_offset.float32_factor_1_slope
    Change-Id: I2be70f98aafac546af592aa55c5b56e836e53a46
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1824797
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a424214638b064da33a9ef270c2a2fd9244192f6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 4 18:57:25 2019 +0000

    Revert "Add export_targets.py to presubmit"
    
    This reverts commit c40a21f353a2d0a37e83f3dce3a1c3096574be64.
    
    Reason for revert: Seems to be failing locally on Windows.
    See bug for more info.
    
    Original change's description:
    > Add export_targets.py to presubmit
    >
    > Adds export_targets.py to run as part of presubmit in order to help
    > prevent breaking Firefox with BUILD.gn changes.
    >
    > Bug: chromium:1003151
    > Change-Id: I5a7ab00891cd7c094c797e6150f642f803a726b6
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1802038
    > Commit-Queue: Jamie Madill <jmadill@chromium.org>
    > Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    
    TBR=ynovikov@chromium.org,bsheedy@chromium.org,jgilbert@mozilla.com,jmadill@chromium.org
    
    Change-Id: Ic9a2eb58d847a40349e64b931c369f07c24b799c
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: chromium:1003151
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1841877
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 894f76c5349647966cf4090541808436d66169c9
Author: Tim Van Patten <timvp@google.com>
Date:   Fri Oct 4 11:20:13 2019 -0600

    Only Enable Pixmap Support for Unix (or compatible)
    
    Only enable pixmap support for Unix (or compatible).
    
    Bug: angleproject:3159
    Test: CQ
    Change-Id: I646ea89dfafa8816d318010fb454ba2bec49f2b1
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1841614
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Tim Van Patten <timvp@google.com>

commit c40a21f353a2d0a37e83f3dce3a1c3096574be64
Author: Brian Sheedy <bsheedy@chromium.org>
Date:   Wed Sep 11 17:26:00 2019 -0700

    Add export_targets.py to presubmit
    
    Adds export_targets.py to run as part of presubmit in order to help
    prevent breaking Firefox with BUILD.gn changes.
    
    Bug: chromium:1003151
    Change-Id: I5a7ab00891cd7c094c797e6150f642f803a726b6
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1802038
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit dce0916859d918933e21e97f78d323c0a519ec6f
Author: James Darpinian <jdarpinian@chromium.org>
Date:   Thu Oct 3 13:47:47 2019 -0700

    Enable unfold_short_circuits workaround on Apple.
    
    Bug: angleproject:3957
    Change-Id: I49ba77b2daeed01a2b668fc68c26663e87997ad5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1838421
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: James Darpinian <jdarpinian@chromium.org>

commit fb5688498b936e32d84d5ee4e7a2a46b831fc92a
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Oct 4 18:45:55 2019 +0200

    Suppress failure on Linux FYI Ozone
    
    BUG=angleproject:3969
    
    Change-Id: Idcefab4b5f07b018c58acb27f47721445c6a6316
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1842051
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 7e821ac174a0c6d238d2635a0cda56484be95944
Author: Tim Van Patten <timvp@google.com>
Date:   Tue Apr 9 16:49:51 2019 -0600

    Android: Enable dEQP-EGL.functional.query_context.*
    
    Exclude the Nexus 5x from the following tests:
    
    dEQP-EGL.functional.query_context.get_current_context.*
    dEQP-EGL.functional.query_context.get_current_display.*
    dEQP-EGL.functional.query_context.get_current_surface.r*
    dEQP-EGL.functional.query_context.query_context.*
    
    Bug: angleproject:3159
    Change-Id: Ib02553944b952a687d5e10d624756310627b81c5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1559204
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Commit-Queue: Tim Van Patten <timvp@google.com>

commit 6b60dfd80e3dc3fe13eb1b9bcaf8b36f30e20b45
Author: Cody Northrop <cnorthrop@google.com>
Date:   Wed Oct 2 07:54:18 2019 -0600

    Vulkan: Remove image views forced to one mip level
    
    textureSize requires the view to reflect actual mip levels, so
    we can't artificially limit the view based on filtering mode.
    This CL removes those views.
    
    That unearthed a problem where the VK backend wasn't properly
    implementing non-mipmapped filter modes. There is a blurb in
    the Vulkan spec about this:
    
      There are no Vulkan filter modes that directly correspond to OpenGL
      minification filters of GL_LINEAR or GL_NEAREST, but they can be
      emulated using VK_SAMPLER_MIPMAP_MODE_NEAREST, minLod = 0, and
      maxLod = 0.25, and using minFilter = VK_FILTER_LINEAR or
      minFilter = VK_FILTER_NEAREST, respectively.
    
    So this CL also adds that emulation.
    
    Bug: angleproject:3948
    Test: TextureSizeTextureArrayTest.BaseLevelVariesInTextureArray
    Test: dEQP-GLES3.functional.shaders.texture_functions.texturesize.*
    Change-Id: I81d5c3417e7d9abd0cdd058b935963706024a28f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1835937
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Commit-Queue: Cody Northrop <cnorthrop@google.com>

commit 74f2833326579759c50ec45825590d25f1d0a028
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Aug 23 16:16:19 2019 -0400

    GL: Update RenderbufferGL to use ANGLE_GL_TRY.
    
    BUG=angleproject:3020
    
    Change-Id: I9e16b651c5845412dd58b87474490fd92f69223b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769063
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit c2fc8bd80ed62b0cee92ec5811d2c8ec2d8dde0e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Oct 1 18:21:22 2019 -0400

    GL: Fix support for glCopyTextureCHROMIUM with source rectangle textures.
    
    Shader generation didn't use the correct sampler type and discarded pixels
    outside the [0, 1] texcoord which is almost always true when sampling rectangle
    textures.
    
    Added end2end test coverage.
    
    BUG=990368
    
    Change-Id: Ifaa73dfa83467d5bfa32e3795b52033254436a77
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1834582
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 5a42da564fbea81aa7c6943ca30bb69ed295cc3b
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Oct 4 07:01:21 2019 +0000

    Roll ./third_party/spirv-tools/src 44b32176ee48..8fa0f1a6567c (4 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/44b32176ee48..8fa0f1a6567c
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@8fa0f1a6567c
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC cwallez@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=cwallez@google.com
    Change-Id: Id4eff2c05ef0289e29a289df8bf50fe054715c24
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1839022
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit e1bd77c6546da4651954d27847beab858ed528d0
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Oct 4 07:01:15 2019 +0000

    Roll ./third_party/glslang/src 7bc047326e06..135e3e35ea87 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/7bc047326e06..135e3e35ea87
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@135e3e35ea87
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/glslang-angle-autoroll
    Please CC cwallez@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=cwallez@google.com
    Change-Id: I665a897da28b5f2dc2fcaba8aebf286226340164
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1839021
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 5549ef0451f99eb1a76eec23017582548088e99e
Author: Mohan Maiya <m.maiya@samsung.com>
Date:   Wed Oct 2 09:38:03 2019 -0700

    Vulkan: Fix content synchronization for textures bound to images
    
    Added state tracking back for images bound with glBindImageTexture
    This fixes a bug where updating a texture with glTexSubImage2D would not
    trigger a content update when the same image was re-used in a dispatch
    
    Bug: angleproject:3887
    Test: SimpleStateChangeTestES31.DispatchWithImageTextureTexSubImageThenDispatchAgain/ES3_1_Vulkan
    Change-Id: I030ec52f1c470f9e9ff7c14f1c24fe213000a3ad
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1835943
    Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit f750d86a35d01473d38684388ab8bc4801ddd911
Author: Tim Van Patten <timvp@google.com>
Date:   Tue Oct 1 17:52:37 2019 -0600

    Trigger a flush() when the command graph contains too many objects
    
    If an App repeatedly issues GL commands like glTextImage2D without a
    finish/flush/draw, it's possible for ANGLE to exhaust the available
    Vulkan memory allocations and exceed
    VkPhysicalDeviceLimits::maxMemoryAllocationCount. When this occurs,
    the Vulkan validation layers will trigger an error and cause dEQP
    tests to fail.
    
    This change will query the backend if a flush() should be performed
    during each of the GL delete calls, and perform it if necessary. This
    will cause a queue submission and a Serial increment, allowing the
    allocated memory to be freed, preventing the validation errors.
    
    Bug: angleproject:3818
    Test: KHR-GLES3.copy_tex_image_conversions.forbidden.renderbuffer_cubemap_*
    Change-Id: I26d0a47aa7bca10c25bc8141f1523afbab0b3b5b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1834781
    Commit-Queue: Tim Van Patten <timvp@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 1f08ab28305d016452805863beaaf36815100feb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 3 16:22:52 2019 -0400

    Re-land "GN: Componentize vulkan back-end build."
    
    Re-land fixes angle_end2end_tests disabling Vulkan.
    
    This moves the build configuration into the Vulkan back-end dir.
    This should be a little easier to maintain as all Vulkan-related
    config is in one place.
    
    Note that this should not interfere with Skia's build as they do
    not import the Vulkan back-end sources.
    
    One additional possiblity that this enables is testing other
    compile-time permutations of the Vulkan back-end more easily. For
    example we could make a simple change to enable compile testing
    of the Vulkan back-end with custom command buffers disabled.
    
    Also fixes a few errors affecting less tested configs.
    
    Bug: angleproject:3943
    Change-Id: I0161668abcc58fcf529dde120998d4b99445fdd5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1838454
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 901aa3fa9fd436e4e3aef852b024d1657e9add99
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Oct 1 18:03:06 2019 -0400

    GL: Refactor BlitGL program types into tuples of enums.
    
    Previously we expanded out all the program variations into individual enums
    but as we add more variations this becomes hard to maintain. Generate the
    BlitGL program based on the individual parameter instead.
    
    BUG=990368
    
    Change-Id: I94fd5132baa5b6828aec7823ca5d9f0ffe94379f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1834581
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 1d02157e2660161f871a8105589909dded2100a1
Author: Tim Van Patten <timvp@google.com>
Date:   Tue Sep 24 10:54:40 2019 -0600

    Only enable shader array size restrictions for HLSL
    
    Shader arrays are currently restricted to 64K entries for all translator
    back ends.   This is being changed to just HLSL, since the other back
    ends appear to have support for larger sizes.
    
    Bug: angleproject:3865
    Test: dEQP-GLES31.functional.compute.basic.copy_image_to_ssbo_large
    Test: dEQP-GLES31.functional.compute.basic.copy_ssbo_to_image_large
    Test: ComputeShaderTest.VeryLargeArrayInsideFunction/*
    Change-Id: I9a9d1322e24b3206debdea6a3fd517b4d6869ed9
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1821943
    Commit-Queue: Tim Van Patten <timvp@google.com>
    Reviewed-by: Tobin Ehlis <tobine@google.com>

commit 588ba833e16aacb8535239fbed8d6250ebcceae3
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Thu Oct 3 14:36:21 2019 -0400

    Keep state up to date after bindBufferBase/Range
    
    Missing state tracking in StateManagerGL::bindBufferBase and
    bindBufferRange.
    
    Bug: angleprojects:3900
    Change-Id: Ibaa4731962532f85b3e8a34d974c308d72b20a7f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1838452
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

commit c847a75f95be1251b07bbd3f87aed86de6c0b9cd
Author: shrekshao <shrekshao@google.com>
Date:   Fri Sep 20 14:08:32 2019 -0700

    Fix redundant draw in DrawBaseVertexBaseInstanceTest
    
    Discovered this redundant draw issue when writing javascript
    webgl conformance test.
    
    Together fix some broken formatting.
    
    TBR=geofflang@chromium.org
    
    Bug: 3402
    Change-Id: I29dbcd04da7e47d9e0bc79074ff69202378c1214
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1816822
    Reviewed-by: Shrek Shao <shrekshao@google.com>
    Commit-Queue: Shrek Shao <shrekshao@google.com>

commit 1850492e30ce26c8254a90e694c6e227f250f1f3
Author: Mohan Maiya <m.maiya@samsung.com>
Date:   Wed Oct 2 08:23:03 2019 -0700

    Vulkan: Disable OES_vertex_type_10_10_10_2 on GLES 2.0
    
    - Because of the difference in the SNORM to FLOAT conversion formula
      between GLES 2.0 and 3.0, OES_vertex_type_10_10_10_2 is disabled
      when the context version is lower than 3.0.
    - Modify test conversion formula to be compliant with GLES 3.0 equation
    
    Bug: angleproject:3868
    Test: angle_end2end_tests --gtest_filter=VertexAttributeTest*Packed*Vulkan
    Change-Id: I8b85d8146ee05353bc40fa0022f05d6634c33110
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1792197
    Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 2328d65ab30dc165f7126392eb7a18ccbb6d6f82
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 3 02:27:07 2019 +0000

    Revert "GN: Componentize vulkan back-end build."
    
    This reverts commit d46e2fb1e341a7ba7da56072658d3b4b1a540077.
    
    Reason for revert: Broke Vulkan angle_end2end_tests.
    
    Bug: angleproject:3954
    
    Original change's description:
    > GN: Componentize vulkan back-end build.
    >
    > This moves the build configuration into the Vulkan back-end dir.
    > This should be a little easier to maintain as all Vulkan-related
    > config is in one place.
    >
    > Note that this should not interfere with Skia's build as they do
    > not import the Vulkan back-end sources.
    >
    > One additional possiblity that this enables is testing other
    > compile-time permutations of the Vulkan back-end more easily. For
    > example we could make a simple change to enable compile testing
    > of the Vulkan back-end with custom command buffers disabled.
    >
    > Also fixes a few errors affecting less tested configs.
    >
    > Bug: angleproject:3943
    > Change-Id: Iaf819936896e4f5d3e6415ed16ab0c940e46cdb6
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1829662
    > Commit-Queue: Jamie Madill <jmadill@chromium.org>
    > Reviewed-by: Tobin Ehlis <tobine@google.com>
    
    TBR=tobine@google.com,jonahr@google.com,jmadill@chromium.org
    
    Change-Id: I7cf3db4f6b7d8b779625ea2491172bb429b498a9
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:3943
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1837233
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit fd092e853e7b1c51b544aca6817e103d68d33dbd
Author: Ian Elliott <ianelliott@google.com>
Date:   Wed Oct 2 13:19:00 2019 -0600

    Vulkan: Point end2end failure at correct bug
    
    The ComputeShaderTest.BindImageTextureWithOneLayerTexture3D/ES3_1_Vulkan test
    is failing because of the previously-reported angleproject:3886.
    Switching the comment to so indicate.
    
    Bug: angleproject:3188
    Bug: angleproject:3886
    Change-Id: Ib62316dcf3935f96bdcab701e8fdb6042a1ab859
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1834837
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit bc49abad17d391434f83260539cccd32a6a31a1b
Author: Ian Elliott <ianelliott@google.com>
Date:   Wed Oct 2 11:14:48 2019 -0600

    Vulkan: Expect additional GLES 3.0 KHR tests to pass
    
    Another change (for angleproject:3939) also fixes angleproject:3695.  One of
    those tests now fails for another/known reason (angleproject:3836).
    
    Bug: angleproject:3695
    Bug: angleproject:3836
    Change-Id: I46e77fe15df84e3145933fca5cea6da47bc390f9
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1834834
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit d46e2fb1e341a7ba7da56072658d3b4b1a540077
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Sep 27 16:22:35 2019 -0400

    GN: Componentize vulkan back-end build.
    
    This moves the build configuration into the Vulkan back-end dir.
    This should be a little easier to maintain as all Vulkan-related
    config is in one place.
    
    Note that this should not interfere with Skia's build as they do
    not import the Vulkan back-end sources.
    
    One additional possiblity that this enables is testing other
    compile-time permutations of the Vulkan back-end more easily. For
    example we could make a simple change to enable compile testing
    of the Vulkan back-end with custom command buffers disabled.
    
    Also fixes a few errors affecting less tested configs.
    
    Bug: angleproject:3943
    Change-Id: Iaf819936896e4f5d3e6415ed16ab0c940e46cdb6
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1829662
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tobin Ehlis <tobine@google.com>

commit 24e7ecfc9f5ff360eb0b2fec62468b5495c6d974
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Oct 1 10:52:35 2019 -0400

    GL: Temporarily disable GPU copy paths for rectangle texture sources.
    
    Sampling from rectangle textures produces incorrect results for glCopyTextureCHROMIUM.
    Temporarily disable this path while the underlying issues are investigated.
    
    BUG=990368
    
    Change-Id: I690252ed4d09cdb6a7fd94f6f24d1300c53afc1b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1832496
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>

commit 7dd034469ac990197594712bedbac24e675a7f22
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Mon Sep 30 13:50:12 2019 -0400

    Ensure Features* descriptions stay up to date
    
    Created a macro to help keep Features' descriptions up to date. This
    will avoid confusion in the future when conditions change. Also update
    all descriptions to match current state.
    
    Bug: angleproject:3947
    Change-Id: Ifc65e7789c916fab79f1323798dfb59d7a4efad2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1829584
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 514d5e281c03874bab4f6e82341b374a9c1c5b17
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 25 14:37:44 2019 -0400

    Vulkan: Remove global finish in ContextVk::onDestroy.
    
    Should be no longer necessary with shared garbage collection in
    RendererVk.
    
    Bug: angleproject:2464
    Change-Id: I8ebd910cf36dd0b18d83d32981db28599d443ec3
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1825445
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 4671fee9f63da774f60f9bf84f2b7d0163350da5
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Oct 1 12:28:25 2019 -0400

    Don't expose CHROMIUM_color_buffer_float_rgb[a] in ES3.0+
    
    These extensions are superseded by EXT_color_buffer_float and not needed to support
    WebGL2.  Allowing them to expose rendering to RGB[A]32F when EXT_color_buffer_float
    is not supported causes dEQP failures.
    
    BUG=angleproject:3939
    
    Change-Id: Ib50a061526f29fc0628e732123c04a22800345dc
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1832525
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Reviewed-by: Alexis Hétu <sugoi@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit f03259ad720556908d46ea139b99804b1039550e
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Thu Sep 19 11:31:40 2019 -0600

    Vulkan: lineloop support for DrawElementsIndirect
    
    Add support for lineloops.
    Includes a compute shader for converting lineloop index
    buffer with optional restart into linestrip.
    
    Test:
        dEQP.GLES31/functional_draw_indirect_*
        angle_end2end_tests --gtest_filter=LineLoopIndirectTest.*/*
    
    Bug: angleproject:3564
    Change-Id: I12d08db1c8d99867f0611e53be50193647695260
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1797106
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Tobin Ehlis <tobine@google.com>

commit e5009be8a680b17ee842daacbf3bd24edeb3d7d5
Author: Ian Elliott <ianelliott@google.com>
Date:   Tue Oct 1 16:27:37 2019 -0600

    Vulkan: Divide 3188 KHR failures into 2 known root causes + cleanup.
    
    The two root causes are angleproject:3695 and angleproject:3836.  Some tests
    failing from angleproject:3836 were still labeled for angleproject:3458.  This
    CL does some cleanup of that, and improves the comments for the two
    root-causes.
    
    Bug: angleproject:3188
    Bug: angleproject:3458
    Bug: angleproject:3695
    Bug: angleproject:3836
    Change-Id: I4c9be0b3078c1fc21064fb88b58e28ea92c3a73c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1834275
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit 8c3bb48f58708eb9f70acecd7ec7eaeafeaadff4
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Oct 2 07:01:21 2019 +0000

    Roll ./third_party/spirv-tools/src 85c67b5e08ee..44b32176ee48 (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/85c67b5e08ee..44b32176ee48
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@44b32176ee48
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC cwallez@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=cwallez@google.com
    Change-Id: I46a8ca58400c265088d154c7b534b01af8cb6566
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1835127
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit f22f16d3c0a80ce7bbc4a8eeff81fde63aa6ad40
Author: Tobin Ehlis <tobine@google.com>
Date:   Thu Jul 18 15:10:49 2019 -0600

    Reland "Vulkan: Use VK repos' internal BUILD.gn files"
    
    This is a reland of 552f5fcb0d8fcc615856ce3b678190e1cbdd38e6
    There was a missing build dependence causing a build no-op
    issue which has now been fixed in the upstream Vulkan Validation
    Layer repo.
    
    Primary workaround that need to be re-visted and fixed are:
    1. Disabled validation layers on 32-bit Windows
    2. Disabled validation layers on 32-bit Android
    3. Disabled DebugUtils on Android, using DebugReport instead
    4. Using custom VK Loader branch to avoid WDK dependence
    
    Original change's description:
    > Vulkan: Use VK repos' internal BUILD.gn files
    >
    > This retires custom BUILD.gn files for the Vulkan Headers, Tools,
    > Validation-Layers, and Loader repos. They now have integrated BUILD.gn
    > files so switched ANGLE to use those by default.
    > Also Validation Layer, Loader, and Tools repos no longer uses codegen
    > so this speeds up the build overall.
    > Switched over from old VK_LAYER_LUNARG_standard_validation meta-layer
    > to VK_LAYER_KHRONOS_validation unified layer.
    >
    > This changes includes a temporary workaround to the Vulkan-Loader repo
    > to remove its Window's build dependence on WDK. There are plans to
    > remove that depenedence in Loader master, but until then we can use
    > our custom branch workaround.
    > It also includes a custom branch for validation layers that includes
    > some build fixes for ANGLE.
    > Finally, the layers were crashing on Android when attempting to use
    > DebugUtils extension so forcing DebugReport on Android for now.
    >
    > Bug: angleproject:2449
    > Bug: angleproject:3320
    > Bug: angleproject:3852
    > Bug: angleproject:3924
    > Bug: angleproject:3925
    > Bug: angleproject:3946
    > Bug: chromium:997009
    > Bug: chromium:997016
    > Change-Id: I48b36acefcc7f2bc930eb72d6fdbc87bca24f833
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1610438
    > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    > Commit-Queue: Tobin Ehlis <tobine@google.com>
    
    Bug: angleproject:2449, angleproject:3320, angleproject:3852
    Change-Id: I373ada091a1329db5e304874079428d01ba21d52
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1778302
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Commit-Queue: Tobin Ehlis <tobine@google.com>

commit 377b16792f7af5ae336285cacc4ca44cfe425b56
Author: Tim Van Patten <timvp@google.com>
Date:   Tue Sep 24 14:12:37 2019 -0600

    Vulkan: Enable dEQP-GLES31.functional.shaders.*
    
    The dEQP-GLES31.functional.shaders.* tests are currently passing for
    GLES 3.1, so I'm removing them from the expectations file. We don't have
    GLES 3.2 testing for ANGLE-Vk yet, so those may need to be revisited.
    
    Bug: angleproject:3569
    Test: dEQP-GLES31.functional.shaders.*
    Change-Id: Iff1fcfae7d82444432468b64d5bfa046beb9bf45
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1822740
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Tim Van Patten <timvp@google.com>

commit 616a4dc0f2fbb2f24c9aa05d831b1d527bd6221b
Author: Tim Van Patten <timvp@google.com>
Date:   Thu Sep 12 16:10:47 2019 -0600

    Vulkan: Full support for program interface queries
    
    Program interface queries are a generic way to query attributes of
    the program like uniforms, samplers, attributes, etc. This change
    supports those queries for program outputs.
    
    Bug: angleproject:3596
    Test: dEQP-GLES31.functional.program_interface_query.*
    Test: ProgramInterfaceTest.cpp
    Change-Id: I0f13692949073b45988b6f930eee9eaa6411bbe2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1801998
    Commit-Queue: Tim Van Patten <timvp@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit f10bf6bf55a78669bff7bb5cdd3ae0954a87661e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 26 10:27:18 2019 -0400

    Vulkan: Implement multi-threaded GL.
    
    The main component of this change is to make vk::BufferHelper,
    vk::ImageHelper and vk::SyncHelper use a common path. We introduce a
    new "vk::SharedGarbage" helper class that stores small lists of garbage
    from individual objects like an ImageHelper or BufferHelper. The
    SharedGarbage is stored in the RendererVk with the ResourceUse of the
    helper object. The ResourceUse tells RendererVk when it is safe to
    destroy the GarbageObjects.
    
    New "onGraphAccess" commands are added in a few places to enable the
    common garbage collection path. A couple Context-only resources like
    default attributes now are referenced where they were not before.
    
    Also reorganizes some functions so we can add a few helpful ASSERTs
    to our graph dependencies. Added "updateCurrentAccessNodes" for this.
    
    Also adds a "RendererScoped" helper to replace many uses of
    "ContextScoped".
    
    The multithreading EGL tests mostly pass but have some remaining
    flakiness so cannot yet be enabled.
    
    Bug: angleproject:2464
    Change-Id: Ia3e3ae8848d731abf3f21ebe04c33e381e130be0
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1808444
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 988f717018868d9f3a4ab2b3ffd7a1d30ce62f1c
Author: Cody Northrop <cnorthrop@google.com>
Date:   Mon Sep 30 15:52:37 2019 -0600

    Vulkan: Base/max level fixes and cleanup
    
    This CL cleans up references to base/max level bug and fixes
    one lingering issue regarding special handling of depth/z for
    arrayed surfaces.
    
    Bug: angleproject:3148
    Bug: angleproject:3184
    Bug: angleproject:3948
    Bug: angleproject:3949
    Bug: angleproject:3950
    Test: dEQP-GLES3.functional.texture.mipmap.*base_level*
    Test: dEQP-GLES3.functional.texture.mipmap.*max_level*
    Test: Texture2DArrayTestES3.DrawWithLevelsOutsideRangeWithInconsistentDimensions
    Change-Id: Iad72005a111507c50b8be9726adc32285bbae52b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1832757
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Cody Northrop <cnorthrop@google.com>

commit 755417dd79071d6149c81418e1404b0c61d19672
Author: Jaime Bernardo <jaime@janeasystems.com>
Date:   Mon Sep 30 17:53:56 2019 +0100

    GLES2: Use require_constant_initialization for g_Mutex
    
    A static assert to verify that the global mutex g_Mutex is trivially
    constructed fails to compile with clang when using the STL shipped
    with Visual Studio 2019.
    
    Use __attribute__((require_constant_initialization)) instead to verify
    for constant initialization.
    
    BUG=angleproject:3936
    
    Change-Id: I5969762ad5a99033143513d7c4992344da276b1a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1832164
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 4a276034fb421da7196fd18bf9a357ac62065dcb
Author: Cody Northrop <cnorthrop@google.com>
Date:   Mon Sep 30 16:31:00 2019 -0600

    Vulkan: Narrow skip lists for 3D and 2DArray tests to Compute
    
    Narrow these skips to just compute shader failures, which
    we will tackle as part of the next sprint.
    
    Bug: 3188
    Bug: 3189
    Bug: 3810
    Test: CopyTexImageTestES3.2DArraySubImage
    Change-Id: I74c259712e5f3c9296bd3a6241d1da8f1668ca36
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1832881
    Commit-Queue: Ian Elliott <ianelliott@google.com>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>

commit e49df747da7ebdfac05da253e769ac4f0912f62b
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Mon Sep 30 16:09:28 2019 -0600

    Update expectations for deqp failure
    
    KHR-GLES3.packed_depth_stencil.clear_buffer.depth24_stencil8
    KHR-GLES3.packed_depth_stencil.verify_read_pixels.depth24_stencil8
    Appear to be failing due to a driver issue on Pixel devices, update
    expectations to call out that bug.
    
    Bug: angleproject:3683
    Change-Id: Ibb226078e561610351be8223d04f27a5ff69bf9e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1832759
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Reviewed-by: Ian Elliott <ianelliott@google.com>
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>

commit 087f1384f233792921d34c0ca5b5a90fac75b070
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 26 10:19:36 2019 -0400

    Vulkan: Introduce CommandQueue helper class.
    
    Wraps the functionality of managing monitoring workloads of commands
    being sent to the VkQueue. In the future this will likely move to the
    RendererVk class. This refactor allows the move to be easier to manage
    and will let us more easily change ownership in the future if we have
    to again.
    
    Bug: angleproject:2464
    Change-Id: I061bc2ba939d7004d74d00b976a753a53c96445c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1804884
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 2e80cf9d91abd03b5b8bb6a1dec7ad884fe46b87
Author: Cody Northrop <cnorthrop@google.com>
Date:   Thu Aug 8 22:05:42 2019 -0600

    Vulkan: Refactor render target initialization for texture arrays
    
    Bug: angleproject:3188
    Bug: angleproject:3189
    Test: dEQP-GLES3.functional.texture.*.3d.*
    Test: dEQP-GLES3.functional.texture.*.2darray.*
    Test: Texture3DTestES3
    Test: CopyTexImageTestES3
    Test: DrawBuffersTestES3
    Change-Id: Ia48766170c02fadb56cddcd415144a00123b02c5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1745722
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Cody Northrop <cnorthrop@google.com>

commit ceac3320975b432fdde2ade2afc2a24af927aee0
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Sep 30 07:01:54 2019 +0000

    Roll ./third_party/spirv-tools/src 10951a7c9a13..85c67b5e08ee (4 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/10951a7c9a13..85c67b5e08ee
    
    
    Also rolling transitive DEPS:
      ./third_party/spirv-headers/src 601d738723ac..842ec9067462
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@85c67b5e08ee
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC ynovikov@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=ynovikov@google.com
    Change-Id: If7c7ea53b1056491815bbc67acf0c5ef9b73e375
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1831409
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 71c1138d6739b58cb8cc849ea1a2fd8c9f2776c3
Author: Tobin Ehlis <tobine@google.com>
Date:   Fri Aug 16 12:23:04 2019 -0600

    Vulkan: Emulate instanced attrib divisor
    
    This sets instancedArrays[ANGLE|EXT] extenstions as always
    supported regardless of underlying Vulkan HW's max vertex attrib
    divisor.
    Then detect instances where app sets a divisor that isn't supported
    by hardware and emulate those cases. Emulations is accomplished by
    copying the instanced attribs to a new buffer where each attrib is
    present once per instance, using the attrib divisor value as a
    factor to replicate the attribs, and then setting the actual divisor
    value for the draw to "1".
    Also, we only store 8 bits for the divisor used in the PSO, so this
    code also handles emulation of the case where divisor is > 255.
    
    This is passing all of the drawInstanced/Elements dEQP tests
    where divisor has to be emulated.
    
    Also enabled end2end InstancingTestES3 for Vulkan backend.
    
    Bug: angleproject:2672
    Change-Id: I9932f9eab49b16a19e8bbd35dacaf3b5a27a213f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1758689
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Commit-Queue: Tobin Ehlis <tobine@google.com>

commit cb16fb5fed93abdb8896650c0632cea097b4445f
Author: Cody Northrop <cnorthrop@google.com>
Date:   Thu Aug 29 16:53:55 2019 -0600

    Vulkan: Support texture base and max levels
    
    The Vulkan backend uses a vkImage that matches the number
    of effective levels in the GL texture. This is due to the fact
    that GL textures can have really strange layouts that only make
    sense when base level and max level are applied.
    
    For instance, take the following layout with disjoint mip levels:
    
      Level 0: 4x4 RGBA
      Level 1: 2x2 RGBA
      Level 2: 10x10 RGB
    
    If base level is set to zero and max level is set to 1, the image is
    still considered mip-complete:
    
      Level 0: 4x4 RGBA  ==> Base Level 0 ==>  Level 0: 4x4 RGBA
      Level 1: 2x2 RGBA  ==> Max Level 1  ==>  Level 1: 2x2 RGBA
      Level 2: 10x10 RGB
    
    If base and max level are then both set to 2, the texture is still
    considered complete, but of a different size and format:
    
      Level 0: 4x4 RGBA
      Level 1: 2x2 RGBA
      Level 2: 10x10 RGB ==> Base/Max Level 2 ==> Level 2: 10x10 RGB
    
    When the base or max level is changed, we must recreate the vkImage to
    match the new level count.
    
    To support that, we:
    
     - Stage updates from the current image to the new image
     - Only stage updates if there aren't already staged updates for a level
     - Free the current image and so it can be recreated at the next draw
    
    This CL does the following:
    
     - Refactors TextureVk::copyImageDataToBuffer to support staging updates
       without flush
     - Adds TextureVk::copyImageDataToBufferAndGetData to support previous
       use model
     - Adds TextureVk::changeLevels, triggered during syncState, which stages
       updates and releases the current image.
     - Updates ImageHelper::flushStagedUpdates to understand base/max levels
     - Updates TextureVk::ensureImageInitialized and TextureVk::generateMipmap
       to account for base/max level
     - Tracks base and max levels in ImageHelper
     - Adds ImageHelper::stageSubresourceUpdateFromBuffer to support
       this use case
     - Adds ImageHelper::isUpdateStaged to determine if changeLevels
       should propagate data
     - Makes gl::TextureTypeToTarget available for use outside of ImageIndex
     - Enables several deqp and end2end tests
    
    Bug: angleproject:3148
    Test: dEQP-GLES3.functional.texture.mipmap.*base_level*
    Test: dEQP-GLES3.functional.texture.mipmap.*max_level*
    Change-Id: I14ca071c9c62eb310dfed7ef9290dc65fc3ff696
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1776933
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Commit-Queue: Cody Northrop <cnorthrop@google.com>

commit 57b37b6b7910baf396cc378f37a84f05fc09a5ad
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 25 18:29:28 2019 -0400

    Rename util/system_utils to util/test_utils.
    
    This removes a GN naming conflict between util/system_utils and
    common/system_utils. This conflict was preventing us from adding
    unit tests to utils' version of system_utils. Since these functions are
    only useful to tests and samples rename them test_utils for simplicity.
    
    Will enable further development of ANGLE's standalone testing harness.
    
    Bug: angleproject:3162
    Change-Id: I9e34fb69f96c5de6dc2453fce4148a0f285e15ed
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1825268
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit d627d154634c388989f94f3d576f657a223503eb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 26 10:19:38 2019 -0400

    GLES1: Correct 'active' attributes mask.
    
    The active attributes are those consumed by the Program. Previously
    we were returning those enabled as client arrays. But this excluded
    default attributes.
    
    Uncovered when changing how resource usage was tracked for Vulkan
    multithreading.
    
    Bug: angleproject:2464
    Change-Id: I48996be9e4470bb1432e042f98046c95ea8adbfe
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1808718
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit a0159c03485b0ac91784d12d544927d83453d186
Author: Jaedon Lee <jaedon1.lee@samsung.com>
Date:   Mon Sep 2 14:49:07 2019 +0900

    Vulkan: Implement basic geometry shader feature
    
    Enable the default behavior of the geometry shader
    
    Bug: angleproject:3571
    Test: dEQP-GLES31.functional.geometry_shading.input.basic_primitive.points
          dEQP-GLES31.functional.geometry_shading.input.basic_primitive.lines
          dEQP-GLES31.functional.geometry_shading.input.basic_primitive.line_loop
          dEQP-GLES31.functional.geometry_shading.input.basic_primitive.line_strip
          dEQP-GLES31.functional.geometry_shading.input.basic_primitive.triangles
          dEQP-GLES31.functional.geometry_shading.input.basic_primitive.triangle_strip
          dEQP-GLES31.functional.geometry_shading.input.basic_primitive.triangle_fan
    Change-Id: I65708d19bbfe6a0ad8ca392a1d6b3609b1410ef4
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1793753
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit f8bb908702bd5a0b8ce4ae0b109efdbc78afbf2b
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Sep 27 07:01:54 2019 +0000

    Roll ./third_party/spirv-tools/src 510ca9d616f5..10951a7c9a13 (3 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/510ca9d616f5..10951a7c9a13
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@10951a7c9a13
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC ynovikov@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=ynovikov@google.com
    Change-Id: I1d4d4b0b102d9f667bdfc494794df14c1c1eeec1
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1828422
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 7f506bde16f165f923e9fd7e80c4f8b6314618fd
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Sep 26 23:13:42 2019 +0000

    Revert "Disable swiftshader on Fuchsia"
    
    This reverts commit b67102b1940ec4ce1da7eacdb4a171b7f3c44ba7.
    
    Reason for revert: breaks ANGLE roll into Chromium
    https://chromium-review.googlesource.com/c/chromium/src/+/1827833
    https://ci.chromium.org/p/chromium/builders/try/fuchsia_arm64/391223
    https://ci.chromium.org/p/chromium/builders/try/fuchsia_x64/390587
    
    Original change's description:
    > Disable swiftshader on Fuchsia
    >
    > SwiftShader is not needed on Fuchsia because the platform is expected to
    > provide Vulkan on all devices.
    >
    > Bug: fuchsia:37278
    > Change-Id: I96d49f51dbe473bd032ec966137f35d2df9b6884
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1822863
    > Reviewed-by: Michael Spang <spang@chromium.org>
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    > Commit-Queue: Jamie Madill <jmadill@chromium.org>
    
    TBR=spang@chromium.org,jmadill@chromium.org,sergeyu@chromium.org
    
    Change-Id: I39dabd1cc8de3bbef2c9fe233270a21de3782900
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: fuchsia:37278
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1828317
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit b67102b1940ec4ce1da7eacdb4a171b7f3c44ba7
Author: Sergey Ulanov <sergeyu@google.com>
Date:   Tue Sep 24 13:32:51 2019 -0700

    Disable swiftshader on Fuchsia
    
    SwiftShader is not needed on Fuchsia because the platform is expected to
    provide Vulkan on all devices.
    
    Bug: fuchsia:37278
    Change-Id: I96d49f51dbe473bd032ec966137f35d2df9b6884
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1822863
    Reviewed-by: Michael Spang <spang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 3c2a52309aee4e3a93a8094be4aa96779d3b78cb
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Mon Sep 23 11:07:18 2019 -0600

    Vulkan: 8bit index support for DrawElementsIndirect
    
    Add partial support for DrawElementsIndirect.
    This supports all primitives types except lineloop.
    Includes a compute shader for converting 8bit index
    buffers to 16bit index buffers where the index buffer range
    is defined in a GPU buffer.
    
    Test:
        dEQP.GLES31/functional_draw_indirect_*
    
    Bug: angleproject:3564
    Change-Id: Ibe9c55323e46a398f0b703cd8597a72ba6790570
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1792948
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 7c8e276ca0a2ffe52d09285adfe8edd47d487622
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Mon Sep 23 11:06:39 2019 -0600

    Vulkan: Add support for DrawArraysIndirect
    
    Add partial support for DrawArraysIndirect.
    This supports all primitives types except lineloop.
    
    Test:
    dEQP.GLES31/functional_draw_indirect_*
    
    Bug: angleproject:3564
    Change-Id: I065417a848390070c9f116db6fd3f90c12fb3886
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1811873
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>

commit 70d79b76994e4cfafbdae2f8b9210392f2e37724
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Wed Sep 11 11:43:55 2019 -0400

    GL: Add state validation functions to GL backend
    
    These functions validate that the driver's reported state matches
    ANGLE's internal state. Can be useful for debugging
    
    Bug: angleproject:3900
    Change-Id: I35d15e991986dcab114939c551a88549f09bd263
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1797254
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 33ffed017ccfa20c3446b2621757edee93402d58
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 26 10:19:35 2019 -0400

    Vulkan: Clean up garbage APIs.
    
    Instead of dumping resources to a context, we use the release APIs
    consistently. Refactoring/cleanup change only. Should have very litte
    impact on runtime behaviour.
    
    Bug: angleproject:2464
    Change-Id: I2dc7f8316c466f7ccfad50a7b792ba0ee7bc2e49
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1804883
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 2bdefbf8162d296e133aa82b3092ddf4cc8bf646
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 26 10:19:34 2019 -0400

    Vulkan: Remove some redundant "vk" prefixes.
    
    Refactoring change only. Found when working on multithreading CLs.
    
    Bug: angleproject:2464
    Change-Id: Ide91c7134b5f565e2f122a50cf92a4938189704a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1825444
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 39d142e89afb455c223725c8da435e276615a133
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Sep 26 07:01:50 2019 +0000

    Roll ./third_party/glslang/src 973d0e538292..7bc047326e06 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/973d0e538292..7bc047326e06
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@7bc047326e06
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/glslang-angle-autoroll
    Please CC ynovikov@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=ynovikov@google.com
    Change-Id: I8ced74a86e761ccf27301ac2c8247f0be2d29f29
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1826295
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 442ff2ebbd669ea22cbbf4b0daf24df3b503a12a
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Sep 26 07:01:53 2019 +0000

    Roll ./third_party/spirv-tools/src 527a689307a4..510ca9d616f5 (6 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/527a689307a4..510ca9d616f5
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@510ca9d616f5
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC ynovikov@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=ynovikov@google.com
    Change-Id: I3c0c3fb230114320815fe3d50e712a13fe116cd0
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1826296
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit f703443b1f675f9205c8507e0bcf9d04e04c432e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Sep 21 14:10:35 2019 -0400

    Use Resource IDs in RefCountObject.
    
    This lets us use strongly typed IDs pretty much everywhere. Only one or
    two additional places still use GLuint IDs. Mostly for external queries
    and for Framebuffer Attachments.
    
    With some clever type reflection helpers lets us define a single
    template function for handling operator== and != for resource IDs.
    
    Refactor in preparation for more Capture/Replay work.
    
    Bug: angleproject:3611
    Change-Id: I1c0c848e89eb8a4b769714d57686f816daf01634
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1815550
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tobin Ehlis <tobine@google.com>

commit 29f7916fd56ef664fdf80ced890204569a3994c9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 25 14:37:35 2019 -0400

    Vulkan: Store current Serial in RendererVk.
    
    This gives a stronger ordering on serials than if they're acquired by
    the ContextVk. Part of the steps of implementing multithreaded GL on
    Vulkan.
    
    Implements a "globalFinish" method in RendererVk that is triggered on
    ContextVk destruction. This helped fixed some racy object deletion
    situations where the ContextVk could have queued work that uses deleted
    objects. Flush all the Contexts before destruction to avoid these
    hanging deleted objects.
    
    Bug: angleproject:2464
    Change-Id: I244e9bbf6cd47b272c7cbca45b0fb1eb46d626fc
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1791268
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit babe59ff1377c890ce63f62f10568bdf44093542
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Wed Sep 25 15:53:20 2019 -0400

    Temporarily disable SwiftShader everywhere.
    
    Times out not only on Windows 7 but also Win10 Debug.
    
    Bug: angleproject:3876, chromium:1008100
    Change-Id: I3c82d430fae09067a8247e3c4b03ff9c9b685c06
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1825538
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 8007ca022bc57ae04efda220eb32df74650291ca
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Wed Sep 25 11:06:33 2019 -0400

    GLX: Forward XExposeEvents to parent window
    
    ANGLE creates a child window on X11, but Expose events need to be
    forwarded to the parent window. Caused an issue on Chrome Linux with a
    non-compositing window manager.
    
    Bug: 991577
    Change-Id: Ia240d83403ed28e8e9a6e87164327d6d683dd9ca
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1824036
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

commit d4c75347e4d386a3eed50d73a473621155d5fe16
Author: Hyunchang Kim <hckim.kim@samsung.com>
Date:   Wed Sep 18 10:49:34 2019 +0900

    Vulkan: Enable GPU conversion from RGB16F to RGBA16F
    
    - Add proper GPU conversion routine when the source and destination
      format of vertex attribute is half float data type.
    - Add an end2end test which utilizes half float GPU conversion path.
    
    Bug: angleproject:3802
    Test: angle_end2end_tests --gtest_filter=*VertexAttributeTest.HalfFloatBuffer*
    Change-Id: Ia88a4984156f8967796bea3852c3cde714f2acab
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1824799
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Mohan Maiya <m.maiya@samsung.com>

commit 096b08fa42e8e1635d7afb7047c3295d991d0982
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Sep 25 07:01:55 2019 +0000

    Roll ./third_party/spirv-tools/src 3a762d54f649..527a689307a4 (5 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/3a762d54f649..527a689307a4
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@527a689307a4
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC ynovikov@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=ynovikov@google.com
    Change-Id: I37e131a31252ad1bd5949d4758dfc242bed54a7f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1824394
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit ba04be8c9ef9c5b5fa8a2ac03b0ed06c3f0f5e8c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 24 08:55:34 2019 -0400

    GN: Refactor angle_test and remove angle_test_main.
    
    This cleans up the GN files and prepares them for eventually using a
    custom test harness.
    
    Bug: anglerproject:3162
    Change-Id: I3d8568628a9465093adec9e838617a002192beef
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1821939
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 273175cdf44e1cba2339580db96432ece6cbfee7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 24 08:44:09 2019 -0400

    Fix Regex in DebugShaderPrecisionTest.
    
    One regex had an extra parenthesis. Also confirms that we can use raw
    string literals to produce more readable regexes.
    
    Bug: angleproject:3162
    Change-Id: I82e6bc622a8fa3d9f6424c53cb7dcb4dddde368a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1821938
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a3f1981deb20c245f52321d8488c64faf9cdd089
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Sep 23 17:04:03 2019 -0400

    Add SwiftShader to command line arguments.
    
    Also adds parsing SwiftShader to the test expectations code.
    
    Bug: angleproject:3876
    Change-Id: I70e1475b62f86160d5a150218e792801fb0259bc
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1817109
    Reviewed-by: Alexis Hétu <sugoi@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 35f015465e2c47f2f167bfa91a191e43f2b02457
Author: Ian Elliott <ianelliott@google.com>
Date:   Tue Sep 24 10:02:36 2019 -0600

    Vulkan: Enable many GLES 3.1 Debug API tests to run/pass.
    
    Bug: angleproject:3590
    Bug: angleproject:1442
    Bug: angleproject:2324
    Change-Id: Iad0abd7b9566d488a655dfe5061db18cdfe74326
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1821450
    Reviewed-by: Ian Elliott <ianelliott@google.com>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit db08edcef68446a070234a94d9b7642ff76c93d0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 24 08:42:39 2019 -0400

    Reduce logging in feature_support_util.
    
    The very verbose logging was making the unit test output too much.
    Disable verbose logging by default.
    
    Bug: angleproject:3162
    Change-Id: I1b675877c314573749c9808684bab0c60f7d6127
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1821937
    Reviewed-by: Ian Elliott <ianelliott@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 1057aaef2301dda6dfec7535e8560c00f50c26a8
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Mon Sep 23 15:36:03 2019 -0400

    Update GL state tracking on VertexArrayGL::streamAttributes
    
    When emulating streamed attributes, the internal state is not
    being correctly updated in the GL backend.
    This fixes this issue for the particular edge-case.
    
    Bug: angleproject:3933
    Change-Id: I4b785d76ccfc475d80e431977e4d482c7f2d1389
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1817103
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

commit b540da89f8a86af4c0ee986d3d6fdec764b27e82
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 19 14:19:12 2019 -0400

    Vulkan: Use ResourceUse to track object lifetime.
    
    With the new resource tracking scheme the CommandGraph, tracking a
    "Context serial" aka "current" serial is no longer necessary for
    CommandGraphResources. Serial tracking has been moved to the shared
    ResourceUse struct that gets updated on a command submission. Thus
    we don't need to store the serial as a current separate piece of info
    in BufferHelper/ImageHelper.
    
    Will lead to further redesign for the multi-threading support for
    Vulkan.
    
    Bug: angleproject:2464
    Change-Id: I1ae4bcc27fcfb93422b4ab4c9682a458e482f295
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1785990
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 01f7e545a37e83529a36b63e14c027cdb25aae30
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Sep 23 13:40:59 2019 -0400

    Vulkan: Make SharedResourceUse a custom type.
    
    Gives us better performance when using the command graph. Performance
    regressed significantly in "Vulkan: Track resource usage via counter."
    
    Perf test scores:
    before CL: 1060
    after CL: 1245
    this CL: 1085
    
    The small remaining regression can be investigated more fully in the
    future. It's possible there is some small acceptable regression when
    switching the command graph design for multithreading.
    
    Test: angle_perftests (DrawCall*vulkan_null*manyvbos*)
    Bug: angleproject:2464
    Change-Id: I5e625999a8e8b3e1a045908c51e549f472cd4209
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1817102
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 3c049a34714db5d033ba2edc82c8dfe7d911dc48
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Sep 24 07:01:55 2019 +0000

    Roll ./third_party/spirv-tools/src 605c2e3c0ea7..3a762d54f649 (15 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/605c2e3c0ea7..3a762d54f649
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@3a762d54f649
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC ynovikov@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=ynovikov@google.com
    Change-Id: Ic3e700a3072c51d7e5153e3fac162de17eb50e26
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1819793
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 6d625bfe6e8a74869e2a6389512bb87ec7f8f4c3
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Mon Sep 23 20:05:29 2019 -0400

    Skip ComputeShaderTest.UniformDirty on Linux Intel Vulkan
    
    Flaky on Linux FYI Release (Intel HD 630) bot.
    
    Bug: angleproject:3934
    Change-Id: Ia3092e9c740d0052e106d464c59ceac63d4e434e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1820085
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 84a32193d47717f2bfaf098d417f69516681ce01
Author: Tim Van Patten <timvp@google.com>
Date:   Wed Sep 18 16:51:38 2019 -0600

    Vulkan: Disable Line Rasterization Emulation for Android
    
    The latest Pixel drivers require that the GL line raserization emulation
    is disabled to rasterize the lines correctly.
    
    Bug: angleproject:2830
    Test: dEQP-GLES2.functional.rasterization.primitives.line*
    Test: dEQP-GLES2.functional.clipping.line.long_line_clip
    Change-Id: I126715e61f44500c00efc7e81044c0a09001d3bb
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1812177
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>

commit ce24932dc86e0c6a8946df9f0b1a2e2e1443850d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 17 18:40:08 2019 -0400

    Capture/Replay: Force capture on Context teardown.
    
    Bug: angleproject:3611
    Change-Id: Ia674d72d5142c81f2ebd9d8480267789781277d8
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1813159
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a905cbcdc21b5a09bb0bb1d5ef557c260378b2eb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 19 23:05:39 2019 -0400

    Compact built-in symbol table.
    
    Should reduce the binary size bloat from the perfect hashing. Local
    testing on Windows shows a significant size reduction.
    
    Bug: chromium:998535
    Change-Id: I411cc5a917036d2239d15353d760f44e40faa26c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1814725
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tim Van Patten <timvp@google.com>

commit 49fd27d9af5fe322e1add071a073dea315f63e3a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Sep 23 12:41:44 2019 -0400

    Fix SwiftShader to use data_deps.
    
    Using deps instead of data_deps was causing some tests to try and
    load vk_swiftshader every test execution. Even if the test was not
    using Vulkan in ANGLE.
    
    Fixes the TSAN gpu_unittests in Chromium.
    
    Bug: angleproject:3876
    Change-Id: I2acbf02ab9aa39632bc252c12e19da28ad90175d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1815910
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit ecd3ebe90a688fa251e7a9e88b8ce4f382e0766c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Sep 23 09:53:22 2019 -0400

    Temporarily disable SwiftShader on Windows 7.
    
    A necesssary change in SwiftShader introduced a bug that was causing
    test timeouts. Disable SwiftShader so they can revert the change
    without breaking ANGLE.
    
    Bug: angleproject:3876
    Change-Id: I4b841a4a28fa13947c24b72d856db38c9e0135cb
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1815908
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit ee891ce3a4b26e899fd5ca5c0b65bfc9473fcdb9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Sep 23 10:21:21 2019 -0400

    Disable non-portable include path warning.
    
    A prior CL did not apply the warning disable to the right targets.
    
    Bug: chromium:995046
    Change-Id: If06b8493d2c1ce3026dfbb1d32a9746e1fd0cddf
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1815909
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit e4924fdd545b4458e7e1d2c7571dc334855e39d4
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Sep 23 07:01:50 2019 +0000

    Roll ./third_party/glslang/src f7a48b153f2a..973d0e538292 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/f7a48b153f2a..973d0e538292
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@973d0e538292
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/glslang-angle-autoroll
    Please CC geofflang@chromium.org on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=geofflang@chromium.org
    Change-Id: I82dda7b20cc2877a258d24dd81d10a49de909b46
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1817953
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 8be7a4c7f738beb2e55de6ed25ecd0ac2fa49e39
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 19 12:48:31 2019 -0400

    Re-land "Vulkan: SwiftShader integration."
    
    Re-land fixes Win7 configs and placement of the SwiftShader module for
    ASAN/TSAN configs.
    
    Adds a new EGL extension for picking SwiftShader when using the Vulkan
    back-end. Also cleans up ICD enabling code RendererVk. Also includes a
    change to a buffer size necessary to support SwiftShader's minimum
    limits.
    
    Bug: angleproject:3876
    Bug: b/140251624
    Change-Id: I5e16057ac4de07bbdbbd248542b1b9103133294f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1810065
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 341482072a1909e6d4aa25e40954cb5dcdddc208
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Sep 16 11:30:39 2019 -0400

    Capture/Replay: Encapsulate cpp replay.
    
    This moves the cpp replay logic out of the FrameCapture class into pure
    c helper functions. This is a bit cleaner and could help us eventually
    move to writing out the cpp replay on a worker thread.
    
    Bug: angleproject:3611
    Change-Id: I6a96c1ef1595a6203d44c1d4d9d793205701dd24
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1804879
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Reviewed-by: Tobin Ehlis <tobine@google.com>

commit c37d237012ac97f9a0bdf7a43f836da3c03ea683
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 19 18:54:40 2019 -0400

    Reland "Refactor built-in symbol table."
    
    This is a reland of 59d982c0dcad580ccbf4e29f32ffa3ea9a280122
    
    Original change's description:
    > Refactor built-in symbol table.
    >
    > In preparation for reducing binary size. Shortend a bunch of strings
    > and symbol prefixes so the autogen file will be more compact.
    >
    > Bug: chromium:998535
    > Change-Id: If1bedaaacc06dce9678d432055ffa0c9215a8dbd
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1814724
    > Reviewed-by: Tim Van Patten <timvp@google.com>
    > Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    > Commit-Queue: Jamie Madill <jmadill@chromium.org>
    
    Bug: chromium:998535
    Change-Id: Iebc5b1b5e1a084257fba3c50026cc62df5a879b3
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1817499
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Commit-Queue: Zhenyao Mo <zmo@chromium.org>

commit f585c2fbff9bd4bc890dca0f8d3f2b41668fe25a
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Sat Sep 21 02:12:37 2019 +0000

    Revert "Refactor built-in symbol table."
    
    This reverts commit 59d982c0dcad580ccbf4e29f32ffa3ea9a280122.
    
    Reason for revert: crbug.com/1006501
    
    Original change's description:
    > Refactor built-in symbol table.
    >
    > In preparation for reducing binary size. Shortend a bunch of strings
    > and symbol prefixes so the autogen file will be more compact.
    >
    > Bug: chromium:998535
    > Change-Id: If1bedaaacc06dce9678d432055ffa0c9215a8dbd
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1814724
    > Reviewed-by: Tim Van Patten <timvp@google.com>
    > Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    > Commit-Queue: Jamie Madill <jmadill@chromium.org>
    
    TBR=timvp@google.com,jonahr@google.com,jmadill@chromium.org
    
    Change-Id: Ie540da8ea4429e075a3284183e5a004cbcf1307b
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: chromium:998535,chromium:1006501
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1817497
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Commit-Queue: Zhenyao Mo <zmo@chromium.org>

commit 2249fef2195411e7dafce7d999b4ef98c19d7213
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Sep 16 11:19:23 2019 -0400

    Capture/Replay: Move stub implementation to new file.
    
    This lets the MSVC parser work better with FrameCapture.cpp.
    
    Bug: angleproject:3611
    Change-Id: I249106dce81a7965684caf1a835f0472b34e8963
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1804878
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 857bb7ff07a3e3567568eebf74d5436fef645774
Author: Ian Elliott <ianelliott@google.com>
Date:   Fri Sep 20 14:25:44 2019 -0600

    Vulkan: Enable most dEQP-GLES31.functional.state_query* tests to run
    
    Bug: angleproject:3600
    Bug: angleproject:3520
    Bug: angleproject:3189
    Change-Id: Ibbb930a9d64845a1e0cf731d2a35bd9d50f6c477
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1816445
    Reviewed-by: Ian Elliott <ianelliott@google.com>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit 14f472f2ba9af49db67899763552cce53692fa99
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Sep 20 11:33:18 2019 -0400

    GL: Treat unknown AHardwareBuffer formats as RGBA8.
    
    When Android's AImageReader encounters YUV formats, it converts the
    hardware buffer's internal format to vendor-specific formats.  Since
    these sample as RGB using samplerExternal, simply validate them as if
    they are RGB8.
    
    BUG=angleproject:3929
    
    Change-Id: I991512c8a584b08a978aacf67ab153ada7e4fd76
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1816300
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 59d982c0dcad580ccbf4e29f32ffa3ea9a280122
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 19 18:54:40 2019 -0400

    Refactor built-in symbol table.
    
    In preparation for reducing binary size. Shortend a bunch of strings
    and symbol prefixes so the autogen file will be more compact.
    
    Bug: chromium:998535
    Change-Id: If1bedaaacc06dce9678d432055ffa0c9215a8dbd
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1814724
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 11dc16350cd4d1990c6bcce43c73aff178a01086
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Wed Sep 18 14:46:23 2019 -0700

    Add support for generating UWP (Windows Store) projects again
    
    Until late 2017, ANGLE supported  Windows Store apps on Windows 8.1,
    Windows Phone 8.1, and Windows 10 (via the Universal Windows
    Platform, aka UWP).
    
    Unfortunately ANGLE deprecated support for Windows Store when it
    switched from GYP to GN in 2017. Since then, users have been able
    to use Microsoft\angle for their UWP apps but this isn't ideal since
    it's based on a 2017 copy of Google\angle.
    
    This PR bring back support for UWPs, so that UWP users can use
    Google\angle again. Specifically it:
    
    - Adds support for generating UWP projects via GN
    - Adds helper/util functions specific to UWP (they're mostly
    similar to the desktop Windows helpers)
    - Fixes some existing Windows Store code that's rotted since 2017
    - Disables async shader compilation for UWPs, since its
    implementation calls wait on the UI thread (which is forbidden
    in UWPs)
    - Renames 'ANGLE_ENABLE_WINDOWS_STORE' to
    'ANGLE_ENABLE_WINDOWS_UWP', since ANGLE only support UWPs now
    - Fixes misc other related issues (such as dependencies on D3D9
    headers in API-agnostic code)
    
    Note that this doesn't bring back support for Windows/Phone 8.1.
    
    BUG=angleproject:3922
    
    Change-Id: Ia79ae05a5e0e0a0625eb633bf1928722dfd3e85f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1811871
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit dd4a00a06d014cc2a078411bdafa729372e84934
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 19 14:19:11 2019 -0400

    Vulkan: Track resource usage via counter.
    
    This adds a small shared piece of memory that counts the number of
    times a resource is used in a command graph. This will enable more
    multi-threaded uses. The shared pointer is updated in the command
    graph during a submit and during graph construction.
    
    Bug: angleproject:2464
    Change-Id: Id9d0319a6814825d02e865ba527c97b5f535ff31
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1785989
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit d7f28aae3d89a978ebe09f71095075a91bbeb1dd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 19 14:19:10 2019 -0400

    Vulkan: Pass CommandGraph when updating serials.
    
    This is in preparation for storing a pointer to a shared resource use
    structure.
    
    Bug: angleproject:2464
    Change-Id: I8f4ba1c71de6ad6a27ac06fc8012a0e94267cc16
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1785988
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 8f2d41d1be9ddf3c48e3de17b76d3d358b75f03e
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Sep 20 07:01:50 2019 +0000

    Roll ./third_party/glslang/src caca1d1cc46e..f7a48b153f2a (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/caca1d1cc46e..f7a48b153f2a
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@f7a48b153f2a
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/glslang-angle-autoroll
    Please CC geofflang@chromium.org on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=geofflang@chromium.org
    Change-Id: I6b1cc670281bc83f7933e06dc228749c4b13d94e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1816181
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 6c4ff5ddab07d5f8a96c72e705265e2e35fdaba8
Author: Ian Elliott <ianelliott@google.com>
Date:   Thu Sep 19 16:39:48 2019 -0600

    Vulkan: Narrow GLES1 Scissor test skip to just Vulkan-Windows-Intel
    
    Bug: angleproject:3867
    Change-Id: I49b3a7facf41c4fa635c072c89820f2ee43c7787
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1815346
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit 8a0686e1bd9a9d04afaa05d499952e6cc3d6880e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 19 15:17:31 2019 -0400

    SystemInfo: Fix Windows driver version masking.
    
    Should be applying a 16-bit mask instead of 8-bit.
    
    Bug: angleproject:3926
    Change-Id: I2b0a28a5de42437890a9c0d1bbc57b48a5d64451
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1814980
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Ian Elliott <ianelliott@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit fea6576678ddb0abcd4ee85488d842e217c900ac
Author: Mohan Maiya <m.maiya@samsung.com>
Date:   Thu Sep 19 09:30:38 2019 -0700

    Vulkan: Add support for OES_vertex_type_10_10_10_2
    
    - Add support to CPU/GPU convert vertex formats
    - Add test cases for type conversion in angle_end2end_tests
    - Fix a bug in shader script by adding a ceil when calculating bytes
    
    Bug: angleproject:3192
    Test: angle_end2end_tests --gtest_filter=VertexAttributeTest*Packed1010102*
    Change-Id: I57bab9fc1c1041cd734746d0e52a33717b635ec0
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1788495
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Mohan Maiya <m.maiya@samsung.com>

commit 4e57520a58817a2391500d67678e2aceec972db2
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Aug 23 16:14:07 2019 -0400

    GL: Update BlitGL to use ANGLE_GL_TRY.
    
    BUG=angleproject:3020
    
    Change-Id: I587e638ca9dea2cb84aaad68aa8d1ce32fc62053
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769062
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit ac7c876b86eb5d016d0fddad122a2b121fc1dd8f
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Tue Sep 17 11:20:47 2019 -0400

    GL: DisplayGLX::makeCurrent should handle drawSurface==0
    
    In this case the draw surface should be unbound, but ANGLE had been
    skipping this case (and handling it internally). This caused a crash on
    Linux Intel. Now makeCurrent is actually called on the driver with
    drawSurface mDummyPbuffer.
    
    Bug: chromium:988440
    Change-Id: Ifae7a828455eb67e516a47515ec6c24cc36e3c2b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1808719
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit e6582161b04beaa368f3081897912ede89d7800d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Sep 16 12:39:18 2019 -0400

    Convert DXT1 RGB data to DXT3 RGBA when uploading to the GPU.
    
    DXT1 has a specific 'BLACK' code that results in transparent black pixels when
    sampled. D3D does not have specific RGB-only DXT1 formats like OpenGL does so
    when this code is encountered, we sample 0 alpha for these pixels when GL would
    expect 1 because the alpha channel should not exist.
    
    Work around this by converting to DXT3 RGBA, adding an extra block of 1.0 alpha
    pixels for each color block.
    
    Mac Intel OpenGL requires additional workarounds to always sample 1.0 alpha.
    Set the texture swizzle parameters to force it.
    
    BUG=angleproject:3729
    
    Change-Id: Ia3647085acd97bb01af4e95ef3f6f21dcfb6a554
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1804880
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Ian Elliott <ianelliott@google.com>

commit 80a1c9e64b19c9261f021832318ab047fa6054c6
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Sep 19 07:01:50 2019 +0000

    Roll ./third_party/glslang/src e0932f676db6..caca1d1cc46e (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/e0932f676db6..caca1d1cc46e
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@caca1d1cc46e
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/glslang-angle-autoroll
    Please CC geofflang@chromium.org on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=geofflang@chromium.org
    Change-Id: I95d67d9f64d9e850a1e569fb7ab21e8edc58954c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1812051
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 17eaec1dd6fff05818d40b3d0e630b4b798c1123
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Sep 19 07:01:54 2019 +0000

    Roll ./third_party/spirv-tools/src 36c1c0e22fab..605c2e3c0ea7 (7 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/36c1c0e22fab..605c2e3c0ea7
    
    
    Also rolling transitive DEPS:
      ./third_party/spirv-headers/src 123dc278f204..601d738723ac
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@605c2e3c0ea7
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC geofflang@chromium.org on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=geofflang@chromium.org
    Change-Id: Icd84a4ebe9f7f6b1a471677c48f02249cd275df5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1812052
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit bf4268a3963ba5a559a73c8ca442988c3a0dd445
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Tue Sep 17 13:33:56 2019 -0700

    Fix misc VS2019 bool conversion warnings
    
    BUG=angleproject:3921
    
    Change-Id: I06de5131f98b27c2556ed60dd7228c9cfa154802
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1811858
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 2f2ea8b465ed2c29d7a68edaada9e4914b0707e8
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Sep 18 16:42:28 2019 -0400

    Fix depth pitch calculations for compressed textures.
    
    Depth pitch computations were not taking into account the block size
    and simply multiplying the row pitch with the pixel height.  This caused
    our load functions to use a very high depth pitch, reading past the end
    of the user-supplied buffer.
    
    BUG=angleproject:3190
    BUG=angleproject:3920
    
    Change-Id: I4ef4763b542735993568c51ae4b5a235659b9094
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1811837
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Reviewed-by: Ian Elliott <ianelliott@google.com>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 197005d8a8f1312667613bf067a77750dca08729
Author: Tobin Ehlis <tobine@google.com>
Date:   Wed Sep 18 12:58:31 2019 -0600

    Vulkan: Pass ContextVk to various helpers
    
    This is groundwork for some upcoming changes where data from
    ContextVk is needed in GraphicsPipelineDesc::initializePipeline().
    Passing ContextVk ptr all the way down instead of the reduced
    vk::Context ptr.
    
    Bug: angleproject:2672
    Change-Id: I29f580c3503777085355f1b79f4ae4552a394557
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1811433
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Commit-Queue: Tobin Ehlis <tobine@google.com>

commit db09eb68b9de0ab28b2f3e8d1477915e97fefdc1
Author: Antonio Maiorano <amaiorano@google.com>
Date:   Wed Sep 18 13:40:39 2019 -0400

    Increase the max fence wait time in debug builds
    
    Also minor refactor to avoid duplicating the constant by having
    both RendererVk and ContextVk retrieve the wait time via new
    member function RendererVk::getMaxFenceWaitTimeNs().
    
    BUG=angleproject:3915
    
    Change-Id: I9a283a4e0f34a6a1f840c350dc667f4fc27f59e4
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1810066
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit e34564bafe835562087de0a2fb3c8386e0f6b0dd
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Wed Sep 18 15:21:51 2019 +0000

    Revert "Suppress crashing perftests on Win Intel Exp Rel"
    
    This reverts commit f8e8fcf8828f42005b4410cc4500c63d8e9112ce.
    
    Reason for revert: ANGLE_SKIP_TEST_IF doesn't work in perftests
    and this skip is not needed since the whole suite is disabled now
    
    Original change's description:
    > Suppress crashing perftests on Win Intel Exp Rel
    >
    > Also moves ANGLE_SKIP_TEST_IF to a header shared between end2end and
    > perf tests.
    >
    > BUG=chromium:997674
    >
    > Change-Id: I7c5968e6d861c4bff703ddc6ae0e4e021e47061f
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1768374
    > Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    
    TBR=geofflang@chromium.org,cwallez@chromium.org,jmadill@chromium.org
    
    # Not skipping CQ checks because original CL landed > 1 day ago.
    
    Bug: chromium:997674
    Change-Id: I0a2124c93d1abd6c7efd2b29e942ee966982eed2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1810763
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 873079f1d3a2c2861679b41463f4b1b80dc9afa5
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Sep 18 07:01:50 2019 +0000

    Roll ./third_party/glslang/src be467db7bdaa..e0932f676db6 (3 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/be467db7bdaa..e0932f676db6
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@e0932f676db6
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/glslang-angle-autoroll
    Please CC geofflang@chromium.org on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=geofflang@chromium.org
    Change-Id: I9a3342fe475b64d2b266dc777b792a22c8abcb29
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1809854
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit d5521094f779e14eb8189b287fb08be4ef53dc9b
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Sep 18 07:01:53 2019 +0000

    Roll ./third_party/spirv-tools/src 99793fa67d78..36c1c0e22fab (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/99793fa67d78..36c1c0e22fab
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@36c1c0e22fab
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC geofflang@chromium.org on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=geofflang@chromium.org
    Change-Id: I3b6d11444c877d18e9e0014689b6f4f272fb8a2c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1809856
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit a7003d5fc30680e2bd3dbe3a9393d74d89a48c17
Author: Jeff Vigil <j.vigil@samsung.com>
Date:   Fri Jul 19 11:43:34 2019 -0600

    Reland "EGL: Implement EGL_KHR_no_config_context"
    
    Add extension string and flag to all renderers that pass
    Modify eglCreateContext to accept EGL_NO_CONFIG
    Modify eglQueryContext per specification
    Modify eglMakeCurrent to bypass surface-context config compatibility checks
    Add check for client API
    Create new end2end test EGLNoConfigContextTest
    Disable on most renderers to prevent possible fail with future configs
    
    Bug: angleproject:3635
    Test: dEQP-EGL.functional.create_context.no_config*
          angle_end2end_tests --gtest_filter=EGLNoConfigContextTest*
    Change-Id: I88c1922a1e75afcc49922a9eccb4f1ae046c024a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1806140
    Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 65a5036eb0419047789d5ee66c02577ef251e07b
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Sep 17 07:01:54 2019 +0000

    Roll ./third_party/spirv-tools/src 1e146e8a3485..99793fa67d78 (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/1e146e8a3485..99793fa67d78
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@99793fa67d78
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC geofflang@chromium.org on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=geofflang@chromium.org
    Change-Id: Ie9b4e2d68c843c479965ffb93a08edeaedad2ede
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1808589
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 41079d70e4695544a9d0d0bcc41788a92f9d1c6a
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Sep 17 07:01:50 2019 +0000

    Roll ./third_party/glslang/src fe0b2bd694bb..be467db7bdaa (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/fe0b2bd694bb..be467db7bdaa
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@be467db7bdaa
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/glslang-angle-autoroll
    Please CC geofflang@chromium.org on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=geofflang@chromium.org
    Change-Id: Id83dc72f15f8d3f9d194f38e826313d0732f8b01
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1808588
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 01dfe4048205880759b9effbf17b4ccb852d3df7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 4 12:08:25 2019 -0400

    Capture/Replay: Use resource ID maps in cpp replay.
    
    Introduces a new enum for resource ID types. This is used in auto-
    generated code to convert ParamType to resource ID map types.
    
    Also implements a lot of new parameter captures for gen/delete calls.
    
    Bug: angleproject:3611
    Change-Id: I26cca1df88d1783d9830c89438c99f7593a70ea9
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1784059
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>

commit db7a36f45698e5bef596c2c26f36f3b2a90b7157
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Tue Sep 17 00:22:32 2019 +0000

    Revert "Vulkan: SwiftShader integration."
    
    This reverts commit 1224802c214d8f3d5b1f31a35d4461ada39b94c1.
    
    Reason for revert: https://bugs.chromium.org/p/angleproject/issues/detail?id=3912
    
    Original change's description:
    > Vulkan: SwiftShader integration.
    >
    > Adds a new EGL extension for picking SwiftShader when using the Vulkan
    > back-end. Also cleans up ICD enabling code RendererVk. Also includes a
    > change to a buffer size necessary to support SwiftShader's minimum
    > limits.
    >
    > 32-bit is currently left disabled to work around an issue on AMD Win7.
    >
    > Bug: angleproject:3876
    > Bug: b/140251624
    > Change-Id: I33c55d994801d6154caca0cad0a608c1e808d517
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1776231
    > Commit-Queue: Jamie Madill <jmadill@chromium.org>
    > Reviewed-by: Geoff Lang <geofflang@chromium.org>
    
    TBR=geofflang@chromium.org,jonahr@google.com,jmadill@chromium.org
    
    Change-Id: Id7464250f6941b0228a6b2a9bd0349823727275b
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:3876, b/140251624
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1808101
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Commit-Queue: Zhenyao Mo <zmo@chromium.org>

commit 2e16f639d8b088703f62dce9fed478bee1d229fe
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Sep 16 18:37:00 2019 -0400

    Capture/Replay: Refactor cpp replay param writes.
    
    This makes a few more methods use static helpers. Introduces a
    DataCounters helper class that can manage tracking the names for
    particular local data members in the cpp replay.
    
    Prepares for a larger refactor to support resource ID maps.
    
    Bug: angleproject:3611
    Change-Id: I25b4cc80cc3aa140c1cd15d9012c9542ba0cfc87
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1802743
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 1224802c214d8f3d5b1f31a35d4461ada39b94c1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Sep 16 15:17:33 2019 -0400

    Vulkan: SwiftShader integration.
    
    Adds a new EGL extension for picking SwiftShader when using the Vulkan
    back-end. Also cleans up ICD enabling code RendererVk. Also includes a
    change to a buffer size necessary to support SwiftShader's minimum
    limits.
    
    32-bit is currently left disabled to work around an issue on AMD Win7.
    
    Bug: angleproject:3876
    Bug: b/140251624
    Change-Id: I33c55d994801d6154caca0cad0a608c1e808d517
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1776231
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 20bb47d3bf86d8a6aff125c60d08400c55ef2f02
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Mon Sep 16 12:55:30 2019 -0700

    Skip a angle_end2end_tests on Linux Intel OZone.
    
    Texture2DFloatTestES2.TextureFloatRenderTest/ES2_OpenGLES
    
    R=jmadill@chromium.org
    Bug: chromium:1003971
    Change-Id: I96d858bbfbbaa7d98d9a7488cb98e0c1fca18ba3
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1807581
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit b5560486ad224ec6de8a54e2f2a7e638bed17fe1
Author: shrekshao <shrekshao@google.com>
Date:   Fri Aug 30 17:09:04 2019 -0700

    BaseInstance VertexAttribDivisor fix
    
    Add tests not using gl_InstanceID/gl_BaseInstance but set
    vertexAttribDivisor which implicitly reference base instance value.
    
    Add fixes and workarounds based on this change.
    
    Bug: chromium:891861, angleproject:3402
    Change-Id: I2d93c181029f4ca1741f244363568096964d6b19
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1779350
    Commit-Queue: Shrek Shao <shrekshao@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 3a2e01ed31e9dc2342d0b0cd9c625adb586f4872
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Sep 16 13:08:39 2019 -0400

    Vulkan: Require sampling support for attachments.
    
    Since Framebuffer attachments can be copied from with CopyTexImage, we
    must require transfer support. This will affect the amount of formats
    we can expose correctly for different uses.
    
    Bug: angleproject:3876
    Change-Id: I0343da94b5f8e05dca946e7029ffb8fdf155bb41
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1803756
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 8f08fed925c54835c4faee4d7dd61d6ed2964ffd
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Sep 16 07:01:53 2019 +0000

    Roll ./third_party/spirv-tools/src ad7f2c5c4c7f..1e146e8a3485 (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/ad7f2c5c4c7f..1e146e8a3485
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@1e146e8a3485
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC syoussefi@chromium.org on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=syoussefi@chromium.org
    Change-Id: I4816a48ecc8d34e14198f7197d9383db0364080d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1806327
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit d32dae1bb37ce71dcdebfff22bfab04e03382e93
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Fri Sep 13 22:06:56 2019 +0000

    Revert "EGL: Implement EGL_KHR_no_config_context"
    
    This reverts commit c4b1fbd69b12c0af30a58d0810f88d1301b8dabd.
    
    Reason for revert: https://crbug.com/1003971
    
    Original change's description:
    > EGL: Implement EGL_KHR_no_config_context
    >
    > Add extension string and flag to all renderers that pass
    > Modify eglCreateContext to accept EGL_NO_CONFIG
    > Modify eglQueryContext per specification
    > Modify eglMakeCurrent to bypass surface-context config compatibility checks
    > Add check for client API
    > Create new end2end test EGLNoConfigContextTest
    > Disable on most renderers to prevent possible fail with future configs
    >
    > Bug: angleproject:3635
    > Test: dEQP-EGL.functional.create_context.no_config*
    >       angle_end2end_tests --gtest_filter=EGLNoConfigContextTest*
    > Change-Id: I7fbb137f1222ae7eebff4192013b7d3c5fcf0436
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1762709
    > Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
    > Reviewed-by: Geoff Lang <geofflang@chromium.org>
    
    TBR=geofflang@chromium.org,timvp@google.com,jmadill@chromium.org,m.maiya@samsung.com,j.vigil@samsung.com
    
    Change-Id: I849aa796803e3cda9b480a39be813ef9105325bb
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:3635
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1803789
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Commit-Queue: Zhenyao Mo <zmo@chromium.org>

commit 6caa2652613b56f99c36e7a9c0cc2a547c5a9e59
Author: Mohan Maiya <m.maiya@samsung.com>
Date:   Wed Sep 11 08:06:13 2019 -0700

    Vulkan: Support float textures and renderbuffers
    
    Fixed support in the vulkan backend for legacy
    GLES2.0 formats (luminance, alpha,
    luminance_alpha)
    
    Correctly exposed the following extensions:
    OES_texture_float
    OES_texture_half_float
    OES_texture_float_linear
    OES_texture_half_float_linear
    EXT_color_buffer_float
    EXT_color_buffer_half_float
    
    Some of the above extensions have different
    requirements depending on other extension support
    and the context client version, and were
    incorrectly assuming the most restrictive
    requirements to be exposed.
    
    Implemented end2end tests for:
    OES_texture_float
    OES_texture_half_float
    OES_texture_float_linear
    OES_texture_half_float_linear
    EXT_color_buffer_float
    EXT_color_buffer_half_float
    
    Bug: angleproject:2898
    Bug: angleproject:2726
    Test: ./angle_end2end_tests --gtest_filter='Texture2DFloatTest*'
    Change-Id: I7024aa1393eadafb5a0fb83c23e9035aae650b67
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1740276
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit c4b1fbd69b12c0af30a58d0810f88d1301b8dabd
Author: Jeff Vigil <j.vigil@samsung.com>
Date:   Fri Jul 19 11:43:34 2019 -0600

    EGL: Implement EGL_KHR_no_config_context
    
    Add extension string and flag to all renderers that pass
    Modify eglCreateContext to accept EGL_NO_CONFIG
    Modify eglQueryContext per specification
    Modify eglMakeCurrent to bypass surface-context config compatibility checks
    Add check for client API
    Create new end2end test EGLNoConfigContextTest
    Disable on most renderers to prevent possible fail with future configs
    
    Bug: angleproject:3635
    Test: dEQP-EGL.functional.create_context.no_config*
          angle_end2end_tests --gtest_filter=EGLNoConfigContextTest*
    Change-Id: I7fbb137f1222ae7eebff4192013b7d3c5fcf0436
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1762709
    Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 69f48009a283ad5e340b8adee26e2b1b1ca2b2bb
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Sep 13 07:01:50 2019 +0000

    Roll ./third_party/glslang/src fdd13ca10ffc..fe0b2bd694bb (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/fdd13ca10ffc..fe0b2bd694bb
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@fe0b2bd694bb
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/glslang-angle-autoroll
    Please CC syoussefi@chromium.org on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=syoussefi@chromium.org
    Change-Id: I0c105e2e38f66cd3561df57af0ebc3ca9372bbd5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1802381
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 1552d4d6fb962b6bdb5d21604cadf73504d57300
Author: Emircan Uysaler <emircan@chromium.org>
Date:   Thu Sep 12 20:21:07 2019 -0400

    Move to NewCreateImagePipe2Cmd
    
    Bug: angleproject:3905
    Change-Id: Id237c049848077acee8eaf491f7aada636764290
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1802535
    Reviewed-by: Michael Spang <spang@chromium.org>
    Commit-Queue: Michael Spang <spang@chromium.org>

commit b1580a276713b384a449d25e81d8991278508e8f
Author: Hyunchang Kim <hckim.kim@samsung.com>
Date:   Tue Aug 27 18:08:56 2019 +0900

    Vulkan: Set half float vertex format to valid in 2.0 context
    
    - OES_vertex_half_float extension requires this patch
    - Add end2end tests to verify OES_vertex_half_float extension
    
    BUG=angleproject:3191
    BUG=angleproject:3802
    Test:
     angle_end2end_tests --gtest_filter=*VertexAttributeTest.HalfFloatClientMemoryPointer*
     3DMark Icestorm GT1
    
    Change-Id: Ia597021a5ae6b4853ee1199989ec3f9cc23c7fac
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1793354
    Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 1439b6d5dc248cd46317379e6b785d4b8ca8bf85
Author: Laurie Hedge <laurie.hedge@imgtec.com>
Date:   Fri Sep 6 07:27:49 2019 +0100

    Vulkan: Fix integer overflow for max per stage and combined uniform buffers.
    
    This was causing dEQP-GLES3.functional.implementation_limits.max_fragment_uniform_blocks and dEQP-GLES3.functional.implementation_limits.max_combined_uniform_blocks to fail on Vulkan drivers that expose > INT_MAX maxPerStageDescriptorUniformBuffers or maxDescriptorSetUniformBuffers limits.
    
    Bug: angleproject:3824
    Change-Id: I6c5a328ddefa43fedb2361448fe4cbe6c405ef4e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1734786
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 4fdeb8d28d9c95d62ea60468a8bebe6d3d47039f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 12 10:08:15 2019 -0400

    Vulkan: Reduce uniform block dynamic buffer size.
    
    This is to fit in the minimum required Vulkan limits that SwiftShader
    exposes.
    
    Bug: angleproject:3876
    Bug: b/140251624
    Change-Id: If1a36fc578675ebb07d3f6546689709882c174f3
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1801264
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Alexis Hétu <sugoi@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 3a8b3dc2ed7c3d3004654ec12eb9ea7d55352ed3
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Sep 12 07:01:50 2019 +0000

    Roll ./third_party/glslang/src 664ad418f845..fdd13ca10ffc (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/664ad418f845..fdd13ca10ffc
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@fdd13ca10ffc
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/glslang-angle-autoroll
    Please CC syoussefi@chromium.org on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=syoussefi@chromium.org
    Change-Id: Iaf27093df504436b4eabcfaf70af6185835ada63
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1799843
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 916720b02c7640894b4597fb84a8ef50bbd38315
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Sep 12 07:01:54 2019 +0000

    Roll ./third_party/spirv-tools/src c0e9807094ef..ad7f2c5c4c7f (5 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/c0e9807094ef..ad7f2c5c4c7f
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@ad7f2c5c4c7f
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC syoussefi@chromium.org on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=syoussefi@chromium.org
    Change-Id: Iba12845ad467714217185bb4e10753dca54cd5a5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1799844
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit f421e0e33e6656b30ddbda920395f2657c619d22
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Wed Sep 11 16:19:45 2019 -0700

    Make angle_deqp_gles*_tests use discrete GPU for test expectations.
    
    Bug: chromium:1003030
    TEST=bots
    R=kbr@chromium.org
    Change-Id: I1717f39f9573f0161fe19e63ce49ef4e618dc07f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1799323
    Commit-Queue: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit 790abf03b63ed4315d3613d00165ff0995766fdd
Author: Tim Van Patten <timvp@google.com>
Date:   Wed Aug 28 13:57:52 2019 -0600

    Vulkan: Support program interface queries for inputs
    
    Program interface queries are a generic way to query attributes of
    the program like uniforms, samplers, attributes, etc. This change
    supports those queries for program inputs.
    
    Bug: angleproject:3596
    Test: dEQP-GLES31.functional.program_interface_query.*
    Test: ProgramInterfaceTest.cpp
    Change-Id: Ie904274f4efd87357256f559b69e148e8eda6119
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1775458
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Tim Van Patten <timvp@google.com>

commit d1c4a6d62d42cfdcf403f632e986e1189fd45190
Author: Brian Salomon <bsalomon@google.com>
Date:   Sat Sep 7 09:33:57 2019 -0400

    Add final to class TIntermPreprocessorDirective
    
    Suppresses this new warning in clang 10:
    
    IntermNode.h:971:37: warning: class with destructor marked 'final' cannot be inherited from [-Wfinal-dtor-non-final-class]
        ~TIntermPreprocessorDirective() final;
    
    BUG=angleproject:3903
    
    Change-Id: I26a2fe1440653c83cf1b0498ee3bff0829a10145
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1789930
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 8ac49e182aa03e90fd11c925b3e1018cf3652e0a
Author: Tim Van Patten <timvp@google.com>
Date:   Wed Sep 4 17:38:22 2019 -0600

    Fix dEQP renderbuffer unspecified attachment test.
    
    The spec mandates default sizes of 0 for everything, while we
    assume a non-initialized Renderbuffer is RGBA4.
    
    Bug: angleproject:2321
    Test: dEQP-GLES3.functional.state_query.fbo.framebuffer_unspecified_attachment_x_size_rbo
    Change-Id: I7defbdda46fc90dc3672628667c710a8304473b7
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1785881
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Tim Van Patten <timvp@google.com>

commit d9456b258e206a7999cced078b1378853c3482a6
Author: Tobin Ehlis <tobine@google.com>
Date:   Wed Sep 11 08:21:14 2019 -0600

    Vulkan: Enable further dEQP 3.1 tests
    
    As TimVP pointed out, a previous change enabled some previously-skipped
    texture gather 2d_array tests. Enabling them.
    
    Bug: angleproject:3605
    Bug: angleproject:3189
    Change-Id: I3ad190131339a04441fdd05e23ff3b7ac724dc83
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1797655
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Tobin Ehlis <tobine@google.com>

commit 9dbfeac8b553427eabe2c4b5bce322efecc0b440
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Sep 11 07:01:53 2019 +0000

    Roll ./third_party/spirv-tools/src 7f7236f1eba0..c0e9807094ef (4 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/7f7236f1eba0..c0e9807094ef
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@c0e9807094ef
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC syoussefi@chromium.org on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=syoussefi@chromium.org
    Change-Id: I3ad7dc7eb7a9c7c15b08afaab03873a88be6185a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1797490
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 0b8eca7953499f9eb6459761aff1114f03bfa0e4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 10 10:39:40 2019 -0400

    Capture/Replay: Fix CaptureShaderSource_string.
    
    Was accessing a buffer out-of-bounds. Also wasn't handling negative
    length.
    
    Test: ASAN build
    Bug: angleproject:3611
    Change-Id: I0f1cfa09d0488de20928d90e910803d98c225968
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1796082
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 79ad0411911b2fc84834c3705f55707be9e4b498
Author: Tobin Ehlis <tobine@google.com>
Date:   Mon Sep 9 15:05:37 2019 -0600

    Vulkan:Pass through min/max program texel offset
    
    The Vulkan min/maxTexelGatherOffset VkPhysicalDeviceLimits correspond to
    OpenGL's GL_MIN/MAX_PROGRAM_TEXTURE_GATHER_OFFSET params. Pass them
    directly through.
    
    Bug: angleproject:3605
    Change-Id: Ic6a22bbe30ee2b0baaeaa62b6e26dc844c2ad82d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1793357
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Tobin Ehlis <tobine@google.com>

commit 3255f493db0dc6f10bfb4c469ae0966d1afc9060
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Sep 10 07:01:53 2019 +0000

    Roll ./third_party/spirv-tools/src 76261e2a7df1..7f7236f1eba0 (3 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/76261e2a7df1..7f7236f1eba0
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@7f7236f1eba0
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC syoussefi@chromium.org on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=syoussefi@chromium.org
    Change-Id: I2a22a12db80de16c8437751e3f0939a4b45c2111
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1794197
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 58c5b07b47cf30cf970e27d39fc88d08f51a5907
Author: Tim Van Patten <timvp@google.com>
Date:   Fri Sep 6 12:45:55 2019 -0600

    Replace Issue 3221 with 2672 in deqp_gles3_test_expectations.txt
    
    Issue 2672 is tracking the work required to support instanced rendering
    with Vulkan backend when the extension VK_EXT_vertex_attribute_divisor
    is not present on the device. That work is required to pass the tests
    currently marked "FAIL" and GLES 3.0 conformance.
    
    Bug: angleproject:2672
    Test: None
    Change-Id: I11e3a7a7a9482b4eb3d5f5c7dbf14caec7fff00e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1790362
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Commit-Queue: Tim Van Patten <timvp@google.com>

commit 46c88567d52f1487c3e8a2388eae39651f3b0f86
Author: Tim Van Patten <timvp@google.com>
Date:   Wed Sep 4 11:17:49 2019 -0600

    Correct glCompressedTexSubImage3D() Parameter Checking
    
    GL_INVALID_OPERATION is generated if format is an ETC2/EAC format and
    the target is not GL_TEXTURE_2D_ARRAY.
    
    Bug: angleproject:3895
    Test: dEQP-GLES3.functional.negative_api.texture.compressedtex*image3d
    Test: KHR-GLES2.texture_3d.compressed_texture.negative_compressed_tex_image
    Change-Id: I7f653192328f0bb067cc4a0c0285a2d3acec7024
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1784060
    Commit-Queue: Tim Van Patten <timvp@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit c1af9abfce7862cd76013d13c6259679f3860d05
Author: Sunny Sachanandani <sunnyps@chromium.org>
Date:   Wed Aug 28 14:35:32 2019 -0700

    Add support for overriding internal format for D3D11 texture EGLImages
    
    Add an optional EGL_D3D11_TEXTURE_FORMAT_ANGLE attribute that is the
    GL internal format to use for EGLImage being created.  This will be used
    for RGB emulation of swap chain texture backed WebGL contexts in Chrome
    when they have alpha:false set.  Without RGB emulation it is possible to
    observe side-effects of the underlying swap chain being RGBA such as
    reading/writing the alpha channel, BlitFramebuffer working/not working
    when expected, etc.
    
    Also document creating EGLImages from D3D11 textures in the existing
    EGL_ANGLE_d3d_texture_client_buffer extension along with RGB emulation.
    
    Bug: chromium:699566, chromium:939657
    Change-Id: I4931cb7bdc46e9bc6debd56b79ecc10ea27bd78b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1777099
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org>

commit 263e08b6344b1d96c1d32d31199e12902e51f805
Author: Tim Van Patten <timvp@google.com>
Date:   Mon Sep 9 12:15:53 2019 -0600

    Vulkan: Enable Previously Failing texstorage3d Tests for Pixel 2
    
    The following tests were failing on Pixel 2, but appear to be passing
    now. I'm not sure what fixed them, but there has been a lot of work with
    3D textures recently.
    
    Bug: angleproject:3816
    Test: dEQP-GLES3.functional.texture.specification.texstorage3d.format.rgba16*
    Test: dEQP-GLES3.functional.texture.specification.texstorage3d.format.rgb16*
    Test: dEQP-GLES3.functional.texture.specification.texstorage3d.format.rg32*
    Change-Id: I0ab7be4685fc0c6879ad83c7402798e2237649a4
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1791276
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Commit-Queue: Tim Van Patten <timvp@google.com>

commit f29125be9320c793ae562afe2023c2e70aab916f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Aug 27 10:31:24 2019 -0600

    Update the rules for unsized float renderability.
    
    dEQP uses the following rules for unsized float format renderability in
    ES2:
    
    HALF_FLOAT_OES + RED : GL_EXT_texture_rg and GL_OES_texture_half_float
    HALF_FLOAT_OES + RG  : GL_EXT_texture_rg and GL_OES_texture_half_float
    HALF_FLOAT_OES + RGB : GL_EXT_color_buffer_half_float and GL_OES_texture_half_float
    HALF_FLOAT_OES + RGBA: GL_EXT_color_buffer_half_float and GL_OES_texture_half_float
    
    FLOAT + RED : GL_EXT_texture_rg and GL_OES_texture_float
    FLOAT + RG  : GL_EXT_texture_rg and GL_OES_texture_float
    FLOAT + RGB : never
    FLOAT + RGBA: never
    
    BUG=angleproject:3283
    
    Change-Id: I4c4c0d290d2c7dec45419a0765fa27b79f0ad774
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1773304
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>

commit eb4f2d5031bc694f4e026b8d5e66c09a5d2b909c
Author: James Darpinian <jdarpinian@chromium.org>
Date:   Wed Sep 4 16:56:25 2019 -0700

    Fix WebKit iOS build
    
    WebKit's iOS and Mac builds do conditional compilation with preprocessor
    directives rather than relying on the build system. Cocoa.h is not available on
    iOS, so these Objective-C files must be conditionally compiled.
    
    Bug: angleproject:3439
    Change-Id: I8a1228f5b14ca6441c7d9a7f1c3f45d060003135
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1785653
    Commit-Queue: James Darpinian <jdarpinian@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 4f431ad17465c3ffd53262171bde3de7e4f76941
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Sep 9 07:01:53 2019 +0000

    Roll ./third_party/spirv-tools/src b218ad19949f..76261e2a7df1 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/b218ad19949f..76261e2a7df1
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@76261e2a7df1
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC jmadill@chromium.org,jmadill@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=jmadill@chromium.org,jmadill@google.com
    Change-Id: Iba5eb10163a59bb9b76fa813b5b3d21288b234df
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1791787
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit a7ff7df26f281e956b59fad52f0408c3528648ed
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Sep 3 11:22:21 2019 -0400

    Vulkan: Improve wording of PresentSemaphores.md
    
    Bug: angleproject:3450
    Change-Id: Iee5360a7b9cced403c08b7883fa11420e250244f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1784065
    Reviewed-by: Ian Elliott <ianelliott@google.com>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 32d6006bf2ef9ea1cc5a705df3493ed7cca16821
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Sep 6 10:10:08 2019 -0400

    Don't block setting the DEPTH_STENCIL attachment based on the resource format.
    
    By blocking the attachment at this point, it doesn't allow for the resource to
    have a depth stencil format later.
    
    BUG=997702
    
    Change-Id: Iec5243012cb9a9527c5b1467d44c393b0dc6bddc
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1780898
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>

commit 90a58622fd858082b920077b6d251e295766feea
Author: Tim Van Patten <timvp@google.com>
Date:   Wed Sep 4 15:39:58 2019 -0600

    Refactor ShaderVariable to Remove Specializations
    
    The following structs are being refactored and moved into the parent
    struct ShaderVariable:
    
    VariableWithLocation
    Uniform
    Attribute
    OutputVariable
    InterfaceBlockField
    Varying
    
    Bug: angleproject:3899
    Test: CQ
    Change-Id: I389eb3ab4ed44a360e09fca75ecc78d64a277f83
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1785877
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Commit-Queue: Tim Van Patten <timvp@google.com>

commit 412df91319fbe92b7defa426200a70dc42fc620b
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Sep 6 07:01:50 2019 +0000

    Roll ./third_party/glslang/src 34953810a62c..664ad418f845 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/34953810a62c..664ad418f845
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@664ad418f845
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/glslang-angle-autoroll
    Please CC jmadill@chromium.org,jmadill@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=jmadill@chromium.org,jmadill@google.com
    Change-Id: I59ec3f0481e8c8db214527f32b592eeda9260e13
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1788945
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit e64cea302acd9f92791d30c9c7344e9fac18de36
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Sep 6 07:01:53 2019 +0000

    Roll ./third_party/spirv-tools/src 19b256616d96..b218ad19949f (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/19b256616d96..b218ad19949f
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@b218ad19949f
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC jmadill@chromium.org,jmadill@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=jmadill@chromium.org,jmadill@google.com
    Change-Id: Ib4e442af6583b4dcfb0ed9e0eda74e857447cfa7
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1788946
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit df0ce01870fafa4b0ad2bca6857a853f9567644e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 5 11:04:39 2019 -0400

    Add support for standalone ASAN build.
    
    Adds tools/memory to standalone DEPS.
    
    Bug: angleproject:3897
    Change-Id: I744e5816156e6e1df78033201eb7fd56083c1bc6
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1787997
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 66e0feec40dcd82459234eb249fef11aa3f2a917
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 3 18:45:43 2019 -0400

    Remove default template args in ResourceMap.
    
    Only need GLuints now for GLsyncs.
    
    Bug: angleproject:3611
    Change-Id: Id8b11851d8d5d30e6743433c772b9fa85eb875f5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1783406
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit d0e56cc64289aecbecd3de139d7b47c1e47e2158
Author: Jiacheng Lu <lujc@google.com>
Date:   Tue Aug 27 09:35:30 2019 -0600

    Add fallback to write GLenum as hex in capture
    
    1. Add extension 'GL_ANGLE_program_binary' to registry_xml.py, this
    extension brings enum 'GL_PROGRAM_BINARY_ANGLE' which ANGLE already
    supports.
    2. Add a fallback for converting GLenum and GLbitfield to string, for
    any GLenum value not found in the conversion table, write out its hex
    value instead of 'EnumUnknown'. It prevents GLenum from some
    unregistered extensions breaking the frame capture.
    
    Bug: angleproject:3804
    Change-Id: I36a676305fbbcff2173bbc9f818ff589abe51434
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1775028
    Commit-Queue: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Tobin Ehlis <tobine@google.com>

commit d5fe2eeb4f70ea93a6f858f1e4518319ee80a284
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Sep 5 07:01:50 2019 +0000

    Roll ./third_party/glslang/src 56f61ccceffa..34953810a62c (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/56f61ccceffa..34953810a62c
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@34953810a62c
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/glslang-angle-autoroll
    Please CC jmadill@chromium.org,jmadill@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=jmadill@chromium.org,jmadill@google.com
    Change-Id: Ic573baad0b7097a415345bc2d47b8274b276e69f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1787397
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit ecac2f8fe9bb9c7b3270be2b897b7a603df2bf33
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Sep 5 07:01:53 2019 +0000

    Roll ./third_party/spirv-tools/src 9b3cc3e05337..19b256616d96 (3 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/9b3cc3e05337..19b256616d96
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@19b256616d96
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC jmadill@chromium.org,jmadill@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=jmadill@chromium.org,jmadill@google.com
    Change-Id: I2ad5c402e8a0e70858c706fad3a3dc9188210961
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1787398
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 0c35e0f44dbd6041182a2bb3d3221c83f2c0eddf
Author: Brandon Schade <b.schade@samsung.com>
Date:   Tue Sep 3 11:29:57 2019 -0700

    Add null default backend environment variable option
    
    ANGLE_DEFAULT_PLATFORM environment variable now accepts 'null' as
    a valid option. This will set the default platform type to the
    null backend.
    
    Bug: angleproject:3893
    Change-Id: Ieddcdf3ae840f927c1b276e56f3b753b67d9b73d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1784062
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
    Commit-Queue: Mohan Maiya <m.maiya@samsung.com>

commit 7e44ec26d6520ce3bce76df687b593b1e6d4b67b
Author: Mingyu Hu <mihu@microsoft.com>
Date:   Mon Aug 26 15:59:48 2019 -0700

    GL_EXT_multisampled_render_to_texture extension. Part 1.
    
    Adding new parameters for extension without adding any real code change. Since no new code paths were added, we expect all tests to pass as before.
    
    Bug: angleproject:980428
    Change-Id: I551b46a66f422eabd357fd021e00cf266a991efb
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1772377
    Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
    Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 1f2782e0602cca14f58192533bb6ce2af810bcfe
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Thu Aug 29 14:19:23 2019 -0600

    Vulkan: fix unsized internalformat depth sampling
    
    Many implementations provide OES_depth_texture behavior if the
    texture was specified with a non-sized format (e.g. GL_DEPTH_COMPONENT).
    This change implements that behavior for Vulkan and adds a couple of
    tests to verify it.
    
    Bug: angleproject:3890
    Change-Id: I005b1eaa30db033f7d78a5cf2236aab7f442b7f5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1764301
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 26a87516dc1b627a3ad428f6a79e1deea51838c8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 3 17:04:13 2019 -0400

    Remove overlay font hash from codegen.
    
    This prevents a presubmit error on Windows. Seems like the binary file
    differs somehow. Remove it from the hashes until we can investigate.
    
    Bug: angleproject:3892
    Change-Id: I4f06dbe37e3e02f9905654d202a8b4fba78b9323
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1783403
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 1f6f69209ec2d5190df405f1ad275a692e005b68
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Sep 4 07:01:54 2019 +0000

    Roll ./third_party/spirv-tools/src 2c5ed16ba97d..9b3cc3e05337 (5 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/2c5ed16ba97d..9b3cc3e05337
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@9b3cc3e05337
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC jmadill@chromium.org,jmadill@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=jmadill@chromium.org,jmadill@google.com
    Change-Id: I0ab4e476b5c5090236e1fa9aba19cc56402e9736
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1784379
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit a1bf69967a32004e4ddc4d72b461fdaeacb197fd
Author: Todd Eisenberger <teisenbe@google.com>
Date:   Tue Sep 3 13:39:03 2019 -0700

    Fuchsia: Migrate to new libasync-loop API
    
    Bug: None
    Change-Id: Ieadbe830847068c8e9dc96773dbb9b65c8b9ccd8
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1783418
    Reviewed-by: Michael Spang <spang@chromium.org>
    Commit-Queue: Michael Spang <spang@chromium.org>

commit c3f7873b9a3af998ec6e9132f07f331f3f14d306
Author: Jiacheng Lu <lujc@google.com>
Date:   Fri Aug 30 15:00:52 2019 -0600

    Use TransformFeedbackID in place of GLuint handle
    
    Bug: angleproject:3804
    Change-Id: Ib8fbec89f28645790df98a184f47303f4a8d64c1
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1779343
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tobin Ehlis <tobine@google.com>

commit feb8507f4b528d8900b0c4d680294e527c71c592
Author: Jiacheng Lu <lujc@google.com>
Date:   Tue Sep 3 13:22:04 2019 -0400

    Use VertexArrayID in place of GLuint handle
    
    Bug: angleproject:3804
    Change-Id: I0454533eff13218a6aa1e1672ffcd0e76aedb399
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769716
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 050b124d7838d8a13ae2d3c052fd1be9c369e37d
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Sun Jun 30 03:26:18 2019 -0400

    Reland "Vulkan: Debug overlay"
    
    This is a reland of e54d0f90d1a165404236fd7abd1b05ddd041a686
    
    This was reverted due to a build failure as a result of a missing
    virtual destructor in the widget base class.
    
    Original change's description:
    > Vulkan: Debug overlay
    >
    > A debug overlay system for the Vulkan backend designed with efficiency
    > and runtime configurability in mind.  Overlay widgets are of two
    > fundamental types:
    >
    > - Text widgets: A single line of text with small, medium or large font.
    > - Graph widgets: A bar graph of data.
    >
    > Built on these, various overlay widget types are defined that gather
    > statistics.  Five such types are defined with one widget per type as
    > example:
    >
    > - Count: A widget that counts something.  VulkanValidationMessageCount
    >   is an overlay widget of this type that shows the number of validation
    >   messages received from the validation layers.
    > - Text: A generic text.  VulkanLastValidationMessage is an overlay
    >   widget of this type that shows the last validation message.
    > - PerSecond: A value that gets reset every second automatically.  FPS is
    >   an overlay widget of this type that simply gets incremented on every
    >   swap().
    > - RunningGraph: A graph of last N values.  VulkanCommandGraphSize is an
    >   overlay of this type.  On every vkQueueSubmit, the number of nodes in
    >   the command graph is accumulated.  On every present(), the value is
    >   taken as the number of nodes for the whole duration of the frame.
    > - RunningHistogram: A histogram of last N values.  Input values are in
    >   the [0, 1] range and they are ranked to N buckets for histogram
    >   calculation.  VulkanSecondaryCommandBufferPoolWaste is an overlay
    >   widget of this type.  On vkQueueSubmit, the memory waste from command
    >   buffer pool allocations is recorded in the histogram.
    >
    > Overlay font is placed in libANGLE/overlay/ which gen_overlay_fonts.py
    > processes to create an array of bits, which is processed at runtime to
    > create the actual font image (an image with 3 layers).
    >
    > The overlay widget layout is defined in overlay_widgets.json which
    > gen_overlay_widgets.py processes to generate an array of widgetss, each
    > of its respective type, and sets their properties, such as color and
    > bounding box.  The json file allows widgets to align against other
    > widgets as well as against the framebuffer edges.
    >
    > Two compute shaders are implemented to efficiently render the UI:
    >
    > - OverlayCull: This shader creates a bitset of Text and Graph widgets
    >   whose bounding boxes intersect a corresponding subgroup processed by
    >   OverlayDraw.  This is done only when the enabled overlay widgets are
    >   changed (a feature that is not yet implemented) or the surface is
    >   resized.
    > - OverlayDraw: Using the bitsets generated by OverlayCull, values that
    >   are uniform for each workgroup (set to be equal to hardware subgroup
    >   size), this shader loops over enabled widgets that can possibly
    >   intersect the pixel being processed and renders and blends in texts
    >   and graphs.  This is done once per frame on present().
    >
    > Currently, to enable overlay widgets an environment variable is used.
    > For example:
    >
    >     $ export ANGLE_OVERLAY=FPS:VulkanSecondaryCommandBufferPoolWaste
    >     $ ./hello_triangle --use-angle=vulkan
    >
    > Possible future work:
    >
    > - On Android, add settings in developer options and enable widgets based
    >   on those.
    > - Spawn a small server in ANGLE and write an application that sends
    >   enable/disable commands remotely.
    > - Implement overlay for other backends.
    >
    > Bug: angleproject:3757
    > Change-Id: If9c6974d1935c18f460ec569e79b41188bd7afcc
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1729440
    > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    
    Bug: angleproject:3757
    Change-Id: I47915d88b37b6f882c686c2de13fca309a10b572
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1780897
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 03f93cf02bbb5f2e5a5a45ec54e55f8c3134c293
Author: Mingyu Hu <mihu@microsoft.com>
Date:   Fri Aug 30 08:53:30 2019 -0700

    ANGLE test fixture leaking.
    
    Adding code in ANGLETestEnvironment::TearDown() to release fixtures if exists.
    
    Bug: angleproject:3875
    Change-Id: I0d6ad9b8c72937b20a4c3033b86eb667b546e0c3
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1778841
    Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>

commit 4376600310936a326d7fbefea686e92c39d6994b
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Aug 30 17:22:57 2019 -0400

    Update status of ES3.1 on Vulkan
    
    Bug: angleproject:1944
    Change-Id: I238843992381c4dab60cca7f1552d8db82f2b0f0
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1779207
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit fc508813b05abce0eeea194acd28172d60111b06
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Sep 3 09:08:50 2019 +0000

    Roll ./third_party/glslang/src 92f5afdee0ab..56f61ccceffa (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/92f5afdee0ab..56f61ccceffa
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@56f61ccceffa
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/glslang-angle-autoroll
    Please CC jmadill@chromium.org,jmadill@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=jmadill@chromium.org,jmadill@google.com
    Change-Id: I4633463b18d9570a2254216d74b6835227a28077
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1780945
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit c26869d540f3a01ab720401f69f7979b743612af
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Sep 3 07:01:55 2019 +0000

    Roll ./third_party/spirv-tools/src 65e362b7ae2a..2c5ed16ba97d (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/65e362b7ae2a..2c5ed16ba97d
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@2c5ed16ba97d
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC jmadill@chromium.org,jmadill@google.com on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=jmadill@chromium.org,jmadill@google.com
    Change-Id: Ibd0e982c871f78be13a6a3d63a57b4309fbc9edb
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1782118
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 31b524cf60b7ecdd5eeb8d1591cce7b56eca1960
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Sep 2 14:27:58 2019 -0400

    Roll Chromium DEPS.
    
    Completes a roll started in August.
    
    Bug: angleproject:3792
    Change-Id: Ia8b80fc2fbc0f85310325b2c54e80a0db722ba44
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1781620
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 44a0e73431c10198915c74dc813196d65d16f877
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Sep 2 13:55:59 2019 -0400

    Re-enable -Wextra-semi-stmt.
    
    Now that the DEPS roller is fixed this should not be able to
    break the CQ.
    
    Bug: angleproject:3128
    Change-Id: I0f51b5d8a7b71859cced335ca9bd6ad155637ec5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1781619
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 04d3de54b6ad36868f894b056321f55ddceb4404
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Sep 2 13:35:23 2019 -0400

    Vulkan: Update dEQP-GLES2 Android test expectations.
    
    dEQP-GLES2.functional.depth_stencil_clear.depth_scissored_masked
    dEQP-GLES2.functional.clipping.point.wide_point_clip_viewport_center
    dEQP-GLES2.functional.clipping.point.wide_point_clip_viewport_corner
    dEQP-GLES2.functional.rasterization.primitives.line*
    dEQP-GLES2.functional.texture.mipmap.cube.generate.*
    dEQP-GLES2.functional.shaders.builtin_variable.pointcoord
    dEQP-GLES2.functional.texture.mipmap.cube.projected.nearest_linear
    
    Bug: angleproject:2463
    Bug: angleproject:2609
    Bug: angleproject:2727
    Bug: angleproject:2830
    Bug: angleproject:3307
    Bug: angleproject:3241
    Bug: angleproject:3253
    Change-Id: I76a0ca0e6a87c5a81f9209960e94fbd39d9b2484
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1781618
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 9deb3bfaa1d70779ce252b48cafde0de6472ebcb
Author: Jiacheng Lu <lujc@google.com>
Date:   Fri Aug 23 15:57:50 2019 -0600

    Use MemoryObjectID in place of GLuint handle
    
    Bug: angleproject:3804
    Change-Id: I7ca86089fe1e72c136c0fc1947ad43cecee122eb
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769544
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit a3c7c2ff6a90a864751bdcd023979a32fae2bda7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Sep 2 13:17:26 2019 -0400

    Vulkan: Lift failing Wintel test expectation.
    
    MaxTextureSizeTest.SpecificationTexImage
    
    Bug: angleproject:2690
    Change-Id: I19aad34e7213fe34af434f368968a06adc31ab55
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1781617
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 91180c488f4a577529b16755a85e658f6dd18ee8
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Sep 2 14:33:11 2019 +0200

    Also skip ComputeShaderTest.UniformDirty/ES3_1_Vulkan on Win/NVIDIA
    
    The test is failing since the suppression was lifted.
    
    BUG=angleproject:3879
    
    Change-Id: Ic2d45db7f7e2388c0c0040183c8760ee6a8fcb08
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1778863
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit fc58af4797084163af128d41cad22c331c6c1a3b
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Sep 2 07:46:44 2019 +0000

    Revert "Vulkan: Debug overlay"
    
    This reverts commit e54d0f90d1a165404236fd7abd1b05ddd041a686.
    
    Reason for revert: causes compile failure on Linux CFI bot.
    
    Sample build: https://ci.chromium.org/p/chromium/builders/ci/Linux%20CFI/14810
    
    Sample log: https://logs.chromium.org/logs/chromium/buildbucket/cr-buildbucket.appspot.com/8903575125463586160/+/steps/compile/0/stdout?format=raw
    
    Original change's description:
    > Vulkan: Debug overlay
    >
    > A debug overlay system for the Vulkan backend designed with efficiency
    > and runtime configurability in mind.  Overlay widgets are of two
    > fundamental types:
    >
    > - Text widgets: A single line of text with small, medium or large font.
    > - Graph widgets: A bar graph of data.
    >
    > Built on these, various overlay widget types are defined that gather
    > statistics.  Five such types are defined with one widget per type as
    > example:
    >
    > - Count: A widget that counts something.  VulkanValidationMessageCount
    >   is an overlay widget of this type that shows the number of validation
    >   messages received from the validation layers.
    > - Text: A generic text.  VulkanLastValidationMessage is an overlay
    >   widget of this type that shows the last validation message.
    > - PerSecond: A value that gets reset every second automatically.  FPS is
    >   an overlay widget of this type that simply gets incremented on every
    >   swap().
    > - RunningGraph: A graph of last N values.  VulkanCommandGraphSize is an
    >   overlay of this type.  On every vkQueueSubmit, the number of nodes in
    >   the command graph is accumulated.  On every present(), the value is
    >   taken as the number of nodes for the whole duration of the frame.
    > - RunningHistogram: A histogram of last N values.  Input values are in
    >   the [0, 1] range and they are ranked to N buckets for histogram
    >   calculation.  VulkanSecondaryCommandBufferPoolWaste is an overlay
    >   widget of this type.  On vkQueueSubmit, the memory waste from command
    >   buffer pool allocations is recorded in the histogram.
    >
    > Overlay font is placed in libANGLE/overlay/ which gen_overlay_fonts.py
    > processes to create an array of bits, which is processed at runtime to
    > create the actual font image (an image with 3 layers).
    >
    > The overlay widget layout is defined in overlay_widgets.json which
    > gen_overlay_widgets.py processes to generate an array of widgetss, each
    > of its respective type, and sets their properties, such as color and
    > bounding box.  The json file allows widgets to align against other
    > widgets as well as against the framebuffer edges.
    >
    > Two compute shaders are implemented to efficiently render the UI:
    >
    > - OverlayCull: This shader creates a bitset of Text and Graph widgets
    >   whose bounding boxes intersect a corresponding subgroup processed by
    >   OverlayDraw.  This is done only when the enabled overlay widgets are
    >   changed (a feature that is not yet implemented) or the surface is
    >   resized.
    > - OverlayDraw: Using the bitsets generated by OverlayCull, values that
    >   are uniform for each workgroup (set to be equal to hardware subgroup
    >   size), this shader loops over enabled widgets that can possibly
    >   intersect the pixel being processed and renders and blends in texts
    >   and graphs.  This is done once per frame on present().
    >
    > Currently, to enable overlay widgets an environment variable is used.
    > For example:
    >
    >     $ export ANGLE_OVERLAY=FPS:VulkanSecondaryCommandBufferPoolWaste
    >     $ ./hello_triangle --use-angle=vulkan
    >
    > Possible future work:
    >
    > - On Android, add settings in developer options and enable widgets based
    >   on those.
    > - Spawn a small server in ANGLE and write an application that sends
    >   enable/disable commands remotely.
    > - Implement overlay for other backends.
    >
    > Bug: angleproject:3757
    > Change-Id: If9c6974d1935c18f460ec569e79b41188bd7afcc
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1729440
    > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    
    TBR=geofflang@chromium.org,syoussefi@chromium.org,jmadill@chromium.org
    
    Bug: angleproject:3757
    Change-Id: Ib08e2e7b1a9449ca097673acb11655df5d2bbf31
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1778862
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit e5698621c8cda6419255496ed97f333b762c6767
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Sep 2 07:01:55 2019 +0000

    Roll ./third_party/spirv-tools/src 73422a0a5ee1..65e362b7ae2a (6 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/73422a0a5ee1..65e362b7ae2a
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@65e362b7ae2a
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC cwallez@chromium.org on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=cwallez@chromium.org
    Change-Id: Ib0fbb7bec45551e340170da4f97319f3f0f93e0a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1781041
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 188569cfdcfc16a2241f9595e47611a71e8bf78f
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Sep 2 07:01:50 2019 +0000

    Roll ./third_party/glslang/src 796df2d74e05..92f5afdee0ab (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/796df2d74e05..92f5afdee0ab
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@92f5afdee0ab
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/glslang-angle-autoroll
    Please CC cwallez@chromium.org on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=cwallez@chromium.org
    Change-Id: I56114586c83a6b632a08353bbe263eef1a290f0a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1781040
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 791ad7b8774a06c996467eb9e6e5137b1e4ef452
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Aug 26 15:38:20 2019 -0400

    Vulkan: Enable more GLES3.1 dEQP tests
    
    Various features already implemented hadn't removed suppressions for
    GLES 3.1.
    
    Bug: angleproject:3205
    Bug: angleproject:3208
    Bug: angleproject:3561
    Bug: angleproject:3604
    Change-Id: I1cfc5d2150fae6b138fa21a37f8e95cb7d764770
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1771989
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Ian Elliott <ianelliott@google.com>

commit 912e52d81e543d60e495b34b47486468cbe08a68
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Aug 23 00:25:09 2019 -0400

    Vulkan: Storage image support
    
    Image bindings are placed after atomic counters in the "resources"
    descriptor set.
    
    There are two issues yet to be addressed:
    
    - GL can create a 2D (array) view of a 3D image, but this is not allowed
      in Vulkan.  If this cannot be made possible, emulation needs to be
      done.
    
      https://github.com/KhronosGroup/Vulkan-Docs/issues/1033
    
    - GL can create an image view of a texture with a different format and
      have the data reinterpreted.  This is not currently done.
    
    Bug: angleproject:3563
    Change-Id: I95c4d92c50bb033212a9a67f3f2d6f97c074c7bf
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1767366
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 93bb092f88c982ef4c6d4e0db72afc5d7c178b42
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Sat Aug 31 13:44:28 2019 -0400

    Fix build error
    
    Result of simultaneous submission of two CLs.
    
    Bug: angleproject:3757
    Change-Id: I0e11678633587421f83d337958a1df28a694cf2e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1778967
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit e54d0f90d1a165404236fd7abd1b05ddd041a686
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Sun Jun 30 03:26:18 2019 -0400

    Vulkan: Debug overlay
    
    A debug overlay system for the Vulkan backend designed with efficiency
    and runtime configurability in mind.  Overlay widgets are of two
    fundamental types:
    
    - Text widgets: A single line of text with small, medium or large font.
    - Graph widgets: A bar graph of data.
    
    Built on these, various overlay widget types are defined that gather
    statistics.  Five such types are defined with one widget per type as
    example:
    
    - Count: A widget that counts something.  VulkanValidationMessageCount
      is an overlay widget of this type that shows the number of validation
      messages received from the validation layers.
    - Text: A generic text.  VulkanLastValidationMessage is an overlay
      widget of this type that shows the last validation message.
    - PerSecond: A value that gets reset every second automatically.  FPS is
      an overlay widget of this type that simply gets incremented on every
      swap().
    - RunningGraph: A graph of last N values.  VulkanCommandGraphSize is an
      overlay of this type.  On every vkQueueSubmit, the number of nodes in
      the command graph is accumulated.  On every present(), the value is
      taken as the number of nodes for the whole duration of the frame.
    - RunningHistogram: A histogram of last N values.  Input values are in
      the [0, 1] range and they are ranked to N buckets for histogram
      calculation.  VulkanSecondaryCommandBufferPoolWaste is an overlay
      widget of this type.  On vkQueueSubmit, the memory waste from command
      buffer pool allocations is recorded in the histogram.
    
    Overlay font is placed in libANGLE/overlay/ which gen_overlay_fonts.py
    processes to create an array of bits, which is processed at runtime to
    create the actual font image (an image with 3 layers).
    
    The overlay widget layout is defined in overlay_widgets.json which
    gen_overlay_widgets.py processes to generate an array of widgetss, each
    of its respective type, and sets their properties, such as color and
    bounding box.  The json file allows widgets to align against other
    widgets as well as against the framebuffer edges.
    
    Two compute shaders are implemented to efficiently render the UI:
    
    - OverlayCull: This shader creates a bitset of Text and Graph widgets
      whose bounding boxes intersect a corresponding subgroup processed by
      OverlayDraw.  This is done only when the enabled overlay widgets are
      changed (a feature that is not yet implemented) or the surface is
      resized.
    - OverlayDraw: Using the bitsets generated by OverlayCull, values that
      are uniform for each workgroup (set to be equal to hardware subgroup
      size), this shader loops over enabled widgets that can possibly
      intersect the pixel being processed and renders and blends in texts
      and graphs.  This is done once per frame on present().
    
    Currently, to enable overlay widgets an environment variable is used.
    For example:
    
        $ export ANGLE_OVERLAY=FPS:VulkanSecondaryCommandBufferPoolWaste
        $ ./hello_triangle --use-angle=vulkan
    
    Possible future work:
    
    - On Android, add settings in developer options and enable widgets based
      on those.
    - Spawn a small server in ANGLE and write an application that sends
      enable/disable commands remotely.
    - Implement overlay for other backends.
    
    Bug: angleproject:3757
    Change-Id: If9c6974d1935c18f460ec569e79b41188bd7afcc
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1729440
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit c3f57231124b74dd069550dabf5196f988fc8666
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Aug 28 15:00:46 2019 -0400

    Vulkan: revamp present semaphore management
    
    See doc/PresentSemaphores.md for details.
    
    Bug: angleproject:3450
    Bug: angleproject:3670
    Change-Id: I52d5bd13a4af25f224d386c9584525c182af6f17
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1776880
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit f0640bc3c1dc3a807f90ec914a3b2106727fc9aa
Author: Jiacheng Lu <lujc@google.com>
Date:   Fri Aug 23 10:26:25 2019 -0600

    Use SemaphoreID in place of GLuint handle
    
    Bug: angleproject:3804
    Change-Id: Iabaae60ed7cbbe423bf768c506099d26cf0dedcf
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1768978
    Commit-Queue: Jiacheng Lu <lujc@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit f92adbbc938dd1ec1901805442e426b5464234ab
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 30 16:33:36 2019 -0400

    Update docs on enum names.
    
    Reflects the currenct approach for ANGLE enum naming.
    
    Bug: angleproject:1944
    Change-Id: I102ad8155d781888d96af06346afbce2e0e6cd59
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1779022
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit d2766ce7950f3e06f13ccf1defa9ae38caaa2b35
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 30 15:26:17 2019 -0400

    Vulkan: Generalize ICD decision for loader.
    
    This will allow a more flexible introduction of other ICDs like
    SwiftShader. Refactoring change only.
    
    Bug: angleproject:3876
    Change-Id: I6883225645e0f961f699366368bebccd9812aaec
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1775463
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 0b1fbcff294eb897c11691cbe4ded2985a698d88
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Aug 30 15:05:12 2019 -0400

    Vulkan: Make vk::ImageView pointers const
    
    Bug: angleproject:3563
    Change-Id: I8b6415dd9508941d093f36e7ded72d25f571b6f3
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1779204
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 2b7e2acb4d8f29398d62b627f0e8c8187de01ca5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 30 13:26:37 2019 -0400

    Vulkan: Move loader defines into BUILD.gn.
    
    We shouldn't need the extra loader defines config variable. The defines
    we need should probably be able to be located in ANGLE entirely.
    
    Bug: angleproject:3320
    Bug: angleproject:3876
    Change-Id: I78f449f44c1709b6d683930f9b9ea3d80016272e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1775462
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 2c5d48a6f0e43c5a688ad85716f318ca1a9e957e
Author: Jiacheng Lu <lujc@google.com>
Date:   Fri Aug 23 09:28:35 2019 -0600

    Use FramebufferID in place of GLuint handle
    
    Bug: angleproject:3804
    Change-Id: I5e1b5f1903b05a91468379e00ec130802315cdc2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769039
    Reviewed-by: Jiacheng Lu <lujc@google.com>
    Commit-Queue: Jiacheng Lu <lujc@google.com>

commit f0dd087edf271bc37afd21dbb61f8ed18f60a4a3
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Aug 23 15:45:34 2019 -0400

    Move timer functionality from util/ to common/
    
    The main timer functionality (get absolute time) is moved to common/ for
    use in ANGLE itself (in upcoming overlay change).  util/Timer.h is no
    longer an abstract class and uses this functionality to implement the
    timer.
    
    Bug: angleproject:3757
    Change-Id: I3fe418778d80d1089c9bfe43a9e8098e43236f18
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769061
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit eb68081e8417b13d6243b45760d7ca6d0b0ed664
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Aug 28 15:28:54 2019 -0400

    Vulkan: Split Vulkan docs from README.md into doc/
    
    This is in preparation for adding more docs and migrating internal ones.
    
    Bug: angleproject:1944
    Change-Id: I7aa4d708c9cd6134ef4ded00a82890448988ce9e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1773907
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit dca10129605be796ec965fa04c1ca7969271a5d6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Aug 29 16:48:37 2019 -0400

    SystemInfo: Add Google VendorID.
    
    This enables SwiftShader detection.
    
    Bug: angleproject:3876
    Change-Id: Ic4ebfb5b431771c31298af7349d0370df913e596
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1773853
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 56ba54cc03f37a306d156a95e1deb3493836d622
Author: Tim Van Patten <timvp@google.com>
Date:   Thu Aug 8 13:03:34 2019 -0600

    Support separate read and draw surfaces in eglMakeCurrent
    
    Update ANGLE's default framebuffer implementation to support reading
    and writing to different surfaces within the same framebuffer.
    
    Bug: angleproject:2620
    Test: EGLSurfaceTest[3]
    Change-Id: I4b1ea04ca87a751f80cf190bf3adec148fc4fce3
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1744746
    Commit-Queue: Tim Van Patten <timvp@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 120b61d34ba8da345ea08087a98959c3fa034356
Author: Jiacheng Lu <lujc@google.com>
Date:   Wed Aug 21 12:51:58 2019 -0600

    Use ShaderProgramID in place of GLuint handles
    
    Bug: angleproject:3804
    Change-Id: I5dc640004c2cc054c53261e8e939b6a9f5fc23bb
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1762363
    Commit-Queue: Jiacheng Lu <lujc@google.com>
    Reviewed-by: Tobin Ehlis <tobine@google.com>

commit aae21ef6adf6b7286361ae442f924009aa26936b
Author: Tobin Ehlis <tobine@google.com>
Date:   Thu Aug 29 21:56:06 2019 +0000

    Revert "Reland "Vulkan: Use VK repos' internal BUILD.gn files""
    
    This reverts commit 0ad1559f3ae95efecaa209f990987d3ce4ebd150.
    
    Reason for revert: linux-rel no-op build issue showing up in Chromium integration. Tracking in chromium:997016
    
    Original change's description:
    > Reland "Vulkan: Use VK repos' internal BUILD.gn files"
    >
    > This is a reland of 552f5fcb0d8fcc615856ce3b678190e1cbdd38e6
    >
    > Original change's description:
    > > Vulkan: Use VK repos' internal BUILD.gn files
    > >
    > > This retires custom BUILD.gn files for the Vulkan Headers, Tools,
    > > Validation-Layers, and Loader repos. They now have integrated BUILD.gn
    > > files so switched ANGLE to use those by default.
    > > Also Validation Layer, Loader, and Tools repos no longer uses codegen
    > > so this speeds up the build overall.
    > > Switched over from old VK_LAYER_LUNARG_standard_validation meta-layer
    > > to VK_LAYER_KHRONOS_validation unified layer.
    > >
    > > This changes includes a temporary workaround to the Vulkan-Loader repo
    > > to remove its Window's build dependence on WDK. There are plans to
    > > remove that depenedence in Loader master, but until then we can use
    > > our custom branch workaround.
    > > It also includes a custom branch for validation layers that includes
    > > some build fixes for ANGLE.
    > > Finally, the layers were crashing on Android when attempting to use
    > > DebugUtils extension so forcing DebugReport on Android for now.
    > >
    > > Bug: angleproject:2449
    > > Bug: angleproject:3320
    > > Bug: angleproject:3852
    > > Bug: chromium:997009
    > > Bug: chromium:997016
    > > Change-Id: I48b36acefcc7f2bc930eb72d6fdbc87bca24f833
    > > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1610438
    > > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    > > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    > > Commit-Queue: Tobin Ehlis <tobine@google.com>
    >
    > Bug: angleproject:2449, angleproject:3320, angleproject:3852
    > Change-Id: I9597be99000083b135e19b6ee68d4ae222158e72
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769036
    > Commit-Queue: Tobin Ehlis <tobine@google.com>
    > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    
    TBR=tobine@google.com,syoussefi@chromium.org,jmadill@chromium.org
    
    Change-Id: I88afdaff07e9f414f9de02f6d3651eaba9a5045f
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:2449, angleproject:3320, angleproject:3852
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1776920
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Commit-Queue: Tobin Ehlis <tobine@google.com>

commit 0ad1559f3ae95efecaa209f990987d3ce4ebd150
Author: Tobin Ehlis <tobine@google.com>
Date:   Thu Jul 18 15:10:49 2019 -0600

    Reland "Vulkan: Use VK repos' internal BUILD.gn files"
    
    This is a reland of 552f5fcb0d8fcc615856ce3b678190e1cbdd38e6
    
    Original change's description:
    > Vulkan: Use VK repos' internal BUILD.gn files
    >
    > This retires custom BUILD.gn files for the Vulkan Headers, Tools,
    > Validation-Layers, and Loader repos. They now have integrated BUILD.gn
    > files so switched ANGLE to use those by default.
    > Also Validation Layer, Loader, and Tools repos no longer uses codegen
    > so this speeds up the build overall.
    > Switched over from old VK_LAYER_LUNARG_standard_validation meta-layer
    > to VK_LAYER_KHRONOS_validation unified layer.
    >
    > This changes includes a temporary workaround to the Vulkan-Loader repo
    > to remove its Window's build dependence on WDK. There are plans to
    > remove that depenedence in Loader master, but until then we can use
    > our custom branch workaround.
    > It also includes a custom branch for validation layers that includes
    > some build fixes for ANGLE.
    > Finally, the layers were crashing on Android when attempting to use
    > DebugUtils extension so forcing DebugReport on Android for now.
    >
    > Bug: angleproject:2449
    > Bug: angleproject:3320
    > Bug: angleproject:3852
    > Bug: chromium:997009
    > Bug: chromium:997016
    > Change-Id: I48b36acefcc7f2bc930eb72d6fdbc87bca24f833
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1610438
    > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    > Commit-Queue: Tobin Ehlis <tobine@google.com>
    
    Bug: angleproject:2449, angleproject:3320, angleproject:3852
    Change-Id: I9597be99000083b135e19b6ee68d4ae222158e72
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769036
    Commit-Queue: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit d8e821aa52a3f34d2edc15d6627ddae76b61cbb8
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Aug 29 12:38:35 2019 -0400

    Expand the TextureGL::releaseTexImage size reset workaround to Win AMD.
    
    Windows 10 AMD drivers have also had issues with generating errors when calling
    glTexImage2D with zero size after unbinding a surface.
    
    BUG=angleproject:3859
    
    Change-Id: Iae3e31418b6c89056d0d4aab954519598d8f25f9
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1775111
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit d3b3103768a1459a614434cabcbff0f687fc8af3
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Aug 29 13:45:43 2019 -0400

    Vulkan: DispatchIndirect in graph dump output
    
    Bug: angleproject:3601
    Change-Id: Ib7e5abea3a9fced88f415c6395a3f790aadafdaa
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1776008
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 324b391559e7ff21bcd136b744a565b8167c5427
Author: Mohan Maiya <m.maiya@samsung.com>
Date:   Thu Aug 29 08:19:11 2019 -0700

    Vulkan: Fix compute shader bug affecting 10_10_10_2 formats
    
    When the source format is 10_10_10_2, valueBits needs to be
    "2" if the component is "3" i.e, the alpha channel. It was
    incorrectly set to "10" for all components
    
    Bug: angleproject:3866
    Change-Id: If206c63d704a7a485681e483e12ae9ab611b0d99
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1775105
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Mohan Maiya <m.maiya@samsung.com>

commit c43852aa18347e0d6842a055605cc36836d565d3
Author: Jiacheng Lu <lujc@google.com>
Date:   Tue Aug 27 13:38:29 2019 -0600

    Various fixes for frame capture
    
    1. Use contextId as identifier to separate captures for different GL
    context.
    2. Fix write string params. In order to keep consistent between replay
    and capture, changes have been made to store C style string (with '\0'
    suffix) for string param capture, which breaks cpp frame capture. This
    change fixes it.
    3. On Android device, it use a custom path to save captures and it
    breaks the loadBinaryData(). Here differentiate file name and file path
    to fix it.
    
    Bug: angleproject:3804
    Change-Id: I378cf26697d15f0c1a8cf7afea2b758f5c58498b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1774469
    Commit-Queue: Jiacheng Lu <lujc@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 80b1ba63edffe9c2fc4c373888e74cfc5c1e28dc
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Aug 29 07:01:21 2019 +0000

    Roll ./third_party/glslang/src f27bd2aa2e3f..796df2d74e05 (4 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/f27bd2aa2e3f..796df2d74e05
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@796df2d74e05
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/glslang-angle-autoroll
    Please CC cwallez@chromium.org on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=cwallez@chromium.org
    Change-Id: I7d13d5d751fc94dd74fc7ae2ee6d96650aae2bc6
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1775635
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 589f4fc19872c4e192803f802adc4fbbfe4b589e
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Aug 29 07:01:23 2019 +0000

    Roll ./third_party/spirv-tools/src 15fc19d0912d..73422a0a5ee1 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/15fc19d0912d..73422a0a5ee1
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@73422a0a5ee1
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC cwallez@chromium.org on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=cwallez@chromium.org
    Change-Id: I806db63c94f004827f790e2d968b746a990b3cac
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1775636
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 5d27a69616018803cd2b2b98cd9006f5b2cb994f
Author: Tim Van Patten <timvp@google.com>
Date:   Tue Aug 13 11:29:07 2019 -0600

    Support separable shader programs
    
    The spec states:
      Shader stages including vertex shaders, fragment shaders, and compute
      shaders...A single program object can contain all of these shaders, or
      any subset thereof.
    
    This change allows shader programs without a fragment shader. The
    biggest driver of this change is dEQP since a large number of tests
    create shader programs without a fragment shader.
    
    Bug: angleproject:3803
    Test: dEQP-GLES31.functional.program_interface_query
    Change-Id: Id6cb098c62a1489a14b9ec1b31bd4cd59f655e49
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1752010
    Commit-Queue: Tim Van Patten <timvp@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Reviewed-by: Tim Van Patten <timvp@google.com>

commit 378c18813b5a6147f6f18a49b172b13c0fb5f5a4
Author: Jiacheng Lu <lujc@google.com>
Date:   Thu Aug 22 16:55:39 2019 -0600

    Use ProgramPipelineID in place of GLuint handle
    
    Bug: angleproject:3804
    Change-Id: Ice37a4b3d43008e5bcd5d0a7528514d5bb504066
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1767322
    Reviewed-by: Jiacheng Lu <lujc@google.com>
    Commit-Queue: Jiacheng Lu <lujc@google.com>

commit 8933de8516c5d1bb44098bac78d24f4dad25c5d5
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Aug 28 13:04:47 2019 -0400

    Vulkan: Expose EXT_instanced_arrays
    
    Implemented in
    
        https://chromium-review.googlesource.com/c/angle/angle/+/1452740
    
    was missing exposure from the Vulkan backend.
    
    Bug: angleproject:3105
    Change-Id: If82e6f3dfa5ff8fafbc401258a5e324ea311123d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1773906
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 7b5744f41f64c68fc214d1bb83a7eb34ae889cd8
Author: Jiacheng Lu <lujc@google.com>
Date:   Thu Aug 22 16:26:35 2019 -0600

    Use PathID in place of GLuint handle
    
    Bug: angleproject:3804
    Change-Id: Ibadfc2c33e4af1cca22caa1dbe96ac48a4a85ffa
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1766822
    Reviewed-by: Jiacheng Lu <lujc@google.com>
    Commit-Queue: Jiacheng Lu <lujc@google.com>

commit 83785d063c61674b40b0d0eb88bc2ef3bb3f202f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Aug 28 10:56:24 2019 -0600

    Supress dEQP ETC texture tests on Mac.
    
    These tests generate native GL errors because ETC formats are not supported.
    The test does not verify the data so it previously passed.
    
    BUG=angleproject:3853
    
    Change-Id: I21ed60f46031fe9fdc3a38c6a9a1e9197c56a5eb
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1774471
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 780bdace33a78145b1ff02135079239cf7a905d7
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Aug 28 09:56:19 2019 -0600

    Suppress error messages in ANGLE end2end tests on Nexus6P.
    
    GL errors are generated during initialization on this device. Suppress
    them until enough logging is in place to debug.
    
    BUG=998503
    BUG=angleproject:3020
    
    Change-Id: I74a51a661a930ea89b0234dcb3e6213288e75c86
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1774468
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 566c2e3cf1791f3b087aa830ce8e40c4318f1efb
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Aug 28 18:37:58 2019 +0200

    Suppress correct failure on Android FYI Release (NVIDIA Shield TV)
    
    TBR=geofflang@chromium.org
    BUG=chromium:998505
    
    Change-Id: I8e49ee063c2e06f5031a288c5fe32fd7683fcd7d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1774723
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 814a0a1b3f88cd91d9feffb0923c963a3a28f900
Author: Jiacheng Lu <lujc@google.com>
Date:   Thu Aug 22 11:50:43 2019 -0600

    Use QueryID in place of GLuint handle
    
    Bug: angleproject:3804
    Change-Id: I921bbe7f67c025ab2b624fe14530c04ac17346f3
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1765889
    Reviewed-by: Jiacheng Lu <lujc@google.com>
    Commit-Queue: Jiacheng Lu <lujc@google.com>

commit 7cd5f64acbcb8bb644cbf93cb1839f68a385a9cf
Author: Michael Spang <spang@chromium.org>
Date:   Wed Aug 21 20:03:49 2019 -0400

    Move default ANGLE platform type out of main switch/case
    
    The "default" platform type isn't really a discrete type, and treating it
    that way leads to duplication. Make the default platform just map to
    another platform enum.
    
    After this change, setting args to angle_enable_opengl=false
    angle_enable_vulkan=true under X11 results in a default of vulkan;
    previously we would hit UNREACHABLE() due to not handling this case.
    
    Bug: angleproject:3847
    Change-Id: I1dc093ef8a2f5b93721cb1ebda0a8c3ec4a7d2f9
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1521321
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Michael Spang <spang@chromium.org>

commit f8e8fcf8828f42005b4410cc4500c63d8e9112ce
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Aug 26 15:28:32 2019 +0200

    Suppress crashing perftests on Win Intel Exp Rel
    
    Also moves ANGLE_SKIP_TEST_IF to a header shared between end2end and
    perf tests.
    
    BUG=chromium:997674
    
    Change-Id: I7c5968e6d861c4bff703ddc6ae0e4e021e47061f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1768374
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 7f00d3389c68c56872cd0dc34b7132cfd1c57a35
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Aug 28 15:19:16 2019 +0200

    Suppress end2end tests failures on Android FYI Release (NVIDIA Shield TV)
    
    These were fixed on desktop drivers but not this Android driver.
    
    TBR=geofflang@chromium.org
    BUG=chromium:998505
    
    Change-Id: Ie5f434c52753beff4d8f119713ef55f229ee7b95
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1773253
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 05114fe72c793aeb9fe52bed49b1be055172247a
Author: Jiacheng Lu <lujc@google.com>
Date:   Fri Aug 9 15:45:56 2019 -0600

    Support in memory frame capture replay
    
    Enable FrameCapture to dispatch its calls back to Context and replay
    them.
    
    Bug: angleproject:3785
    Change-Id: I580eff1fca3e39414a9b45bb296e0f3866ea33bc
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1747055
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 6f24d8a793886c85faf5f95353bdd4ff5975c2c0
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Aug 28 07:01:51 2019 +0000

    Roll ./third_party/glslang/src a3bc04b278ed..f27bd2aa2e3f (4 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/a3bc04b278ed..f27bd2aa2e3f
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@f27bd2aa2e3f
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/glslang-angle-autoroll
    Please CC cwallez@chromium.org on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=cwallez@chromium.org
    Change-Id: I44f87512fe0fcc54038f5ceb986a2bf458e98a5d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1774267
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 886698bc3fddf45fb1e1987b1fa0e2d506eb52a8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 27 16:48:07 2019 -0400

    Vulkan: Style cleanups to TextureVk.
    
    Pass params by const & and use "CPU instead of "Cpu" naming. Also
    prefer "ContextVk *contextVk" to "ContextVk *context".
    
    Bug: angleproject:2464
    Change-Id: I887de5b2e5494d14f0e9c7db269eb63744f2a3cf
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1771499
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 9288dcf6b60ee38cbab36070c24fb8026a458ceb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 27 15:00:35 2019 -0400

    Vulkan: Remove command buffer param from initImage.
    
    This method didn't use the parameter. Removing it simplifies the code.
    
    Bug: angleproject:2464
    Change-Id: Ib8f5f649f66eae405fb91f7cfcc8cefc4c44bda2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1771992
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 14a9be448e0137013809830d791d7a29d5c137d3
Author: Ian Elliott <ianelliott@google.com>
Date:   Mon Aug 26 10:40:45 2019 -0600

    Vulkan: Enable the official GLES1 conformance tests
    
    Needed to suppress 3 tests for Vulkan.
    
    Bug: angleproject:3408
    Bug: angleproject:3862
    Bug: angleproject:3863
    Bug: angleproject:3864
    Bug: angleproject:3867
    Change-Id: I87379125f7f794f5c8ed8eccff7e24bd0d9fab94
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1771938
    Commit-Queue: Ian Elliott <ianelliott@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 2a19c59fe86d87176a4f67e3c21d88590f042a3c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Aug 23 14:10:24 2019 -0400

    GL: Check for errors around GL calls.
    
    Add a macro to check for GL errors after each GL call to catch errors as they
    happen even if the debug callbacks are unavailable.  GL errors are only checked
    when asserts are enabled unless explicitly requested with the
    ANGLE_GL_TRY_ALWAYS_CHECK macro to verify GL calls that may allocate memory.
    
    Updated TextureGL to use the macro.
    
    BUG=angleproject:3020
    
    Change-Id: I7678b204899e940824b010ab4be7e7f159bee6de
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1764476
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 5c81d94fa3621219b05dce548e60d1e5b25519ae
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Aug 26 18:33:28 2019 -0400

    Fix a typo in the GL_NUM_REQUESTABLE_EXTENSIONS_ANGLE enum value.
    
    GL_NUM_REQUESTABLE_EXTENSIONS_ANGLE had a typo between the spec and the
    header but any user who used our header would still get the correct
    beaviour.
    
    BUG=angleproject:3861
    
    Change-Id: Ibc85607ad41a8419246e057065ab4ce797f0ce66
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1772376
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 76a93c3325f5b1a2a17749dce30ca8ea38622bb6
Author: Sami Väisänen <svaisanen@nvidia.com>
Date:   Wed Aug 21 13:21:52 2019 +0200

    Remove skipping of several tests on NVIDIA since they are now passing
    
    Remove skipping of several tests on NVIDIA since they are now passing.
    
      - MissingReturnStructOfArrays
      - DrawWithLevelsOutsideRangeWithInconsistentDimensions
      - TextureFormatChangesWithBaseLevel
      - TextureLuminance16Implicit
    
    BUG=angleproject:3849
    BUG=angleproject:1305
    BUG=angleproject:596
    
    Change-Id: Ie3c3ba6634a251a7320a61c6c4cc03cb178db925
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1763964
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 2697f1f03de1b06410dd3f2a6a2e16787be7894d
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Aug 27 07:01:55 2019 +0000

    Roll ./third_party/spirv-tools/src 1eb89172a82b..15fc19d0912d (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/1eb89172a82b..15fc19d0912d
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@15fc19d0912d
    
    If this roll has caused a breakage, revert this CL and stop the roller
    using the controls here:
    https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    Please CC cwallez@chromium.org on the revert to ensure that a human
    is aware of the problem.
    
    To report a problem with the AutoRoller itself, please file a bug:
    https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    Bug: None
    TBR=cwallez@chromium.org
    Change-Id: I1ea8b23204c09ff214e38a5ed1bdb0cd02739757
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1768885
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 57ad1e1287dd833c02b92cba05304817515e2c1f
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Aug 23 14:53:26 2019 -0400

    Vulkan: Introduce ContextScoped
    
    Scoped is changed to DeviceScoped and a ContextScoped class is added.
    The former destroys objects at the end of scope, and the latter releases
    them.
    
    Bug: angleproject:3757
    Change-Id: Ia0bbded53e94af9c8c72c77d07306d6724c6c409
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769060
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit cd31f2860b22f04aec7aca1235b30eca5f697522
Author: shrekshao <shrekshao@google.com>
Date:   Tue Jun 25 14:22:41 2019 -0700

    Implement Draw base vertex and base instance functions
    
    This patch implements functionality of  glDrawArraysInstancedBaseInstanceANGLE,
    glDrawElementsInstancedBaseVertexBaseInstanceANGLE,
    glMultiDrawArraysInstancedBaseInstanceANGLE,
    and glMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE
    
    Workaround for OpenGL driver on Mac:
    gl_VertexID on Mac with AMD GPU doesn't include baseVertex value.
    So replace gl_VertexID with (gl_VertexID + angle_BaseVertex) if any.
    
    Workaround for Vulkan GLSL:
    gl_InstanceIndex on Vulkan includes baseInstance. So replace
    gl_InstanceIndex with (gl_InstanceIndex - angle_BaseInstance) when
    angle_BaseInstance is declared.
    
    Bug: chromium:891861, angleproject:3402
    Change-Id: Ia1d94b5d4d7da7e635468c05c962c4f7eb1b1919
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1750126
    Commit-Queue: Shrek Shao <shrekshao@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 52cc70fa4458994f96609d235d535d89b34ab3df
Author: Nico Weber <thakis@chromium.org>
Date:   Mon Aug 26 13:58:53 2019 -0400

    Try to list files instead of directory in isolate for gl_cts data.
    
    Bug: angleproject:3827
    Change-Id: I65ed81886dce185bfc7542c321f43cc9bde6ef92
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1771979
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 962503e75ac3f4aebc36c24c3b34297fc9ae800d
Author: Jiacheng Lu <lujc@google.com>
Date:   Wed Aug 21 13:18:30 2019 -0600

    Use FenceNVID in place of GLuint handles
    
    Bug: angleproject:3804
    Change-Id: I29c16e17c3a426efbbf0b60670581962ee505f3e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1764298
    Commit-Queue: Jiacheng Lu <lujc@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 87b106a0944e5bc83bbee8de95a49c4be3de3825
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 26 10:42:06 2019 -0400

    Fix trace logging in Debug.
    
    - fix crash when logging an invalid context
    - output to trace even when platform logging is on
    
    Bug: angleproject:3815
    Change-Id: I725f5728e1d839e3d8458579ad1958cb775d9ecf
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769505
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 27a8b32f73a08f2468c66461e75127728c9c44a4
Author: Ian Elliott <ianelliott@google.com>
Date:   Fri Aug 23 10:06:03 2019 -0600

    Vulkan: Enable ES1_VULKAN testing in end2end tests.
    
    Bug: angleproject:3408
    Change-Id: I19b3c0f4795130638f43eabfe9c6f41ff85521fc
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1771547
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit f2f111d77fa813f9660489f6e1ad130b6e0010c0
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Aug 26 14:37:39 2019 +0200

    LoggingAnnotator: don't output to trace file if there is no platform
    
    This is a revert of a small chunk of
    https://chromium-review.googlesource.com/c/angle/angle/+/1761163 that is
    suspect to cause weird failures on the GPU FYI waterfall in Debug on
    Windows, maybe because the many disk writes are too slow.
    
    BUG=chromium:997667
    TBR=jmadill@chromium.org
    
    Change-Id: Ifb799d2ed90682e55e5cc7c0ce21d2598bf30c9e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1768371
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 39e2669a3e920a776b0c99335aa5f54826fac66f
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Aug 26 07:01:57 2019 +0000

    Roll ./third_party/spirv-tools/src aef8f92b2bb6..1eb89172a82b (3 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/aef8f92b2bb6..1eb89172a82b
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@1eb89172a82b
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    Bug: None
    TBR=jonahr@chromium.org,jonahr@google.com
    Change-Id: Iacbec76c6c8667fdf818206f1fe8f4577c026d82
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1770175
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 3c6b2e1613c844f7265895de5611c0528641d501
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 23 15:12:32 2019 -0400

    More improvements to trace logging.
    
    - output 'glDrawArrays' instead of 'DrawArrays'
    - output context IDs for multithreaded scenarios
    - output to trace even when platform logging is on
    - fix newlines in trace file output
    
    Bug: angleproject:3815
    Change-Id: Ie07c5c91d9eae6204aaf6f6319ef318b88d292aa
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1761163
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>

commit 83a369bbecf956cf4eca7abe8c279dc8956afcd9
Author: James Dong <dongja@google.com>
Date:   Wed Aug 14 10:39:34 2019 -0600

    Vulkan: Improve cubemap emulation seam handling
    
    Changes seamful cubemap emulation to always compute the derivative,
    emulating the bias parameter by scaling the provided derivatives.
    This results in more accurate mipmap levels for seams within primitives.
    There are some artifacts as a result of how derivatives are calculated,
    but this matches the native driver.
    
    Bug: angleproject:3243
    Bug: angleproject:3732
    Change-Id: Icb976e2a7e14cb4210645571edc037d4e607bd0d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1754383
    Commit-Queue: James Dong <dongja@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 2f4a751866bc19ffc9f19514c00246cdfea073ff
Author: Brian Sheedy <bsheedy@chromium.org>
Date:   Fri Aug 16 14:09:13 2019 -0700

    Refactor perf tests to fix metric/story swapping
    
    Refactors the perf tests to fix the issue of metric and story being
    swapped, which causes issues when trying to convert to histograms.
    
    Specifically, does the following:
    1. Rolls the version of src/tests/perf_tests/third_party/perf/ to
       Chromium 476dae823269c8d05b544271af97ad1adb0db8ee
    2. Switch to using PerfResultReporter instead of PrintResult directly.
    3. Split RenderTestParams::suffix into backend and story; backend is
       used as part of the metric, while story is used as the story.
    4. Remove the "average" metric that was being automatically reported
       by ANGLEPerfTest, as reported results are automatically averaged.
    5. Update the reported metric to more clearly distinguish between
       test, backend, and metric. It is now name_backend.metric. e.g.
       DrawCallPerf_vulkan.wall_time.
    
    Bug: chromium:923564,chromium:924618
    Change-Id: I00cc191407052f23df57dbfa53b6fb088fc26960
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1762360
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>

commit e2ea45bac5b82727d5875ee80f04bf07d282294c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Aug 23 14:05:53 2019 -0400

    Don't reset the texture size to zero in TextureGL::releaseTexImage on Mac.
    
    After unbinding IOSurface textures, we reset the texture size to 0 because
    some platforms don't correctly update their state tracking.  This call ends
    up generating GL_INVALID_OPERATION errors on Mac for unknown reasons.
    
    Skip the call, the size reset is not required on Mac anyways.
    
    BUG=angleproject:3859
    
    Change-Id: I5e39b6a36aaff41082a5fcc923970f8e97774675
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769059
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 2ed7b2906c7ddbb1adb1c4cfa40ba5260745abf2
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Aug 23 13:56:22 2019 -0400

    GL: Unset the bound PBO when initiailizing texture data.
    
    If a PBO is bound when uploading the initialization data, GL erorrs or crashes
    can happen.
    
    Covered by tests added in
    https://chromium-review.googlesource.com/c/angle/angle/+/1764476
    
    BUG=angleproject:3858
    
    Change-Id: I16963b1c09b5b173665a87f77296607f8639c975
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769058
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 563f9f8107693d2df7c7a4aaad05f1992605d095
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Fri Aug 23 11:59:30 2019 -0400

    Suppress failure in MultisampleCompatibilityTest
    
    Started failing on Win10 Intel Vulkan recently.
    
    Bug: angleproject:3855
    Change-Id: I817ac2ffc593a9aac922dae0f5a8fb482940aa62
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769077
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

commit 83c24aa8a1cdc47c0b2ac52bcba53102bc097e1c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Aug 21 12:28:18 2019 -0400

    Vulkan: Reference Context fences in FenceSyncVk.
    
    A particular test waits on a fence that was created in another Context.
    Then it immediately destroys all other resources. This triggered a bug
    where the VkEvent corresponding to the FenceSync was deleted while it
    was still in use by a command buffer. Fix this by referencing the other
    submit fence of the second ContextVk in the FenceSync class.
    
    Bug: angleproject:2464
    Change-Id: I4ef096bf760aa8943db08d491006c68e36db993b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1757505
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 0aa11026207ec1a79fd74f5ec0b7c0e688543a23
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Aug 23 13:13:33 2019 -0400

    Only log D3D11 annotations from the thread used to initialize the annotator.
    
    Chrome makes some ANGLE calls from multiple threads for initializing WebXR
    buffers which breaks the assumption that DebugAnnotator11 is only called from a
    single thread.  Work around this by only allowing DebugAnnotator11 to log
    annotations from the thread used to initialize it.
    
    BUG=995888
    BUG=972914
    
    Change-Id: I2241e078031633cafea470f85b7b1ecf1fba8466
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769057
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit d7d425404bf416175cf5097e3d2b8429edd12983
Author: Clemen Deng <clemendeng@google.com>
Date:   Wed Aug 21 15:22:49 2019 -0400

    Don't build symbol table for GLSL built-ins if on Android
    
    The GLSL + ESSL autogenerated symbol table is too large for
    android, and android also doesn't need desktop GL functionality
    If on android, compile the ESSL only symbol table
    
    Bug: chromium:996286
    Change-Id: I14dfc7748dae389e78c35f82a390c67962665356
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1757372
    Commit-Queue: Clemen Deng <clemendeng@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 1d5aaa6cd99a11b0361a1cdcbb979c5d8ac1189e
Author: James Dong <dongja@google.com>
Date:   Tue Aug 6 11:20:13 2019 -0600

    Vulkan: support dynamic indices in array of arrays
    
    Expands existing struct-sampler rewrite to flatten arrays of arrays.
    This allows us to support dynamically-uniform array indexing, which is
    core in ES 3.2.
    
    Samplers inside (possibly nested) structs are broken apart as before,
    and then if the type resulting from merging the array sizes of the field
    and its containing structs is an array of array, the array is flattened.
    
    Also adds an offset parameter to functions taking in arrays to account
    for this translation.
    
    As a result of outer array sizes leaking into function signatures,
    functions taking arrays of different sizes are duplicated according to
    how the function is invoked.
    
    Bug: angleproject:3604
    Change-Id: Ic9373fd12a38f19bd811eac92e281055a63c1901
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1744177
    Commit-Queue: James Dong <dongja@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 5f45432fd5df80cf5f8164ff3a94d5eb35512dcc
Author: Sami Väisänen <svaisanen@nvidia.com>
Date:   Thu Aug 22 15:34:57 2019 +0200

    Add several angle bugs for end2end tests failing on NVIDIA
    
    Add several angle bugs for end2end tests failing on NVIDIA.
    
      - TwiceMaxVaryingVec2 failing on GLES
      - MipLevels failing on Shield GLES
      - GenerateMipmapCubeBaseLevel failing on GL
    
    BUG=angleproject:3849
    BUG=angleproject:3850
    BUG=angleproject:3851
    
    Change-Id: I6e5283f0d4c1c5da8259034dfda3beb94e041b21
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1768016
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 68c4fec05902e5c3464d8967a67e53ec2f9ed75b
Author: Sami Väisänen <svaisanen@nvidia.com>
Date:   Fri Aug 23 09:48:41 2019 +0200

    Add AtomicCounterIncrement test case
    
    Add AtomicCounterIncrement test case.
    
    BUG=angleproject:3246
    
    Change-Id: I6e74f349b758c3ae9fcb44a14e70d36495406dfd
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1768017
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 3b46885e19b4a475764962b843f82a7573768fc4
Author: Jaedon Lee <jaedon1.lee@samsung.com>
Date:   Tue Jul 30 16:50:36 2019 +0900

    Vulkan: Implement EXT_texture_type_2_10_10_10_REV
    
    - Expose GLES 3.0 feature of 2_10_10_10_REV texture type
      on GLES 2.0 as EXT.
    - Handle alpha channel value as 1.0 when used with RGB format.
    - Add test for "RGB+UNSIGNED_INT_2_10_10_10_REV" case into TextureUploadFormatTest.
    
    BUG=angleproject:3232.
    Test:
     dEQP-GLES2.capability.extensions.uncompressed_texture_formats.GL_EXT_texture_type_2_10_10_10_REV
     dEQP-GLES2.functional.fbo.completeness.renderable.texture.*2_10_10_10_rev
     dEQP-GLES3.functional.fbo.completeness.renderable.texture.*2_10_10_10_rev
     KHR-GLES2.core.internalformat.*2_10_10_10_rev*
     KHR-GLES3.core.internalformat.*2_10_10_10_rev*
    
    Change-Id: Iac00517971f9242161115c7256117a69093fb5df
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1732618
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit a9389dfeb40c8315b2093dee0528c98cd098890c
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Fri Aug 23 15:22:35 2019 +0000

    Revert "Remove skipping of groupMemoryBarrierAndBarrierTest on NVIDIA"
    
    This reverts commit aac491fcdb31b7cea6d60db8787531b3acc87cd0.
    
    Reason for revert: This test is still failing on the Win7 NVIDIA bots:
    https://ci.chromium.org/p/chromium/builders/ci/Win7%20FYI%20Release%20%28NVIDIA%29/6206
    https://ci.chromium.org/p/chromium/builders/ci/Win7%20FYI%20x64%20Release%20%28NVIDIA%29/6261
    
    
    Original change's description:
    > Remove skipping of groupMemoryBarrierAndBarrierTest on NVIDIA
    >
    > Remove skipping of groupMemoryBarrierAndBarrierTest on NVIDIA.
    >
    > BUG=angleproject:2280
    >
    > Change-Id: I9ea72939cd0f828295bb694c9d3515ef554c9a36
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1763948
    > Commit-Queue: Jamie Madill <jmadill@chromium.org>
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    
    TBR=kkinnunen@nvidia.com,jmadill@chromium.org,svaisanen@nvidia.com
    
    Change-Id: Ib7802e66b68419f7aa3dabf3a308811d36c52ff2
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:2280
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1769076
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

commit d6c7fec13758a56bf6b914ce0c6ed9ed14b454bc
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Aug 12 16:46:57 2019 -0400

    Vulkan: Support mixed column/row-major buffer fields
    
    Adds comprehensive tests for mixed column/row-major interface blocks,
    which flush out various bugs in different OpenGL drivers too.
    
    Bug: angleproject:3443
    Change-Id: Ie88cca743373891bbb49d9f564f30407475e07fb
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1749334
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 472c74c60ca2faa65de991073927bf6617eabaae
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Aug 19 16:32:13 2019 -0400

    Translator: Allow tree validation in children of TCompiler
    
    This is to be able to perform validation inside TranslatorVulkan, even
    if it's through ASSERTs.
    
    Additionally, every transformation is changed such that they do their
    validation themselves.  TIntermTraverser::updateTree() performs the
    validation, which indirectly validates many of three tree
    transformations.  Some of the more ancient transformations that don't
    use this function directly call TCompiler::validateAST.
    
    Bug: angleproject:2733
    Change-Id: Ie4af029d34e053c5ad1dc8c2c2568eecd625d344
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1761149
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 890a65b17d954d0d6a6a173cdca758c4d727ff73
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Aug 23 07:01:46 2019 +0000

    Roll ./third_party/glslang/src 34cccdc65d79..a3bc04b278ed (5 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/34cccdc65d79..a3bc04b278ed
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@a3bc04b278ed
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    Bug: None
    TBR=jonahr@chromium.org,jonahr@google.com
    Change-Id: If2dcd0ae19146f2058d4ea2989ce2754cd87c63d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1767497
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 17f26865c8cceee3f8e6a7a9926f5945c90b1759
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Aug 22 22:11:39 2019 -0400

    Vulkan: Fix missing deepCopy() from dFdy transform
    
    Bug: angleproject:2733
    Change-Id: Id1375618e6d91eb1d577abf2f8c707a63ab17b57
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1767364
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 1fe8622d8efc395f9ccc1ca7be50f5a569bdbb1b
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Aug 22 13:53:50 2019 -0400

    Vulkan: Fix missing deepCopy()s in FlipBuiltinVariable
    
    Bug: angleproject:2733
    Change-Id: Ica4a3d4f53dc1f0b5beb33cfa8f996acbaa496d3
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1765890
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 5f3c98de9d5a11541600a1d81f4b01fdf2f7bc6e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 23 01:05:38 2019 +0000

    Revert "Vulkan: Use VK repos' internal BUILD.gn files"
    
    This reverts commit 552f5fcb0d8fcc615856ce3b678190e1cbdd38e6.
    
    Reason for revert: Causing flakiness in "confirm no-op" CQ step.
    See issue for more details.
    
    Bug: chromium:997016
    
    Original change's description:
    > Vulkan: Use VK repos' internal BUILD.gn files
    >
    > This retires custom BUILD.gn files for the Vulkan Headers, Tools,
    > Validation-Layers, and Loader repos. They now have integrated BUILD.gn
    > files so switched ANGLE to use those by default.
    > Also Validation Layer, Loader, and Tools repos no longer uses codegen
    > so this speeds up the build overall.
    > Switched over from old VK_LAYER_LUNARG_standard_validation meta-layer
    > to VK_LAYER_KHRONOS_validation unified layer.
    >
    > This changes includes a temporary workaround to the Vulkan-Loader repo
    > to remove its Window's build dependence on WDK. There are plans to
    > remove that depenedence in Loader master, but until then we can use
    > our custom branch workaround.
    > It also includes a custom branch for validation layers that includes
    > some build fixes for ANGLE.
    > Finally, the layers were crashing on Android when attempting to use
    > DebugUtils extension so forcing DebugReport on Android for now.
    >
    > Bug: angleproject:2449
    > Bug: angleproject:3320
    > Bug: angleproject:3852
    > Change-Id: I48b36acefcc7f2bc930eb72d6fdbc87bca24f833
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1610438
    > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    > Commit-Queue: Tobin Ehlis <tobine@google.com>
    
    TBR=ynovikov@chromium.org,tobine@google.com,syoussefi@chromium.org,jmadill@chromium.org
    
    Change-Id: Iec97ba8cb5c38fa56bfd4c0afb0f7af8d68513ff
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:2449, angleproject:3320, angleproject:3852
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1767363
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 5ec04880101485dd2b70074c902ccd68af6b3738
Author: Daksh Idnani <dakshidnani@google.com>
Date:   Thu Aug 22 21:12:08 2019 +0000

    Reland "Make Mac SystemInfo reflect the currently active GPU on dual GPU machines"
    
    This reverts commit 58940f67acd5b89f1c338b134a596864595fcdca.
    
    Reason for revert: pixel test failures have been triaged in Gold. Relanding.
    
    Original change's description:
    > Revert "Make Mac SystemInfo reflect the currently active GPU on dual GPU machines"
    >
    > This reverts commit 720a8bab0eca86e5b9b8c07c200a217fb2c65755.
    >
    > Reason for revert: pixel test failures per http://crbug.com/984780#c13
    >
    > Original change's description:
    > > Make Mac SystemInfo reflect the currently active GPU on dual GPU machines
    > >
    > > Currently, the GetSystemInfo() function (in gpu_info_util/SystemInfo_mac.mm)
    > > on dual GPU Macs always updates the active GPU field of the SystemInfo
    > > instance to the first non-Intel GPU it finds. This change overrides the
    > > activeGPUIndex field of the SystemInfo instance to reflect the current GPU
    > > instead of the non-intel GPU.
    > >
    > > Bug: 985486, 984780, angleproject:3701
    > > Change-Id: Ia93f38f4a2f7728c05e99c83a940722bd3808766
    > > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1752334
    > > Commit-Queue: Kenneth Russell <kbr@chromium.org>
    > > Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    > > Reviewed-by: Kenneth Russell <kbr@chromium.org>
    >
    > TBR=zmo@chromium.org,geofflang@chromium.org,kbr@chromium.org,dakshidnani@google.com
    >
    > Change-Id: Iacf4b8433ac1aa4d30c51f08ddfc6489af440cc4
    > No-Presubmit: true
    > No-Tree-Checks: true
    > No-Try: true
    > Bug: 985486, 984780, angleproject:3701
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1757373
    > Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    > Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    
    Bug: 985486, 984780, angleproject:3701
    Change-Id: I8f2f26f68329a2826a92742c46471b8c092b36ed
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1765963
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Commit-Queue: Kenneth Russell <kbr@chromium.org>

commit 56db378961af60ca11af915db8eea42e44a42dba
Author: Clemen Deng <clemendeng@google.com>
Date:   Thu Aug 1 17:09:53 2019 -0400

    Use flat arrays instead of switches for function lookups
    
    Current implementation of built in function lookup uses
    autogenerated switch statements. Instead, use the perfect
    hash mapping to have the lookup use arrays instead. This
    will improve runtime performance.
    
    Bug: angleproject:3805
    Change-Id: I6d0ba62d79abd53a7fe818fe675282800781f256
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1756883
    Commit-Queue: Clemen Deng <clemendeng@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 552f5fcb0d8fcc615856ce3b678190e1cbdd38e6
Author: Tobin Ehlis <tobine@google.com>
Date:   Thu Jul 18 15:10:49 2019 -0600

    Vulkan: Use VK repos' internal BUILD.gn files
    
    This retires custom BUILD.gn files for the Vulkan Headers, Tools,
    Validation-Layers, and Loader repos. They now have integrated BUILD.gn
    files so switched ANGLE to use those by default.
    Also Validation Layer, Loader, and Tools repos no longer uses codegen
    so this speeds up the build overall.
    Switched over from old VK_LAYER_LUNARG_standard_validation meta-layer
    to VK_LAYER_KHRONOS_validation unified layer.
    
    This changes includes a temporary workaround to the Vulkan-Loader repo
    to remove its Window's build dependence on WDK. There are plans to
    remove that depenedence in Loader master, but until then we can use
    our custom branch workaround.
    It also includes a custom branch for validation layers that includes
    some build fixes for ANGLE.
    Finally, the layers were crashing on Android when attempting to use
    DebugUtils extension so forcing DebugReport on Android for now.
    
    Bug: angleproject:2449
    Bug: angleproject:3320
    Bug: angleproject:3852
    Change-Id: I48b36acefcc7f2bc930eb72d6fdbc87bca24f833
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1610438
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Tobin Ehlis <tobine@google.com>

commit ee79e2ff368bff54b6b044fa89b5d4ffed9a9c13
Author: Jiacheng Lu <lujc@google.com>
Date:   Tue Aug 20 11:28:36 2019 -0600

    Use SamplerID in place of GLuint handles
    
    Update all Sampler handles to type SamplerID, preparing for midframe
    capture of sampler.
    
    Bug: angleproject:3804
    Change-Id: I9337919f97d61e28718987612d642c569b90246a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1761780
    Commit-Queue: Jiacheng Lu <lujc@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 05744c23e15d042530c5d8327d65acb0d2c8df7b
Author: Clemen Deng <clemendeng@google.com>
Date:   Wed Aug 21 16:21:30 2019 -0400

    Change gl_DrawID from level = ESSL1+ESSL3 to COMMON
    
    Built in variable gl_DrawID is exposed to ESSL1 with
    a suffix, when the variable is the exact same. No need
    to do this.
    
    Bug: angleproject:3805
    Change-Id: I63c71791bb6a0e8aa7b644171a3f5a81099eddc0
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1762359
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Clemen Deng <clemendeng@google.com>

commit aac491fcdb31b7cea6d60db8787531b3acc87cd0
Author: Sami Väisänen <svaisanen@nvidia.com>
Date:   Wed Aug 21 13:21:52 2019 +0200

    Remove skipping of groupMemoryBarrierAndBarrierTest on NVIDIA
    
    Remove skipping of groupMemoryBarrierAndBarrierTest on NVIDIA.
    
    BUG=angleproject:2280
    
    Change-Id: I9ea72939cd0f828295bb694c9d3515ef554c9a36
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1763948
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 58940f67acd5b89f1c338b134a596864595fcdca
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Thu Aug 22 15:40:58 2019 +0000

    Revert "Make Mac SystemInfo reflect the currently active GPU on dual GPU machines"
    
    This reverts commit 720a8bab0eca86e5b9b8c07c200a217fb2c65755.
    
    Reason for revert: <INSERT REASONING HERE>
    
    Original change's description:
    > Make Mac SystemInfo reflect the currently active GPU on dual GPU machines
    >
    > Currently, the GetSystemInfo() function (in gpu_info_util/SystemInfo_mac.mm)
    > on dual GPU Macs always updates the active GPU field of the SystemInfo
    > instance to the first non-Intel GPU it finds. This change overrides the
    > activeGPUIndex field of the SystemInfo instance to reflect the current GPU
    > instead of the non-intel GPU.
    >
    > Bug: 985486, 984780, angleproject:3701
    > Change-Id: Ia93f38f4a2f7728c05e99c83a940722bd3808766
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1752334
    > Commit-Queue: Kenneth Russell <kbr@chromium.org>
    > Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    > Reviewed-by: Kenneth Russell <kbr@chromium.org>
    
    TBR=zmo@chromium.org,geofflang@chromium.org,kbr@chromium.org,dakshidnani@google.com
    
    Change-Id: Iacf4b8433ac1aa4d30c51f08ddfc6489af440cc4
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: 985486, 984780, angleproject:3701
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1757373
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

commit f26abdb4f4266ecd245f7edfd7bda169439cfd63
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Aug 22 07:01:57 2019 +0000

    Roll ./third_party/spirv-tools/src 0cbdc7a2c35b..aef8f92b2bb6 (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/0cbdc7a2c35b..aef8f92b2bb6
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@aef8f92b2bb6
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    Bug: None
    TBR=jonahr@chromium.org,jonahr@google.com
    Change-Id: I6294a75d72198b951506b298e571692e4bcf31c8
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1764654
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 91dc5da80684fe97b86d7c3b972cf174852a2518
Author: James Darpinian <jdarpinian@chromium.org>
Date:   Wed Aug 21 15:17:50 2019 -0700

    WebKit requires "Web" as prefix to Objective-C class names
    
    WebKit's build process requires that every Objective-C class name begin with the
    prefix "Web". While this is unfortunate, we only have one Objective-C class in
    the codebase that needs to change so we might as well just do it.
    
    Bug: angleproject:3439
    Change-Id: I07d1f5478b067f680971d0f24befe2f63651c735
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1764649
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Commit-Queue: James Darpinian <jdarpinian@chromium.org>

commit 720a8bab0eca86e5b9b8c07c200a217fb2c65755
Author: Daksh Idnani <dakshidnani@google.com>
Date:   Mon Aug 12 16:56:45 2019 -0700

    Make Mac SystemInfo reflect the currently active GPU on dual GPU machines
    
    Currently, the GetSystemInfo() function (in gpu_info_util/SystemInfo_mac.mm)
    on dual GPU Macs always updates the active GPU field of the SystemInfo
    instance to the first non-Intel GPU it finds. This change overrides the
    activeGPUIndex field of the SystemInfo instance to reflect the current GPU
    instead of the non-intel GPU.
    
    Bug: 985486, 984780, angleproject:3701
    Change-Id: Ia93f38f4a2f7728c05e99c83a940722bd3808766
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1752334
    Commit-Queue: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit 617f23d149889f8c6cf671c6f567f25c12e5a4a7
Author: Jiacheng Lu <lujc@google.com>
Date:   Mon Aug 12 10:11:53 2019 -0600

    Fix frame capture build for Android
    
    Bug: angleproject:3611
    Change-Id: I65018823a8d7223de0f63ea5bd6a573f62f1c24b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1748884
    Commit-Queue: Jiacheng Lu <lujc@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 24456989e21b2aaac01afb560aa05d686d9e272c
Author: Jiacheng Lu <lujc@google.com>
Date:   Tue Aug 20 12:30:38 2019 -0600

    Fix incorrect parameter in gl_angle_ext.xml
    
    The first parameter of glGetFramebufferParameterivRobustANGLE should be
    `GLenum target`.
    
    Bug: angleproject:3826
    Change-Id: Ice4ea265389794a51838d8e61fff774c55588512
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1762714
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jiacheng Lu <lujc@google.com>

commit c972435b155d9299f8778c7adcd2d2962e4f1d62
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Aug 20 14:55:43 2019 -0400

    Vulkan: Support non-pow2 buffer alignments
    
    Bug: angleproject:2898
    Change-Id: I7c8e548a1a449f48225516c37d830ecc201b064d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1762496
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 1d83e1e8a17ecaed75ae8d2304e0f02fb49c1c2b
Author: Tobin Ehlis <tobine@google.com>
Date:   Wed Aug 21 09:00:33 2019 -0600

    Vulkan: Handle new validation errors
    
    With updated validation layers Vulkan backend is hitting two new
    errors. This CL fixes one and works around (WA) another.
    
    Fixes issue where a Buffer used in vkCmdDispatchIndirect() did
    not have VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT set so now setting
    that usage bit for all buffers.
    
    WA issue where invalid topologies enabled primitiveRestart so
    ignoring that VUID initially until complete fix is implemented.
    
    Bug: angleproject:3832
    Change-Id: Ie3f681eaf9e2051c27bdf00a35dc50d8ad4a2528
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1763196
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Tobin Ehlis <tobine@google.com>

commit ed4906f89d3dc1119de5bd6e7fbe24cf3104bcba
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Aug 21 07:01:46 2019 +0000

    Roll ./third_party/glslang/src 95609e6d923a..34cccdc65d79 (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/95609e6d923a..34cccdc65d79
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@34cccdc65d79
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    Bug: None
    TBR=jonahr@chromium.org,jonahr@google.com
    Change-Id: I081646d2e3a52bf36108313bf531d3308eaed98c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1763168
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit d228d52c301143a6c713bfbf63d99c4785ca6331
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Aug 21 07:01:57 2019 +0000

    Roll ./third_party/spirv-tools/src bc62722b80a6..0cbdc7a2c35b (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/bc62722b80a6..0cbdc7a2c35b
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@0cbdc7a2c35b
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    Bug: None
    TBR=jonahr@chromium.org,jonahr@google.com
    Change-Id: I18367493052de4c05c85e2e1b6d080e70bee4f5e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1763169
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 6d653c02dd24fa6d2ac9d33328e53da246eb98da
Author: Hyunchang Kim <hckim.kim@samsung.com>
Date:   Wed Aug 14 14:09:02 2019 +0900

    Vulkan: Set empty buffer to xfb descriptor set as an initial buffer
    
    When we have xfb descriptor set without buffer bindings it causes
    errors in Vulkan validation layer. So we set empty buffer by default.
    
    BUG=angleproject:3681
    Tests: dEQP-GLES3.functional.*transform_feedback*
    dEQP-GLES3.functional.lifetime.attach.deleted_input.buffer_vertex_array
    
    Change-Id: I4e7c9c9ee661f1fc92bf01fb78a2212c1a423eaa
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1753387
    Commit-Queue: Hyunchang Kim <hckim.kim@samsung.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 396527c92105c0e1a16b46073beaca9357cdcb15
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Tue Aug 20 13:48:38 2019 -0400

    Autogenerated kFunction* variables detected as mutable constants
    
    The android binary size is increased incorrectly because the autogen
    kFunction* variables are detected as mutable constants. Rename them to
    function* to workaround this.
    
    Bug: angleproject:3823
    Change-Id: Ia335d1ae97ce5276a0ff8b9e432b53181cc36680
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1762494
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

commit 213ad6bd46cba8eb03c42c8465bc668923eb44dc
Author: Clemen Deng <clemendeng@google.com>
Date:   Fri Aug 16 16:31:32 2019 -0400

    Get rid of gl_ViewID_OVR for ESSL1
    
    Only use UInt gl_ViewID_OVR from ESSL3
    OVR multiview should not be exposed in ESSL1
    
    Bug: angleproject:3822
    Change-Id: Ia9d6247e3a717b06db26f1d436e2b33336b12a7d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1759143
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Clemen Deng <clemendeng@google.com>

commit 0136ac37af2ad087f0d63f4ee0bd5636a07ae9bf
Author: Jiacheng Lu <lujc@google.com>
Date:   Wed Jul 17 17:29:52 2019 -0600

    Separate dirty bit for attrib's binding VBO change
    
    Make a separate dirty bit DIRTY_ATTRIB_POINTER_BUFFER for vertex
    attrib's binding buffer change. So in handling glVertexAttribPointer,
    ANGLE will only modify a vulkan graphics pipeline when attrib.format,
    attrib.stride or attrib.divisor change. If only the VBO pointer changes,
    then Vulkan can update the state via "vkCmdBindVertexBuffers()" without
    triggering a pipeline update.
    
    Bug: angleproject:3256
    Change-Id: I01e02adde3708963b496a20050a5723e8eb57ab2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1707614
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jiacheng Lu <lujc@google.com>

commit 6aca71d7d7054feb0edc219671410d10c156dddf
Author: Tim Van Patten <timvp@google.com>
Date:   Mon Aug 12 13:02:34 2019 -0600

    Vulkan: Full support for program interface queries
    
    When an interface block's field is determined to be active, it's
    possible that the field is a struct so each of that field's fields need
    to be marked active as well.
    
    Bug: angleproject:3596
    Test: dEQP-GLES31.functional.program_interface_query.*
    Test: end2end ProgramInterfaceTestES31
    Change-Id: I0bf550046a7a1d3c92cc08773138a40400e5e73b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1749332
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Tim Van Patten <timvp@google.com>

commit ca8ea0a46ae1a9e79a34e074e3c414acf94c5326
Author: Clemen Deng <clemendeng@google.com>
Date:   Fri Jul 26 10:49:23 2019 -0400

    Get Desktop GL games running on desktop frontend
    
    Games:
    SkyEngine: Open source on github
    The Deep Deep: Geoff's game
    
    Bug: angleproject:3620
    Change-Id: I5feee91a94648b385708cafe8d7412e86704ecd0
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1721189
    Commit-Queue: Clemen Deng <clemendeng@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit ddbc8e449146adf917633072fcc6780ea66c9af6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Aug 17 15:59:08 2019 -0400

    Suppress nonportable include path warning.
    
    Might be related to Goma and C files on Windows.
    
    Bug: chromium:995046
    Change-Id: If80168356a1e2a60abe8dfbf89aeed7298fd0a54
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1758998
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit bcae3828bc8dfcfd895d2bf2a4aa2fd8ede6bc98
Author: Clemen Deng <clemendeng@google.com>
Date:   Mon Aug 19 09:37:18 2019 -0400

    Auto-generated variables detected as mutable constants
    
    Need to rename kVar* variables to just var
    
    Bug: angleproject:3823
    Change-Id: I34b9f4eec4ee7829d47dcac2f06f1acc6b35f867
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1758601
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Clemen Deng <clemendeng@google.com>

commit f3ccfba711ce9698d9e332dce2e69b7f94537777
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Aug 19 07:01:57 2019 +0000

    Roll ./third_party/spirv-tools/src 7b4e5bd5ec82..bc62722b80a6 (3 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/7b4e5bd5ec82..bc62722b80a6
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@bc62722b80a6
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    Bug: None
    TBR=syoussefi@chromium.org
    Change-Id: Icc053f2d4f640868fa010e835f1c9c98e2b1bdcd
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1760588
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 13cc0fce43404adc2abfad1c0b2617c02a496158
Author: Glenn Watson <gwatson@mozilla.com>
Date:   Fri Aug 2 07:11:16 2019 +1000

    Fix occasional corruption of vertex textures in HD4600 GPUs.
    
    This appears to be caused by the UpdateSubResource call,
    which is worked around by enabling the other image upload
    path that ANGLE supports.
    
    The workaround doesn't include a driver version, since the
    bug is occurring in the most recent driver that is currently
    available (15.40.42.5063, released 19th Mar 2019).
    
    Firefox bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1562462
    
    Change-Id: I5135dcf6da6ef530c99124a04003d54f99e4cd7c
    Bug: angleproject:3764
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1731975
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 153f3c226c5b79a7c817f4bac18984f90de13d78
Author: James Darpinian <jdarpinian@chromium.org>
Date:   Fri Aug 16 15:24:30 2019 -0700

    Miscellaneous build fixes for WebKit
    
    Add a USE_SYSTEM_EGL define to allow compilation on Unix systems
    without X11.
    
    Feature detect __popcnt using Microsoft-specific _MSC_VER rather than
    _M_X64/_M_IX86, which can be set by the Dinkumware stdlib on
    non-Microsoft systems.
    
    Apple's clang is too old to have -Wextra-semi-stmt
    
    Ran generate_parser.sh using Cygwin64 bison 3.0.4, flex 2.6.4
    
    Bug: 3439
    Change-Id: Ie0d01a112a17f70ef60c120063a958b8f1a094f4
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1759135
    Commit-Queue: James Darpinian <jdarpinian@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit 2f07e4fb0e985f44166cb99343c3494275270ff8
Author: James Dong <dongja@google.com>
Date:   Fri Aug 2 10:41:56 2019 -0600

    Add test for array of arrays of samplers
    
    This test fails on the Vulkan backend because Vulkan does not allow
    arrays of arrays of samplers.
    
    Also adds a few other tests relating to arrays of arrays.
    
    Test: ./angle_end2end_tests --gtest_filter='GLSLTest_ES31.*'
    Bug: angleproject:3604
    Change-Id: I5c47119b6ba6d26fe30fdd9c6730caac6f222696
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1733476
    Commit-Queue: James Dong <dongja@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit b8482ab76371643c2a966fc41777b6131c2ef6e1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Aug 15 09:49:29 2019 -0400

    Clean up trace output.
    
    Removes the "EVENT: " prefix from every trace message. Also removes the
    extra blank line between trace entries. And fixes a missing space in
    EGL_WaitSyncKHR.
    
    Bug: angleproject:3815
    Change-Id: Id6321357a56477da29de121abb51c721b11d99da
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1756084
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 486f381f8d8bc266a47dd0fb73c96af7512aeb69
Author: Clemen Deng <clemendeng@google.com>
Date:   Thu Jul 18 15:47:31 2019 -0400

    Add desktop GL built-in functions to symbol table
    
    Added GL built-in functions to symbol table autogeneration
    Built-in lookup now checks against spec and returns GL
    symbols when appropriate.
    
    Bug: angleproject:3719
    Change-Id: I74786150f6063b40e13aebcb2eb9ea35e4ecaa53
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1731550
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Clemen Deng <clemendeng@google.com>

commit 265fdf0c5fd6b1e28a54c18ca40a8461c7f449a7
Author: Jeff Vigil <j.vigil@samsung.com>
Date:   Wed Jul 31 15:10:44 2019 -0600

    EGL: Set errors per spec for eglCreateContext
    
    Per spec, in eglCreateContext when client version attributes are invalid - set
    EGL_BAD_ATTRIBUTE. Set EGL_BAD_MATCH when config is not compatible.
    Rename config variables in ValidateCompatibleConfigs to distinguish context
    from surface configs. Context config handled differently when EGL_NO_CONFIG.
    
    Bug: angleproject:3755
    Test: angle_end2end_tests --gtest_filter=EGLCreateContextAttribsTest*
    Change-Id: Iaea57653cf643ff60c8d4eabd3f022306bf1f4ca
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1747298
    Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Mohan Maiya <m.maiya@samsung.com>

commit 46be1a604581a12b23ed8bf645e265d67eb5384f
Author: Mohan Maiya <m.maiya@samsung.com>
Date:   Fri Aug 16 10:39:23 2019 -0700

    Vulkan: Enable an fbo attachment query test in dEQP
    
    These tests are now passing with vulkan backend. Remove
    them from the expectations file
    
    Bug: angleproject:3679
    Test: dEQP-GLES3.functional.state_query.fbo.framebuffer_attachment_texture_layer
    Change-Id: Ifb07b3743bf4ea0a7a98c33ae15cce46f6f2f75b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1758683
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 609d45f6855c8fd697b93bf27e7e2788d30ed3ae
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Aug 14 15:16:49 2019 -0400

    Capture/Replay: Use Renderbuffer ID map.
    
    This should give a more robust replay. Devices are not guaranteed to
    return IDs in the same order in each instance of a program. Also for
    mid-execution capture we often won't have the same resources available.
    
    Once the Renderbuffer implementation lands we can switch to using more
    resource maps for different types of resources.
    
    Bug: angleproject:3611
    Change-Id: I84a5b84856be3e8eb13e424e1990a39553adb82e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1719066
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit cc25d9fbc4bbd919bf9a9d6244639742ddb99fee
Author: Ian Elliott <ianelliott@google.com>
Date:   Thu Aug 15 15:13:02 2019 -0600

    Vulkan: Update copy_tex_image test failure bug ids
    
    Splitting out two bugs from 3458.  Most of failing tests are failing
    because of Vulkan validation errors in the ANGLE glDrawArrays code.
    In those csaes, the copy_tex_image test code actually passes, but the
    ANGLE test-runner code is marking the tests as failing because of
    Vulkan validation errors.
    
    Bug: angleproject:3458
    Bug: angleproject:3817
    Bug: angleproject:3818
    Change-Id: Idd91d9e44fa7eb6f527425dd77d6cbf949aa5e61
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1756816
    Commit-Queue: Ian Elliott <ianelliott@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 125154257bc2453998a360555f53939e48de4ebd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Aug 15 11:54:18 2019 -0400

    Remove context from linking state.
    
    This Context could already be deleted from another thread. Better to
    use save/load with the current thread.
    
    Bug: angleproject:2464
    Change-Id: Id7879a53bdfb7d1c86b09bb3e779a87afdefa873
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1756086
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 791e19e774ce7e50aa12ff43e3e7a8105b49279c
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Aug 16 07:01:56 2019 +0000

    Roll ./third_party/spirv-tools/src ff872dc6bf9f..7b4e5bd5ec82 (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/ff872dc6bf9f..7b4e5bd5ec82
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@7b4e5bd5ec82
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    Bug: None
    TBR=syoussefi@chromium.org
    Change-Id: Id2cd2aa4e98750f80dc7b023e48d4708c12a6b7d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1757865
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit cdecd97ceefa28409793d04caf873e7b0d0d723c
Author: shrekshao <shrekshao@google.com>
Date:   Tue Jun 25 14:22:41 2019 -0700

    Add Draw base vertex and base instance function entrypoints
    
    Split from https://chromium-review.googlesource.com/c/angle/angle/+/1705035/27
    
    This patch adds entrypoints glDrawArraysInstancedBaseInstanceANGLE,
    glDrawElementsInstancedBaseVertexBaseInstanceANGLE,
    glMultiDrawArraysInstancedBaseInstanceANGLE,
    and glMultiDrawElementsInstancedBaseVertexBaseInstanceANGLE
    
    Implementation will come in a later separate patch.
    
    Bug: chromium:891861, angleproject:3402
    Change-Id: I18e19b850cddd79be4798b9ae7efe0680a050c7f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1750125
    Commit-Queue: Shrek Shao <shrekshao@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 0a3c824625be9b21605bd4599774e3f6568dafb1
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Aug 15 13:24:20 2019 -0400

    Vulkan: Write preprocessed shaders with // instead of #if 0
    
    Bug: 993965
    Change-Id: I4fd357bdebc73b7256ae4b34bd1c6aa2f4418e27
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1756503
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 29b2fc4ac6f670429bfc0c14bf5dc8ff89bc1c70
Author: Ian Elliott <ianelliott@google.com>
Date:   Thu Aug 15 09:25:04 2019 -0600

    Vulkan: Expect more texture-specification tests to pass.
    
    Recent changes allow these tests to pass.
    
    Bug: angleproject:3190
    Bug: angleproject:2905
    Change-Id: I549b3d0cc7beced756c2b44e9a72d399b51aa8f0
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1756284
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit 7c1af2d5002dbddd5597a032173aa99ce221a526
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Aug 14 15:16:49 2019 -0400

    Capture/Replay: Use GL types for packed types.
    
    Previously we were trying to use the packed enum types for our replay.
    This wouldn't work as the packed enum types don't exist outside of
    ANGLE.
    
    Bug: angleproject:3611
    Change-Id: Id0d5c9f37304b30c204bac9bc7873661b035f918
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1754324
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tim Van Patten <timvp@google.com>

commit 1d742ce88a19fc399383b91c92a28eec652c35b6
Author: Clemen Deng <clemendeng@google.com>
Date:   Tue Aug 13 10:33:36 2019 -0400

    Deleted unnecessary built-in conditions
    
    A few built-in variables are checking against overly complicated
    extension conditions, deleting these will make the array lookup
    easier to implement.
    
    Also changed functionality to always enable GL_OVR_multiview
    when GL_OVR_multiview2 is enabled
    
    Bug: angleproject:3805
    Change-Id: I10fc7db0fa8b496fbba8b2c27a7311ac3c24dbe4
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1752082
    Commit-Queue: Clemen Deng <clemendeng@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 188b679bc5e9a0c0afcca20dbfa85b87c556f5ad
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Aug 15 09:02:43 2019 -0400

    Remove GL/EGL function pointers from tests.
    
    The auto-gen loader code should be able to handle all these cases.
    
    Bug: angleproject:3393
    Change-Id: If0a90fb29d79f2892fdf76fe0cb91ed0036ee1e3
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1756083
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>

commit be74c47db7dd29a749415d08a29ec1603864568b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 13 13:54:15 2019 -0400

    Capture/Replay: Also capture on postSubBuffer.
    
    Necessary to capture from Chrome.
    
    Bug: angleproject:3611
    Change-Id: Ia9330e0c273e65adaa4171020d0aebb05e100260
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1752013
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 611663f4f61c7a98fcd64208c15d99be2da8740f
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Aug 15 07:01:46 2019 +0000

    Roll ./third_party/glslang/src 37fc4d27d612..95609e6d923a (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/37fc4d27d612..95609e6d923a
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@95609e6d923a
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    Bug: None
    TBR=syoussefi@chromium.org
    Change-Id: I3c9a4bf1bd3594a46359f7ddb41e9fc927858600
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1755323
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit a59888cccd2aeaa86a79929d5247ccdd005e81ce
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Aug 15 07:02:05 2019 +0000

    Roll ./third_party/spirv-tools/src f701237f2d88..ff872dc6bf9f (3 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/f701237f2d88..ff872dc6bf9f
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@ff872dc6bf9f
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    Bug: None
    TBR=syoussefi@chromium.org
    Change-Id: I111edf50b76557c575dc4ac0aa6d268076e7e36a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1755510
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 3ea90d609720b7b9b9d05ca094860382f2425294
Author: Jiacheng Lu <lujc@google.com>
Date:   Fri Jul 26 15:20:53 2019 -0600

    Fix compile error on capture with client array
    
    1. The current implementation misused the offset in gBinaryData as the
    memcpy size. This CL fixed it by adding the byte size into the
    UpdateClientArrayPointer call.
    2. Trying passing a pointer to a C-style array parameter which causes
    compiling error. This CL fixed by simply use const void * to do memcpy.
    3. Able to run frame capture successfully for the first 100 frames of
    glmark2.
    
    Bug: angleproject:3611
    Change-Id: Ibaef224c2a2d124b681757d9ecd187a5f9b7079b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1721207
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 9d737966acdf628a7cb4e12e4781179ea3be5d7b
Author: Stuart Morgan <stuartmorgan@google.com>
Date:   Wed Aug 14 12:25:12 2019 -0700

    Standardize copyright notices to project style
    
    For all "ANGLE Project" copyrights, standardize to the format specified
    by the style guide. Changes:
    - "Copyright (c)" and "Copyright(c)" changed to just "Copyright".
    - Removed the second half of date ranges ("Y1Y1-Y2Y2"->"Y1Y1").
    - Fixed a small number of files that had no copyright date using the
      initial commit year from the version control history.
    - Fixed one instance of copyright being "The ANGLE Project" rather than
      "The ANGLE Project Authors"
    
    These changes are applied both to the copyright of source file, and
    where applicable to copyright statements that are generated by
    templates.
    
    BUG=angleproject:3811
    
    Change-Id: I973dd65e4ef9deeba232d5be74c768256a0eb2e5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1754397
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit a2ec134468a55e02b1d8c81b70f975b3e1d4b9d1
Author: Tobin Ehlis <tobine@google.com>
Date:   Tue Aug 13 14:13:35 2019 -0600

    Add shared mutex to frontend
    
    Add shared mutex to frontend API entrypoints that is only enabled when
    ANGLE is being used with a shared context.
    
    Bug: angleproject:2464
    Change-Id: I0d918e37d9579dccd013dc88f563bed7de7ee55f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1685712
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>

commit bc0a7b581e7203540b03d9f5c9eafc7185c6534e
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Mon Aug 5 09:26:23 2019 -0600

    Add support for sampling stencil texture
    
    Suspect a potential driver issue with integer sampling from stencil so
    skip dEQP-GLES31.functional.stencil_texturing.misc.compare_mode_effect
    in the expectations file. Will follow-up with more directed tests.
    Also skip dEQP-GLES31.functional.stencil_texturing.misc.base_level
    
    Blocking Bug: angleproject:3148
    
    Test:
    dEQP-GLES31.functional.stencil_texturing*
    
    Bug: angleproject:3575
    Change-Id: I9547406b44ec16629631c1bf50907e6a24f1a20e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1736946
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 5a2553a7b64c48569f883de424f1747045bcdc0f
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Aug 7 14:44:12 2019 -0400

    Vulkan: Emulate subgroup ops in seamful cubemap emulation
    
    Where subgroup ops are not available, they are emulated as such:
    
    Code with subgroup ops:
    
        float lH = subgroupQuadSwapHorizontal(layer);
        float lV = subgroupQuadSwapVertical(layer);
        float lD = subgroupQuadSwapDiagonal(layer);
    
        bool isHelperH = subgroupQuadSwapHorizontal(gl_HelperInvocation);
        bool isHelperV = subgroupQuadSwapVertical(gl_HelperInvocation);
    
        if (gl_HelperInvocation)
        {
            layer = !isHelperH ? lH : !isHelperV ? lV : lD;
        }
    
    Emulated code:
    
        float nonHelperLayer = gl_HelperInvocation ? 0.0 : layer;
        float lH = abs(dFdxFine(nonHelperLayer));
        float lV = abs(dFdyFine(nonHelperLayer));
        float lD = abs(dFdxFine(lV));
    
        float isHelperDiffH = abs(dFdxFine(float(gl_HelperInvocation)));
        bool isNonHelperH = isHelperDiffH > 0.5;
    
        float isHelperDiffV = abs(dFdyFine(float(gl_HelperInvocation)));
        bool isNonHelperV = isHelperDiffV > 0.5;
    
        if (gl_HelperInvocation)
        {
            layer = isNonHelperH ? lH : isNonHelperV ? lV : lD;
        }
    
    Both paths are supported as on nvidia devices the emulated code
    misbehaves.  This change therefore effectively only enables seamful cube
    map emulation on Android where subgroup operations are not supported.
    
    Bug: angleproject:3243
    Bug: angleproject:3732
    Change-Id: I9664d9760756758748183eb121c626f176789f3a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1742222
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 201419404c1660c9b5c993f68bdc7677c02967fc
Author: Ian Elliott <ianelliott@google.com>
Date:   Wed Aug 14 11:46:49 2019 -0600

    Vulkan: Enable copy_tex_image_conversions tests to run
    
    A recent change(s) eliminated the crash that was occuring with the
    KHR-GLES3.copy_tex_image_conversions.required.* and
    KHR-GLES3.copy_tex_image_conversions.forbidden.* tests.
    
    The still-failing tests are getting 2 types of Vulkan validation errors.
    
    1) The "required" tests get errors about using the VK_FORMAT_R8G8B8A8_UNORM
    descriptor-set format when an SINT/UINT component type is required.
    
    2) The "forbidden" tests are getting errors about using more valid memory
    objects than allowed.
    
    Bug: angleproject:3458
    Bug: angleproject:3800
    Change-Id: I9536da6a2c888413ba0ab789a4dc9559d40fcf1b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1754391
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Ian Elliott <ianelliott@google.com>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit 01867144f7a9bec47db5928395f8a31b4b9e9d0f
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Fri Jul 19 14:51:29 2019 -0600

    Vulkan: Add support for D32F_S8 depth_texture
    
    Test: angle_deqp_khr_gles3_tests --deqp-egl-display-type=angle-vulkan --gtest_filter=dEQP.KHR_GLES3/packed_depth_stencil_verify_read_pixels_depth24_stencil8
    angle_deqp_khr_gles3_tests --deqp-egl-display-type=angle-vulkan --gtest_filter=dEQP.KHR_GLES3/packed_depth_stencil_clear_buffer_depth32f_stencil8
    
    Full passing results are blocked by suspected driver issues:
    Bug: angleproject:3683
    Bug: angleproject:3689
    
    Bug: angleproject:3457
    Change-Id: I7ce1a7824802ebca2c0479a3467fac26013829eb
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1704791
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 4346c8b1fb52364c23f583c7e5fd3f7017a47af8
Author: Fei Yang <fei.yang@arm.com>
Date:   Tue Apr 9 14:50:23 2019 +0800

    Vulkan: pipeline cache not populated as blob cache is not set
    
    1. Use vkMergePipelineCaches to recreate pipeline cache after
       blob cache callbacks are set after eglInititalize.
    2. Use a more proper way to save the cache data to disk.
    
    Bug: angleproject:3318
    Change-Id: Ied1fb572813198b51e02ed9629cbf34e2d9159b2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1683807
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit a25c15c55bb1f9c4e34c2c7c22876c662253bdff
Author: Cody Northrop <cnorthrop@google.com>
Date:   Thu Aug 8 19:47:47 2019 -0600

    Implement FramebufferTexture3D
    
    Bug: angleproject:3188
    Bug: angleproject:3797
    Test: KHR-GLES2.texture_3d.framebuffer_texture.rgba8 (with patch from 3797)
    Change-Id: Id44938504df00c3aba3fe733e7c71ad37ce1aab7
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1745838
    Commit-Queue: Cody Northrop <cnorthrop@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 4bb50faa1d1f761c7ab09d171ff02c2e7714cb52
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Aug 14 11:23:57 2019 -0400

    Suppress flaky SwapInterval test
    
    Bug: angleproject:3807
    Change-Id: If44223e39a30a93358392b22b98beaa31ef220d7
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1753587
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 2971fd34dc63e9ee06d9bef39e5de579f075597c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 12 16:53:21 2019 -0400

    Roll glmark2.
    
    Includes build for Android, test fixes, and swapInterval 0 for WGL.
    
    Bug: angleproject:3806
    Change-Id: Ied8f221fc3002cff2ccdc83dc6d45bc8640a4a4d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1752017
    Reviewed-by: James Dong <dongja@google.com>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 99cffe5db4197d5e780ba21238874e983b380e88
Author: Tim Van Patten <timvp@google.com>
Date:   Thu Aug 1 17:10:50 2019 -0600

    Vulkan: Fix glCopyTexSubImage3D()
    
    Update glCopyTexSubImage3D() to account for the requirements necessary
    for VK_IMAGE_TYPE_3D.
    
    Bug: angleproject:3765
    Test: KHR-GLES2.texture_3d.copy_sub_image.rgba8
    Test: angle_end2end_tests CopyTexImageTestES3
    Change-Id: Ife3d768323d0cfe2a53e5ae4c47a0747d65981bc
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1730637
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Tim Van Patten <timvp@google.com>

commit 7e48c9eb999334391143a6d7a7072e1d307a3be4
Author: James Darpinian <jdarpinian@chromium.org>
Date:   Tue Aug 6 17:17:19 2019 -0700

    Add explicit integer casts
    
    WebKit uses the -Wshorten-64-to-32 flag which warns on these cases.
    
    Bug: 3439
    Change-Id: I8c1de60da0f173ca2036e2120e79b857f5f2775f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1740866
    Commit-Queue: James Darpinian <jdarpinian@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit b3eeb2a403548bc44fc605c051b622081de42410
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Aug 5 17:02:43 2019 -0400

    Emulate RGB textures using BGRX IOSurfaces.
    
    When the user requests an IOSurface Pbuffer with an RGB format, emulate the
    missing alpha channel by clearing it to 1.0 and masking reads and writes in
    shaders.
    
    BUG=angleproject:3766
    
    Change-Id: I58c992bf641d9ece0f923603f32640615150e4f3
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1737437
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit 2251102112312a9762898ce785afce6adc4f5ca3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 13 09:17:52 2019 -0400

    Vulkan: Remove unused GetDepthStencilAspectFlagsForCopy.
    
    Was incorrect and causing a Clang warning.
    
    Bug: chromium:992863
    Change-Id: Ieff7b332ee11a6330bd5879d73b53ad374f40664
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1751622
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 2ab08edc0049807403c1d910311a7f17242df5d5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 12 16:20:21 2019 -0400

    Use TextureID in place of GLuint handles.
    
    Bug: angleproject:3611
    Change-Id: Ie6156e8732b3ca4dc6c4439c059a5481a4dfd250
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1738753
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 956770025c8ca163847b5c21da596f07d024d1dd
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Aug 13 07:01:57 2019 +0000

    Roll ./third_party/spirv-tools/src 95386f9e45a2..f701237f2d88 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/95386f9e45a2..f701237f2d88
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@f701237f2d88
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    Bug: None
    TBR=syoussefi@chromium.org
    Change-Id: I594c11907c62b541cf5090c5368493dd6d4996cb
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1750896
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 9e4b116ccc4086d9a78d0e0939a45601fb5dbea2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 12 16:55:23 2019 -0400

    Use official EGL.h.
    
    We upstreamed the changes here so it is no longer necessary to maintain
    a fork.
    
    Bug: angleproject:3706
    Change-Id: I21cc63cb94f8b3603d75ce8ec86b856514a8cb5d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1749335
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 9e14a19bb82facf8300c08552b8672237b04777f
Author: Jiacheng Lu <lujc@google.com>
Date:   Fri Aug 9 10:03:24 2019 -0600

    EVENT trace to print GLenum as string reland
    
    Reland of CL https://chromium-review.googlesource.com/c/angle/angle/+/1737141
    
    Bug: angleproject:3778
    Change-Id: I2a43c618de032d6e6286d707fbc88241ad4c19ce
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1745837
    Commit-Queue: Jiacheng Lu <lujc@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 1d0a778faa3290589c137405e51c4c465139d768
Author: Mohan Maiya <m.maiya@samsung.com>
Date:   Mon Aug 12 09:15:15 2019 -0700

    Vulkan: Enable a few integer state query tests in dEQP
    
    These tests are now passing with vulkan backend. Remove
    them from the expectations file
    
    Bug: angleproject:3680
    Test: dEQP-GLES3.functional.state_query.integers.max_elements_indices_getfloat
          dEQP-GLES3.functional.state_query.integers.max_elements_vertices_getfloat
          dEQP-GLES3.functional.state_query.integers.max_program_texel_offset_get*
          dEQP-GLES3.functional.state_query.integers.min_program_texel_offset_get*
    Change-Id: I65b189929553750e22b15ea3b83b88f72a6c9795
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1748885
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 3b3fe83788c5db33e0ba110d19284bcd139b8b07
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 6 17:44:12 2019 -0400

    Use BufferID in place of GLuint handles.
    
    Introduces enable_if handling for "FromGL". Avoids the use of any macro
    code to handle resource id casting.
    
    Bug: angleproject:3611
    Change-Id: I1a6d10c3c9cc6ba0dc072bad1d62c33551f05d87
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1736127
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tim Van Patten <timvp@google.com>

commit d7500aa800b662eafe0b8a43ff513b45287503e1
Author: Fei Yang <fei.yang@arm.com>
Date:   Fri Aug 2 15:52:39 2019 +0800

    Vulkan: Regression issue on AngryBird for read bandwidth
    
    Use AllGraphicsShaderReadOnly as the image layout for graphics path.
    
    Bug: angleproject:3473
    Change-Id: I1e653890e69f347b2aba4a0156a5d5b86109fd0e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1732617
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 4248e115bb7e9850fbd17081fd8c5092e54b6a80
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Aug 12 07:01:46 2019 +0000

    Roll ./third_party/glslang/src 3cea2e5882e3..37fc4d27d612 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/3cea2e5882e3..37fc4d27d612
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@37fc4d27d612
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    Bug: None
    TBR=ynovikov@chromium.org
    Change-Id: I93044555595ec89246df6a704ad90811222f84c1
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1748611
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 07bd04343899f4176570cd05f8cbd57cdaaae50b
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Aug 12 07:01:57 2019 +0000

    Roll ./third_party/spirv-tools/src 22ce39c8e1ec..95386f9e45a2 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/22ce39c8e1ec..95386f9e45a2
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@95386f9e45a2
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    Bug: None
    TBR=ynovikov@chromium.org
    Change-Id: I851e3f1d0177ba53cb403aae1dbc372f98cf9f20
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1748612
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit b90755ba7793e8afbad85c5ac42db87122353ab9
Author: Ian Elliott <ianelliott@google.com>
Date:   Fri Aug 9 10:53:22 2019 -0600

    Vulkan: Remove a call to addReadDependency() that shouldn't be done.
    
    Bug: angleproject:3798
    Change-Id: I516e6b0766ba0fe7c0bc7f6cd9f4aea91c7536f1
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1745839
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit d48d38ce85055a94f3593093d172790b91e042c0
Author: Cody Northrop <cnorthrop@google.com>
Date:   Fri Aug 9 11:03:35 2019 -0600

    Vulkan: Restore DrawBuffersTestES3.3DTextures on Intel Linux
    
    The test was failing due to ANGLE changes, not the target itself.
    
    It is unclear why this was the only one showing Vulkan validation
    errors, but it is passing now.  I believe we were using recycled
    rendertarget views.
    
    Bug: anglebug:3784
    Change-Id: I256165954c9933b211bcc04b94172e13fa5a3a70
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1745850
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Cody Northrop <cnorthrop@google.com>

commit d53944cc6e99a71945da82487c7140530e011a12
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Aug 9 12:09:32 2019 -0400

    Disable AtomicCounterBuffer tests on Vulkan
    
    If a shard executes a Vulkan test first, it sets the window's pixel
    format to something that the gl backend doesn't agree with.  This causes
    subsequent OpenGL tests to all fail, and eventually leads to a crash.
    
    This disables AtomicCounterBuffer tests on Vulkan so that every shard
    starts with some OpenGL test first (note that AtomicCounterBuffer is
    alphabetically the first test suite).
    
    Bug: angleproject:3738
    Change-Id: Ifc32e7884e53ec2a10eb939cf23e5db7fa66f8b0
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1745359
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit efa898aca21d771802f274df8afd28d73ab9aaa3
Author: James Darpinian <jdarpinian@chromium.org>
Date:   Wed Aug 7 17:05:35 2019 -0700

    Enable some compiler warnings used by WebKit.
    
    This will make it easier to roll ANGLE in WebKit.
    
    Bug: angleproject:3439
    Change-Id: Icd4a5a2d5dcabb6cf13d4b46a7547f49610fa4b3
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1743057
    Commit-Queue: James Darpinian <jdarpinian@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 08b1e6601192d4d7e1e79aa0dbc0747b1d8d6fc3
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Fri Aug 9 15:31:19 2019 +0000

    Revert "Enable EVENT trace to print GLenum as string"
    
    This reverts commit 048547e743b655d12ad44bb3e63766b7b96cd9a0.
    
    Reason for revert: crashes on Debug bots (at least Mac)
    
    Original change's description:
    > Enable EVENT trace to print GLenum as string
    >
    > Bug: angleproject:3778
    > Change-Id: Ib3a4bd6ba631e0165d571789bbfab9b4b1905d8d
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1737141
    > Commit-Queue: Jamie Madill <jmadill@chromium.org>
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    > Reviewed-by: Tobin Ehlis <tobine@google.com>
    
    TBR=tobine@google.com,jmadill@chromium.org,lujc@google.com
    
    Change-Id: Ib72f932f9b99bf981399759b17cec456b3ffafc1
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:3778
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1745835
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit ba72f9a9052cf993543df006d7aed0d5237cfc62
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Wed Aug 7 15:38:07 2019 -0400

    Avoid calling debug annotator during D3D shader compilation
    
    In Renderer11::compileToExecutable and HLSLCompiler::compileToBinary.
    Because they are called from a worker thread, there are problems with
    D3D debug annotator being accessed from multiple threads.
    Previous fix to guard annotator accesses by a mutex reduced flakiness,
    but not completely, maybe due to a D3D erroneously thinking there is
    multithreaded access while there is none.
    
    Bug: angleproject:3780
    Change-Id: I8beea76b6d21f3378462992bbfab916c9db6b1ef
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1742642
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit abce77a652c87c07e598068e5122b0bf0d2bd2fb
Author: Mohan Maiya <m.maiya@samsung.com>
Date:   Wed Aug 7 15:22:03 2019 -0700

    Add tex2d half float tests to expectations file
    
    GL_HALF_FLOAT and GL_HALF_FLOAT_OES have different
    values and only the latter is valid in GLES 2.0.
    However, angle_deqp_khr_gles2_tests expects these
    two enums to be treated as interchangable. This
    is a bug in deqp, so the affected tests should
    be expected to fail until the bug is fixed.
    
    Bug: angleproject:3451
    Test: dEQP.KHR_GLES2/core_internalformat_texture2d_*_half_float_*
    Change-Id: If3a8078e592b18c60c883dfebd246435761a4423
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1743051
    Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 90958e35ad2b625379e0e33548cba463b816cff2
Author: Cody Northrop <cnorthrop@google.com>
Date:   Wed Aug 7 16:26:14 2019 -0600

    Implement ValidateFramebufferTexture3DOES
    
    Bug: angleproject:3188
    Test: KHR-GLES2.texture_3d.framebuffer_texture.negative
    Change-Id: I9a27c713bd7ea18b9f7d9943c6c180f92856c643
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1743079
    Commit-Queue: Cody Northrop <cnorthrop@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 221a1b5d91babffd57559612ebbb598d95936cd1
Author: Robert Iannucci <iannucci@chromium.org>
Date:   Thu Aug 8 20:46:58 2019 -0700

    [infra/config] Add cache for XCode on the mac builders
    
    Change-Id: Ib4918c58aa63775c63b8d6852cf99264e629c040
    Bug: None
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1745721
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit da8dad17b34031307fd1acff691cbc715fa54ff2
Author: Robert Iannucci <iannucci@chromium.org>
Date:   Thu Aug 8 19:40:48 2019 -0700

    Rolling 11 dependencies
    
    Roll ./build/ 680f9ea3d..5262b9094 (10 commits)
    
    https://chromium.googlesource.com/chromium/src/build.git/+log/680f9ea3db81..5262b9094642
    
    $ git log 680f9ea3d..5262b9094 --date=short --no-merges --format='%ad %ae %s'
    2019-08-08 chromium-autoroll Roll Fuchsia SDK from 890571594499 to 890568639186
    2019-08-08 chromium-autoroll Roll Fuchsia SDK from 890574089166 to 890571594499
    2019-08-08 chromium-autoroll Roll Fuchsia SDK from 890577289982 to 890574089166
    2019-08-07 gogerald [StartSurface] Move the tab_ui strings to the feature module
    2019-08-07 tiborg [build] Remove dont_load_shared_libraries GN parameter
    2019-08-07 chromium-autoroll Roll Fuchsia SDK from 890579756157 to 890577289982
    2019-08-07 chromium-autoroll Roll Fuchsia SDK from 890582331998 to 890579756157
    2019-08-07 chromium-autoroll Roll Fuchsia SDK from 890585497544 to 890582331998
    2019-08-07 yucliu [Fuchsia][EME] Correct CDM service name
    2019-08-07 hmohit Add gn arg to overwrite rpath.
    
    Roll ./buildtools/ d5c58b84d..74cfb5700 (19 commits; 3 trivial rolls)
    
    https://chromium.googlesource.com/chromium/src/buildtools.git/+log/d5c58b84d50d..74cfb57006f8
    
    $ git log d5c58b84d..74cfb5700 --date=short --no-merges --format='%ad %ae %s'
    2019-07-25 thomasanderson List natvis files as inputs
    2019-07-23 tikuta Roll GN from 972ed755 to 152c5144
    2019-07-19 tsniatowski ensure_gn_version.py: don't die if existing gn is very old
    2019-07-16 bratell Before trying to overwrite the gn binary, make it writable
    2019-07-12 vapier ensure_gn_version.py: reinstall if tool is missing
    2019-07-11 vapier ensure_gn_version.py: fix exception printing
    2019-06-24 brettw Roll GN from 8c7f4910 to 972ed755
    2019-06-21 thomasanderson Reland "Roll GN from 81ee1967 to 8c7f4910"
    2019-06-17 sdy Revert "Roll GN from 81ee1967 to 8c7f4910"
    2019-06-16 thomasanderson Roll GN from 81ee1967 to 8c7f4910
    2019-06-14 mstensho Revert "Roll src/buildtools/third_party/libc++/trunk/ 5938e0582..ad464887b (53 commits)"
    2019-06-13 mstensho Revert "Roll src/buildtools/third_party/libc++/trunk/ 5938e0582..78822a685 (48 commits)"
    2019-06-07 oysteine Tracing: Moved the tracing sampling profiler to the tracing service
    2019-05-23 wychen Exclude AndroidStudioDefault folder in Java import checking
    2019-05-19 rsesek Roll GN from 64b846c9 to 81ee1967.
    2019-05-13 jbudorick checkdeps: encode input to os.walk as utf-8.
    
    Roll ./testing/ 32e614b7e..58990c945 (420 commits)
    
    https://chromium.googlesource.com/chromium/src/testing/+log/32e614b7ec7b..58990c945ffa
    
    $ git log 32e614b7e..58990c945 --date=short --no-merges --format='%ad %ae %s'
    2019-07-01 cduvall@chromium.org Update NavigationLoaderOnUI browser_tests filter again
    2019-07-01 dewittj@chromium.org [EoS] Update fieldtrial testing config
    2019-07-01 rdevlin.cronin@chromium.org [Extensions] De-flake MultiActionAPITest.DynamicSetIcon
    2019-07-01 hypan@google.com Add the "remote" arg for chromeos-kevin-perf-fyi
    2019-07-01 yliuyliu@google.com [code coverage] Merge Java coverage files to avoid duplicate names
    2019-07-01 bsheedy@chromium.org Change revision passed to V8 GPU pixel tests
    2019-07-01 jbudorick@chromium.org Add filter file for services_unittests on android-asan.
    2019-07-01 michaelpg@chromium.org Fix WelcomeScreenBrowserTest keyboard selection
    2019-07-01 tikuta@chromium.org [testing/buildbot] switch to use xenial for some test
    2019-06-29 rmhasan@google.com Make metadata an optional field that does not need to be the same for all shard's JSON results
    2019-06-29 cduvall@chromium.org Update NavigationLoaderOnUI browser_tests filter
    2019-06-29 jbudorick@chromium.org luci: add android-asan back to consoles.
    2019-06-28 jbudorick@chromium.org perf: run internal resource_sizes_* targets on both android builders.
    2019-06-28 ynovikov@chromium.org Re-enable tests on Linux Experimental NVIDIA and Intel bots.
    2019-06-28 hypan@google.com [perf] Add performance_test_suite for chromeos-kevin-perf-fyi tester
    2019-06-28 ynovikov@chromium.org Use targeted OS version for GPU bots.
    2019-06-28 tbansal@chromium.org Enable PredictivePrefetchingAllowedOnAllConnectionTypes
    2019-06-28 danakj@chromium.org Add android_browsertests to the set of all builds and run it on the bots
    2019-06-28 sgilhuly@chromium.org Disable reflection-on-composited test for Vulkan FYI
    2019-06-28 estevenson@chromium.org Revert "Reland #2: "Trichrome Proguard: Fix locale pak selection.""
    2019-06-28 edwardjung@chromium.org Add security interstititial dark mode experiment to field trial testing config
    2019-06-28 cduvall@chromium.org Make DataReductionProxyURLLoaderThrottle work on UI thread
    2019-06-28 hypan@google.com Reduce the shard number to 4 for android-pixel2-perf-fyi tester
    2019-06-28 cblume@chromium.org Add more flaky tests to SKV content_browsertests
    2019-06-28 cduvall@chromium.org Convert URLLoaderRequestInterceptors to work on UI thread
    2019-06-27 ahemery@chromium.org Fix for the fyi bot runs of BF Cache tests.
    2019-06-27 cduvall@chromium.org Fix CaptivePortalBrowserTest when NavigationLoaderOnUI is enabled
    2019-06-27 bsheedy@chromium.org Stream goldctl output on V8 builders
    2019-06-27 bpastene@chromium.org Disable failing AutotestPrivateWithPolicyApiTest on linux-chromeos-google-rel.
    2019-06-27 cduvall@chromium.org Fix CrossSiteDocumentBlockingTest when NavigationLoaderOnUI is enabled
    2019-06-27 jbudorick@chromium.org android: move android-asan to hammerhead+kitkat.
    2019-06-27 sinhak@chromium.org Fix Chrome OS Account Manager Settings page UI tests
    2019-06-27 bpastene@chromium.org Disable failing MultiActionAPITest.DynamicSetIcon tests on linux-chromeos-google-rel.
    2019-06-27 rsesek@chromium.org Delete MojoChannelMac fieldtrial_testing_config.json entry.
    2019-06-27 cduvall@chromium.org Update NavigationLoaderOnUI test filter file
    2019-06-27 ahemery@chromium.org Add test runs with BackForwardCache on linux-fieldtrial-rel.
    2019-06-27 hao.x.li@intel.com Run dawn_end2end_tests with backend validation layers
    2019-06-26 meacer@chromium.org Enable Lookalike URLs interstitial by default
    2019-06-26 bpastene@chromium.org Duplicate all src-side configs for chromium.chrome bots as chrome.
    2019-06-26 yliuyliu@google.com [code coverage] Move Java coverage files from --task-output-dir to --coverage-dir
    2019-06-26 jbudorick@chromium.org android: add test filter for breakpad_unittests on ASAN.
    2019-06-26 estevenson@chromium.org Reland #2: "Trichrome Proguard: Fix locale pak selection."
    2019-06-26 estevenson@chromium.org Android: Remove "jni_package" from JNI templates.
    2019-06-26 horo@chromium.org Move http_structured_header and SignedExchangeRequestMatcher to blink/common
    2019-06-26 tby@chromium.org [Cros SR] Add Finch flag to the field trial testing config.
    2019-06-26 cduvall@chromium.org Run tests for NavigationLoaderOnUI on mojo FYI bots
    2019-06-25 btolsch@chromium.org Add empty json config for openscreen bots
    2019-06-25 sajjadm@google.com Removing references to deleted fuzzers.
    2019-06-25 harringtond@chromium.org fieldtrial testing OfflineContentOnDino -> AutoFetchOnNetErrorPage
    2019-06-25 kaznacheev@google.com Fix AppListClientImplBrowserTest.OpenSearchResult on branded builds
    2019-06-25 dougarnett@chromium.org [Previews] Increases default slow page trigger max threshold to 3G
    (...)
    2019-05-07 jarrydg@chromium.org Quota: Update fieldtrial testing config with new suffix.
    2019-05-07 rbpotter@chromium.org Reland Extensions Web UI: Use HTML Imports Polyfill
    2019-05-07 fdegans@chromium.org [fuchsia] Re-enable disabled content unittests
    2019-05-07 fhorschig@chromium.org [NTP Suggestions] Clean up unused feature
    2019-05-07 jochen@chromium.org Add content_shell_crash_test to Android
    2019-05-07 yuzus@chromium.org Enable OomIntervention v2 by default
    2019-05-06 ender@google.com Add fieldtrial configuration entry for NewAnswersLayoutAndroidOmniboxM74
    2019-05-06 metzman@chromium.org [libFuzzer] Fix condition so that seed corpus is built if specified
    2019-05-06 martiniss@chromium.org Set default merge for isolated scripts
    2019-05-06 iclelland@chromium.org Revert "Remove chrome_elf_import_unittests and add delayloads_unittests"
    2019-05-06 metzman@chromium.org [libFuzzer][LPM] Refer to libprotobuf-mutator as LPM
    2019-05-06 cliffsmo@microsoft.com Remove chrome_elf_import_unittests and add delayloads_unittests
    2019-05-06 rsesek@chromium.org macOS Signing Scripts: Configure unittests to run on CI.
    2019-05-06 magchen@chromium.org Add a Finch experiment V8HugeMaxOldGenerationSizefor V8 heap size increase
    2019-05-06 wanderview@chromium.org Blob: Add testing config for BlobReaderEagerCompletion feature.
    2019-05-06 nyquist@chromium.org [feature_engagement] Make it possible to check in configurations
    2019-05-06 hofbauer@chromium.org Add FieldTrial testing config for WebRTC-BweAllocProbingOnlyInAlr.
    2019-05-04 caseq@chromium.org Revert "Extensions Web UI: Use HTML Imports Polyfill"
    2019-05-04 bpastene@chromium.org Replace chrome_kevin_tast_tests with chrome_all_tast_tests.
    2019-05-04 tmathmeyer@chromium.org Remove BackgroundSrcVideoTrackDisable Experiment
    2019-05-04 rbpotter@chromium.org Extensions Web UI: Use HTML Imports Polyfill
    2019-05-03 jbudorick@chromium.org Run resource_sizes on the luci android perf bots.
    2019-05-03 findit-for-me@appspot.gserviceaccount.com Revert "Make breakpad_unittests use Chrome's test runner instead of gtest's"
    2019-05-03 iclelland@chromium.org Add fuzzer coverage for the feature policy values parser.
    2019-05-03 davidben@chromium.org Unwind Socket::kReadIfReadyExperiment.
    2019-05-03 fdegans@chromium.org [fuchsia] Re-enable disabled content_unittests
    2019-05-03 mark@chromium.org Make breakpad_unittests use Chrome's test runner instead of gtest's
    2019-05-02 behdadb@chromium.org Added missing dependency
    2019-05-02 jonross@chromium.org Cleanup Viz Test Configs
    2019-05-02 smaier@chromium.org Proguard flag files cleanup
    2019-05-02 rbpotter@chromium.org Web UI HTML Imports: Add interactive_ui_tests suite
    2019-05-02 behdadb@chromium.org Added the representative perf tests to the test suites
    2019-05-02 ynovikov@chromium.org Disable webgl_conformance_vulkan_passthrough_tests on Win10 NVIDIA GTX 1660
    2019-05-02 rbpotter@chromium.org Print Preview: Use HTML Imports Polyfill
    2019-05-02 rsesek@chromium.org Delete testing/scripts/gyp_flag_compare.py
    2019-05-01 martiniss@chromium.org Set default merge script for gtests
    2019-05-01 huangdarwin@chromium.org Docs: Mention that libprotobuf-mutator is LPM
    2019-05-01 jbudorick@chromium.org Tear down src configs for cronet buildbots.
    2019-05-01 brlong@microsoft.com Regression fix: don't add virtual files for drags starting in renderer
    2019-05-01 rmcilroy@chromium.org Revert "Reland "[Perf] Update Pixel2 FYI perf bot to MonoChrome6432.aab.""
    2019-05-01 mmoroz@chromium.org [snappy] Get rid of //base dependency in snappy_compress_fuzzer.
    2019-04-30 wez@chromium.org [Fuchsia] Build and run the gfx_unittests suite.
    2019-04-30 enga@chromium.org Remove dawn_end2end_tests from GPU FYI bots
    2019-04-30 sahel@chromium.org Rename NoCreditCardAbort field trial to match the finch experiment name.
    2019-04-30 rmcilroy@chromium.org Reland "[Perf] Update Pixel2 FYI perf bot to MonoChrome6432.aab."
    2019-04-30 behdadb@chromium.org Logic needed for representative performance tests.
    2019-04-30 mastiz@chromium.org Remove legacy sync codepath prior to pseudo-USS
    2019-04-30 sky@chromium.org Disables SingleProcessMash by default
    2019-04-30 perezju@chromium.org [testing] Remove --output-trace-tag arg in Telemetry args
    2019-04-30 bpastene@chromium.org chromeos: Run all Tast tests via the host-side tast bin.
    
    Roll ./third_party/Python-Markdown/ b08af21eb..36657c103 (1 commit)
    
    https://chromium.googlesource.com/chromium/src/third_party/Python-Markdown/+log/b08af21eb795..36657c103ce5
    
    $ git log b08af21eb..36657c103 --date=short --no-merges --format='%ad %ae %s'
    2019-07-24 efoo OWNERS files updated with latest COMPONENT and TEAMS.
    
    Roll ./third_party/fuchsia-sdk/ 8e8db13b5..5fd29151c (3 commits)
    
    https://chromium.googlesource.com/chromium/src/third_party/fuchsia-sdk.git/+log/8e8db13b538e..5fd29151cf35
    
    $ git log 8e8db13b5..5fd29151c --date=short --no-merges --format='%ad %ae %s'
    2019-06-18 sergeyu [Fuchsia] Fix gen_build_defs.py to recognize device_profile sdk parts
    2019-04-17 wez [Fuchsia] Switch from 'new_parts' to 'parts' when generating GN.
    2019-04-11 kmarshall [Fuchsia] Use the "new_parts" section from the SDK manifest.
    
    Roll ./third_party/googletest/ d5024103c..c721b68dd (1 commit)
    
    https://chromium.googlesource.com/chromium/src/third_party/googletest/+log/d5024103c8a8..c721b68ddecc
    
    $ git log d5024103c..c721b68dd --date=short --no-merges --format='%ad %ae %s'
    2019-07-31 efoo OWNERS files updated with latest COMPONENT and TEAMS.
    
    Roll ./third_party/jsoncpp/ fd0ac8ce6..48246a099 (5 commits)
    
    https://chromium.googlesource.com/chromium/src/third_party/jsoncpp/+log/fd0ac8ce63a4..48246a099549
    
    $ git log fd0ac8ce6..48246a099 --date=short --no-merges --format='%ad %ae %s'
    2019-07-30 efoo OWNERS files updated with latest COMPONENT and TEAMS.
    2019-07-16 mbonadei Do not pass -Wno-implicit-fallthrough to MSVC.
    2019-07-15 mbonadei Do not use -Wno-deprecated-declarations on MSVC.
    2019-07-12 jophba Update JsonCPP dependency + owners
    2019-05-09 metzman [jsoncpp] Add fuzzer.
    
    Roll ./third_party/jsoncpp/ f572e8e42e22..645250b66907 (799 commits)
    
    https://chromium.googlesource.com/chromium/src/third_party/jsoncpp/+log/f572e8e42e22..645250b66907
    
    $ git log f572e8e42e22..645250b66907 --date=short --no-merges --format='%ad %ae %s'
    
    2019-07-10 jophba@chromium.org \#979 Fix parseFromStream definition
    2019-07-11 jophba@chromium.org Add new JSON_USE_NULLREF flag
    2019-07-09 jophba@chromium.org \#964 Delete JSONCPP_NORETURN for [[noreturn]]
    2019-07-02 chenguopingdota@163.com pop the root node after readValue()
    2019-07-02 chenguopingdota@163.com adjust some codes position
    2019-07-01 jophba@chromium.org Update version.h.in header comments
    2019-06-28 jophba@chromium.org Fix comments on Json Reader
    2019-06-28 jophba@chromium.org Update minimum CMake version requirement
    2019-06-28 jophba@chromium.org Issue #633: Fix issue with maxInt
    2019-06-27 jophba@chromium.org Run clang-format on the repository
    2019-06-26 security-tps@google.com Add fuzz.cpp to jsoncpp_test
    2019-06-26 security-tps@google.com Update main.cpp
    2019-06-26 security-tps@google.com added fuzz.cpp to macro in main.cpp
    2019-06-24 security-tps@google.com Update jsontest.cpp
    2019-06-24 security-tps@google.com Update jsontest.cpp
    2019-06-24 security-tps@google.com Update jsontest.cpp
    2019-06-24 security-tps@google.com Update CMakeLists.txt
    2019-06-24 security-tps@google.com Update CMakeLists.txt
    2019-06-24 security-tps@google.com Update main.cpp
    2019-06-24 security-tps@google.com Update main.cpp
    2019-06-24 security-tps@google.com Update main.cpp
    2019-06-24 security-tps@google.com Added include fuzz.cpp
    2019-06-24 security-tps@google.com added llvm
    2019-06-24 security-tps@google.com fix llvm
    2019-06-24 security-tps@google.com Update fuzz.cpp
    2019-06-24 security-tps@google.com Update fuzz.h
    2019-06-24 security-tps@google.com Update fuzz.cpp
    2019-06-24 security-tps@google.com Update fuzz.h
    2019-06-24 security-tps@google.com Update fuzz.cpp
    2019-06-24 security-tps@google.com Update fuzz.h
    2019-06-24 security-tps@google.com Update fuzz.h
    2019-06-24 security-tps@google.com Update fuzz.cpp
    2019-06-24 security-tps@google.com Updated fuzz.h
    2019-06-24 security-tps@google.com Updated header and fixed the bug
    2019-06-12 security-tps@google.com Add a simple fuzz test for jsoncpp.
    2019-06-03 olivier.liess@eurodecision.com version.h : wrong file was deployed, added required include path and
    2019-06-25 cmlchen@tencent.com extract variable
    2019-06-21 cmlchen@tencent.com fix compile problem
    2019-06-21 cmlchen@tencent.com use fpclassify to test a float number is zero or nan
    2019-05-31 chenguopingdota@163.com repair a typo error
    2019-06-24 jophba@chromium.org Issue 920: Fix android build with casting fix
    2018-05-28 BillyDonahue@users.noreply.github.com Add WideString test for Issue #756
    2019-06-25 jophba@chromium.org Update appveyor to use build images
    2019-06-25 jophba@chromium.org Update travis scripts
    2019-06-25 jophba@chromium.org Modernize Travis and Appveyor configs
    2019-06-24 jophba@chromium.org Update issue templates
    2019-06-24 jophba@chromium.org Update issue templates
    2019-06-24 jophba@chromium.org Run clang format
    2019-06-24 jophba@chromium.org Update CONTRIBUTING.md
    2019-06-24 jophba@chromium.org Update README.md
    2019-06-24 jophba@chromium.org Create CONTRIBUTING.md
    (...)
    2014-07-01 aaronjjacobs@gmail.com Gave the amalgamated source section a makeover.
    2014-07-01 aaronjjacobs@gmail.com Gave the documentation section a makeover.
    2014-07-01 aaronjjacobs@gmail.com Gave the testing section a makeover.
    2014-07-01 aaronjjacobs@gmail.com Gave the scons section a makeover.
    2014-07-01 aaronjjacobs@gmail.com Gave the cmake section a makeover.
    2014-07-01 aaronjjacobs@gmail.com Gave the using section a makeover.
    2014-07-01 aaronjjacobs@gmail.com Gave the introduction section a makeover.
    2014-07-01 aaronjjacobs@gmail.com Began converting the README to Markdown.
    2014-07-01 aaronjjacobs@gmail.com Ran clang-format again.
    2014-07-01 aaronjjacobs@gmail.com Fixed some clang-format weirdness.
    2014-07-01 aaronjjacobs@gmail.com Ran clang-format over all .h and .cpp files.
    2014-07-01 aaronjjacobs@gmail.com Set BinPackParameters to false.
    2014-07-01 aaronjjacobs@gmail.com Added a clang-format config file, in preparation for formatting jsoncpp.
    2014-06-30 aaronjjacobs@gmail.com Fixed some cruft in the Travis CI config file.
    2014-06-30 aaronjjacobs@gmail.com Updated notification settings for Travis CI.
    2014-05-13 cdunn2001@gmail.com fix stdexcept
    2014-04-23 aaronjjacobs@gmail.com Fixed a test that causes a crash when exceptions are disabled.
    2014-04-23 aaronjjacobs@gmail.com Added structured error reporting to Reader.
    2014-04-23 aaronjjacobs@gmail.com Added features that allow the reader to accept common non-standard JSON.
    2014-04-19 cdunn2001@gmail.com vim modeline
    2014-04-19 cdunn2001@gmail.com Comment reading/write improvements
    2014-04-19 cdunn2001@gmail.com JSON_ASSERT -> JSON_ASSERT_MESSAGE
    2014-01-29 aaronjjacobs@gmail.com Added missing includes for std::istream.
    2013-09-23 baptiste.lepilleur@gmail.com Fixed broken build on VS 2012
    2013-08-08 aaronjjacobs@gmail.com Fixed some snprintf-related build breakages in Visual Studio.
    2013-08-08 aaronjjacobs@gmail.com Updated two calls to sprintf that I missed in r269.
    2013-08-08 aaronjjacobs@gmail.com Replaced the complex implementation of valueToString(double).
    2013-08-08 aaronjjacobs@gmail.com Added more floating point tests.
    2013-08-08 aaronjjacobs@gmail.com Added further floating point tests.
    2013-08-06 aaronjjacobs@gmail.com Switched away from sprintf, which is prone to buffer overflows.
    2013-05-09 baptiste.lepilleur@gmail.com - CMake: added option to turn fail compilation if warning occurs, and warning level 4 with MSVC. - Fixed some warnings
    2013-05-09 baptiste.lepilleur@gmail.com - disabled warning 4786 for VS6 caused by STL (identifier was truncated to '255' characters in the debug information) - added batchbuild config for XP VM
    2013-05-09 baptiste.lepilleur@gmail.com Added simple batch build script for CMake.
    2013-05-09 baptiste.lepilleur@gmail.com Added missing source file to CMakeLists.txt.
    2013-05-09 baptiste.lepilleur@gmail.com
    2013-05-08 baptiste.lepilleur@gmail.com Fixed continuous integration matrix for debug/release build. Made static debug build verbose.
    2013-05-08 baptiste.lepilleur@gmail.com Added continuous integration matrix for debug/release build. Made static debug build verbose.
    2013-05-08 baptiste.lepilleur@gmail.com Added continuous integration matrix for shared/static library (specified through environment variables).
    2013-05-08 baptiste.lepilleur@gmail.com Added continuous integration failure e-mail notification.
    2013-05-08 baptiste.lepilleur@gmail.com Added clang compiler for continuous integration.
    2013-05-08 baptiste.lepilleur@gmail.com Added basic Travis CI integration contributed by Igor Okulist.
    2013-05-08 baptiste.lepilleur@gmail.com Fixed CMake / Unix build instructions.
    2013-05-08 baptiste.lepilleur@gmail.com - New CMake based build system. Based in part on contribution from Igor Okulist and Damien Buhl (Patch #14). Added support for running tests and building with DLL on Windows. - added missing JSON_API - Visual Studio DLL: suppressed warning "C4251: <data member>: <type> needs to have dll-interface to be used by..." via pragma push/pop in json-cpp headers. - New header json/version.h now contains version number macros (JSONCPP_VERSION_MAJOR, JSONCPP_VERSION_MINOR, JSONCPP_VERSION_PATCH and JSONCPP_VERSION_HEXA). While this header is generated by CMake, it is committed to ease build with alternate build system (CMake only update the file when it changes avoid issues with VCS).
    2013-04-12 baptiste.lepilleur@gmail.com - Patch #3393345: BOOST_FOREACH compatibility. Made Json::iterator more standard compliant, added missing iterator_category and value_type typedefs (contribued by Robert A. Iannucci). - Patch #3474563: added missing JSON_API on some classes causing link issues when building as a dynamic library on Windows (contributed by Francis Bolduc).
    2013-04-12 baptiste.lepilleur@gmail.com Patch #3600941: Missing field copy in Json::Value::iterator causing infinite loop when using experimental internal map (#define JSON_VALUE_USE_INTERNAL_MAP) (contributed by Ming-Lin Kao).
    2013-04-12 baptiste.lepilleur@gmail.com Patch #3539678: Copy constructor does not initialize allocated_ for stringValue (contributed by rmongia).
    2013-02-18 baptiste.lepilleur@gmail.com Fix gcc -Wall warnings (patch from Matt McCormick)
    2012-12-20 baptiste.lepilleur@gmail.com Fixed warning(error?) on #if testing value of _MSC_VER without checking that it was defined.
    2012-07-27 baptiste.lepilleur@gmail.com Added missing "include/json/assertions.h" header in amalgamate.py.
    2012-03-12 aaronjjacobs@gmail.com Made it possible to drop null placeholders from array output.
    
    
    Roll ./third_party/yasm/ 86b605814..15439370a (1 commit)
    
    https://chromium.googlesource.com/chromium/src/third_party/yasm/+log/86b6058141a4..15439370afd9
    
    $ git log 86b605814..15439370a --date=short --no-merges --format='%ad %ae %s'
    2019-03-14 thomasanderson More fixes necessary for Windows/libc++
    
    Roll ./third_party/zlib/ f95aeb0fa..0f820c1d7 (24 commits)
    
    https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/f95aeb0fa7f1..0f820c1d7165
    
    $ git log f95aeb0fa..0f820c1d7 --date=short --no-merges --format='%ad %ae %s'
    2019-08-08 adenilson.cavalcanti Allow disabling Castagnoli compression optimization
    2019-08-05 adenilson.cavalcanti Increasing the expected compressed output size
    2019-08-01 adenilson.cavalcanti Using the same hash function in compression on both x86 and ARM
    2019-07-25 thakis Make chromeconf.h use opt-out instead of opt-in.
    2019-07-19 darin Avoid 'internal_state' macro pollution from zlib.h.
    2019-06-24 tsniatowski zlib: fix gn error when is_clang=false target_cpu="arm"
    2019-06-11 scroggo Simplify sharing third_party/zlib with AOSP
    2019-06-10 jose.dapena zlib: fix ARMv8 CRC32 compilation in GCC
    2019-05-14 huangs [DOM Distiller] Compress resources to save 86 kB on Android.
    2019-04-18 richard.townsend Tidy and further integrate Arm feature detection for Windows
    2019-04-15 richard.townsend Correct zlib build logic for Windows on Arm
    2019-04-15 noel [zlib] Add OS_FUCHSIA feature detection and enable zlib NEON crc32
    2019-04-08 thomasanderson Make //third_party/zlib a component
    2019-03-29 drubery Pass file_length to UpdateArchiveAnalyzer
    2019-03-28 dcheng Update include paths for //base/hash/md5.h
    2019-03-28 wnwen Android: Remove build/secondary
    2019-02-15 noel [zlib] Add Android ARM aarch64 feature detection
    2019-02-14 lizeb blink/bindings: Use PartitionAlloc for zlib's temporary data.
    2019-02-13 noel [zlib_bench] improve program options handling
    2019-01-31 adenilson.cavalcanti Enable decode input reads in 64 bit chunks
    2019-01-11 lizeb blink/bindings: Use PartitionAlloc for compressing strings.
    2019-01-08 avi Use base::size rather than arraysize in third_party/zlib/.
    2019-01-02 avi Use base::size rather than arraysize in third_party/zlib/.
    2018-12-20 msalama Avoid uncompressing if uncompressed size is too big.
    
    Roll ./tools/md_browser/ e94626962..0bfd826f8 (2 commits)
    
    https://chromium.googlesource.com/chromium/src/tools/md_browser/+log/e9462696241f..0bfd826f8566
    
    $ git log e94626962..0bfd826f8 --date=short --no-merges --format='%ad %ae %s'
    2019-06-18 ntfschr Docs: correctly slugify escaped chars
    2019-06-01 ntfschr Better regex for md_browser.py
    
    Created with:
      roll-dep ./build ./buildtools ./testing ./third_party/Python-Markdown ./third_party/fuchsia-sdk ./third_party/googletest ./third_party/jsoncpp ./third_party/jsoncpp/source ./third_party/yasm ./third_party/zlib ./tools/md_browser
    
    Change-Id: Iac134649e58cf3b1d5ed13dc26e8c2bf3ebdba7b
    Bug: angleproject:3792
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1744175
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 048547e743b655d12ad44bb3e63766b7b96cd9a0
Author: Jiacheng Lu <lujc@google.com>
Date:   Mon Aug 5 11:55:54 2019 -0600

    Enable EVENT trace to print GLenum as string
    
    Bug: angleproject:3778
    Change-Id: Ib3a4bd6ba631e0165d571789bbfab9b4b1905d8d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1737141
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tobin Ehlis <tobine@google.com>

commit e54c3e3aa01cc5e1d0bbec28d6db619b22960bd3
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Aug 9 07:01:57 2019 +0000

    Roll ./third_party/spirv-tools/src b029d3697ea3..22ce39c8e1ec (5 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/b029d3697ea3..22ce39c8e1ec
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@22ce39c8e1ec
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    Bug: None
    TBR=ynovikov@chromium.org
    Change-Id: I23e306f0a23e08870b16c016f0e2f2118fa3d3b6
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1746189
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit eb0479e245f0b6ba5bbe00ef7299ecaa82f8c6e1
Author: Cody Northrop <cnorthrop@google.com>
Date:   Wed Jul 24 14:15:56 2019 -0600

    Vulkan: Texture 3D and 2DArray layers as framebuffer attachments
    
    Support glFramebufferTextureLayer by correctly handling layers
    from 3D and 2DArray textures.  Modeled after CubeMap layers support.
    
    Bug: angleproject:3188
    Bug: angleproject:3189
    Change-Id: Ic73a6017134e9d2b49beed103487454397a97167
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1738436
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Commit-Queue: Cody Northrop <cnorthrop@google.com>

commit bd203b5741ab9851e83b1127da2fe416620dcf38
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Aug 8 17:25:45 2019 -0400

    Vulkan: Correct generated shader paths.
    
    This was showing up as a GN error with a newer version of GN.
    
    Bug: angleproject:3792
    Change-Id: I1993ccfe079c1768217f704cc9ba036ec67024bf
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1745226
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c9ba782a6fd44976f264cc5816a018fcf9e1910a
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Aug 5 16:14:22 2019 -0400

    Vulkan: Support atomic counter array of arrays
    
    Previously, it was assumed that a function argument is either AC or
    AC[i], and it was converted to AC or AC+i respectively.  The code is
    changed to support any number of dimensions and subscripts, using
    array size information from AC's type.  If AC is an array of array
    (atomic_uint AC[N][M][R]), the following index calculations are done.
    
    AC          -> AC.arrayIndex
    AC[i]       -> AC.arrayIndex + i*M*R
    AC[i][j]    -> AC.arrayIndex + i*M*R + j*R
    AC[i][j][k] -> AC.arrayIndex + i*M*R + j*R + k
    
    A test is added to exercise these various forms of indexing:
    
        AtomicCounterBufferTest31.AtomicCounterArrayOfArray
    
    Bug: angleproject:3566
    Change-Id: I1e181a7363463d1d0ee4916f35006ed7c58e0f7c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1739488
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Tim Van Patten <timvp@google.com>

commit a1f0d2342d8f7958a2316803c92c5664cd101a4a
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Aug 8 14:32:59 2019 -0400

    Suppress functional.fbo.*.repeated_clear.* dEQP tests on Win NVIDIA Vulkan
    
    Fail on 431.02 driver version.
    
    Bug: angleproject:3748
    Change-Id: I1115f0432e772ca41aaa28e834cd7aaa4e3ba56f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1744340
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit b8ec98fe171b1598286f90c0073cfffff633864c
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Thu Aug 8 10:19:50 2019 -0600

    Fix build issue with tracing enabled
    
    Global destructors are no longer allowed, thus need to use
    NoDestructor template on static objects to build correctly.
    
    Bug: angleproject:3790
    Change-Id: I54b81d21b40649cb014636c7ed147f2c8cab33df
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1744199
    Reviewed-by: James Darpinian <jdarpinian@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: James Darpinian <jdarpinian@chromium.org>

commit 54d51f3292dbd35c6477b3ad601196e2b18f39fb
Author: Ian Elliott <ianelliott@google.com>
Date:   Wed Aug 7 15:15:10 2019 -0600

    Vulkan: Fix crash with glBeginTransformFeedback
    
    The TransformFeedbackVk::onBeginEnd() method wasn't calling updateQueueSerial(),
    which was causing CommandGraphResource::hasChildlessWritingNode() to use an old
    mCurrentWritingNode, which had already been freed (i.e. Visual Studio showed it
    pointing to memory that is 0xdddddddd--which means that mCurrentWritingNode has
    been freed, but is still being used).
    
    Unfortunately, there are still other crashes affecting these tests, but they
    are the same set (and yes, there are multiple, and they are random) that cause
    most of the "KHR-GLES3.copy_tex_image_conversions.required.*" tests to crash).
    
    Bug: angleproject:3674
    Change-Id: I5cd44018ea0beb25cb218e562d5b863be6cbd450
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1742972
    Commit-Queue: Ian Elliott <ianelliott@google.com>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>

commit e7970c3ea4ee19188d2cdb3f382cc27dd72c9ec7
Author: Clemen Deng <clemendeng@google.com>
Date:   Wed Aug 7 14:43:17 2019 -0400

    BasicMangledName class
    
    Need a class for basic mangled names since
    with the addition of GLSL types the number
    of basic types is > 52 (a-z, A-Z), so we need
    more than one character to represent a type
    
    Bug: angleproject:3719
    Change-Id: I98beee9d42a016cb0c017f56ab82538c89212e33
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1742221
    Commit-Queue: Clemen Deng <clemendeng@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit bca3e7b2b4186d16a38b177e1145d2c0cf4dc3fa
Author: Robert Iannucci <iannucci@chromium.org>
Date:   Tue Aug 6 17:07:31 2019 -0700

    Roll ./build/ 54ea0e7fd..680f9ea3d (665 commits)
    
    https://chromium.googlesource.com/chromium/src/build.git/+log/54ea0e7fd122..680f9ea3db81
    
    $ git log 54ea0e7fd..680f9ea3d --date=short --no-merges --format='%ad %ae %s'
    2019-08-06 iannucci [build/toolchain] Add individual vpython spec to win/tool_wrapper.py
    2019-08-06 jdonnelly Revert "Proguard conditional keeps for layouts"
    2019-08-06 awolter [Fuchsia] Remove fuchsia.net.SocketProvider from manifests
    2019-08-06 chromium-autoroll Roll Fuchsia SDK from 890588017156 to 890585497544
    2019-08-06 harshpa Proguard conditional keeps for layouts
    2019-08-06 chromium-autoroll Roll Fuchsia SDK from 890591001924 to 890588017156
    2019-08-06 chromium-autoroll Roll Fuchsia SDK from 890593631659 to 890591001924
    2019-08-05 liaoyuke [code coverage] Skip instrumenting files that has triggers a SI bug
    2019-08-05 chromium-autoroll Roll Fuchsia SDK from 890596874171 to 890593631659
    2019-08-05 bpastene chromeos: Point TMPDIR to /usr/local/tmp during VM/DUT tests.
    2019-08-05 chromium-autoroll Roll Fuchsia SDK from 890600805183 to 890596874171
    2019-08-05 chromium-autoroll Roll Fuchsia SDK from 890603479401 to 890600805183
    2019-08-04 chromium-autoroll Roll Fuchsia SDK from 890606035392 to 890603479401
    2019-08-04 chromium-autoroll Roll Fuchsia SDK from 890608527889 to 890606035392
    2019-08-04 chromium-autoroll Roll Fuchsia SDK from 890611617821 to 890608527889
    2019-08-03 chromium-autoroll Roll Fuchsia SDK from 890614483854 to 890611617821
    2019-08-03 chromium-autoroll Roll Fuchsia SDK from 890617289215 to 890614483854
    2019-08-03 chromium-autoroll Roll Fuchsia SDK from 890619875909 to 890617289215
    2019-08-03 chromium-autoroll Roll Fuchsia SDK from 890622382381 to 890619875909
    2019-08-03 sergeyu [fuchsia] Fix exe_runner.py
    2019-08-02 smaier Give longer oatdump timeout in class verification failure script
    2019-08-02 tsniatowski Fix android shared_library metadata output_extension handling
    2019-08-02 chromium-autoroll Roll Fuchsia SDK from 890625413366 to 890622382381
    2019-08-02 vtsyrklevich Create separate gwp_asan_unittests target
    2019-08-02 csharp Reland "Reland "Remove references to MessagePump::Type""
    2019-08-02 csharp Revert "Reland "Remove references to MessagePump::Type""
    2019-08-02 carlscab Reland "Remove references to MessagePump::Type"
    2019-08-02 cjgrant crashpad_stackwalker: Specify Android platform when generating symbols
    2019-08-02 chromium-autoroll Roll Fuchsia SDK from 890628039446 to 890625413366
    2019-08-02 chromium-autoroll Roll Fuchsia SDK from 890630742147 to 890628039446
    2019-08-01 thakis Replace global NO_TCMALLOC and USE_TCMALLOC defines with BUILDFLAG(USE_TCMALLOC).
    2019-08-01 chromium-autoroll Roll Fuchsia SDK from 890633683590 to 890630742147
    2019-08-01 tiborg [build] Move logic selecting feature module libraries into Chrome layer
    2019-08-01 thakis Disable Wimplicit-int-float-conversion on the clang tot bots in nocompile tests as well.
    2019-08-01 thakis Disable Wimplicit-int-float-conversion on the clang tot bots.
    2019-08-01 chromium-autoroll Roll Fuchsia SDK from 890643698313 to 890633683590
    2019-08-01 eliribble Properly handle transient communication errors with gsutil.py
    2019-08-01 ianloic Reland "[Fuchsia] Update to new FIDL string and vector APIs"
    2019-07-31 zmin Revert "[Fuchsia] Update to new FIDL string and vector APIs"
    2019-07-31 wez [Fuchsia] Fix update-sdk.py not to re-download the same SDK.
    2019-07-31 enne Allow Android to be built in an out-of-repo build dir
    2019-07-31 efoo OWNERS files updated with latest COMPONENT and TEAMS.
    2019-07-31 ianloic [Fuchsia] Update to new FIDL string and vector APIs
    2019-07-31 jbudorick android: add a local emulator environment.
    2019-07-31 findit-for-me Revert "Remove references to MessagePump::Type"
    2019-07-31 chromium-autoroll Roll Fuchsia SDK from 890646710525 to 890643698313
    2019-07-31 carlscab Remove references to MessagePump::Type
    2019-07-31 chromium-autoroll Roll Fuchsia SDK from 890647868040 to 890646710525
    2019-07-30 dpursell [Fuchsia] initialize async_wait_t options field
    2019-07-30 chromium-autoroll Roll Fuchsia SDK from 890650128659 to 890647868040
    (...)
    2019-05-07 raul //build/util/lastchange.py: Decode Git output for Python 3 support
    2019-05-07 chromium-autoroll Roll Fuchsia SDK from 891418129671 to 891415132646
    2019-05-07 xhwang Set |is_cast_using_cma_backend| to false by default on Android
    2019-05-06 chromium-autoroll Roll Fuchsia SDK from 891421020977 to 891418129671
    2019-05-06 agrieve Android: Filter out ijar build messages about "Passing class through"
    2019-05-06 estevenson Android: Remove unused firebase_app_id from BuildConfig.java.
    2019-05-06 oprypin Support Python 3 in jni_generator.py
    2019-05-06 thakis win: Re-enable libc++ on Windows.
    2019-05-06 estevenson Android: Set Firebase app IDs at runtime.
    2019-05-06 chromium-autoroll Roll Fuchsia SDK from 891423780675 to 891421020977
    2019-05-06 msalama Orderfile: Caller-callee instrumentation to improve performance.
    2019-05-06 chromium-autoroll Roll Fuchsia SDK from 891426706836 to 891423780675
    2019-05-06 robliao Revert "Make Visual Studio version selection more smart"
    2019-05-06 chromium-autoroll Roll Fuchsia SDK from 891429647473 to 891426706836
    2019-05-05 chromium-autoroll Roll Fuchsia SDK from 891432088534 to 891429647473
    2019-05-05 chromium-autoroll Roll Fuchsia SDK from 891434892022 to 891432088534
    2019-05-05 yang.gu Make Visual Studio version selection more smart
    2019-05-05 chromium-autoroll Roll Fuchsia SDK from 891437836392 to 891434892022
    2019-05-04 chromium-autoroll Roll Fuchsia SDK from 891440437628 to 891437836392
    2019-05-04 chromium-autoroll Roll Fuchsia SDK from 891443015083 to 891440437628
    2019-05-04 chromium-autoroll Roll Fuchsia SDK from 891461844150 to 891443015083
    2019-05-03 estevenson Android: Fix resource_ids_provider_dep for TrichromeChrome.[apk/aab]
    2019-05-03 estevenson Android: Turn proguard flags expectation file back on.
    2019-05-03 agrieve Fix emma_coverage=true GN gen failure
    2019-05-03 jbudorick Revert "Reland "base: Add ENABLE_LOG_ERROR_NOT_REACHED buildflag""
    2019-05-03 xhwang Reland "base: Add ENABLE_LOG_ERROR_NOT_REACHED buildflag"
    2019-05-03 thakis win: Don't build /FORCE:DuplicateRes targets with /WX.
    2019-05-03 thakis Switch use_lld from whitelist to blacklist
    2019-05-02 bjoyce Fix Ignore_proguard_configs paramter in android_aar_prebuilt().
    2019-05-02 yliuyliu Include all classes for jacoco agent
    2019-05-02 thakis Enable LLD in 32-bit Chrome OS ARM builds.
    2019-05-02 thakis Make exclude_unwind_tables only dependent on is_official_build
    2019-05-02 thakis linux/32-bit: Use lld as linker.
    2019-05-02 chromium-autoroll Roll Fuchsia SDK from 891464457253 to 891461844150
    2019-05-01 sergeyu [Fuchsia] Implement SysmemBufferManager and SysmemBufferCollection
    2019-05-01 xhwang Revert "base: Add ENABLE_LOG_ERROR_NOT_REACHED buildflag"
    2019-05-01 chromium-autoroll Roll Fuchsia SDK from 891467542177 to 891464457253
    2019-05-01 xhwang base: Add ENABLE_LOG_ERROR_NOT_REACHED buildflag
    2019-05-01 estevenson Trichrome Proguard: Handle Java locale lists in the library.
    2019-05-01 chromium-autoroll Roll Fuchsia SDK from 891470157719 to 891467542177
    2019-05-01 chromium-autoroll Roll Fuchsia SDK from 891473642618 to 891470157719
    2019-05-01 bjoyce android_aar_prebuilt: Add ignore_proguard_config as flag.
    2019-05-01 justincohen Reland "[ios] Disable custom libcxx with xcode clang."
    2019-05-01 sunnyps viz: Change OutputSurface and BeginFrameSource creation order
    2019-04-30 carlosk Revert "Reland "[ios] Disable custom libcxx with xcode clang.""
    2019-04-30 justincohen Reland "[ios] Disable custom libcxx with xcode clang."
    2019-04-30 chromium-autoroll Roll Fuchsia SDK from 891475811432 to 891473642618
    2019-04-30 mastiz Remove legacy sync codepath prior to pseudo-USS
    2019-04-30 bpastene chromeos: Run all Tast tests via the host-side tast bin.
    2019-04-30 tiborg [bundles] Add install script and its dependencies to runtime deps
    
    Created with:
      roll-dep ./build
    
    Bug: 973721
    Change-Id: I0a05e26c7f2836b4a261eaa59db7bc0111755935
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1740510
    Reviewed-by: Kai Ninomiya <kainino@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 4c833efb60a1f00b448b31149d71e6220c5203f7
Author: Tobin Ehlis <tobine@google.com>
Date:   Thu Jul 11 11:29:35 2019 -0600

    Vulkan: Enable sampler objects
    
    This is the initial implementation to get GLES3.0 Sampler Objects
    working on the Vulkan backend.
    When samplers are dirty, a corresponding Vulkan sampler object will be
    created with associated state and textures are flagged as dirty anytime
    sampler bindings change.
    Then when handling textures dirty, any bound sampler objects are pulled
    from active texture units. When sampler objects are bound, their state
    is used instead of the built-in texture's sampler state.
    
    This change also adds a test that uses the same texture object with
    different sampler objects to test a corner case that dEQP misses.
    
    Bug: angleproject:3208
    Change-Id: I643d9c9d5cb92fecc02dad815a07bcf349534c70
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1706897
    Commit-Queue: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 23c0463b8b1d2e64ffe7b283266884438d1a1f0a
Author: Robert Iannucci <iannucci@chromium.org>
Date:   Thu Aug 8 07:55:06 2019 -0700

    [infra/config] Actually set properties_j in the right place.
    
    Add PRESUBMIT check to ensure these config files stay correct.
    
    Bug: 973721
    Change-Id: Ife5884d39ca22c55fdc58b65220ed0c34c85fb6a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1743048
    Commit-Queue: Robbie Iannucci <iannucci@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 31ab533e566a4c9a499b0c113886cad210b8038f
Author: Tobin Ehlis <tobine@google.com>
Date:   Fri Jul 19 15:31:01 2019 -0600

    Sampler::syncState now returns angle::Result
    
    This is a foundational refactor in preparation for implementing sampler
    objects in the Vulkan backend.
    
    Bug: angleproject:3208
    Change-Id: I5970f141d3f825aee1f8b713be8e162c7d0f8bbe
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1710961
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Tobin Ehlis <tobine@google.com>

commit 8400d05c09949245fe3445b62f5ffb8dd6d386b2
Author: Mohan Maiya <m.maiya@samsung.com>
Date:   Wed Aug 7 14:52:54 2019 -0700

    Vulkan: Support the vertex_type_2_10_10_10_rev format
    
    - Modify the python script and json file to generate the code which
    adds the function for vertex_type_2_10_10_10_rev. These functions
    handle the loading and conversion for vertex_type_2_10_10_10_rev.
    
    - Modify ConvertVertex.comp and ConvertVertex.comp.json to perform
    a GPU based conversion for vertex format of type 2_10_10_10_rev
    
    - Modify BindingIsAligned function to check that both stride and
    binding offset is aligned to the format size when the component
    size is not aligned to 8 bits.
    
    - Modify deqp3 expectations file to enable type_2_10_10_10_rev format
    vertex array tests.
    
    Bug: angleproject:3193
    Test: dEQP-GLES3.functional.vertex_arrays.single_attribute.*2_10_10_10*
    Change-Id: I2358d0d8888f7dfd7eac999dc150f643167de817
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1709035
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 64751a0be491be2f046fb7338a02f1ccf7db4f90
Author: James Darpinian <jdarpinian@chromium.org>
Date:   Wed Aug 7 15:08:51 2019 -0700

    Reenable extra_warnings config for angle_utils
    
    Originally disabled in https://crrev.com/c/1738438.
    
    Bug: angleproject:1459
    Change-Id: I95172dc95a5d3e9d838c542ee6bcfb2338ffc9a6
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1743078
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit e86a8560f2025b4a127263e26d7ac5f671babd3e
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Aug 7 11:55:01 2019 -0400

    Vulkan: Fewer subgroup ops in seamful cubemap emulation
    
    Two values were retrieved from quad neighbors; layer and ma.  The value
    of ma was retrieved as the helper invocations would otherwise have a
    different value as the major axis.
    
    This change makes the helpers rechoose ma based on the layer, which
    removes a number of subgroup operations.  This is also more precise as
    the major axis value could be slightly different from the neighbor.
    
    Bug: angleproject:3732
    Change-Id: I3c8ca724e91c52ca2f7edc03bb0e5dca67610ff4
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1742215
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 7270a6d578f5c938c685e80ac121c2a89ba1efc8
Author: Kimmo Kinnunen <kkinnunen@nvidia.com>
Date:   Tue Aug 6 16:01:42 2019 +0300

    Fix ShaderStorageBufferTest31.LoadAndStoreBooleanVarAndArray to be more correct
    
    The test contained bugs which made it fail on multiple platforms.
    After mapping SSBO, access the data with GLuint instead of GLboolean.
    The elements in the SSBO are 4 machine units, even though the SSB
    talks about bools.
    
    A bvec2 declared after bool in the SSB has alignment requirements.
    
    The test asserts that a shader written result is zero. In this case
    it needs to initialize the result buffer to non-zero in order to
    prove that the shader put the zero there.
    
    Bug: angleproject:3749, angleproject:1951
    Change-Id: Iad8301be7f9e9df6bbed6b390d9c415d4e437c1a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1738909
    Commit-Queue: Kimmo Kinnunen FI <kkinnunen@nvidia.com>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 0fec5eabc671e58b1ced902928ae02155fba48fb
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Aug 8 07:01:54 2019 +0000

    Roll ./third_party/spirv-tools/src 698b56a8f024..b029d3697ea3 (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/698b56a8f024..b029d3697ea3
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@b029d3697ea3
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    Bug: None
    TBR=ynovikov@chromium.org
    Change-Id: I25c62c4e6f905331fb658ab2b1cb2f5556bd3513
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1743588
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 7424fe8b79c3f0061703b077c01c33b9ecef44bb
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Wed Aug 7 18:29:13 2019 -0400

    Skip BufferDataOverflowTest.VertexBufferIntegerOverflow
    
    on Win NVIDIA D3D11. Due to flaky timeout.
    
    Bug: angleproject:3786
    Change-Id: I9881dcf4bcb2c958c7e5d26cba635d9cf3ff7f1a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1743050
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 1d25ed29eb00275a0bd7448844c0102e004d57b8
Author: Robert Iannucci <iannucci@chromium.org>
Date:   Wed Aug 7 14:06:33 2019 -0700

    [infra/config] Bump OS X SDK on mac builders to version 10.1
    
    Bug: 973721
    Change-Id: Iaead721362a0d19912f0d365654c613ff861c842
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1742543
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 22ec7dc9007f205522802d6822c6efc62a5698ed
Author: James Darpinian <jdarpinian@chromium.org>
Date:   Tue Aug 6 10:10:52 2019 -0700

    Remove all global constructors and exit time destructors.
    
    WebKit compiles with -Wglobal-constructors, so they want this. I decided
    to do -Wexit-time-destructors at the same time.
    
    Bug: angleproject:3439
    Bug: angleproject:1459
    Change-Id: I4b44ae4f8e6f066e07dc7f9f6ced9a5d49dc8f8a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1738438
    Commit-Queue: James Darpinian <jdarpinian@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 7c7dec01ce348d24e768b33633c7711cd0bd4182
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 6 17:44:11 2019 -0400

    Use RenderbufferID in place of GLuint handles.
    
    This will allow frame capture/replay to more easily emulate object
    handle manipulation. It also provides a bit of type safety. Also
    generalizes ResourceMap to handle non-GLuint IDs.
    
    Bug: angleproject:3611
    Change-Id: I174fd260f326e0dbe2aca3f818215c91d82cf48c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1706559
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 93560ef51dc1e79ddeb2d6dcbb8f33eb83ade1b9
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Jul 25 16:13:02 2019 -0400

    Vulkan: Seamful cube map emulation
    
    In GLSL, a cube texture is sampled with one of textureCube* functions.
    This function takes a 3D coordinate which is a vector from the center of
    the cube and identifies a direction to sample from. GLES2.0 has the
    following table that translates this 3D coordinate (Rx, Ry, Rz) to a
    face and ST coordinates within that face. This table can be found in
    Section 3.7.5 (Cube Map Texture Selection).
    
    A compiler pass is implemented in ANGLE that replaces samplerCube
    declarations with a sampler2DArray. The textureCube* functions are
    replaced with the corresponding texture* functions with the translated
    coordinates according to that table.
    
    Gradients provided to textureCubeGrad are translated using the same
    formulae, which is not precise but the spec specifies this projection to
    be implementation dependent.
    
    Helper invocations enabled through WQM (whole quad mode) cause a
    nuisance in that the extrapolated varyings used as coordinates in a
    textureCube call could have a different major axis (and therefore face)
    from the non-helper invocations that lie within the geometry.
    subgroupQuadSwap* operations are used in conjunction with
    gl_HelperInvocation to make sure the helper threads calculate texture
    UVs in the same face as the non-helper invocations.
    
    Bug: angleproject:3300
    Bug: angleproject:3240
    Bug: angleproject:3243
    Bug: angleproject:3732
    Change-Id: I0cb6a9b1f2e1e6a392b5baca1c7118ed1c502ccf
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1715977
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 44f518b5845f6da3e2f37a978164ced6015bff5f
Author: Clemen Deng <clemendeng@google.com>
Date:   Tue Aug 6 13:31:01 2019 -0400

    Have run_code_generation only call vpython when needed
    
    gen_builtin_symbols.py uses a vpython module to generate
    a perfect hash function
    Also seeded the perfect hash function to make it deterministic
    
    Bug: angleproject:3747
    Change-Id: I660fe71bd6b2213be9d4ccc2f68641637a49a047
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1738747
    Commit-Queue: Clemen Deng <clemendeng@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 483ee3fa2315298aba6cbaf6f62d515f7214c0f7
Author: Kimmo Kinnunen <kkinnunen@nvidia.com>
Date:   Wed Aug 7 14:53:37 2019 +0300

    Remove ShaderStorageBufferTest test skips for bug 2990, bug is marked fixed
    
    Unskip ShaderStorageBufferTest tests that reference bug angleproject:2990,
    the bug is marked fixed and the tests pass.
    
    Bug: angleproject:2990
    Change-Id: I378f648baa1caf44c5e5280c1580abaefcbe6cba
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1742146
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 415bb0cdb057f60f684b3c01731a4f0e93e3630d
Author: Dustin Green <dustingreen@google.com>
Date:   Tue Aug 6 17:26:14 2019 -0700

    IWYU - zircon/assert.h without stdlib.h
    
    Bug: None
    Change-Id: I524d9c97ebe0f58487bff47631ffc68073f665f4
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1740871
    Reviewed-by: Michael Spang <spang@chromium.org>
    Commit-Queue: Michael Spang <spang@chromium.org>

commit 798f6c619604719e4cf1fb560457b856fb87b764
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 5 15:10:28 2019 -0400

    Strip extension from packed GLenum data.
    
    This reduces the code duplication in this json file. It should
    make the packed enum map easier to maintain going forward as we
    add more entry point permutations.
    
    Bug: angleproject:3611
    Change-Id: Ideab630584f0a41892262660fc1e0aedcc5dd639
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1736126
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit b13c38c102b180d9893bd5ea3c665c9c641c59fd
Author: Ian Elliott <ianelliott@google.com>
Date:   Tue Aug 6 09:50:49 2019 -0600

    Vulkan: Enable GL_UNPACK_SKIP_IMAGES in the Tex*Image* code
    
    A boolean was hard-coded to false to disable the use of GL_UNPACK_SKIP_IMAGES
    disabled in ImageHelper::stageSubresourceUpdate() (I assume because 3D textures
    wasn't yet supported).  The boolean is now set based on type type of the
    texture.
    
    Bug: angleproject:3781
    Change-Id: I09d9fd142cceb3bebfa341fd0ff9179241c61a9c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1738433
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit 0296e1694722896eaab5bf6a483b621abc6a7ca6
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Aug 2 14:38:45 2019 -0400

    Vulkan: Refactor atomic counter retype code
    
    A generic "retyper" class is extracted out of the atomic counter retype
    code to be used with coverting samplerCube to sampler2DArray for seamful
    cubemap sampling emulation.
    
    Bug: angleproject:3732
    Change-Id: I8b5f835125b9513afcfe7baeea48afaf1299a027
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1733807
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tim Van Patten <timvp@google.com>

commit ed5f7e4dbc675a806e93ea7be501d89b1581f94e
Author: Jiacheng Lu <lujc@google.com>
Date:   Fri Jun 7 15:54:00 2019 -0600

    Vulkan: Use a persistent CommandPool
    
    Previously transient CommandPool is used for CommandBuffer allocation,
    it is created and destroyed per frame. However, profiling found that
    CommandPool destroy is very inefficient. So this commit removed the
    previous logic and use two preallocated resetable CommandPools (One for
    Primary and One for Secondary)
    
    Bug: angleproject:3508
    Change-Id: I8b36f2738b082811c3177935c61b10e01acb6947
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1648667
    Commit-Queue: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 44e690caa56117a4b92c61a4ce5297a14c100a4f
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Jul 22 16:42:55 2019 -0400

    Vulkan: Support unaligned atomic counter buffer binding
    
    GLES doesn't require any implementation-specified alignment requirement
    for atomic counter buffers.  They are emulated with Vulkan storage
    buffers, which do have restrictions.
    
    The storage buffers are bound at aligned offsets, and the remaining
    offsets are passed to the shader as uniform values.  This means that the
    driver uniforms are now also bound to the compute pipeline.
    
    Bug: angleproject:3566
    Change-Id: I1a3429438f76d95e33cb5c6ef2c9370a10d900d6
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1713095
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 6201d134b3bb13ad9a5388f22bad28187f31bb54
Author: Tim Van Patten <timvp@google.com>
Date:   Tue Aug 6 09:01:45 2019 -0600

    Vulkan: Suppress KHR-GLES2 ASTC 3D Texture Tests
    
    The following tests are failing on 64b Pixel 2 devices:
    
    KHR-GLES2.texture_3d.compressed_texture.rgba_astc_8x6_khr
    KHR-GLES2.texture_3d.compressed_texture.srgb8_alpha8_astc_8x6_khr
    
    These will be marked "SKIP" while the failures are investigated.
    
    Bug: angleproject:3779
    Test: angle_deqp_khr_gles2_tests
    Change-Id: Idd5ebd992cd2d0b459a9eec0f2960265248700b9
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1739486
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 99f494e42246bda28a1de4f97ca212b0d7172998
Author: Ian Elliott <ianelliott@google.com>
Date:   Mon Aug 5 13:53:41 2019 -0600

    Vulkan: Enable GL_NV_pixel_buffer_object extension
    
    Now that PBOs are implemented, expose the NVIDIA PBO extension.
    
    Bug: angleproject:3233
    Change-Id: Ie69e49fb0cefad7b55abcc57b2cb3284c196b158
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1737277
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
    Reviewed-by: Ian Elliott <ianelliott@google.com>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit 74ec0afe01ec39860a942ffd19f8f032ba6b54d6
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Aug 6 07:01:53 2019 +0000

    Roll ./third_party/spirv-tools/src 4f14b4c8cc25..698b56a8f024 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/4f14b4c8cc25..698b56a8f024
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@698b56a8f024
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    Bug: None
    TBR=ynovikov@chromium.org
    Change-Id: I2f060affd28ad48d0bd6ceb283cbe71f669d5d35
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1738326
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit bf176a0d6db9048c84320a2068475604073bd411
Author: Tim Van Patten <timvp@google.com>
Date:   Mon Aug 5 12:33:58 2019 -0600

    Vulkan: Suppress KHR-GLES2 ASTC 3D Texture Tests
    
    The following tests are failing on 64b Pixel 2 devices:
    
    KHR-GLES2.texture_3d.compressed_texture.rgba_astc_8x6_khr
    KHR-GLES2.texture_3d.compressed_texture.srgb8_alpha8_astc_8x6_khr
    
    These will be marked "FAIL" while the failures are investigated.
    
    Bug: angleproject:3779
    Test: angle_deqp_khr_gles2_tests
    Change-Id: I6248833e3c136123a41fafa24f4f528060fc016d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1737099
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Commit-Queue: Tim Van Patten <timvp@google.com>

commit 7c8928d0a054da47dddb2dd06d4dd292d40a343d
Author: Jiacheng Lu <lujc@google.com>
Date:   Wed Jul 24 10:39:40 2019 -0600

    Add more tests covering gl::vertexAttribPointer
    
    1. Add tests ensuring VBO binding with format requiring conversion in
    vulkan backend is converted correctly after binding and offset changes.
    2. Add tests ensuring VBO binding switching between CPU and GPU handles
    correctly in vulkan. As for vulkan, it transfers CPU side memory into
    tightly packed buffer and may causing a stride change.
    
    Bug: angleproject:3256
    Change-Id: I5d9d78670b28bec286b96d3b6a9c6211da3f3d9b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1716614
    Commit-Queue: Jiacheng Lu <lujc@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit f3dbf0a7ae71bf29848971fed6bdaec8c84db856
Author: Jiacheng Lu <lujc@google.com>
Date:   Mon Jul 29 11:31:20 2019 -0600

    FrameCapture dump GLenum to enum instead of value
    
    Add functionality to capture GLenum and GLbitfield parameters as enum
    names instead of values.
    
    Bug: angleproject:3611
    Change-Id: I7ddc21093d44d1480b205563f30d89f82779b1f1
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1724460
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit b8c0dc044220dd8b201b600bae6ac8fb31c7a20c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 30 17:22:23 2019 -0400

    Capture/Replay: Capture entry point enum when possible.
    
    This should save on a few string comparisons. This CL also adds a
    helper function that converts from an entry point enum ID to a string
    entry point name.
    
    Bug: angleproject:3611
    Change-Id: I47434235ca25203ef1d6814897d81afab444a7fd
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1719065
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit c13ca2affeed8cd85641598d05498b8b464e5ad6
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Jul 17 15:46:29 2019 -0400

    Vulkan: Allow more than one atomic counter buffer binding
    
    dEQP assumes there are more than one atomic counter buffers available.
    This is technically not a requirement by the standard, but nevertheless
    could be what applications expect as well.
    
    This change adds support for multiple atomic counter buffer bindings.
    This is done by declaring an array of storage buffers for the atomic
    counter buffers (instead of declaring only one) and passing the
    (binding, offset) pair around to functions instead of just the offset.
    The atomic counter is found by indexing `binding` into the storage
    buffer array first before indexing `offset` into its `uint[]`.
    
    ProgramVk's default uniform collection is also fixed not to include
    atomic counter uniforms.
    
    A remaining issue is that atomic counter buffer offsets don't have
    alignment requirements in GLES, but Vulkan does for storage buffers.
    Similar to emulated transform feedback buffer offsets, these should be
    sent to the shader through uniform values.  This will be done in a
    follow up change.
    
    Bug: angleproject:3566
    Change-Id: I5600225c24c38f1a8ecf5c64388073055733197d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1707931
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 2a53d83a36e1750d1ee0ca31c61f46aabcd35cce
Author: Ian Elliott <ianelliott@google.com>
Date:   Mon Aug 5 10:42:14 2019 -0600

    Vulkan: Enable more tests to run (and in most cases pass).
    
    Some of this set of expectation-file changes are due to PBO implementation.
    
    Bug: angleproject:3628
    Bug: angleproject:3455
    Bug: angleproject:3209
    Bug: angleproject:3210
    Change-Id: Ie74913f22600b967c2a239f8a6452f9a99b2a00a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1736134
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Reviewed-by: Ian Elliott <ianelliott@google.com>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit af69179c41fc17b15a2b6ac5a69bbcc77b3e3460
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 30 17:22:22 2019 -0400

    Capture/Replay: Capture return values.
    
    This will allow us to record resource IDs as they are created and bound
    to OpenGL. This in turn will enable implementing mid-execution capture.
    
    Bug: angleproject:3611
    Change-Id: I9f12eb0025d90ad86327cf5181efd831662c2e3f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1706562
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 9031bdd9ba3b24fffdaba60463de49f72be8b811
Author: Clemen Deng <clemendeng@google.com>
Date:   Fri Jul 26 14:51:23 2019 -0400

    Use perfect-hash module in gen_builtin_symbols.py
    
    The script currently takes ~4 minutes to run
    Using this module instead of manually hashing
    will improve runtime significantly
    
    Bug: angleproject:3747
    Change-Id: I7e2d2ef5bbfd136b0299d571e0acc11f334c80b5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1724667
    Commit-Queue: Clemen Deng <clemendeng@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit b8a27c5e6bb16c050814f72f9c80ebbe023002c6
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Aug 5 07:01:09 2019 +0000

    Roll ./third_party/glslang/src a0eb5efd2bad..3cea2e5882e3 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/a0eb5efd2bad..3cea2e5882e3
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@3cea2e5882e3
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    Bug: None
    TBR=geofflang@google.com
    Change-Id: I11d337682184083a98cdea36ed94441897250c74
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1736398
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 73ec5b06ff9ee23439c9029b99194dd1d5b4c267
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Aug 5 07:01:53 2019 +0000

    Roll ./third_party/spirv-tools/src 0b70972a29c7..4f14b4c8cc25 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/0b70972a29c7..4f14b4c8cc25
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@4f14b4c8cc25
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    Bug: None
    TBR=geofflang@google.com
    Change-Id: If2f37d2752f5e32b85081df915fdfa541872df4a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1736399
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit dc2c5c5a419e45891ec5898e675b8f447b1bd9fa
Author: Ian Elliott <ianelliott@google.com>
Date:   Fri Aug 2 09:32:18 2019 -0600

    Vulkan: Initial Implementation of PBO support (software only)
    
    This contains support for both pixel unpack buffers (i.e. for glTex*Image*)
    and pixel pack buffers (i.e. for glReadPixels).
    
    Bug: angleproject:3209
    Bug: angleproject:3210
    Change-Id: I077cccbffb96fb5f0198922bc7c1850a7eb3f616
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1723096
    Commit-Queue: Ian Elliott <ianelliott@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 8a43b8c7a9c52a700455d79d6d282bc8e48cf680
Author: Mohan Maiya <m.maiya@samsung.com>
Date:   Fri Aug 2 08:47:13 2019 -0700

    Vulkan: Fix incorrect alignment logic in readPixels
    
    Framebuffers previously assumed a readPixels buffer alignment
    of 4 bytes, which causes issues when attempting to read with
    a format larger than 4 bytes per pixel. Change the default
    alignment to match the size of the largest know Vulkan format
    
    Bug: angleproject:3731
    Change-Id: I6cd26a99e6f3b2f30084d403630c17f51a0ecedf
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1727731
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit a06d32dc775577941901a6dfca18f8e340986f2a
Author: Ian Elliott <ianelliott@google.com>
Date:   Fri Aug 2 15:44:09 2019 -0600

    Vulkan: Enable more tests to run (and in most cases pass).
    
    Bug: angleproject:3628
    Change-Id: Idbb889165069d2ac45394b38cf44fad8c11bd910
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1733417
    Reviewed-by: Ian Elliott <ianelliott@google.com>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit 990990b4f860ce23355bf4a80c0bc8a7280f1e23
Author: Rafael Cintron <rafael.cintron@microsoft.com>
Date:   Wed Jul 31 18:00:59 2019 -0700

    Fix memory leak in Renderer11::getD3DTextureInfo
    
    If the device for the texture does not match mDevice, we early out of
    the method without releasing textureDevice.
    
    Fixed by adding DynamicCastComObjectToComPtr and using angle::ComPtr
    
    Bug: angleproject:3761
    Change-Id: Id4ef9231f8a91c30e326520132af693d51047c7d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1730175
    Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 74e7a315c9282352230b9884cb8e2f2f9b49cb3e
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Aug 1 21:49:56 2019 -0400

    Switch all Win10 GPU.FYI bots and related trybots to 64-bit
    
    Splits Windows CQ bots into 32 and 64 bit.
    Update changed dEQP bot names.
    
    Bug: 988833
    Change-Id: I4cbb8836ca03b781ccd4c3f6059620bb2c97855e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1732671
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit de50d039b1b4b4e272d4d2483c5e224d6010f48e
Author: Tim Van Patten <timvp@google.com>
Date:   Mon Jul 29 16:04:56 2019 -0600

    Enable ASTC 3D Textures
    
    Enable ASTC 3D textures.
    
    ETC are still unsupported, since dEQP fails if we indicate support.
    
    Bug: angleproject:3188
    Test: dEQP.KHR_GLES2/texture_3d_compressed_texture_*astc*
    Test: dEQP.KHR_GLES2/texture_3d_compressed_texture_negative_compressed_tex_image
    Change-Id: I8559ae42d19e63fdf96ea7a49f2d7e3d5098771c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1723094
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Tim Van Patten <timvp@google.com>

commit 4c118cb3d3717437764f0d3c35fbca6b709e4b50
Author: Hyunchang Kim <hckim.kim@samsung.com>
Date:   Wed Jul 31 16:35:07 2019 +0900

    Vulkan: Add support for OES_vertex_half_float
    
    Expose GLES 3.0 feature of half_float vertex on GLES 2.0 as an extension.
    
    Bug: angleproject:3191
    Test: dEQP-GLES2.capability.extensions.vertex_data_formats.GL_OES_vertex_half_float
    Change-Id: Ia093b66f9c32c81946b2cbc15ff227baea4bfb02
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1728749
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 626a72803b4f29bea05943c172b2bc2ce0644553
Author: Tim Van Patten <timvp@google.com>
Date:   Mon Jul 8 15:11:59 2019 -0600

    Vulkan: Implement framebuffers without attachments
    
    It is possible to render to a framebuffer object that has no
    attachments.   However, the rasterization of primitives is always
    based on the area and characteristics of the bound framebuffer.
    These characteristics (size, number of samples, etc.) would normally be
    defined by the attached images. If no images are attached, these
    characteristics are defined by their default values.
    
    Bug: angleproject:3579
    Test: dEQP-GLES31.functional.fbo.*no_attachments*
    Test: dEQP-GLES31.functional.state_query.framebuffer_default.*
    Change-Id: I9580b924ac810db573cd8df96273fbb01bbb1f73
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1690688
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Commit-Queue: Tim Van Patten <timvp@google.com>

commit ad77f55e018305e7faaa455583a225a26c77da13
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Aug 1 14:41:17 2019 -0400

    Vulkan: Remove finish calls before BufferVk::mapImpl
    
    This function already calls a finishToSerial(), which waits only for the
    last submission in which the buffer was used to finish.  There is no
    need to call finish() beforehands.
    
    Bug: angleproject:3213
    Change-Id: I410adb80a630ff9a1cba8f7202cf002a7ea5f87b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1731551
    Reviewed-by: Ian Elliott <ianelliott@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 825233007c7d4473d33da4907614e4b90959a7c5
Author: Jiacheng Lu <lujc@google.com>
Date:   Thu Aug 1 09:49:26 2019 -0600

    Vulkan: Recycle VkFence in checkCommandsCompleted
    
    VkFence is intended to be recycled after used up, however, there is one
    place that VkFence get destroyed directly after usage due to an
    implementation flaw. This CL fixed it up.
    
    Bug: angleproject:3556
    Change-Id: I9ee44556329b9cee39ccdfef540f3c1b5180cd36
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1731575
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Tobin Ehlis <tobine@google.com>

commit 017c9d8ea78b0945f9034b91e85166f94a57dd9e
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Aug 2 07:01:28 2019 +0000

    Roll ./third_party/spirv-tools/src ac3d131054ac..0b70972a29c7 (6 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/ac3d131054ac..0b70972a29c7
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@0b70972a29c7
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    Bug: None
    TBR=geofflang@google.com
    Change-Id: Ia54fbc8403a4d7432ceb79369d257df860f81194
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1732515
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 5e6468ba6b6f8cfca41eae05cbf4c7eb937cd4a8
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Aug 2 07:44:29 2019 +0000

    Roll ./third_party/glslang/src eea340047eca..a0eb5efd2bad (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/eea340047eca..a0eb5efd2bad
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@a0eb5efd2bad
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    Bug: None
    TBR=geofflang@google.com
    Change-Id: Ifc6b5debeccd4e74fc1eb2c1a5ad9079fedab981
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1732791
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 369f9e5df60b349e3d7ad8693fc90ede86e609f5
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jul 30 13:46:14 2019 -0400

    GL: Support Rectangle textures as sources for glCopyTextureCHROMIUM.
    
    Chrome uses rectangle textures on mac to copy data.  ANGLE's frontend allowed
    them as CopyTexture sources but did not implement them in the backend.
    
    TEST=Any WebGL test on Mac
    
    BUG=982294
    
    Change-Id: If2e40292b22c4f49676e3ece8cc6fa126c5b7b94
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1726849
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 301f77e7ad38757ab066d7399fcb5912db14073d
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Jul 30 13:51:12 2019 -0400

    Vulkan: Enable passing ES2 multisample tests
    
    The tests need to be run with --deqp-gl-config-name=rgba8888d24s8ms4 for
    deqp to even try them.  They pass and the removal of suppressions was
    missing from:
    
    https://chromium-review.googlesource.com/c/angle/angle/+/1639749
    
    Bug: angleproject:3204
    Change-Id: I77cb528da090d1374152e2e32f86e974df70358a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1726850
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 593b1a6ca228b83cebf27f0c714067a44c6c6c92
Author: James Dong <dongja@google.com>
Date:   Tue Jul 30 10:02:22 2019 -0600

    Vulkan: Fix array handling in default uniforms
    
    Changes default uniform block layout generation to only remove the first
    array subscript, which causes arrays of arrays to be recognized
    correctly.
    
    Bug: angleproject:3604
    Test: ./angle_deqp_gles31_no_gtest --deqp-egl-display-type=angle-vulkan -n 'dEQP-GLES31.functional.shaders.arrays*'
    Test: ./angle_deqp_gles31_no_gtest --deqp-egl-display-type=angle-vulkan -n 'dEQP-GLES31.functional.program_interface_query.*array*array*'
    Change-Id: Ifacc665cae87c651253e5cb8d929178d7fc92817
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1724906
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: James Dong <dongja@google.com>

commit d43d24bbb5995767394d1c44701e2f6ce0a49714
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 30 17:22:20 2019 -0400

    Capture/Replay: Refactor entry points.
    
    This change does two things:
    
     * only call validation functions once per entry point.
     * move the capture call after the entry point call.
    
    Moving the capure after the call allows us to process the results of
    the call. Also we can clean up the validation double call by doing a
    bit of entry point refactoring. The code changes shouldn't impact the
    resulting code size when capture is disabled.
    
    Bug: angleproject:3611
    Change-Id: I9e74ba0a8266903d3e9d1f2eac6acdd2932e5743
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1706561
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Tim Van Patten <timvp@google.com>

commit a0d010ab974eadfea715f3f312c7e13a5f49c5d0
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Aug 1 11:05:21 2019 -0400

    Disable atomic counter buffer tests on AMD/Windows/GL
    
    Second attempt at fixing this bot:
    
    https://ci.chromium.org/p/chromium/builders/ci/Win10%20FYI%20x64%20Release%20%28AMD%20RX%20550%29
    
    Bug: angleproject:3738
    Change-Id: I8e8626cc911df9dae82c542b2dde8696f10e49bc
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1731130
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 868f5fa02353df97ae486d45af5afb08f495e489
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 30 17:22:18 2019 -0400

    Refactor return values from entry points.
    
    For capture, we'd ideally like to know the return value of a function
    when we capture it. The first step will be to intercept the return
    value instead of returning directly.
    
    Bug: angleproject:3611
    Change-Id: I68c21aea323a71c6a9f1be613862158a37e2beae
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1706560
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit e995d7fb23c5fa1bdd7d77c1b63d707259e65b31
Author: Xinghua Cao <xinghua.cao@intel.com>
Date:   Wed Jun 26 17:59:27 2019 +0800

    Use memoryBarrier to sync image load and store
    
    Image load and store are incoherent memory access
    operations, so need to use memoryBarrier to ensure
    the visibility of incoherent memory access operations
    with other operations.
    
    Bug: angleproject:3044
    Change-Id: I4d474d260a3199c026911de8d20878cd327d16c6
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1677420
    Commit-Queue: Xinghua Cao <xinghua.cao@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 1dbbc7b3e23296acc3892e317b1fe668bcb49585
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Wed Jul 31 17:49:39 2019 -0400

    Skip couple TextureBorderClampIntegerTestES3 tests.
    
    TextureBorderClampIntegerTestES3.TextureBorderClampInteger/ES3_OpenGL
    TextureBorderClampIntegerTestES3.TextureBorderClampInteger2/ES3_OpenGL
    failing on Win10 FYI x64 Release (AMD RX 550).
    
    Bug: angleproject:3760
    Change-Id: I0ccd56f190b1a3775f6a9a0448ca3003baa331ac
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1729564
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit eb1b1646aebe35cee10b38f81766d73ef57cbace
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 30 17:22:17 2019 -0400

    Capture/Replay: Fix capture-enabled libs build.
    
    Adds a build option to use the capture libraries in the default output
    location for libGLESv2. With |angle_with_capture_by_default| enabled,
    libGLESv2 will have capture enabled and the non-capture libGLESv2 is
    built as libGLESv2_no_capture.
    
    Also moves the FrameCapture to be owned by gl::Context. Rearranges the
    code a bit so that we don't require a separate version of libANGLE for
    capture.
    
    Also implements a read pixels entry point parameter.
    
    Bug: angleproject:3611
    Change-Id: Ic528e43e4779f794c8b6d0bf35410166dacc81b1
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1719064
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 3e493c48d2da71f045582fe80e44343316cec5f1
Author: Jiacheng Lu <lujc@google.com>
Date:   Mon Jul 29 16:27:01 2019 -0600

    Vulkan: Optimize memory allocation offset rounding
    
    Use bit operation to compute memory alignment round up.
    Tested with T-Rex, hotspot in roundUp resolved.
    
    Bug: angleproject:3744
    Change-Id: I55db941f588401a1d2d3d93f4d6b810e6b1aa95f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1725118
    Commit-Queue: Jiacheng Lu <lujc@google.com>
    Reviewed-by: Tim Van Patten <timvp@google.com>

commit 34ebecc19c6bbee5d7f9270bc2f0418ce6b8907d
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Jul 31 07:01:57 2019 +0000

    Roll ./third_party/glslang/src f04f1f93a70f..eea340047eca (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/f04f1f93a70f..eea340047eca
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@eea340047eca
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    
    Bug: None
    TBR=geofflang@google.com
    Change-Id: I5d672794fb0ff90519363cad5172a614e8705347
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1728332
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit eb06814d90ef61d3432c5765f313c516d95ea7e9
Author: Xinghua Cao <xinghua.cao@intel.com>
Date:   Wed Jul 3 17:17:45 2019 +0800

    Correct barriers of glMemoryBarrier in test cases
    
    Some test cases use wrong barriers when calling glMemoryBarrier.
    
    Bug: angleproject:2280
    Change-Id: I0750c1eba84ed8af32091f7ecd5bdbd2b32fd397
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1687591
    Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Xinghua Cao <xinghua.cao@intel.com>

commit 1ebe6014389e022dfb1d89ae47cb8b4c7593a733
Author: Jiacheng Lu <lujc@google.com>
Date:   Mon Jul 29 16:02:15 2019 -0600

    Vulkan: Only check sampler when setUniform1i(v)
    
    1. only do isSampler checking when update int uniforms
    2. inline some simple methods of LinkUniform
    
    This fix reduce CPU time spent on `isSampler` call from 70ms to 30ms in
    T-Rex bench on specific platform.
    
    Bug: angleproject:3743
    Change-Id: I98ef3c892df27e08d54ed40946d924b5a50c796c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1725114
    Commit-Queue: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tim Van Patten <timvp@google.com>

commit 8b2dfa0fc657d64903849421f7aa0885f39a0eb0
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jul 4 16:22:05 2019 -0400

    GL: Implement EXT_external_objects
    
    This allows the GL backend to import Vulkan resources.
    
    BUG=angleproject:3656
    
    Change-Id: Ie5e55ce3e1ba05e917619e3f192c13dcc36c3739
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688507
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Clemen Deng <clemendeng@google.com>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 5c6a6cb6eb88a3cd0050325df6fdcfbd0afeacee
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jul 4 15:51:48 2019 -0400

    GL: Load external object extension entry points.
    
    BUG=angleproject:3656
    
    Change-Id: I360d5a0eda820a4138e5400614332ae919216db6
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688506
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Clemen Deng <clemendeng@google.com>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit b75b97a269a7464f3e6d593bb20139e1c053ef63
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jul 29 14:38:02 2019 -0400

    Support the SearchType argument for loading libraries with posix.
    
    When a local shared library should be loaded, resolve its full path
    before calling dlopen.
    
    This logic matches SwiftShader's library loading.
    
    This is a speculative fix for Chrome being unable to load ANGLE libraries
    when they are distributed as part of a Chromium.app and have a different
    path than the executable.
    
    BUG=982294
    
    Change-Id: Ib70096eac7460417ea7ea32941e2273dd368e6ac
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1724910
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Clemen Deng <clemendeng@google.com>

commit 2613cdba80a3aca0f131b55af3c41cc62a43a31c
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Jul 22 10:33:08 2019 -0400

    Vulkan: Fix barriers between render passes
    
    Color attachment output ordering applies to commands recorded within a
    render pass subpass.  We still need execution barriers between render
    passes (and subpasses, but we don't use them).
    
    Bug: angleproject:3347
    Change-Id: Ifaddaeac35347d8a35e771f46a29047d52c9541c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1713085
    Reviewed-by: Fei Yang <fei.yang@arm.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 70cded6ac635c4bc0250f1b3166572043bc4eb73
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Jul 30 07:01:44 2019 +0000

    Roll ./third_party/spirv-tools/src 9559cdbdf011..ac3d131054ac (4 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/9559cdbdf011..ac3d131054ac
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@ac3d131054ac
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    
    Bug: None
    TBR=geofflang@google.com
    Change-Id: I88f21fb37e85379603e48bbbf221d9088b7cfaaf
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1725336
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 3527cf1aa8ef3124a69245806171ea2c0a69e797
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Jul 30 07:02:00 2019 +0000

    Roll ./third_party/glslang/src 7fc868349143..f04f1f93a70f (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/7fc868349143..f04f1f93a70f
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@f04f1f93a70f
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    
    Bug: None
    TBR=geofflang@google.com
    Change-Id: Ife87ce07871fed4270585054a7ce29b17c0ae313
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1725526
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 9addf0cb8cee1f2e368f73b0da5e3f1638cf4f57
Author: Tim Van Patten <timvp@google.com>
Date:   Tue Jul 23 11:45:24 2019 -0600

    Vulkan: Enable Line Rasterization Emulation
    
    Android requires the same line rasterization for Vulkan, so this CL will
    enabled that workaround.
    
    Bug: angleproject:2830
    Test: dEQP-GLES2.functional.rasterization.primitives.line*
    Change-Id: Ic28dd2e54c5cb9b29f8592952b2c0f29a5f97fd5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1715207
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Commit-Queue: Tim Van Patten <timvp@google.com>

commit a79c2440f6536e3c46b4ef5193f7ddb3a67acf04
Author: Tim Van Patten <timvp@google.com>
Date:   Mon Jul 29 11:34:21 2019 -0600

    Make libEGL function pointers hidden in symbol table
    
    The libEGL_angle.so and libGLESv2_angle.so libraries are typically
    loaded into the same process each time, so we need to make sure there
    aren't any duplicated symbols which could violate ODR and lead to
    crashes or undefined behavior.   In this case, the libEGL_angle.so
    function pointer names were colliding with libGLESv2_angle.so function
    names, causing crashes at runtime.   The fix here is to mark the
    libEGL_angle.so function pointer symbols 'hidden', so they don't appear
    in the symbol table for other executables/libraries to see and can't be
    overridden by other symbols.
    
    Bug: angleproject:3751
    Test: Embed ANGLE within dEQP.apk and verify no crashes
    Change-Id: Ibb78369374a4a68b3489a7dd7775c52e29fa37e0
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1724909
    Commit-Queue: Tim Van Patten <timvp@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit cbabea734cbd5537bdc73a46030462b01485a179
Author: Tim Van Patten <timvp@google.com>
Date:   Thu Jul 11 17:24:17 2019 -0600

    Vulkan: Desktop ETC/EAC formats support
    
    Initial attempt to give desktop ETC/EAC formats support.
    
    Bug: angleproject:3676
    Change-Id: Id147b0c1808e30df77097d0c7ff6a06534554b93
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1699307
    Commit-Queue: Tim Van Patten <timvp@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 3a36f3061f51d171207efffd267b29c6c6396c3b
Author: Jiacheng Lu <lujc@google.com>
Date:   Fri Jul 19 12:43:22 2019 -0600

    Always set matrix uniform to dirty when it updates
    
    Remove the dirty checking of matrix uniform update at frontend and
    always let backend update whenever glUniformMatrix* is called. Profiled
    with UniformsBenchmark/* with vulkan backend, performance increases
    around 6% when data being updated is changing and performance increases
    around 2% when data being updated stays same.
    
    Bug: angleproject:3705
    Change-Id: I8eaf6a1231e634b69c6dc540db1b9d3a312bf45d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1709725
    Commit-Queue: Jiacheng Lu <lujc@google.com>
    Reviewed-by: Tobin Ehlis <tobine@google.com>

commit bf3d9333e760f24e7bb1d68ff7e3b1cc6aee7454
Author: James Dong <dongja@google.com>
Date:   Mon Jul 29 10:00:44 2019 -0600

    Vulkan: support relative offset in attrib bindings
    
    Handles the ES 3.1 relative offset parameter in vertex attributes by
    adding it to the binding offset.
    
    Test: ./angle_deqp_gles31_no_gtest --deqp-egl-display-type=angle-vulkan -n dEQP-GLES31.functional.vertex_attribute_binding.usage.single_binding.unaligned_offset_elements_1_aligned_elements
    Bug: angleproject:3598
    Change-Id: Idbbd5ba4868a4dfc8f99188a84a5cd1374e09065
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1724453
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: James Dong <dongja@google.com>

commit 758b12fa7e671b9475fcf926c4c51e725cf945cc
Author: Jiacheng Lu <lujc@google.com>
Date:   Wed Jul 17 14:55:38 2019 -0600

    Filter out redundant depth&stencil state updates
    
    1. Compare updating values with active ones at frontend when
    depth&stencil related gl call happens and do not set any unnecessary
    dirty bits.
    2. Remove d3d and gl backends' checking of depth&stencil states when
    detect any dirty bits, as it is now being done at frontend.
    3. Modification to graphics pipeline description update, make sure it
    syncs with gl::State initial value.
    4. Change gl_vk::CullMode return type to VkCullModeFlagBits, as it only
    represents single value.
    
    Bug: angleproject:3700
    Change-Id: Id3aa5186455ee3a10a9c147edad13944e3e41098
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1706903
    Commit-Queue: Jiacheng Lu <lujc@google.com>
    Reviewed-by: Tobin Ehlis <tobine@google.com>

commit c405776eb4a0cd4fbebff99f658527981e9d33a3
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Jul 29 07:01:59 2019 +0000

    Roll ./third_party/glslang/src 42f813401bdf..7fc868349143 (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/42f813401bdf..7fc868349143
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@7fc868349143
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    
    Bug: None
    TBR=jmadill@chromium.org,jmadill@google.com
    Change-Id: I91cbab4ec63909cf62892905d0e6500e22261855
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1723835
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit d7e0a36ac6182c56f442e73d49a2d532dfa01680
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Jul 29 07:01:44 2019 +0000

    Roll ./third_party/spirv-tools/src f54b8653dd9d..9559cdbdf011 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/f54b8653dd9d..9559cdbdf011
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@9559cdbdf011
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    
    Bug: None
    TBR=jmadill@chromium.org,jmadill@google.com
    Change-Id: I27a15130e7b8786e1d2404a2cfa6954f9ddd339f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1723834
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit a96b79f909403b53ea4c577912bdf611da9ff064
Author: Jeff Gilbert <jgilbert@mozilla.com>
Date:   Fri Jul 26 17:33:16 2019 -0700

    Explicitly instantiate TIntermTraverser::traverse(TIntermNode *).
    
    (on behalf of RewriteAtomicFunctionExpressions)
    The compile will occasionally choose to inline all instances of this
    function, and therefore not export this entrypoint into the object file,
    leaving other TUs (RewriteAtomicFunctionExpressions) with missing
    link symbols.
    
    Bug: angleproject:3752
    Change-Id: Ida778bcd897a85567680911a88aae88a3797aa93
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1721954
    Commit-Queue: Jeff Gilbert <jgilbert@mozilla.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit a51232eb2f723b6bb99b23d87edd3f5c3418f8f3
Author: Ian Elliott <ianelliott@google.com>
Date:   Fri Jul 26 15:02:39 2019 -0600

    Vulkan: Split-out PBO and pack/unpack expectations
    
    Bug: angleproject:3209
    Change-Id: I82e67345ce9f70b1b1d211b00b23d95dd53a44e7
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1721188
    Reviewed-by: Ian Elliott <ianelliott@google.com>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit 35f028503d3df8c773fae08ad32c3e4ef0f1b228
Author: Tim Van Patten <timvp@google.com>
Date:   Tue Jul 23 17:20:25 2019 -0600

    Vulkan: Reduce getMaxConformantESVersion() to 2.0
    
    We are currently returning a 3.0 context for Vulkan backends (issue
    3425).   However, we aren't quite 3.0 conformant yet, so this bug
    will drop that back down to 2.0 in getMaxConformantESVersion().
    
    Bug: angleproject:3734
    Test: dEQP
    Change-Id: I2c5a6ee0ddb3bd52fdc92fdc9b12cf3c6d8e0510
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1716244
    Commit-Queue: Tim Van Patten <timvp@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 8d3077b846e68144283b901948e2db11e99d7380
Author: Ian Elliott <ianelliott@google.com>
Date:   Fri Jul 26 09:44:36 2019 -0600

    Vulkan: Expect additional texture-specification tests to run/pass
    
    Recent changes allow these to all run and pass!
    
    Bug: angleproject:3190
    Change-Id: I6349b8d9aa90297e676f170361f468ac04b3150d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1721171
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit ce66a4f88b81934655d62e3847a7c34ec16e8f12
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Fri Jul 26 16:27:04 2019 -0400

    Skip 2 end2end tests failing on 431.02 Windows NVIDIA driver
    
    ClearTestES3.RepeatedClear/ES3_Vulkan
    ShaderStorageBufferTest31.LoadAndStoreBooleanValue/ES3_1_D3D11
    
    Bug: angleproject:3748, angleproject:3749
    Change-Id: I54c6259d36c9993250e961d92a6d4b8e4349ed57
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1721185
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 73e5e9b55a40c975ec71352a224163c89d9a3daa
Author: Jiacheng Lu <lujc@google.com>
Date:   Mon Jul 22 15:26:17 2019 -0600

    Clang warn implicit float to int conversion
    
    1. add '-Wfloat-conversion' in compiler flag for clang
    2. fix existed implicit float conversion
    
    Bug: angleproject:3728
    Change-Id: I0dc07eeb74c5d6dc480c6f0aa88bc75ab98e4292
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1713741
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit a2129356e944db916eeab34e887fd05f40a85fe1
Author: Cody Northrop <cnorthrop@google.com>
Date:   Tue Jul 23 12:54:13 2019 -0400

    Vulkan: Add support for 2D array textures
    
    Includes changes from jmadill to align with Vulkan backend design.
    
    Correctly setting layer count and depth when the texture type is
    2Darray. Vulkan requires depth of 1 for 2Darray textures.
    
    Bug: angleproject:3189
    Change-Id: I0d58c33fcd75b1d768ea0308ac6e54230d8cfcc5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1721169
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Cody Northrop <cnorthrop@google.com>

commit 7e50f4cd5e1043b769fbdea1bf786a4d7f104429
Author: James Dong <dongja@google.com>
Date:   Thu Jul 25 09:58:51 2019 -0600

    Vulkan: Fix ES 3.1 vertex attribute bindings
    
    When handling dirty bindings, we were treating binding indices as if
    they were attribute indices, causing strange behavior. This change fixes
    the dirty bit handler to use the provided index properly and update the
    attributes that correspond to the binding index.
    
    Test: ./angle_end2end_tests --gtest_filter='VertexAttributeTestES31.OnlyUpdate*/ES3_1_Vulkan'
    Bug: angleproject:3598
    Change-Id: I2bc3cd4da5f639a1301776fcf057a74368812c56
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1718786
    Commit-Queue: James Dong <dongja@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 6e9098629bca9588cf3f000b5272005ae6f735e9
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Fri Jul 26 11:12:15 2019 -0400

    Update dEQP charts.
    
    The charts were regenerated, update the docs to point to the new charts.
    Also remove some redundancy (we don't need the overview to track differences in vendors)
    
    Bug: angleproject:3713
    Change-Id: I2005031c4ca960d7f9afd80562957d31af795d61
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1721190
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

commit 020abb8b82e4c02534b384151126e814280535ff
Author: James Dong <dongja@google.com>
Date:   Wed Jul 24 11:33:49 2019 -0600

    Vulkan: invalidate translation buffers for SSBOs
    
    Translation buffers weren't being marked dirty after running a compute
    shader in which they are bound as SSBOs.
    This change invalidates all SSBOs after a draw or compute call.
    
    Bug: angleproject:3739
    Change-Id: I66b56df7e619b55afc7e3da6b5613b6d050e06bb
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1717144
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: James Dong <dongja@google.com>

commit 3e9bc2a72b028c383a0b173acdf25ac096a3cec4
Author: Jiacheng Lu <lujc@google.com>
Date:   Fri Jul 26 10:23:32 2019 -0600

    Fix param name of glDrawArrays capture
    
    Bug: angleproject:3611
    Change-Id: Idba4d49d36274db8545f2526f19f045f97031379
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1721173
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit f2412bca355d6a9bac85821cb311b049e89273ab
Author: Clemen Deng <clemendeng@google.com>
Date:   Tue Jul 16 15:47:34 2019 -0400

    Get rendering to texture working
    
    Other small fixes for desktop compatibility
    
    Bug: angleproject:3620
    Change-Id: I8e75bce1f850fb891c8bb6e16f79302a6d59276c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1707932
    Commit-Queue: Clemen Deng <clemendeng@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 0716ce0a2c0c2aee069bc038fb0b55e796dd6052
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Mon Jul 22 15:20:47 2019 -0400

    Re-add case to blitframebuffer workaround where src is outside of bounds.
    
    On Mac, blitFramebuffer calls fail if the source region is not enclosed
    by the framebuffer. In this case, we must naively clip the source region
    and adjust the dest region accordingly. This is slightly different
    behavior and may cause issues with scaling so we use a separate
    workaround.
    
    Also, Windows NVIDIA has a driver bug that affects Vulkan device
    creation after blitting large textures, so it should be included in the
    original workaround.
    
    This CL cleans up the workaround to use more helpers from ANGLE and to
    generally improve readability.
    
    Bug: chromium:830046
    Change-Id: I50bd97449725b738036e6bd3af82362020d7eda8
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1713090
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit f002a637743fd613e687d2f8e1e0aa20302c1c23
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Jul 26 07:02:00 2019 +0000

    Roll ./third_party/glslang/src 9f2236e58ed0..42f813401bdf (6 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/9f2236e58ed0..42f813401bdf
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@42f813401bdf
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    
    Bug: None
    TBR=jmadill@chromium.org,jmadill@google.com
    Change-Id: I88b5be03e7f7ec2b442baa2a01033ac5ca97dd4d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1720290
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit eaef09c0ccd2965a4587d2b3acbeae89fd3aaad7
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Jul 26 07:01:44 2019 +0000

    Roll ./third_party/spirv-tools/src 3855447d93eb..f54b8653dd9d (9 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/3855447d93eb..f54b8653dd9d
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@f54b8653dd9d
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    
    Bug: None
    TBR=jmadill@chromium.org,jmadill@google.com
    Change-Id: Id79c4c5ce598fb2bb1206e3902ffede2aa8dc4c8
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1720289
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit fab397e5acde075ba71e4b3a87ba7b173f1e1a51
Author: Ian Elliott <ianelliott@google.com>
Date:   Thu Jul 25 10:18:50 2019 -0600

    Vulkan: Enforce an error when initializing a global with a non-const
    
    The ESSL 1.0 spec is clear that "initializers must be a constant expression."
    Yet, because of "legacy" applications (apparently just WebGL applications), the
    code was only issuing a warning and not an error.  The
    "KHR-GLES2.shaders.negative.initialize" test requires an error be generated.
    This change splits the semantics, allowing GLES applications to get an error,
    and WebGL applications to get a warning.
    
    Note: This change is related to https://chromium-review.googlesource.com/829138
    (for angleproject:2285).
    
    Bug: angleproject:3381
    Change-Id: Ie243b7dd72102aeb52df506d121d1d2a8f6974d3
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1716617
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit c327370e72d3983ff8ac83111dbd47b7764927ce
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 23 12:54:12 2019 -0400

    Vulkan: Pass VkExtent3D to TextureHelper::init.
    
    Bug: angleproject:3189
    Change-Id: I4b95240bb32fbc2b3d0c8f097e0552d0fe23417d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1713094
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>

commit c68e7cbcad03ceb75c65420f6b5faa1dc60466f2
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Jul 25 11:28:07 2019 -0400

    Vulkan: Fix image copy flipping
    
    The draw framebuffer was consulted for flipping instead of the read
    framebuffer.
    
    Revealed a bug with copy-with-transfer not taking source render target's
    level/layer into account.  This test was failing on Linux/Intel because
    there the framebuffer is not flipped, so the transfer path was taken.
    
    Bug: angleproject:2954
    Bug: angleproject:3723
    Change-Id: If95bf97b8e0536302ed39999be47bf904283c9e4
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1718784
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit bbffb7796cbf5b6860903406c5be9f37b727c2e4
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Jul 25 11:24:39 2019 -0400

    Fix read framebuffer binding sync before copy image
    
    The READ_FRAMEBUFFER_BINDING dirty bit sync was missing from copy image
    functions.  In the Vulkan backend, a cached value for the current read
    framebuffer was used to determine if the copy should flip in Y, and that
    cached value was out of date.
    
    Bug: angleproject:3723
    Change-Id: I10e8a276a42c28fbedc9939f653a5a1f4a14e87b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1715483
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 08b97da894b278c10e70b6888ac65e3972a13b31
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Jul 23 12:07:13 2019 -0400

    Vulkan: Fix staging buffer alignment for pixel sizes > 4
    
    Previously, all non-compressed formats were satisfied with a 4-byte
    alignment.  The introduction of float formats changes this.
    
    This change calculates the necessary alignment using the same code path
    as compressed formats.
    
    Also fixes RGB9E5's pixelByte being calculated as 3 instead of 4.
    
    Bug: angleproject:3731
    Change-Id: I6abfd1c294e7f863eb99d2468eaac09e5d714039
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1715205
    Reviewed-by: Mohan Maiya <m.maiya@samsung.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 557e3853da56b9ff72be8ad8ce3643f5cdeb1d4d
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Jul 24 18:16:18 2019 -0400

    Vulkan: Disable atomic counter buffer tests on AMD/Windows
    
    A likely driver bug is causing the subsequent OpenGL test to fail.
    
    Bug: angleproject:3738
    Change-Id: I6ee5e9e7298a2adb3069a6e14ac83453fa34b50f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1716056
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 8bb46c5b9ffc89e3d5eeddcd990fd69bb4cbeecd
Author: Clemen Deng <clemendeng@google.com>
Date:   Mon Jul 22 16:04:55 2019 -0400

    Refactor: add InternalFormat::isInt()
    
    Bug: angleproject:3727
    Change-Id: I33ee85563e3b070b4b86afc37230d3f5af54f446
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1713091
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit dd3de6f095c1a0e8b7c4fff579541287ab2f4fe6
Author: Jose Dapena Paz <jose.dapena@lge.com>
Date:   Mon Jul 22 21:17:52 2019 +0200

    Do not assume __has_builtin is available
    
    Compilation with GCC breaks as there is a build check using it.
    To avoid the problem, we declare the macro HAS_BUILTIN that maps
    to __has_builtin if it is defined, or 0 otherwise.
    
    Bug: chromium:819294
    Change-Id: I105d566f08baa495fccd553d7b06eb8ce36621ef
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1713604
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit cd369bb8a2518eaca7fbdb0936095d3b5d44b4ee
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Jul 23 07:01:39 2019 +0000

    Roll ./third_party/spirv-tools/src 76b75c40a1e2..3855447d93eb (3 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/76b75c40a1e2..3855447d93eb
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@3855447d93eb
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    
    Bug: None
    TBR=jmadill@chromium.org,jmadill@google.com
    Change-Id: I5d98e670ca5e5de9c2675cca7803e395e7f0d1d3
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1714120
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 02407743bd7261c37abae0f7e4962ea324662122
Author: James Dong <dongja@google.com>
Date:   Mon Jul 22 10:56:35 2019 -0600

    Vulkan: implement indirect dispatch
    
    Implements indirect dispatch for Vulkan backend. Layout of dispatch
    structure is the same as OpenGL, so we pass in the buffer directly.
    
    Test: ./angle_deqp_gles31_no_gtest --deqp-egl-display-type=angle-vulkan -n 'dEQP-GLES31.functional.compute.indirect_dispatch.*'
    Bug: angleproject:3601
    Change-Id: I94c6b1a86d3c24c1ca1bb6a78529b38909a2b91f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1710024
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: James Dong <dongja@google.com>

commit cedea1d91bd893e6edbda9a79ed13f511ecd0577
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 22 17:02:25 2019 -0400

    Vulkan: Rename 'extents' param to 'glExtents'.
    
    Merely a minor refactor to clean up the diff of a subsequent CL. In the
    follow up we will also distinguish the GL extents from the Vulkan
    extents/layerCount pair.
    
    Bug: angleproject:3189
    Change-Id: Ibbb79bf2e6d3f798243b424bacbfb2e5538bfecf
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1709755
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>

commit 592539fdee80b57a1b1a61fb52aa135b7255cec3
Author: Clemen Deng <clemendeng@google.com>
Date:   Wed Jul 10 13:15:59 2019 -0400

    Implicit conversions for Desktop GL shaders
    
    Need to support implicit conversions between types for GL shaders
    Other small fixes to support GL shaders
    
    Bug: angleproject:3673
    Change-Id: I5341cb7195054ccc4cd36aad5dc8c801c7e1a14f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1698649
    Commit-Queue: Clemen Deng <clemendeng@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 3dcd8ebb80061814111d5b7a6b66dbe093222861
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Mon Jul 22 15:33:22 2019 -0400

    Skip ProgramBinaryTransformFeedbackTest.GetTransformFeedbackVarying
    
    on Pixel 2 Vulkan.
    
    Bug: angleproject:3690
    Change-Id: Ic00038cfe8fe9d1170eb75aec89c0ac0f074fb05
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1710026
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit deb43a31ccb0c0f5615beb670a64169dc433d1d5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 22 09:56:27 2019 -0400

    Vulkan: Store VkExtents3D in ImageHelper.
    
    This makes the distinction between a gl::Extents (includes a depth
    value for 2D array texture layer count) and a Vulkan extents (2D array
    textures have a "1" for depth) clearer. Preparation refactor patch.
    
    Bug: angleproject:3189
    Change-Id: I9a13379c421e7f3c7856ac15b7a73013258ab9fe
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1709754
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit da2b649ce9d249815f22161f84d7f80da3661d53
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 22 09:56:26 2019 -0400

    Texture: Make ImageIndex store layer counts.
    
    Only for 2D array textures.
    
    Bug: angleproject:3189
    Change-Id: I9958ab60ffa464aa63f5cb321cbbe14b378f3647
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1709109
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>

commit af80b78119e45c15e2c0bf4038e74471c67501b5
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Mon Jul 22 14:31:08 2019 -0400

    Skip ShaderStorageBufferTest31.ActiveSSBOButNotStaticallyUsed
    
    on Pixel 2 Vulkan.
    
    Bug: angleproject:3725
    Change-Id: Ic5c80ad3ec495c3fd382639f761b368f16993434
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1713564
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit b82d86333662bdcce273307fdfbd1cd4d4b6f89a
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Jul 15 11:23:08 2019 -0400

    Vulkan: Atomic counter buffer support
    
    Vulkan doesn't treat atomic counters especially, and they are emulated
    with atomic access to storage buffers.
    
    A single atomic counter buffer binding per pipeline is supported.  All
    the atomic counters identify an offset within this buffer.  The shader
    is modified to include a storage buffer definition with
    `uint counters[];` as the only field.
    
    A compiler pass replaces atomic counter definitions with variables that
    hold the corresponding offset parameter, as well as changing atomic_uint
    types to just uint (as the offset).  Where an atomic counter variable is
    used, it is replaced with the offset variable (plus the array index, if
    array).  At the same time, built-in `atomicCounter*` functions are
    replaced with a corresponding `atomic*` function and
    `memoryBarrierAtomicCounter` is replaced with `memoryBarrierBuffer`.
    
    Bug: angleproject:3566
    Change-Id: Iefb3d47de6a5cb3072bfa0cb94a46ac6a886d369
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1704635
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tim Van Patten <timvp@google.com>

commit bd4ff4792e9bff1af1090624b64617cac2236aee
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Fri Jul 19 22:08:17 2019 +0000

    Revert "Reland "Temporarily disable creating D3D debug device.""
    
    This reverts commit 6064e6ab6bc7355b410543301a578d22d2f6e477.
    
    Reason for revert: flakiness should be fixed by https://chromium-review.googlesource.com/c/angle/angle/+/1709726
    
    Original change's description:
    > Reland "Temporarily disable creating D3D debug device."
    >
    > This reverts commit 28394c2295335929c17bbfe0ab74f923cd234ff2.
    >
    > Reason for revert: may be the cause of flakiness on Win10 Debug (NVIDIA) per http://crbug.com/972914 .
    >
    > Original change's description:
    > > Revert "Temporarily disable creating D3D debug device."
    > >
    > > This reverts commit 3d544fffe7ff9284b21e3a15f638297c827bbc21.
    > >
    > > Reason for revert: Seems like flakiness is not related.
    > >
    > > Suppress D3D11 test failures uncovered by re-enabling D3D debug device:
    > > ComputeShaderTest.DispatchCompute
    > > Texture2DTestES3.TextureImplPropogatesDirtyBits
    > > D3DTextureTestMS.*
    > >
    > > Also a small fix to ANGLETestBase::checkD3D11SDKLayersMessages
    > > to clear reported messages, otherwise the failures are also reported
    > > for tests following the one with the actual failure.
    > >
    > > Original change's description:
    > > > Temporarily disable creating D3D debug device.
    > > >
    > > > To diagnose whether Windows Intel end2end tests flakiness
    > > > is related to creating debug device and new version of Windows SDK.
    > > >
    > > > Bug: angleproject:3153
    > > > Change-Id: Ica7eae3fe875e22203b6dfd98b83604d66a97737
    > > > Reviewed-on: https://chromium-review.googlesource.com/c/1476954
    > > > Reviewed-by: Geoff Lang <geofflang@chromium.org>
    > > > Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    > >
    > > Bug: angleproject:3153, angleproject:3493
    > > Bug: angleproject:3501, angleproject:3512, angleproject:3513
    > >
    > > Change-Id: I232da72aa09c2b9230cf179dd54e1731f8365f8e
    > > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1480854
    > > Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    > > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    > > Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    >
    > TBR=ynovikov@chromium.org,geofflang@chromium.org,jmadill@chromium.org
    >
    > Change-Id: I38a5cc9bb6ebcd50e97e40cc972a82679e73732a
    > No-Presubmit: true
    > No-Tree-Checks: true
    > No-Try: true
    > Bug: angleproject:3153, angleproject:3493, angleproject:3501, angleproject:3512, angleproject:3513
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1652784
    > Reviewed-by: Kenneth Russell <kbr@chromium.org>
    > Commit-Queue: Kenneth Russell <kbr@chromium.org>
    
    TBR=ynovikov@chromium.org,geofflang@chromium.org,kbr@chromium.org,jmadill@chromium.org
    
    Bug: angleproject:3153, angleproject:3493, angleproject:3501, angleproject:3513
    Change-Id: I16eff79172dcfa2dd6d4f6445a74c9c65c1bd27c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1710861
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 87dc17b5e7cb9d299bcbcb376e5753d9c0c31294
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Jul 22 11:41:27 2019 -0400

    Vulkan: Generalize buffers desc set name to include images
    
    And atomic counter buffers which are emulated with storage buffers.
    
    Bug: angleproject:3566
    Change-Id: I102763900c779c3a84661491bad53aec384461f7
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1713086
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit a71549b1129783d2c4ebc1e986bed553c48c4c7e
Author: Fei Yang <fei.yang@arm.com>
Date:   Tue May 28 09:44:43 2019 +0800

    Vulkan: Intermittent failures in many GLES2 CTS
    
    The stage mask in vkCmdPipelineBarrier is incorrectly set.
    
    Bug: angleproject:3473
    Change-Id: I4fea5994a391b0db0f81183f1c4d4ba47d387acb
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1631849
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 7151fe54fea0d9da0f0efe3e0c44f14752d0d198
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Wed Jul 17 15:15:27 2019 -0400

    Port adjust_src_dst_region_for_blitframebuffer workaround to ANGLE.
    
    BlitFramebuffer has issues on some platforms with large source/dest
    textures. As per the WebGL2 spec, this was caught with validation for
    sizes over 2^32, but there is a specific issue on Linux NVIDIA where it
    fails on sizes over 2^16. A better workaround (from chromium), resizes
    the blitframebuffer call based on the framebuffer size.
    
    Bug: chromium:830046
    Change-Id: Ic6196db6228d0d0ac92b12a68bbced76dcbcdf8c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1707115
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>

commit 9ec3f51d11d92c8b87da27811cc7ab577705ea3c
Author: Mohan Maiya <m.maiya@samsung.com>
Date:   Fri Jul 19 13:06:16 2019 -0700

    Reland "Vulkan: Implement OES_get_program_binary extension"
    
    Reason for revert: default uniform initialization was incomplete
    
    This change has the following fixes:
        1. Add missing default uniform initialization when loading
           program binaries.
        2. Re-enable OES Program Binary capabilities for Vulkan.
        3. Added two angle end2end test,
           - ProgramBinaryES3Test.BinaryWithLargeUniformCount
             uses several uniforms across the vertex and fragment
             shaders.
           - ProgramBinaryES3Test.ActiveUniformShader tests
             the difference between uniform static and active use
    
    Bug: angleproject:3216
    Bug: angleproject:3217
    Bug: angleproject:3665
    Tests: dEQP-GLES3.functional.shader_api.program_binary*
           angle_end2end_tests --gtest_filter=ProgramBinary*
    Change-Id: If6886f01241d65bb1e17a21cc3406533021072ee
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1699069
    Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 8bea8eec7a0ae3960536aabe96f49f09d4f088d6
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Fri Jul 19 15:59:31 2019 -0400

    Guard ID3DUserDefinedAnnotation access in DebugAnnotator11.
    
    ID3DUserDefinedAnnotation is not thread-safe, like ID3D11DeviceContext,
    however, it's being accessed from WorkerThread for parallel compilation,
    thus guard it with mutex lock.
    
    Bug: angleproject:3493
    Change-Id: Ic7cc7fe03675174e054fe1e11d8d9e05abc716a5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1709726
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit f35f11106d0c1cf8f19ad94bed3e206859a4e1e6
Author: Jiacheng Lu <lujc@google.com>
Date:   Fri Jul 19 09:18:55 2019 -0600

    Add script to apply clang-format on all sources
    
    1. python script wrapper to call clang-format over the whole code base
    2. Add clang-format rule `IncludeBlocks: Preserve` to tell clang-format
    do not merge include blocks
    3. Fix existed clang-format issue in code base
    
    Bug: angleproject:3532
    Change-Id: I289292dc62c2784ff21688065c87c3f3f5538f17
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1709720
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit fb5c581dc4e3f627b0a601b9d2026d9cd284f11b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jul 19 14:48:53 2019 -0400

    Functional revert of "Signal different dirty bit for vertex buffer change."
    
    Seems to be causing rendering regressions in the Google Maps benchmark.
    Likely causing other serious regressions.
    
    Original CL: https://chromium-review.googlesource.com/c/angle/angle/+/1684294
    
    Bug: angleproject:3256
    Change-Id: I41608a3ce3c3267097b4c1c0a6f7450cf8a2f48f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1709756
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 765ee7b70b7e650b8a6ab90e2ad134b8cae7affc
Author: James Dong <dongja@google.com>
Date:   Wed Jun 19 14:19:52 2019 -0600

    Vulkan: support for new vertex attribs in GLES 3.0
    
    Fixes handling of packed vertex formats, adds new overrides for 32-bit
    [SU](NORM|SCALED) vertex types, and handles half-precision floats
    correctly.
    
    Pixel 2 does not natively support certain 10-10-10-2 vertex formats;
    this change does not add support for them.
    
    Test: ./angle_deqp_gles3_no_gtest --deqp-egl-display-type=angle-vulkan -n 'dEQP-GLES3.functional.vertex_arrays.*'
    Test: ./angle_end2end_tests --gtest_filter='AttributeLayout*/ES3_Vulkan'
    Test: ./angle_end2end_tests --gtest_filter='VertexAttribute*/ES3_Vulkan'
    Bug: angleproject:3193
    Change-Id: I5ae4edd743e86e3e89e2697034c04dc4d9ecd1f9
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1668230
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Commit-Queue: James Dong <dongja@google.com>

commit 86a28b3de8c6effced3975a0beaae53cbb1a5126
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jul 19 12:10:08 2019 -0400

    Vulkan: Use the correct context in ImageVk::orphan.
    
    The context used for Image creation was being used during orphaning. This
    causes problems when the image is created with an external source or when
    different contexts are used between creation and orphaning.
    
    BUG=angleproject:3722
    
    Change-Id: Iee4abd2116c3410efd8fb35722cc956cc6d8a3fa
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1709753
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 833bce722b89d51f95bdae9be2c704c9c1c3bdd2
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jul 19 12:07:29 2019 -0400

    Call ImageImpl::destroy before destroying the image source.
    
    egl::Image destroys the source sibling before calling the backend destroy
    function.  ImageVk needs the source image to do proper clean up.
    
    BUG=angleproject:3722
    
    Change-Id: I110d77a9c4151166624bb953c579102ac7dab6ee
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1709752
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 610f2388fdf3ce28de933cbf85b8d764cc8c2baa
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jul 18 16:28:49 2019 -0400

    Return backwards compatible context versions in Vulkan, GL and D3D11.
    
    This allows us to pass some dEQP GLES 2.0 tests that require using an ES 3.0
    context and matches native driver behaviour of returning a higher-than-
    requested context version when it's backwards compatible.
    
    BUG=angleproject:3425
    BUG=angleproject:3300
    BUG=angleproject:3715
    BUG=angleproject:3243
    BUG=angleproject:3240
    BUG=angleproject:3716
    
    Change-Id: I03dfd56deb6191c3363808717e0eea6fdcf5f3ac
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1709111
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Tim Van Patten <timvp@google.com>

commit 901dd5458e48d27433878483de291b5e72db1281
Author: Mohan Maiya <m.maiya@samsung.com>
Date:   Fri Jul 19 07:43:09 2019 -0700

    Rectify bug in initialization of offsets for uniform variables
    
    Make sure to set a uniform's flattenedOffsetInParentArrays
    value only if it has a valid parent array index.
    Serialize/Deserialize flattenedOffsetInParentArrays value.
    
    Bug: angleproject:3216
    Bug: angleproject:3217
    Bug: angleproject:3665
    Change-Id: I6e4d003b1dd74b330bcf153f8d3df92414f198dd
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1704219
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 523dbf40703ae2594a4ec01d8952eb60af9cbd1c
Author: Clemen Deng <clemendeng@google.com>
Date:   Mon Jul 15 10:56:26 2019 -0400

    Add GL versions to desktop implementation
    
    The current implementation generates entry points for GL up to
    version 3.1. Will need to support later versions for some apps.
    
    Bug: angleproject:3698
    Change-Id: Ic44d07b12a9eeeceb8cd98dd9c44652dca728dc0
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1700572
    Commit-Queue: Clemen Deng <clemendeng@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit ce33059365d2f59150e85631c3ecc715dfe34e03
Author: Clemen Deng <clemendeng@google.com>
Date:   Tue Jul 16 10:02:21 2019 -0400

    Rename ProvokingVertex and TextureBarrier
    
    Need to rename these so that they don't conflict
    with GL function declarations
    
    Bug: angleproject:3702
    Change-Id: Iefe490cb53a384c45f0d0024321deda43b461bcc
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1704214
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Clemen Deng <clemendeng@google.com>

commit 3c4cfad19f14a9ac41ce0c8de0cd59e194ba26b5
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Jul 19 07:01:38 2019 +0000

    Roll ./third_party/spirv-tools/src aa9e8f538041..76b75c40a1e2 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/aa9e8f538041..76b75c40a1e2
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@76b75c40a1e2
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    
    Bug: None
    TBR=geofflang@chromium.org
    Change-Id: I4582e909efe850056ab42131cfcbfb9ac5915cec
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1709733
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 6a02f06dfd4ec5e0f9efb553059ce65535f4b312
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jul 18 16:27:14 2019 -0400

    Implement EGL_ANGLE_create_context_backwards_compatible
    
    This extension allows the user to specify if ANGLE should create a
    context of the exact requested version or a higher version context that
    is backwards compatible.
    
    BUG=angleproject:3425
    
    Change-Id: I7d0b75cdd7e34a2fc888aa238e1eeb67af82ae0d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1601560
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 3d4dfa671d077ed294f4e7f78a399ac0d380b7d1
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Jul 18 14:53:49 2019 -0400

    doc: Update TestResults.qpa location on Android
    
    Bug: angleproject:1944
    Change-Id: I2f4e8f70af8590bca54967cd0d65b4399d6c43e8
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1709234
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 9c78f592fcee8af6cd74e76ca6fafc58848c9e53
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 18 10:13:05 2019 -0400

    Remove a few histograms from Renderer11.
    
    D3D11 startup time isn't something we're actively looking at right now.
    
    Bug: chromium:975166
    Change-Id: I3e56d0b0e0da7eb5b10c55b8cfcc0b9769064202
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1707929
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 8cb95960772cb001f843f76e2bb888feada2389e
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Jul 16 13:54:57 2019 -0600

    Vulkan: Fix FS array output location assignment
    
    Test: angle_end2end_test --gtest_filter=GLSLTest_ES3.FragmentShaderOutputArray/ES3_Vulkan
    Bug: angleproject:3707
    Change-Id: I6519a76aa58ad80ada0e2ad90a2a70d93f831ce5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1704779
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit ec30d78d51f03f9247a5053e8f02c255ca6be49e
Author: Jiacheng Lu <lujc@google.com>
Date:   Wed Jul 3 12:56:58 2019 -0600

    Optimize uniform matrix update
    
    1. Add a fast matrix update function to do a single memcpy for uniform
    matrix assignment with same layout. It benefits row-4 no-transpose GLSL
    matrix and col-4 transpose HLSL matrix.
    2. Make boolean IsColumnMajor to be a template parameter in generate
    uniform matrix updating, which gets rid of the conditional branch
    in loop and has better performance.
    3. Add e2e test of uploading multiple 3x4 GLSL matrices at the same
    time, which adds coverage to this CL.
    
    Bug: angleproject:3632
    Change-Id: Id1701ef6fbf63ea4b9884254d93ea8eacfe4e16a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688274
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 69194e5f497109ae9a988e927d77f91ad807b9c1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jul 17 15:35:10 2019 -0400

    Reduce variance in TextureUploadPerf.
    
    This reduces the test time to run in several ms instead of almost
    seconds per iteration. It allows us to use the perf test runner harness
    to check test performance more accurately by increasing the sample
    count.
    
    It first reduces the test iteration count to reduce total test time.
    It also refactors the test contents to not allocate new objects and
    memory with every test iteration. This gives a better sampling of what
    the test is obsering: texture upload performance.
    
    Also allows tests that like to track GPU time to be used with the NULL
    device option.
    
    Bug: angleproject:3712
    Change-Id: Idacc3e3b424f8882d7680769b27d1f04146ea65d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1707112
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 27ee35e6274bf701f6c417f44609dca69208799f
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Jul 18 07:01:38 2019 +0000

    Roll ./third_party/spirv-tools/src 58e2ec25bab0..aa9e8f538041 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/58e2ec25bab0..aa9e8f538041
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@aa9e8f538041
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    
    Bug: None
    TBR=geofflang@chromium.org
    Change-Id: I9922d2ef0fa7b0c2c29885931bdc82628902b61a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1708062
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit eb3224998d0f1510b1fafe9300e70b87da84beb0
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Jul 18 07:01:28 2019 +0000

    Roll ./third_party/glslang/src 74426f7570fd..9f2236e58ed0 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/74426f7570fd..9f2236e58ed0
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@9f2236e58ed0
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    
    Bug: None
    TBR=geofflang@chromium.org
    Change-Id: Ic57be04dba37fd9f7e1e5e2fa02c9bca7dfcc054
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1708061
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit e9111885702e26fbf397c86331e94e3598348aa9
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Jul 12 16:15:31 2019 -0400

    Vulkan: Optimize texture upload barriers
    
    When flushing staged uploads to an image, a 64-wide bitfield is used to
    track subresources that are uploaded since the last barrier.  If a
    collision is detected, a barrier is inserted and the bitfield is reset.
    If the image has more than 64 subresources, some subresources would map
    to the same bit and cause a few unnecessary barriers.
    
    Texture upload benchmarks show 5% to 10% improvement both in CPU and
    GPU time.
    
    Bug: angleproject:3347
    Change-Id: I21dd23c78879bb01d58bc869ffc8bee06c79e6c1
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1700147
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 0efe516eeaeff1ea7d9c79d577e73573509f814c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jul 17 14:13:11 2019 -0400

    Fix egl.h compatiblity.
    
    We should include logic for defining EGL prototypes when no other
    preference is specified.
    
    Bug: angleproject:3706
    Change-Id: Ie1b5ea6150c7c998a9fe71cf5ee7353dca4ae7ba
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1706908
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 96c696db03c4705b40c361b5d99ac48f548bb226
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jul 17 14:16:03 2019 -0400

    Update the documentation on ANGLE's two reviewer policy.
    
    BUG=angleproject:3704
    
    Change-Id: I3df6f7935397b4a98db0eed569868def3e0fd701
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1707113
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit e9cffa62c9043ff571387abe2d1deae511d84d14
Author: Li, Hao <hao.x.li@intel.com>
Date:   Tue Jul 16 16:32:40 2019 +0800

    Rename data_dir to angle_data_dir in GN files
    
    Dawn reuses the Vulkan validation layers of ANGLE to avoid building
    twice in chromium, and references build_overrides/vulkan_common.gni,
    but angle_data_dir is undefined, which is defined as data_dir in
    angle.gni. There is a reminder to rename this name in
    https://chromium-review.googlesource.com/c/chromium/src/+/1610488
    
    Bug: angleproject:3710
    Change-Id: I4b7c4d24c37770ff58b70c988851a6ed32a04296
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1703175
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit c44d2c7919d78eb6865e0da663a86bc5dba7bd34
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Jul 11 14:45:56 2019 -0400

    Fix glGetProgramResourceName filling output with 0
    
    strncpy was used to copy resource names, which fills the unused parts of
    the buffer with '\0'.  The spec doesn't forbid this, but dEQP fails on
    this behavior, presumably to try and catch overflow bugs.
    
    Bug: angleproject:3562
    Change-Id: Ifce2d690221b2403848cb8913f4753ec60dfffab
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1698647
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>

commit b243a2a4f27b7ab93b34dd247088afa7c2a10038
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Jul 17 09:25:28 2019 +0000

    Roll ./third_party/glslang/src e383c5f55def..74426f7570fd (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/e383c5f55def..74426f7570fd
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@74426f7570fd
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    
    Bug: None
    TBR=geofflang@chromium.org
    Change-Id: I0cc449077f69844a19d4f3bdde44cb67e029851e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1706208
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 1c16455ea1a50801a33ab7be0b0fd94bbd1f62aa
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Jul 17 07:01:38 2019 +0000

    Roll ./third_party/spirv-tools/src 1fedf72e500b..58e2ec25bab0 (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/1fedf72e500b..58e2ec25bab0
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@58e2ec25bab0
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    
    Bug: None
    TBR=geofflang@chromium.org
    Change-Id: I10633d72c7f0909100f38e3a90262efc6324d055
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1705596
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 2e43b0f5efec201ea99e1345ef6a8a95b6c34651
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Jul 11 17:09:54 2019 -0400

    Vulkan: Implement memory barriers
    
    Bug: angleproject:3574
    Change-Id: I13d8f4fcd6f1bf9bf3496c91c2c697076e2491bd
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1699005
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 7a5f35c49f017ff041bfb59b93eb9b7e8ba7c7ea
Author: Jiacheng Lu <lujc@google.com>
Date:   Mon Jul 15 09:21:11 2019 -0600

    Filter out redundant glDepthRange calls
    
    1. Compare depth range with active config in frontend when glDepthRange
    is called. It avoids triggering unnecessary backend update. Also remove
    depth range checking in D3D and GL backends as they are now done in
    frontend.
    2. Change the clamp on far and near plane to ASSERT statement in vulkan
    backend, as clamp already been applied in frontend.
    
    Bug: angleproject:3696
    Change-Id: I52ad420dc446d685b98d53690637a19553372873
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1702284
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 950e1a4ddbcda717ec80f787e910a2514685c9a1
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jul 16 13:10:29 2019 -0400

    GL: Reset the pixel unpack state after initializing texture data.
    
    Texture data initialization happens after dirty bit synchronization so
    TextureGL::initializeContents must be careful to leave the applied state the
    same way it found it.
    
    BUG=angleproject:3703
    
    Change-Id: I1647cfc59c45fd9fad0fcde2e37af831e56f2e57
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1704215
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit f92fc916887e53f862ffefaabf07786813f8c9e1
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Jul 15 22:39:23 2019 -0400

    Vulkan: Compute shader support
    
    A DispatchHelper class is created as the equivalent of FramebufferHelper
    as a command graph resource.  There's currently a single dispatcher and
    all dispatch calls are recorded on that.  Context dirty bits are set up
    in such a way that graphics and compute workloads are independently
    handled, so that issuing a dispatch call wouldn't cause a framebuffer's
    render pass to rebind resources.
    
    Bug: angleproject:3562
    Change-Id: Ib96db48297074d99b04324e44b067cfbfd43e333
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688504
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 6e7dd1ef4241333f965b001e8f5a598a1546f19c
Author: Clemen Deng <clemendeng@google.com>
Date:   Tue Jul 16 13:41:59 2019 -0400

    Generate openGL32.dll in a separate output folder
    
    This is to avoid loading it locally and so that the pdb works
    
    Bug: angleproject:3641
    Change-Id: I2ce93ace47d1e6a1013d38964e5919084ad4ff7f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1704634
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Clemen Deng <clemendeng@google.com>

commit ec9ff8ce3909ec618842d1922aacf6c6cd961b2e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jul 15 16:59:10 2019 -0400

    Fix checks for GL_ETC1_RGB8_OES, disable it on D3D11.
    
    The GL backend was checking the wrong extension for GL_ETC1_RGB8_OES.
    
    WebGL doesn't want to expose compressed formats that are emulated,
    disable this format in D3D11 where it is always emulated.
    
    BUG=98314
    
    Change-Id: I1ba8418ad1578c070891828b87e49cf894dabc29
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1700574
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit c4c48b65bc2fc96093c11c07e8af3d98de5f7866
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Jul 15 22:34:18 2019 -0400

    Vulkan: Prefix context pipeline and dirty bits with Graphics
    
    In preparation for compute pipeline and dirty bits.
    
    Bug: angleproject:3562
    Change-Id: I611b97fee1e500fdad32355d096254fd787c4ddd
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1703525
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 998a37c99f8a6637fd72fa79ac300ee2c3dcd03b
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Jul 15 22:13:14 2019 -0400

    Vulkan: merge bindGraphics/ComputeDescriptorSets
    
    The two called bindDescriptorSets with a fixed GRAPHICS or COMPUTE bind
    point enum value.  The differentation however would result in
    unnecessary code duplication with upcoming compute support.
    
    Bug: angleproject:3562
    Change-Id: Ica4400c573a90fda168c64ad777d87aa83256e48
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1703524
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 6f0780f8e42e97353a801cbf5c9baae11238df6d
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Jul 15 22:04:46 2019 -0400

    Vulkan: Rename CommandBufferOwner to RenderPassOwner
    
    It's really only used to track the render pass command buffer.  The
    change is made in preparation for compute, where the dispatcher command
    buffer can change without affecting the render pass.
    
    Bug: angleproject:3562
    Change-Id: Ia8246de731d5c6a272fa17d6f8952dc981eca36e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1703523
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit c6d4824831e32f821f6477f145d72ea320c7af5e
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Jul 16 07:01:38 2019 +0000

    Roll ./third_party/spirv-tools/src 032adc4d7ede..1fedf72e500b (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/032adc4d7ede..1fedf72e500b
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@1fedf72e500b
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    
    Bug: None
    TBR=geofflang@chromium.org
    Change-Id: I9d87155c8bf373886c811636451b11503a147522
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1703170
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 84b5c90e0ba4f5c093a36460ff2b302441cbab40
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Jul 16 07:01:28 2019 +0000

    Roll ./third_party/glslang/src 1a6e8534cef3..e383c5f55def (4 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/1a6e8534cef3..e383c5f55def
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@e383c5f55def
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    
    Bug: None
    TBR=geofflang@chromium.org
    Change-Id: I4170e1f1d0a59167ac6281d2a2ce348b36f53a2d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1703169
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 754d697fb3a78c2ae4f1096185f81172ccffdb27
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Wed Jul 10 20:34:30 2019 -0400

    Ignore FreeAllocationOnTimestamp GL debug message
    
    Erroneously produced by Android Q Qualcomm driver for worker contexts.
    
    Bug: angleproject:3491
    Change-Id: I8f2a5f05ad8a00c97d0dfa6e3b7a939d05656420
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1700255
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 5de073c051bc9fd65dc6330c99521d437f5ae864
Author: Ian Elliott <ianelliott@google.com>
Date:   Mon Jul 15 10:05:02 2019 -0600

    Vulkan: Enable more format-related tests to run
    
    After seeing some CLs in this space, that didn't change the expectations
    file, I checked to see whether more tests can pass, and they can.
    
    Bug: angleproject:3190
    Change-Id: Ifa1d1c7b91c403c8c67ddcb5d8a589cbaf686cf4
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1702493
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit a9ec874922bfd18c6ad9cd01736e4d7455f62c26
Author: James Dong <dongja@google.com>
Date:   Thu Jul 11 11:31:47 2019 -0600

    Vulkan: override format for mismatched attribs
    
    Prevents Vulkan validation error by replacing the input format for any
    mismatched vertex attributes with a format compatible to what the shader
    expects.
    
    Bug: angleproject:3436
    Change-Id: Ia52f29c084d82bbc4e9149102cd4b5fc25ccb9b3
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1698567
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 8b2bb18f9b989f48cea0556a801034e14dc91bc9
Author: Tim Van Patten <timvp@google.com>
Date:   Wed Jul 10 17:12:25 2019 -0600

    Vulkan: Update capabilities with the necessary limits
    
    Some of the necessary limits were not being defined correctly in the
    native capabilities, causing some dEQP test failures.
    
    Bug: angleproject:3676
    Test: Applicable dEQP-GLES3 limits testing
    Change-Id: If977da1edd7d55627c65cd81a6dcd42c63a3a6a6
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1695934
    Commit-Queue: Tim Van Patten <timvp@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 663b048114e18b9dd56c65fdba910d9a6db90942
Author: Clemen Deng <clemendeng@google.com>
Date:   Thu Jul 11 12:37:35 2019 -0400

    Load correct opengl32.dll
    
    Tests are still loading ANGLE's opengl32.dll instead of system's
    This is because external drivers are trying to load opengl32.dll
    Workaround: renamed to libGL.dll, need to change back when copying
    dll over for loading
    
    Bug: angleproject:3641
    Change-Id: I051adc1fbb488a704c99718ad4a2f74bb7756cbd
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1697290
    Commit-Queue: Clemen Deng <clemendeng@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit d9c1710779d15239f3882b2bdbd5e65db369b04e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jul 10 14:56:26 2019 -0400

    Add support for GL_OES_texture_compression_astc
    
    This extension adds 3D compressed texture formats, something ANGLE has
    not seen before.  This requires tracking a compressed block depth for
    validation and image size computations.
    
    Update the ldr and hdr extension checks to be in line with the spec.
    HDR requires LDR and is not detectable by texture formats alone.
    
    Expose all of the ASTC extensions on the GL backend.
    
    BUG=angleproject:3675
    
    Change-Id: Id04c7c8ef8541e9556579536cdba899b64303caf
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1695923
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit f20605944e48c894bea29008117b5fe01cddf099
Author: Tim Van Patten <timvp@google.com>
Date:   Mon Jul 15 09:24:01 2019 -0600

    Update OpenGL ES 3.1 Shader Interface Matching
    
    According to the OpenGL ES 3.1 spec Chapter 7.4.1 "Shader Interface
    Matching" Page 91, an output variable is considered to match an
    input variable in the subsequent shader if:
    
    - the two variables match in name, type, and qualification; or
    - the two variables are declared with the same location qualifier
      and match in type and qualification.
    
    We currently only check the variable names, so this bug will add
    checking the locations as well.
    
    Bug: angleproject:3699
    Test: dEQP, end2end
    Change-Id: I45e91654450fd033299ff0a81bc26a23b3e25a04
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1700160
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Tim Van Patten <timvp@google.com>

commit 9d943af7ceb46ad8b29868752114a51bc35dc361
Author: Ian Elliott <ianelliott@google.com>
Date:   Thu Jul 11 17:53:37 2019 -0600

    Vulkan: Support more texture format-type combination tests.
    
    This is a partial fix for 3455, which contains a number of different
    root-causes.  This CL addresses two sets of them.
    
    1) Partial fix for KHR-GLES3.copy_tex_image_conversions.forbidden.*
    
       Recent changes, including adding support for GL_RGBA8-to-GL_RGB5_A1,
       plus adding support for GL_RGB10_A2-to-GL_RGB5_A1 eliminate the
       crashes for 56 of the 70 tests.
    
    2) Most of the KHR-GLES3.packed_pixels.rectangle.r* tests now pass.
    
       Recent changes, including potentially the above get another 34
       tests passing, and another 15 no longer crashing.
    
    3) Vulkan: Fix errant glCopyTextImage validation code.
    
       I got all but 2 of the KHR-GLES3.packed_pixels.rectangle.r* tests passing.
    
       I fixed bugs in the validation code (with at least two more bugs
       that I haven't fixed yet).  More details below.
    
    3a) Fix the IsValidES3CopyTexImageCombination() function for SNORM.
    
        The code wasn't rejecting SNORM cases, which are missing from the table of
        effective internal formats, meaning that support is undefined.  The
        GLES 3.2 spec says that a GL_INVALID_OPERATION error should be generated
        "if the effective internal format of the source buffer does not match the
        effective internal format of the new image."
    
    3b) There's a caveat that was overlooked that means that internal
        formats like GL_RGB10_A2 are not supported.
    
    Bug: angleproject:3455
    Bug: angleproject:3693
    Bug: angleproject:3697
    Change-Id: Ie4399a2d7cd969ec29acc926f32e6608775609c6
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1693325
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit db63735646c1255a39e0dab7c640cd41b95e5407
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Jul 15 07:01:38 2019 +0000

    Roll ./third_party/spirv-tools/src 0c4feb643b89..032adc4d7ede (11 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/0c4feb643b89..032adc4d7ede
    
    
    Also rolling transitive DEPS:
      ./third_party/spirv-headers/src de99d4d834ae..123dc278f204
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@032adc4d7ede
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    
    Bug: None
    TBR=cwallez@chromium.org
    Change-Id: I3130674feba4f56450da0ff3fa3d836467cd8d20
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1700639
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 1ea79ef8e64d2d11c53f2a7543563a8f555cdac6
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Jul 15 07:01:28 2019 +0000

    Roll ./third_party/glslang/src 71892a5eda90..1a6e8534cef3 (3 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/71892a5eda90..1a6e8534cef3
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@1a6e8534cef3
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    
    Bug: None
    TBR=cwallez@chromium.org
    Change-Id: I9ede1a71b2e638474ad4daf59f2ab89134df0da4
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1700638
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit c3085ead7055e45b2d24189d5eee86753ea5c2f3
Author: Cody Northrop <cnorthrop@google.com>
Date:   Thu Jul 11 15:07:29 2019 -0600

    Vulkan: Set texel offset limits
    
    This was blocking compilation for any new texture builtin that used offsets.
    
    Bug: angleproject:3622
    Change-Id: I30b221741796b53f8e47e3aeeebfbde3f1976bd6
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1699062
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Cody Northrop <cnorthrop@google.com>

commit aded991bffae73171b0202ae8d6ef526f7188d3d
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Fri Jul 12 16:02:06 2019 -0400

    Fix hang on Linux Intel when allocating large textures.
    
    Intel Linux graphics drivers before kernel 5.0 can hang when allocating
    large textures. Limit the texture size as a workaround.
    
    Bug: chromium:927470
    Change-Id: Ic8c14235396492efafd663b1cd012fd752427992
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1700146
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 6c90ebb078b89ffbbc93c03b410eb00a1e1e368c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jul 11 15:10:56 2019 -0400

    glTexStorage3D: Disallow compressed formats on GL_TEXTURE_3D targets.
    
    GLES 3.0.4 p147:
     "If internalformat is an ETC2/EAC format, CompressedTexImage3D will generate an
      INVALID_OPERATION error if target is not TEXTURE_2D_ARRAY."
    
    This matches the validation of glTexImage3D.
    
    TEST=conformance2/textures/misc/tex-storage-compressed-formats.html
    
    BUG=chromium:983142
    
    Change-Id: Ifc4ea9503182c43de7e58c4b45b59bb03ae2f901
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1698648
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 943fe34eec11747c18dac1c4959b61c194c76473
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Mon Jun 24 16:51:57 2019 -0600

    Vulkan: Upload packed depth-stencil
    
    Bug: angleproject:3437
    Test: angle_end2end_tests --gtest_filter=DepthStencilFormatsTest.VerifyStencilData/*
    Change-Id: Iffab48eaea6aa35888560859e9f502a4f814b833
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1674663
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>

commit 375ddfc5992df483931e649b39d008ba5ab90cb5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jul 12 11:12:14 2019 -0400

    Signal different dirty bit for vertex buffer change.
    
    We use new logic to compare if the attribute format changes before
    setting dirty bits. This improves performance of VBO-only state changes
    significantly. On the VBO change Vulkan microbenchmark gives about a
    30% improvement.
    
    Bug: angleproject:3256
    Change-Id: Ifaf1c92ed7a09422156ef79b5983e7349de63346
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1684294
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 2a4f36b14f030160b29586296224828f166ad7be
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jul 9 16:10:59 2019 -0400

    GL: Work around Intel driver bug when clearing to zeros or ones.
    
    When clearing to zeros or ones on some Intel drivers on Mac, the clear color
    would be incorrect.
    
    This replicates the chromium clear_to_zero_or_one_broken workaround.
    
    BUG=angleproject:3672
    
    Change-Id: I0f065420b577bd8f8d931ccdbeeebdcbf9fd08d2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1692977
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>

commit 2538f6b462306dfb6334561a2b8427612546216a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jul 12 14:23:11 2019 +0000

    Revert "PRESUBMIT.py: Don't require "Bug:" for autoroller CLs."
    
    This reverts commit 9be098b52fbb59322ee83fd77b3c64442d742822.
    
    Reason for revert: Fixed in the auto-rollers. They should now
    include Bug: tags.
    
    Original change's description:
    > PRESUBMIT.py: Don't require "Bug:" for autoroller CLs.
    >
    > BUG=angleproject:3659
    >
    > Change-Id: I29d77939953e3661ea979f8f7a9f44566079e567
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1692881
    > Commit-Queue: Jamie Madill <jmadill@chromium.org>
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    
    TBR=geofflang@chromium.org,cwallez@chromium.org,jmadill@chromium.org
    
    # Not skipping CQ checks because original CL landed > 1 day ago.
    
    Bug: angleproject:3659
    Change-Id: I01a2e82c24918c831a6c444360620d261ec892dc
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1700141
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 13be06e67f7e61787083eac4b46a46cbaaa4402c
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Thu Jul 11 16:39:45 2019 -0400

    Fix copyTexImage2D corner case with same source/target image.
    
    When the source and target textures are the same texture but different
    levels, there is a corner case which makes the framebuffer incomplete on
    calling glCopyTexImage2D and fails
    conformance2/textures/misc/copy-texture-image-same-texture.html
    
    Bug: angleproject:2994
    Change-Id: I906869c78aefded5688d4491e93b95dd2662175c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1697262
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

commit 25378d6a29ce99897b15e0ab7264ee2e8fda9d78
Author: Ian Elliott <ianelliott@google.com>
Date:   Tue Jul 9 17:23:03 2019 -0600

    Vulkan: Split some SKIP expecations and put with correct bugs
    
    The tests previously skipped for 3458 have 2 different root causes.
    Bug 3458 was split into two: 3458 and 3674.  The SKIP lines have been
    split into more-fine-grained SKIP lines, with some going to the new
    3674 bug.
    
    Bug: angleproject:3458
    Bug: angleproject:3674
    Change-Id: I2eaa83a30b87a81144d8f19658007386683e6388
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1695899
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Ian Elliott <ianelliott@google.com>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit 80bb3116391ccca7020c5c8106aec65d828d1898
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Jul 12 07:01:28 2019 +0000

    Roll ./third_party/glslang/src c538b5d796fb..71892a5eda90 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/c538b5d796fb..71892a5eda90
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@71892a5eda90
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    
    Bug: None
    TBR=cwallez@chromium.org
    Change-Id: Ic3fa0d8603682ac27119c81252421dc140670b86
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1699756
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 0cb36be6f6d34cba3c2575d211183744a63827ef
Author: Tim Van Patten <timvp@google.com>
Date:   Thu Jul 11 10:32:39 2019 -0600

    dEQP: Override tes31Context.cpp to prevent 3.2 context creation
    
    Skip the GLES 3.2 context creation by overriding tes31Context.cpp
    with an ANGLE-specific tes31Context_override.cpp that only creates a
    GLES 3.1 context.
    
    Bug: angleproject:3687
    Test: dEQP.GLES31
    Change-Id: I1afab5f04b79dc252f1b27563032a44ab37cacfe
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1698542
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Tim Van Patten <timvp@google.com>

commit ecd2e3b15215d8812c05d18a60704642cc1103cf
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jul 9 15:39:39 2019 -0400

    GL: Reset the texture base level before uploads on Mac.
    
    Reset the base level of textures before call glTexImage on Mac
    to prevent driver bugs that cause texture corruption.
    
    BUG=angleproject:3671
    
    Change-Id: I90e94b8395a781a2142ef6be3af1d6117f084152
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1692975
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>

commit 9917988a2e3a4be8d8c6dc6126c72b58ef79e479
Author: James Dong <dongja@google.com>
Date:   Wed Jul 10 13:47:32 2019 -0600

    Vulkan: change packed attrib to ANGLE format ID
    
    This prevents later issues with some VkFormat values being over 256,
    as well as providing more information to pipeline creation.
    A preliminary step towards handling mismatched vertex attributes.
    
    Bug: angleproject:3634
    Change-Id: Idb15a14088a2d73b43b4b92d3cfdb12587c5f711
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1696212
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 53aff41e478ba28f68c5153b2a8ea8c5056ca982
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 11 14:06:23 2019 -0400

    Use separate json files for each code generator.
    
    This should reduce the number of merge conflicts when multiple people
    touch different generators. There still will be merge conflicts when
    two people touch the same code generator.
    
    Bug: angleproject:3691
    Change-Id: I0b179368a1352331c091972568c00213ab106e46
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1698650
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Ian Elliott <ianelliott@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 60e2f11eb584a80bcdd7e672e00cf7d1c594c5ee
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Jul 11 14:56:47 2019 +0200

    Rename StaticType's kInstance to instance.
    
    This is more than just a noop: when ANGLE is rolled in Chromium it is
    tested by the Android Binary Size trybot. This trybot runs an analysis
    pass that checks that any new variable names "kSomthing" is in .rodata
    or .data.rel.ro because it helps keep the binary size (and the size of
    each new Chromium process) small on Android.
    
    The analysis picks up new usages of StaticType::Helpers::kInstance as a
    new constant varaible that isn't in .data.rel.ro or .rodata. My
    understanding is that kInstances isn't put in those segments because it
    contains a TType that has a "mutable" field so it would be incorrect to
    put the variable in a read-only segment.
    
    BUG=chromium:981610
    
    Change-Id: I36e550e066206df3404619f1d012b183cbb72fe4
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1698202
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 1d672749e79cb231fdf836549fc30a32a6772953
Author: Clemen Deng <clemendeng@google.com>
Date:   Mon Jul 8 15:42:05 2019 -0400

    WGL implemetation for OpenGL tutorial
    
    Fixes to make WGL implementation work with OpenGL tutorial
    - Give directive parser the correct shader spec when on Desktop GL
    - Minor changes to parse Desktop GL shaders
    - Moved clientType parameter from Context to Context->mState
    - Minor fixes to WGL functions
    
    Bug: angleproject:3666
    Change-Id: I01ddb828f6d581ad445f49942589436849eae5d9
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1693244
    Commit-Queue: Clemen Deng <clemendeng@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 29fba5e088cd1bc70cc20abeda49a3e1113d5d44
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Jul 4 17:08:41 2019 -0400

    Vulkan: Prepare for variable-stage pipelines
    
    Compute (single-stage pipeline) is upcoming, but this change prepares
    GlslangWrapper to handle any number of stages (mostly).  Additionally,
    this change binds each resource to each stage based on whether it's
    active, so that we don't hit the per-stage limit of resources by binding
    every resource to every stage.
    
    Bug: angleproject:3633
    Bug: angleproject:3562
    Change-Id: Ifebf691482846e0371c6e314f514226a4cfee258
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1689330
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit a1754dc8da4131ee9b97a47f44a702253625bd39
Author: Jiacheng Lu <lujc@google.com>
Date:   Wed Jun 26 13:36:43 2019 -0600

    Vulkan: Recycle vkFence
    
    This CL introduces a Recycler to reuse unreferenced vk::Fence, reducing
    CPU time spent on vk::Fence init&destroy. Save around 15% of CPU time
    for most glmark2 tests.
    
    Bug: angleproject:3556
    Change-Id: Ice5054305321c466c5be3bc368d04091f074729c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1679239
    Commit-Queue: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Tobin Ehlis <tobine@google.com>

commit f8d26b4f525f50305e471bf21cfc5fbaf85b9b09
Author: Tim Van Patten <timvp@google.com>
Date:   Wed Jul 10 15:10:35 2019 -0600

    Vulkan: Clean up deqp_gles3_test_expectations.txt
    
    The deqp_gles3_test_expectations.txt file is being cleaned up to give
    failures their own bug, rather than being lumped into the generic
    "Implement GLES 3.0 conformance" bug. This gives more visibility to the
    test failures and allows people to start working on this in isolation
    more easily.
    
    There were also some passing tests removed that were found while doing
    this cleanup.
    
    Bug: angleproject:2950
    Test: dEQP-GLES3
    Change-Id: I24810ac37053fba96bccc7f320bfacc66cc7da59
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1695927
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit f6083425e8b5548f6cdf203ebe4675194b543dce
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Jul 11 07:01:54 2019 +0000

    Roll ./third_party/glslang/src 8aa9a7bb8f74..c538b5d796fb (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/8aa9a7bb8f74..c538b5d796fb
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@c538b5d796fb
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=cwallez@chromium.org
    
    Change-Id: I3f06b71a73385d33349e971262bee6bc97bec183
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1697174
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 9668237739a2f973780939dd3790d583ed73b466
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Mon Jul 8 11:06:27 2019 +0800

    Fix the RTV and SRV conflict
    
    This change fixes below error:
    Message 0: ID3D11DeviceContext::CSSetShaderResources: Resource being set
    to CS shader resource slot 0 is still bound on output! Forcing to NULL.
    
    Bug: angleproject:3658
    Change-Id: I72d656cf61ffb7c39660c019eab980c39eafb70f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688307
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>

commit cdab03aa93b00d0a73e5711cf6e9741771e4ebe4
Author: shrekshao <shrekshao@google.com>
Date:   Tue Jun 18 17:24:54 2019 -0700

    Add flags to shader translator to emulate gl_BaseVertex and gl_BaseInstance
    
    Adds support for translating gl_BaseVertex and gl_BaseInstance for implementation of
    GL_ANGLE_base_vertex_base_instance.
    
    They will only be available in WebGL 2. Since there's no gl_VertexID and
    gl_InstanceID in WebGL 1. It won't be very useful to add them to WebGL
    1.
    
    Mostly follow pattern of gl_DrawID of GL_multi_draw
    
    BUG=angleproject:3402,chromium:891861
    
    Change-Id: Ifcd990c52d12f6814127b904e61a779b8d382e0c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1666361
    Commit-Queue: Shrek Shao <shrekshao@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit cbdf8616f90118145209d25959d39f5d9737a3d6
Author: Kenneth Russell <kbr@chromium.org>
Date:   Tue Jul 9 20:30:45 2019 -0700

    Support blitFramebuffer to and from IOSurface-backed textures.
    
    Extend validation to allow texture rectangle-backed textures as
    blitFramebuffer sources and destinations.
    
    Add end-to-end test covering this functionality, and run the
    IOSurfaceClientBufferTests against both ES2 and ES3.
    
    Bug: angleproject:3669
    Change-Id: I7b8815a2c98072c12de45717afbba9e9b29ba253
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1694483
    Commit-Queue: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 8db211bc8d28156af958549c0d8a2669db87936a
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Wed Jul 10 12:58:52 2019 -0400

    Fix CopyTexture to support GL_LUMINANCE/ALPHA/LUMINANCE_ALPHA
    
    A few WebGL tests were failing on Linux/NVIDIA/passthrough because the
    luminance workaround doesn't handle the case where the destination
    texture is a luminance texture. For now, fallback to CPU readback in
    this case.
    
    Bug: chromium:773861
    Change-Id: I1b85edccc2e257a5fa19cd496d86443ba96e07ad
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1695922
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit fba3e64e808600ff1736a8a573d81612e3bee0d9
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Wed Jul 10 11:46:01 2019 -0400

    Update trigger.py to take extra arguments
    
    The extra_args wildcard doesn't support extra arguments prepended with
    '--'. By using the unknown args returned by argparse, you can add
    arbitrary args to the swarming call.
    
    Bug: angleproject:3272
    Change-Id: I8d4ab1e19ceae80b47cc2331e6e30a4187da863f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1695921
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

commit b91900a27bf8c33fbeee92d9b6c8f94e12a6140d
Author: Tim Van Patten <timvp@google.com>
Date:   Wed Jun 26 17:51:49 2019 -0600

    Vulkan: Fix khr-gles3.shaders.uniform_block.common.name_matching test failure
    
    Fix various shader translator validation errors related to uniform
    buffers and naming.
    
    Bug: angleproject:3459
    Test: angle_deqp_khr_gles3_tests
    Change-Id: Iaa66b61e91c8f38ec7cccb43d71be9ba3cd83da3
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1684302
    Commit-Queue: Tim Van Patten <timvp@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 69e46a186bb75d4e1120cd671c31e187b22741d0
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jul 3 14:43:32 2019 -0400

    GL: Implement EGL_ANDROID_native_fence_sync
    
    This extension allows Chrome to use ANGLE on newer Android devices.
    
    BUG=angleproject:3643
    
    Change-Id: I5456d61749399ca2bbc11cc5e98b9120f8702406
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1687121
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 4e71b2bc254677bdeac521a371402a92f6747776
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 8 13:23:38 2019 -0400

    Framebuffer: Clean up query naming.
    
    Changes instances where we were querying 'color buffers' and 'depth
    buffers' to 'color attachments' and 'depth attachments', etc.
    
    Bug: angleproject:3611
    Change-Id: I7af7d33e5204f21d288f5bcad997988d36eabfc5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1690679
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>

commit 3fe8c3a3039670535efcc10527ff9cd1b5bf67df
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jul 4 15:49:54 2019 -0400

    Refactor the wait/signalSemaphore entry points to be on the Semaphore object
    
    Convert the texture ID parameters into optimized vectors of Texture objects.
    
    BUG=angleproject:3656
    
    Change-Id: Iffe824ade2a919c9771642ae501ff04712ca43ce
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688505
    Reviewed-by: Michael Spang <spang@chromium.org>

commit 7964101ce7ab378718c1cbfe34a8cbb5424eaf9a
Author: shrekshao <shrekshao@google.com>
Date:   Tue Jul 9 09:07:32 2019 -0700

    Fix regex parenthesis missing escaping backslash
    
    Bug: angleproject:3668
    Change-Id: Iaf529a5a50d1ab040f016fae0ea9bd3129a8fd6e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1692625
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 5e1b3777b80774e9f01161d8bab8404d57209f05
Author: Ian Elliott <ianelliott@google.com>
Date:   Mon Jul 8 09:38:38 2019 -0600

    Vulkan: Add support for GL_RGBA8-to-GL_RGB5_A1
    
    This support was missing and caused dEQP crashes.
    
    Bug: angleproject:3627
    Change-Id: Idc06cc92df676061f8a08d0f32a1b3e7f03a66f4
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1691102
    Commit-Queue: Ian Elliott <ianelliott@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 934fc44f3d7d3eebcbba0d84f88a889ee5bcb66a
Author: Ian Elliott <ianelliott@google.com>
Date:   Tue Jul 9 09:54:26 2019 -0600

    Vulkan: Note that KHR-GLES3.texture_repeat_mode.* tests pass
    
    Not sure when these were fixed, but they pass now.
    
    Bug: angleproject:3455
    Bug: angleproject:3460
    Change-Id: I0275ff001af3bab2599073143effcc54ee0bca82
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1692447
    Commit-Queue: Ian Elliott <ianelliott@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit cb8b4a5716ba08ec797010a6c9c247034db13c1f
Author: Clemen Deng <clemendeng@google.com>
Date:   Thu Jul 4 16:05:25 2019 -0400

    Rename "opengl32" to "libGL"
    
    Bug: angleproject:3651
    Change-Id: I1af052da9bc2f64f2f29ea411902272987f21a0e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688178
    Commit-Queue: Clemen Deng <clemendeng@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 169a14ec5dfafa04a2250148af3ecd5796f94bd9
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jul 8 11:55:42 2019 -0400

    Move member initializers from Caps.cpp into the struct definitions.
    
    BUG=angleproject:3663
    
    Change-Id: I13a1a920173e3f2e5360e6d7253f24a44bdc5e13
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1690675
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 8e70900e91d2d5b23cd71abf12d0b63d49b42dcb
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Jul 9 07:01:20 2019 +0000

    Roll ./third_party/glslang/src 4b4b41a63499..8aa9a7bb8f74 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/4b4b41a63499..8aa9a7bb8f74
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@8aa9a7bb8f74
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=cwallez@chromium.org
    
    Change-Id: Iec081c31b79bd1a555552e7649861f88f000f64f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1692188
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit b1b22b4182629ff33b5831afad4de1bea7ff620b
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Jul 9 07:01:01 2019 +0000

    Roll ./third_party/spirv-tools/src 9702d47c6fe4..0c4feb643b89 (7 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/9702d47c6fe4..0c4feb643b89
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@0c4feb643b89
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=cwallez@chromium.org
    
    Change-Id: I428c6d686be4b1721ecaa9398bbb0b4c83de859e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1692187
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 9be098b52fbb59322ee83fd77b3c64442d742822
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Jul 9 12:00:48 2019 +0200

    PRESUBMIT.py: Don't require "Bug:" for autoroller CLs.
    
    BUG=angleproject:3659
    
    Change-Id: I29d77939953e3661ea979f8f7a9f44566079e567
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1692881
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 1cde0eab512d6a50b0c38cf7f3265decfae5f490
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Jul 3 10:58:32 2019 -0400

    Vulkan: Add storage buffer support
    
    The storage buffers are placed in the same descriptor set as uniform
    buffers.  Some refactoring is done to reuse code that handles UBOs to
    handle SSBOs as well.  A good number of tests still fail as they test
    SSBOs in conjunction with compute shaders.
    
    Bug: angleproject:3561
    Change-Id: Ia33c1f68e6f6402c746f5919ede87b2c308cf81c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1687126
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Tim Van Patten <timvp@google.com>

commit 5dfad811ce32911cb3923ed9e5c379f29da00654
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Jul 2 13:23:27 2019 -0400

    Vulkan: GLSL output support for SSBO memory qualifiers
    
    Makes the QUALIFIER macro take arguments similar to LAYOUT, to allow
    passing in tokens to be conditionally output after the storage
    qualifier.
    
    Bug: angleproject:3561
    Change-Id: I4368eba2c34c1398f81d33cd23c9e56557fd4ed8
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1685876
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 91295e1aab7b0f044376ae04aa66d4eb5ed28b91
Author: Mohan Maiya <m.maiya@samsung.com>
Date:   Mon Jul 8 13:31:58 2019 -0700

    Vulkan: Disable Program Binary Support
    
    Reason for disabling: Crashes are seen on
    Fuchsia. Some parts are missing to appropriately
    support the extension.
    
    Bug: angleproject:3216
    Bug: angleproject:3217
    Bug: angleproject:3665
    Change-Id: I4a7775e023702861d5e801289d49f39702cb19bf
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1691311
    Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 0966f3f8f8241ade74c02014f31fa00b021ee411
Author: Michael Spang <spang@chromium.org>
Date:   Mon Jul 8 13:18:03 2019 -0400

    Vulkan: Remove flush semaphore chain
    
    This avoids using an unbounded number of semaphores in between calls to
    swapbuffers. Using two semaphores should be sufficient to synchronize
    swaps.
    
    In addition, fix tracking of VkPipelineStageFlags by creating a 2nd
    vector parallel to the semaphores vector. The last fix assumed there
    could only be 2 wait semaphores, but that bound only applied to signal
    semaphores. After this change, there can only be one signal semaphore,
    but there's still no bound to wait semaphores.
    
    Bug: angleproject:3637
    Change-Id: I7fbba67fa4bbdf62b9e9d530a924acd5236705d3
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688435
    Commit-Queue: Michael Spang <spang@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 0c83813f56bfb3c073a0edbb4202c3a88f952a11
Author: Clemen Deng <clemendeng@google.com>
Date:   Thu Jul 4 11:38:38 2019 -0400

    Implement core wgl functions
    
    - wglSwapBuffers
    - wglCreateContext
    - wglMakeCurrent
    These functions are needed by the OpenGL tutorial for Windows desktop
    
    Bug: angleproject:3620
    Change-Id: I699af63eca4a2c8aaf2c72278a580322410ac499
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688499
    Commit-Queue: Clemen Deng <clemendeng@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 97123e3faf9bf07e4c86786922d8a9b2ee2a910f
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Jul 8 15:11:16 2019 -0400

    Vulkan: Fix support for framebuffer discard extension
    
    Bug: angleproject:3664
    Change-Id: Ifc08a53771c1e114c4169780e7fc984f2552b263
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688182
    Reviewed-by: Michael Spang <spang@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit bb5389b7446d0472aa71946937a49195cb330db2
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Mon Jul 8 15:03:33 2019 -0400

    Switch standalone builders to Xenial GCEs
    
    Bug: chromium:954450
    Change-Id: I3d35507aad6a1c9a06b148335e547a768b0156ad
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1691119
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 25b84f38145b38007032bd2cd6c87fee36cce7c7
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jul 8 14:01:21 2019 -0400

    Fix capitalization of opengl autogen folder name.
    
    This caused linux to fail to autogenerate the entry points.
    
    BUG=angleproject:3611
    
    Change-Id: Ia383ed134b1a4ecbcd5e03dca365cd21b8660ffe
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1690680
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 3bd10b1954d85f0265af6ddea39b40a020115df2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 8 13:23:37 2019 -0400

    Capture/Replay: Return CallCapture from capture funcs.
    
    This moves more shared code into a simple templated helper function. It
    will also allow us to call the parameter capture methods more easily
    for mid-execution capture.
    
    Refactoring change only.
    
    Bug: angleproject:3611
    Change-Id: I8d95a6230922dfa0403ba5c328df78735c765519
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688508
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 3fd0b2dbcf7440227008d904af74355905dfc05d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Sep 20 15:59:54 2018 -0400

    Implement EGL_ANDROID_get_native_client_buffer.
    
    BUG=angleproject:2508
    
    Change-Id: I21e6251cd1341c1f85f1ba16ba08f5876a8ff8de
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1238885
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 55efe37cf8506dd1f12f9ff936c8bc6b5909c9ad
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Jul 3 11:52:21 2019 -0400

    Vulkan: Cleanup buffer dependencies
    
    onWrite now sets the dependency to make sure the order of setting
    dependency and adding memory barrier is correct.  onReadByBuffer is
    added to handle buffer-to-buffer dependency and barrier setting
    correctly without causing a graph loop.  onExternalWrite is added so
    that BufferVk doesn't have to track write access flags.
    
    Additionally, setting write dependencies now include both read and write
    flags.  This is in preparation for SSBO support where the buffer can be
    used to read data in addition to write.
    
    Bug: angleproject:3561
    Change-Id: I2028186ea14459cd159cf79f6d640df54538fc62
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1687119
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 9ac15d052eb995b9a588ddd4b537582a348c4002
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jul 8 10:30:22 2019 -0400

    Ensure the global mutex is not locked before deleting it.
    
    It is undefined behaviour to delete a mutex that is locked by a thread.  To
    ensure that the global mutex is not locked, lock/unlock it before deleting it.
    
    BUG=angleproject:2464
    
    Change-Id: I735e924abfa06070f2b4103230be8593649ca340
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1690674
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit b344fbd9f14114e3853369063a6c9cd58c5be8eb
Author: Clemen Deng <clemendeng@google.com>
Date:   Fri Jul 5 11:38:02 2019 -0400

    Adding client param to context constructor so it can support other clients
    
    This change will make it possible for context classes to
    access multiple versions, e.g. GL version and GLES version
    
    Bug: angleproject:3661
    Change-Id: I77a33d1c3ea3bffe94c64deb272219bbda1725a4
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1689023
    Commit-Queue: Clemen Deng <clemendeng@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 3ffbaed656aeab3239a75edb69a1ae7ca7fdb458
Author: Clemen Deng <clemendeng@google.com>
Date:   Thu Jul 4 13:59:00 2019 -0400

    Merge entry_points_utils.h and entry_points_enum_autogen
    
    Merge the copies of these files from opengl32/libGLESv2
    folders and put them in libANGLE
    
    Bug: angleproject:3650
    Change-Id: I3b20617f17d031c9ecf4676f4162eff586963ed5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688502
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a1b6761e6e3c55bb058ccd413d962a0a4ccfe12b
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Jul 2 14:42:12 2019 -0400

    Vulkan: Add SSBO and combined resource limits
    
    Fixes UBO limits as well, both to use the per-stage Vulkan limit and to
    account for driver uniforms now being dynamic.
    
    Bug: angleproject:3561
    Bug: angleproject:3633
    Bug: angleproject:3605
    Bug: angleproject:3443
    Change-Id: I07e34923cc1d132e965a0b9c0590c96fc561fab1
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1685877
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>

commit 4c292b876132697736f103b1ac7f41f044f88a5b
Author: Mohan Maiya <m.maiya@samsung.com>
Date:   Fri Jul 5 09:37:22 2019 -0700

    Vulkan: Enable remaining ProgramBinary end2end tests
    
    Now that we have support for program binaries, enable
    the following end2end tests for Vulkan backend -
    1. ProgramBinaryTest*
    2. ProgramBinaryES3Test*
    3. ProgramBinaryTransformFeedbackTest*
    
    Bug: angleproject:3217
    Change-Id: I007b03181c4c3c6c20e8cb278ed78cf14bff7f1f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1689824
    Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 612b741729e5b4b68b3a871bb57074830faa48ff
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jul 5 11:13:30 2019 -0400

    Capture/Replay: Add frame capture to cpp files.
    
    Capture is implemented mostly via code auto-generation. The capture
    requires a bit of custom logic for each captured pointer parameter. We
    handle this by using auto-generation to lay out the base template for
    each GL call and then custom logic that uses ANGLE's internals to
    know how much data to capture at which point. Client array pointers are
    captured before each draw call.
    
    Currently only GLES capture is supported. We write out cpp files and
    an optional data file accompanying each cpp. For small data chunks we
    inline them in the cpp files. For bigger chunks like texture data we
    pack them into the data file.
    
    Mid-execution capture is not yet supported. Configuring the capture is
    currently only available by modifying the cpp sources. Both of these
    features will be implemented in the future.
    
    Bug: angleproject:3611
    Change-Id: If6d5dac2f7bf363129d42ea9198162aef0d3a4ec
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1671904
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 9e438eeb767c3de3d237d906a26a91f4589b484c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jul 5 08:44:23 2019 -0400

    Update presubmit checks.
    
    - clarifies error for run_code_generation hashes.
    - makes missing format or bug tag an error.
    - check for spaces in bug tags.
    
    Bug: angleproject:3659
    Change-Id: I069e60d8acdf070961bdf342acf976ddd1138b1b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1689019
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit c26b7914f03fc3c0f5e2fe2aff9c461acbb3f14e
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Jul 4 16:52:21 2019 -0400

    Skip EGLSurfaceTest.SwapInterval on Linux NVIDIA Vulkan.
    
    Flaky hangs on Ubuntu 19.04
    
    Bug: angleproject:3618
    Change-Id: Iab85c94e90aec0f7b15fe0fbc14ae1a8d0734d48
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1689270
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit a71a8c66609d6f090b8399bc6c7c52178c83f05a
Author: Clemen Deng <clemendeng@google.com>
Date:   Thu Jul 4 09:42:31 2019 -0400

    ANGLE tests loading wrong opengl32.dll
    
    ANGLE tests try to load opengl32.dll from ANGLE directory instead of system
    Bug: angleproject:3645
    Change-Id: I3a8cea37252d13e915ff54ae6bbac920db16e4c4
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688544
    Commit-Queue: Clemen Deng <clemendeng@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit c5898044a216cc0cf61dfe63ebc637cfa04dcd36
Author: Clemen Deng <clemendeng@google.com>
Date:   Thu Jul 4 11:29:42 2019 -0400

    Don't remove GL commands that are duplicates of GLES commands
    in openGL32 proc table
    
    Bug: angleproject:3652
    Change-Id: I014fab19564972bc3bc27f733534fd3630af41b9
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688497
    Commit-Queue: Clemen Deng <clemendeng@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 524a8c9049f3fd8c29f1826ec721f7b363d7a96a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 4 13:29:23 2019 -0400

    Fix header check for GLES 1.0 conformance tests.
    
    The no_gtest target wasn't sharing its header visiblity with the main
    target. Fix this using public_deps.
    
    Also rolls angle-internal to pick up MSVC build fixes.
    
    Bug: angleproject:3654
    Change-Id: I4aca1f167031c0b41d1a7f7ff4d7303a960e2839
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688500
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d6eb8d0cffd3eba76aebc4aaa6354db78adb82fe
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Thu Jul 4 11:35:01 2019 -0400

    Add missing functions to libEGL.def
    
    The functions weren't properly exposed from the
    EGL_ANGLE_feature_control extension.
    
    Bug: angleproject:1621
    Change-Id: Ie91a18966a84db88d6a9a555e75cba8cea0a6521
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688498
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 62934322b64b06059774469489338cf54b845ede
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jul 3 14:39:14 2019 -0400

    Make egl::Sync a LabeledObject.
    
    This allows us to return the Sync's label when validation fails for a
    Sync related entry point.
    
    BUG=angleproject:3643
    
    Change-Id: I64e8a8855a2e3b51768c2b560fdc4696bb325351
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1687120
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit ecaebd0fc645453384d953187d35ae16b0008b33
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Thu Jul 4 10:25:04 2019 -0400

    Add GLES 3.1 dEQP test results to ANGLE docs
    
    New GLES3.1 vulkan tests were added to the bots. Add the results to the
    ANGLE docs.
    
    Bug: angleproject:3646
    Change-Id: I503a00d38b570a1d8491acd8d1bac33723b2cbe4
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688545
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

commit ee21a18734bf1b3400d3953070b24b003cbefd20
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 4 08:51:34 2019 -0400

    Store angle::Format in gl::VertexAttribute.
    
    Instead of storing type/size/normalized/pureInteger we instead store a
    pointer to the angle::Format. This makes some code logic simpler and
    will let us more easily check if a vertex attribute format changes in
    calls to VertexAttribPointer or VertexAttribFormat.
    
    This CL adds extra information to angle::Format to represent the vertex
    format info needed. It also caches the channel count so that it can be
    queried faster.
    
    Also renames "Int" -> "Sint" in UtilsVk for consistency.
    
    Bug: angleproject:3256
    Change-Id: I5ef9b983dad8a58c341113c802500b89ce081566
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1684293
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>

commit b00ecb9a18f36fadc975e7b1328e884b4dea2526
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Jul 4 07:01:20 2019 +0000

    Roll ./third_party/glslang/src 22683b409e6d..4b4b41a63499 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/22683b409e6d..4b4b41a63499
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@4b4b41a63499
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=ynovikov@google.com
    
    Change-Id: I90385bd8f9286aba10ee3d17e73c74e699c42e9e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1688580
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit c4ef62ec1a689ff5b6dd74383220cb3036f45a30
Author: Ian Elliott <ianelliott@google.com>
Date:   Mon Jul 1 14:34:06 2019 -0600

    Vulkan: Note newly-passing Windows tests.
    
    Remove FAIL lines from expectations file.  After recent CLs have
    landed, addtional dEQP tests are now passing on Windows.
    
    Bug: angleproject:3190
    Change-Id: I40e1f29b21d9d3bb450beac4e94377112175308a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1684226
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit 6d37651a23605e187c507ca7f3368a8952fe1ebf
Author: Tim Van Patten <timvp@google.com>
Date:   Wed Jun 26 13:13:09 2019 -0600

    Vulkan: dFdy is incorrect when the framebuffer is flipped
    
    To account for framebuffer flipping, `dFdy()` expressions
    must be changed to:
    
        dFdy() * ANGLEUniforms.viewportYScale
    
    Bug: angleproject:3487
    Test: dEQP-GLES3.functional.shaders.derivate.dfdy.*
    Change-Id: I38f25ba37fb8c5ae61cee5ac911df88ec4a93fef
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1678404
    Commit-Queue: Tim Van Patten <timvp@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit b7418a177f70ab736c5d4b1c3b42f9d387244718
Author: Tobin Ehlis <tobine@google.com>
Date:   Wed Jul 3 13:53:11 2019 -0600

    Restore flatten invariant behavior
    
    This was removed with a previous commit to fix behavior of invariant
    pragma overall, however, the flattening is still needed for the initial
    translation step of webGL VSs.
    
    This change restores the flattening as it previously existed, however it
    is now only applied to VS outputs. FS inputs are no longer flattened as
    the previous fixes preclude the need for that workaround any longer.
    
    Bug: 980675
    Change-Id: Ia3c0471e24cae2905eb0d7bde153091e4d3829b4
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1687788
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Commit-Queue: Tobin Ehlis <tobine@google.com>

commit 196cd9e7c5a292b61e769a04d71405509de07363
Author: Lingfeng Yang <lfy@google.com>
Date:   Wed Jul 3 08:50:03 2019 -0700

    GLES1: disable texture3DOES extension
    
    It requires GLES 2.0+
    
    This should help keep
    
    src/tests/gl_tests/gles1/TextureParameterTest.cpp:
    
    TextureParameterTest.NegativeEnum
    
    green even if the extension is propagated to the frontend
    from the underlying renderer.
    
    Bug: angleproject:3639
    Change-Id: I04118e060f38cb774a6897ee6ce035b540a3b60e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1686822
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Lingfeng Yang <lfy@google.com>

commit 7356514a24740a56cfe5d6788de08bec2c34b066
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Wed Jul 3 12:13:05 2019 -0400

    End2end test for WebGL conformance2/uniforms/large-uniform-buffers.html
    
    Bug in UBOs over 65535 bytes is captured in the WebGL conformance test.
    Add an ANGLE end2end test to capture this behavior.
    
    Bug: angleproject:3388
    Change-Id: I8151892d22b53a9100d26cceb124c13fdbfae844
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1687116
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

commit a8da86689589aa9c5913249670b199e8830568c1
Author: Mohan Maiya <m.maiya@samsung.com>
Date:   Tue Jul 2 12:21:26 2019 -0700

    Vulkan: Implement OES_get_program_binary extension
    
    - Serialize and deserialize completed shader source of
      program for saving out for glGetProgramBinary().
    - Cleaned up some unnecessary includes in cpp files.
    - Some refactoring within ProgramVk::ShaderInfo to minimize code
      duplication.
    - Added ProgramVk::ShaderInfo::saveShaderSource and
      ProgramVk::ShaderInfo::loadShaderSource.
    - Updated vk_caps_utils.cpp to enable getProgramBinary and add the
      GL_PROGRAM_BINARY_ANGLE program binary format. This follows the pattern
      for other backends.
    
    Bug: angleproject:3216
    Tests: dEQP-GLES3.functional.shader_api.program_binary*
           angle_end2end_tests --gtest_filter=ProgramBinaryTest*
    Change-Id: I927a27aaf9aa3d7fac550819ee80d2676ec1d1be
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1683099
    Commit-Queue: Mohan Maiya <m.maiya@samsung.com>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 35c847eb2902c4f298ae386c22b872db911a325c
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Wed Jul 3 15:28:52 2019 -0400

    Skip EGLFeatureControlTest.InvalidDisplay on all Win/Intel
    
    Was skipped only on Vulkan, but it hangs on other backends too, like
    D3D11.
    
    Bug: angleproject:3629
    Change-Id: I3a812d86e1765507fb03a58c6d10c6a48edc0f2f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1687124
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

commit a87ce8353aa7060b1adab1da4a362ec33b4e42a9
Author: Clemen Deng <clemendeng@google.com>
Date:   Wed Jul 3 13:38:38 2019 -0400

    Load the correct opengl32.dll
    
    DisplayWGL.cpp is loading the opengl32.dll in out/debug, as opposed to the system's opengl32.dll.
    Want system's dll.
    Bug: angleproject:3641
    Change-Id: I764ef44a942a0a6c4dac7082f82ae0fd4d95a139
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1687117
    Commit-Queue: Clemen Deng <clemendeng@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>

commit 994938ca05f8015ff41c3240954e8f43f81e355e
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Wed Jul 3 13:44:46 2019 -0400

    Skip ImageTest.Source3DTargetExternal on Ozone
    
    Since Ozone supports external target only
    for images created with EGL_EXT_image_dma_buf_import
    
    Started failing when Texture3D was enabled in
    https://chromium-review.googlesource.com/c/angle/angle/+/1682782
    
    Bug: angleproject:3188
    Change-Id: I4131b51f16907d12088869b7ee02799ab1b39fec
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1687980
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 66b5ff586c9c0d0066be3022f47157ad310638d3
Author: Cody Northrop <cnorthrop@google.com>
Date:   Fri Jun 28 14:34:22 2019 -0600

    texture3D: Implement functionality and enable for Vulkan
    
    Also update test expectations for texture3D.
    
    Bug: angleproject:3188
    Change-Id: If8a8e0a83a86c48c2afb0c36534c1e9d4120fe47
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1682782
    Reviewed-by: Ian Elliott <ianelliott@google.com>
    Reviewed-by: Lingfeng Yang <lfy@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Cody Northrop <cnorthrop@google.com>

commit 4fbbdb15d649ddafaf732f6a015644ae3c565f2d
Author: Cody Northrop <cnorthrop@google.com>
Date:   Fri Jun 28 14:17:13 2019 -0600

    texture3D: Compiler changes for sampler3D
    
    Bug: angleproject:3188
    Change-Id: Iac1408f8b91c6a6610a63cef236205b7dcdbd2c4
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1682781
    Reviewed-by: Lingfeng Yang <lfy@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Cody Northrop <cnorthrop@google.com>

commit cb335463f56082e4e3803d4693c11f895ba774b5
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Tue Jul 2 12:56:16 2019 -0400

    Skip EGLFeatureControlTest.InvalidDisplay on Win/Intel/Vulkan
    
    This tests has flaky timeouts on the Win10 Intel HD Graphics 630 bot. I
    can't reproduce them locally with Intel 530, so I'm going to skip the
    test since it's testing unrelated behavior.
    
    Bug: angleprojec:3629
    Change-Id: I124d318a870a067f8d100275f9ab5f0a0d053bd4
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1682362
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit e6741faab06d836511d3776a125eb916146f2460
Author: Mohan Maiya <m.maiya@samsung.com>
Date:   Tue Jul 2 09:05:36 2019 -0700

    Add missing writes to Program::serialize
    
    1. Write MaxActiveAttribLocation to the bitstream
    2. Write Uniform Active shader info to the bitstream
    
    Bug: angleproject:3216
    Change-Id: I4f48f75de570b5fdce20e55caf62fa0d14d82646
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1682745
    Commit-Queue: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit bc20a493ac564fe212e2bad1fe974b219d08881a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 2 11:14:52 2019 -0400

    Add vertex attribute change perf test.
    
    This perf test has quite different performance than the buffer-only
    state change test.
    
    Bug: angleproject:3256
    Change-Id: I23aa08b87af371cbafa509803ae7f8cbe0ce1c58
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1684292
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 7558e836ef8a5ea3535deb0aa5992db338a63fc8
Author: Clemen Deng <clemendeng@google.com>
Date:   Tue Jun 18 13:02:03 2019 -0400

    Windows Desktop GL Implementation
    
    Bug: angleproject:3620
    Change-Id: I4ef4ab3ee145e5ce9b1ebf0c2d61d0777db72c43
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1678405
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit d822e560f2d33ee985fd17bdc232e1f4a801225c
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Jul 3 07:01:20 2019 +0000

    Roll ./third_party/glslang/src 73f010813812..22683b409e6d (3 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/73f010813812..22683b409e6d
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@22683b409e6d
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=ynovikov@google.com
    
    Change-Id: I9a8f278ce2d481006cd35b80e86bee6c9424986d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1686962
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 6b5830333673c370d9ee086af3e14a9c5e46b928
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Jul 3 07:01:01 2019 +0000

    Roll ./third_party/spirv-tools/src e6e3e2ccc6a2..9702d47c6fe4 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/e6e3e2ccc6a2..9702d47c6fe4
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@9702d47c6fe4
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=ynovikov@google.com
    
    Change-Id: Ifc59637c3ddf90ca82677380d484a4d1fd7a4c45
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1686961
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 383d120961f4fea5ae98c4f311cd20a571b42b51
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Tue Jul 2 20:57:24 2019 -0400

    Skip ComputeShaderTest.ImageAtomicCounterBuffer
    
    on Win NVIDIA GL.
    
    Bug: angleproject:3636
    Change-Id: If106efa79967fa88d2c67feb7f07309e613ab989
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1686740
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit da904484bfc696193c15d89c9c6e847afeb978cc
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Jul 2 10:49:14 2019 -0400

    Vulkan: Implement glInvalidate[Sub]Framebuffer
    
    Additionally, fixes an issue where the read framebuffer was affecting
    the render pass desc given to the pipeline.  This fix is included with
    this CL as its test depends on glInvalidateFramebuffer.
    
    This issue was revealed by 071d2a44 changing the order in which read and
    draw framebuffers were synced.  Previously, read was synced first,
    dirtying the pipeline and then draw was synced fixing it.  With the
    order reversed, the read framebuffer is the last to changes the
    pipeline, leaving it in an invalid state.
    
    Bug: angleproject:3201
    Bug: angleproject:3202
    Change-Id: Ibebf732a3e3cc081e4865f79dcbaedb467fd9038
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1682468
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit a845b599860606d658fc5acfd5518756a00e9452
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Jul 2 10:44:39 2019 -0400

    Vulkan: fix depth/stencil-only blit
    
    The draw-call path was outputting color unconditionally even though only
    depth/stencil was written by the shader, causing flakiness.
    
    Bug: angleproject:3200
    Change-Id: I1b28e37160153863e7e6c2875c3002abf4ec176b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1682729
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit be3d2d98c40fd5574310a509d68c0aa9683a47e7
Author: shrekshao <shrekshao@google.com>
Date:   Tue Jun 25 17:52:17 2019 -0700

    More HLSL tests with regex
    
    Replace some more HLSL hardcoded unique id tests suffix with regex
    
    Bug: angleproject:3551
    Change-Id: I4ed54092f9b2dda27702ba9412959ec3fb93a455
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1677408
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit b5a13bec788bfafc89a8400fc794f38098dc96d2
Author: Jordan Bayles <jophba@chromium.org>
Date:   Fri Jun 28 14:11:17 2019 -0700

    Prepare for JsonCpp roll in Chromium
    
    This patch is the first of a multistep process to upgrade JsonCpp
    from its current legacy version to the latest version. A minor fix to
    how Json::Value is used is included, as well as properly pulling in the
    jsoncpp_config where jsoncpp is used, allowing for us to roll Chromium
    while Angle uses the deprecated Reader/Writer classes.
    
    After this patch is landed, the Angle dependency in Chromium can be
    rolled as part of rolling JsonCpp, then Angle can update to the new
    StreamWriter/CharReader classes.
    
    Bug: 961513
    Change-Id: Idd1d61270aa0a7e4a91983b4c22a24e2fdaafe49
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1682815
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 2afc3398b3d824c1ca7d9a7066f8c10ae52f03c6
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Jul 2 07:55:21 2019 +0000

    Roll ./third_party/glslang/src 4162de4bbfc5..73f010813812 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/4162de4bbfc5..73f010813812
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@73f010813812
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=ynovikov@google.com
    
    Change-Id: I953609167eabd1f81ff77e68aec5ead36d45b5ed
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1685015
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 5faff91af49995bb63a5d89ff4df7b81a03c128e
Author: Cody Northrop <cnorthrop@google.com>
Date:   Fri Jun 28 14:04:50 2019 -0600

    texture3D: Codegen changes towards OES_texture_3D
    
    Also accompanying hand edits to validationES2.cpp and
    Context.cpp to allow linking.
    
    Bug: angleproject:3188
    Change-Id: I89832265092fabc71bade464f0171d65038d8b0e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1648454
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 7d6923de4ffa67efbadec7aa8d9ca79a4703c643
Author: Cody Northrop <cnorthrop@google.com>
Date:   Mon Jul 1 03:22:42 2019 +0000

    Revert "Vulkan: pipeline cache not populated as blob cache is not set"
    
    This reverts commit 134d6eed2a7d1f148a42c78c8e5da3cfc2df288e.
    
    Reason for revert: glmark2 is unable to start on Android-Q when using ANGLE as the driver.
    
    Original change's description:
    > Vulkan: pipeline cache not populated as blob cache is not set
    >
    > 1. Use vkMergePipelineCaches in eglSetBlobCacheFuncsANDROID as
    >    blob cache callbacks are set after eglInititalize.
    > 2. Use a more proper way to save the cache data to disk.
    >
    > Bug: angleproject:3318
    > Change-Id: Ieb5d10ab93e7afb2aab4446b387d7f36c878a686
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1559671
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    > Commit-Queue: Jamie Madill <jmadill@chromium.org>
    
    TBR=syoussefi@chromium.org,jmadill@chromium.org,fei.yang@arm.com
    
    # Not skipping CQ checks because original CL landed > 1 day ago.
    
    Bug: angleproject:3318
    Change-Id: I51e49bf103142e80b2c9028b3af6d3bb58cf6348
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1683820
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 617d41330e8eb0aa972a4d79813e0b87dc853411
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Jul 1 07:01:01 2019 +0000

    Roll ./third_party/spirv-tools/src 6ccb52b86492..e6e3e2ccc6a2 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/6ccb52b86492..e6e3e2ccc6a2
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@e6e3e2ccc6a2
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=syoussefi@google.com
    
    Change-Id: I2536e0c775a834e83d817af16092b2a40b7e2809
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1682982
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit f116aa9c158b91bc966ef0394d666da4b3e7bcb6
Author: Jiacheng Lu <lujc@google.com>
Date:   Mon Jun 17 15:08:11 2019 -0600

    Vulkan: detect swapchain recreation passively
    
    Currently ANGLE vulkan query current window size every frame to detect
    whether a swapchain recreation is needed, however profiling shows some
    bottle neck on window size query on X11. So here removing the per frame
    window size query and only depend the result of vkAcquireImage and
    VkQueuePresent to detect a need for swapchain recreation.
    
    Bug: angleproject:3535
    Change-Id: I4ddf70b973d78dfcd5f8fab28e29e802edad1b2d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1662759
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Ian Elliott <ianelliott@google.com>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit 4237e53eed3b696e5b1f330a0a4882b510e3e2b2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 28 11:14:31 2019 -0400

    Pull angle-internal for internal ANGLE devs.
    
    These internal repos can hold confidential code. Also updates the GLES
    1.0 conformance test configuration to pull data from angle-internal.
    
    Bug: angleproject:3621
    Change-Id: Ifb9d2a5014b0827a078cfdc85fb20c5f5335204f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1679992
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a965ed1465ab6206f803dff3864c078f49aa220e
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Fri Jun 28 15:50:34 2019 -0400

    Update KHR GLES31 expectations to get bots running.
    
    Missing some expectations for unimplemented features in GLES31 for the
    KHR deqp tests. This suppresses them so the bots will run.
    
    Bug: angleproject:3521
    Change-Id: I962cf03032514d99753306d0db9c942a5124b98f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1682470
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 159c4b00b05ffcf16e26166a2db07bafe5758520
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 28 13:58:50 2019 -0400

    Roll dEQP (June 2019)
    
    Bug: angleproject:3626
    Change-Id: If3da00042f36eb2e0dc614cb6a4648a875fea599
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1682127
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 8bb6baa0fc0afd3f72b01153b3180289b3a39066
Author: James Dong <dongja@google.com>
Date:   Tue Jun 18 15:30:16 2019 -0600

    Vulkan: improve handling of RGB texture formats
    
    Adds fallback for some RGB textures using the corresponding RGBA formats
    and modifies fallback calculation to not require filtering/rendering for
    formats which are not required to support filtering by GL spec.
    
    Bug: angleproject:3190
    Bug: angleproject:3196
    Change-Id: I7beaf9881d63e3c6bd9339faede0333919a4174c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1665894
    Commit-Queue: James Dong <dongja@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit a7d8ada2e8d59dd79de6c4432934477730a69009
Author: James Dong <dongja@google.com>
Date:   Fri Jun 28 11:10:41 2019 -0600

    Test out-of-bounds writes in glCopyTexSubImage2D
    
    Adds a test for out-of-bounds writes resulting from clipping the copy
    area to the size of the source framebuffer causing the destination area
    to be out of bounds.
    This causes a GL_INVALID_VALUE error according to the spec.
    
    Bug: angleproject:3355
    Change-Id: I39638daa9b0c03cc82a6dbf6cabd0027e32a8ea8
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1682111
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 77c8496b5fd063e70d08a43ca6c994d2d7e7dc66
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 28 11:24:27 2019 -0400

    Re-land "Cleanup angle_libs_suffix in BUILD.gn."
    
    We can use output_name instead of repeating the libs suffix in the GN
    files.
    
    The re-land adds automatic suffix application on Android. This makes
    the configuration a bit simpler and should detect future breakage. Also
    cleans up some of the "angle_libraries" code.
    
    Bug: angleproject:3611
    Change-Id: I4971d1085ca67802c916655c30efb7df4001f040
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1679993
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 8f1169eb305b8c22f438dd0e0f594ff02a621ac9
Author: Mohan Maiya <m.maiya@samsung.com>
Date:   Thu Jun 27 15:32:32 2019 -0700

    Added end2end tests for GL_EXT_texture_rg
    
    Bug: angleproject:3195
    Test: ./angle_end2end_tests --gtest_filter='Texture2DRGTest.*'
    Change-Id: I076af9e0b4ee78623dcc9c4e07b4e1bececd05c7
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1681109
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit d4d43ac073820d7662774189ae058488abd363b2
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Jun 28 10:54:26 2019 -0400

    Add suppression for test failing on old MESA
    
    Bug: chromium:979349
    Change-Id: Iaeee744dc33e388e8030ccb923dde0c3f6fda0a6
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1679991
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 931089f40ed0a0f8cbca0ff424a7eaeb39dc1f94
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Jun 27 16:34:18 2019 -0400

    Vulkan: Enable numerous deqp texture tests
    
    ... while verifying that compressed textures work.
    
    Bug: angleproject:3197
    Change-Id: Icd25b761594fd51bbb6bc6963618caae8e4deec9
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1680067
    Reviewed-by: Ian Elliott <ianelliott@google.com>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 3e6e70bba7207bfd65da85e689534340ee45b5a5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 28 14:45:49 2019 +0000

    Revert "Cleanup angle_libs_suffix in BUILD.gn."
    
    This reverts commit 625f5b2fbd89eb04b2e24853502acadbd40f1f73.
    
    Reason for revert: Seems to break the Android build with suffix:
    
    ~/chromium/src$ gn args out/Release64
    Waiting for editor on "/usr/local/google/home/cnorthrop/chromium/src/out/Release64/args.gn"...
    Generating files...
    ERROR Unresolved dependencies.
    //third_party/angle:compressed_symbols(//build/toolchain/android:android_clang_arm)
      needs //third_party/angle:libEGL_angle(//build/toolchain/android:android_clang_arm)
    //third_party/angle:compressed_symbols(//build/toolchain/android:android_clang_arm)
      needs //third_party/angle:libGLESv1_CM_angle(//build/toolchain/android:android_clang_arm)
    
    <snip>
    
    Original change's description:
    > Cleanup angle_libs_suffix in BUILD.gn.
    >
    > We can use output_name instead of repeating the libs suffix in the GN
    > files.
    >
    > Bug: angleproject:3611
    > Change-Id: Ic87c1378aac8be8e1aec695ddbe5c8ec2ed3187b
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1678403
    > Commit-Queue: Jamie Madill <jmadill@chromium.org>
    > Reviewed-by: Tim Van Patten <timvp@google.com>
    > Reviewed-by: Geoff Lang <geofflang@chromium.org>
    
    TBR=geofflang@chromium.org,timvp@google.com,jmadill@chromium.org
    
    Change-Id: I532d9cf28c21ddf65d820d3fc323c87dbc844d96
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:3611
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1679990
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 2074d5f76428422a93ceb8b2080eb3b0bbd98710
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jun 27 13:18:16 2019 -0400

    GL: Clamp uniform array access on Android and AMD devices.
    
    Chrome used to clamp it everywhere but in practice it is only needed on
    these devices.
    
    TEST=conformance/uniforms/out-of-bounds-uniform-array-access.html
    
    Change-Id: Idffe84023f8b27733bfda209edd59bbb220b5c0c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1680054
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 134d6eed2a7d1f148a42c78c8e5da3cfc2df288e
Author: Fei Yang <fei.yang@arm.com>
Date:   Tue Apr 9 14:50:23 2019 +0800

    Vulkan: pipeline cache not populated as blob cache is not set
    
    1. Use vkMergePipelineCaches in eglSetBlobCacheFuncsANDROID as
       blob cache callbacks are set after eglInititalize.
    2. Use a more proper way to save the cache data to disk.
    
    Bug: angleproject:3318
    Change-Id: Ieb5d10ab93e7afb2aab4446b387d7f36c878a686
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1559671
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 625f5b2fbd89eb04b2e24853502acadbd40f1f73
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 26 16:19:35 2019 -0400

    Cleanup angle_libs_suffix in BUILD.gn.
    
    We can use output_name instead of repeating the libs suffix in the GN
    files.
    
    Bug: angleproject:3611
    Change-Id: Ic87c1378aac8be8e1aec695ddbe5c8ec2ed3187b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1678403
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 923c30fba11632d0afcd1a6b9e82b1d0104dda81
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Thu Jun 27 15:16:01 2019 -0400

    Update test expectations for vulkan gles31 bots.
    
    Before enabling gles31 vulkan tests on the bots, there are some test
    expectations that must be updated.
    
    Bug: 3521
    Change-Id: If48cad3d7405cc331e133bf80f62b34d33504c66
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1680066
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

commit 0bfa55044fe642021365388397b4843c8ac2e4ca
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Jun 3 10:40:10 2019 -0400

    Vulkan: Emulate Transform Feedback with vertex shader output
    
    In ES 3.0 and 3.1, only non-indexed GL_POINTS, GL_LINES and GL_TRIANGLES
    is supported for transform feedback.  Without tessellation and geometry
    shaders, we can calculate the exact location where each vertex transform
    output should be written on the CPU, and have each vertex shader
    invocation write its data separately to the appropriate location in the
    buffer.
    
    This depends on the vertexPipelineStoresAndAtomics Vulkan feature.
    
    Bug: angleproject:3205
    Change-Id: I68ccbb80aece597cf20c557a0aee842360fea593
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1645678
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 235e56fbae12c9450a28968c3a2578adc91b538f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jun 27 11:28:31 2019 -0400

    BlitGL: Support CL readback from non-renderable textures.
    
    External textures are often not renderable for the CPU readback path.
    Instead, copy them into a renderable texture and then read them back.
    
    BUG=906724
    
    Change-Id: I61bd0a9d51c4b24e1d285b5f1883e01ccb53ebea
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1680053
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit c5da799732287477e6a4f8b5317bf00911cbc78e
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Jun 27 12:57:13 2019 -0400

    Fix skip Texture3DTestES3.DrawWithLevelsOutsideRangeWithInconsistentDimensions
    
    on Linux Intel GL.
    
    Wrongly skipped
    Texture2DTestES3.DrawWithLevelsOutsideRangeWithInconsistentDimensions
    in previous CL.
    
    Bug: angleproject:2782
    Change-Id: Ifb54f394f7c7b953365bd04b93231a6880f709f6
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1680844
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 5a54299697bdebc6f51087d42b17d7b561cd2e30
Author: Yunchao He <yunchao.he@intel.com>
Date:   Wed Jun 26 10:55:57 2019 -0800

    Test RGB32F texture format on Intel Linux
    
    Bug: angleproject:1958
    
    Change-Id: I52787100fbc9a24b025393eafdede34750c4ca7e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1678732
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 4783e454924544a142882af6456f2c9a04a0b0ba
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jun 27 11:23:15 2019 -0400

    Vulkan: Remove flaky test suppression.
    
    This test might not specifically be flaky. The crash we saw might have
    been related to underlying flakiness in the NVIDIA config. We can try
    removing the flaky suppression and watching the bots for any failures.
    
    Bug: angleproject:3328
    Change-Id: I73f7c104c87759fc17db7e97bd9e0e299cf1fe7b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1680052
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 485cdd8bd3db3b83776a83a89154771a6983cc99
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 26 16:19:34 2019 -0400

    Add std::ostream output for packed enums.
    
    This can be used to convert them to strings for debugging. It can also
    be helpful for frame capture and replay. Currently the enums are output
    as GLenum values.
    
    Bug: angleproject:3611
    Change-Id: Ifcd04449e0ef61e125e0db65aa0dcc2bf48b38ca
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1678399
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit db99083481c4cf693432aebb86226a05588bc1b1
Author: Tim Van Patten <timvp@google.com>
Date:   Wed Jun 26 16:05:02 2019 -0600

    Support NaN conversion in Float32ToFloat16
    
    Add NaN support to Float32ToFloat16.
    
    This follows Dawn's implementation:
    https://dawn-review.googlesource.com/c/dawn/+/8361
    
    Bug: 3612
    Test: angle_unittests
    Change-Id: I624bee2fc48c46b8a69cd38654679ac3cbd7c09f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1678407
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit f0ea83a4945838d04b6974ecdbc7f6166efe0fd8
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Jun 26 10:17:26 2019 -0400

    Vulkan: Initial support for ES3.1
    
    Bug: angleproject:3520
    Bug: angleproject:3521
    Change-Id: I49d67cae0bba3e147c7a83c10e09fe1ee5ff0824
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1678400
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit a9dfb3ba5db1751e51d603ce32f1c7c28a1df6c6
Author: Chris Dalton <csmartdalton@google.com>
Date:   Wed Jun 26 18:36:10 2019 -0600

    Allow "GL_INVERT" nvpr fill mode to pass validation
    
    Bug: angleproject:3617
    Bug: skia:9214
    Change-Id: I11f4e845095cc1ebcbc2717682e945bcf2bb67e3
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1679631
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 68e09a14f7ab7ef8d829bcec1d737870f0cab899
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Jun 27 07:01:40 2019 +0000

    Roll ./third_party/spirv-tools/src dfcb5a1e1042..6ccb52b86492 (3 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/dfcb5a1e1042..6ccb52b86492
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@6ccb52b86492
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=syoussefi@google.com
    
    Change-Id: I791443a678703c6876b7e27131869e5b25b7385f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1680290
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit f857b5014e09d1c9664bf63ed129f402e4b6aae5
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Wed Jun 26 20:15:46 2019 -0400

    Skip end2end tests failing on Intel Ubuntu 19.04 Mesa 19.0.2
    
    Failing:
    MaskedScissoredClearTest.Test/ES2_OpenGL_clear_cd
    MaskedScissoredClearTest.Test/ES2_OpenGL_clear_cd_mask_c
    MaskedScissoredClearTest.Test/ES2_OpenGL_clear_cds
    MaskedScissoredClearTest.Test/ES2_OpenGL_clear_cds_mask_c
    MaskedScissoredClearTest.Test/ES2_OpenGL_clear_cds_mask_cs
    MaskedScissoredClearTest.Test/ES2_OpenGL_clear_cds_mask_s
    MaskedScissoredClearTest.Test/ES2_OpenGL_clear_d
    MaskedScissoredClearTest.Test/ES2_OpenGL_clear_ds
    MaskedScissoredClearTest.Test/ES2_OpenGL_clear_ds_mask_s
    MaskedScissoredClearTest.Test/ES3_OpenGL_clear_cd
    MaskedScissoredClearTest.Test/ES3_OpenGL_clear_cd_mask_c
    MaskedScissoredClearTest.Test/ES3_OpenGL_clear_cds
    MaskedScissoredClearTest.Test/ES3_OpenGL_clear_cds_mask_c
    MaskedScissoredClearTest.Test/ES3_OpenGL_clear_cds_mask_cs
    MaskedScissoredClearTest.Test/ES3_OpenGL_clear_cds_mask_s
    MaskedScissoredClearTest.Test/ES3_OpenGL_clear_d
    MaskedScissoredClearTest.Test/ES3_OpenGL_clear_ds
    MaskedScissoredClearTest.Test/ES3_OpenGL_clear_ds_mask_s
    BlitFramebufferTest.MultisampleDepthClear/ES3_OpenGL
    
    DrawBuffersTest.FirstHalfNULL/ES2_Vulkan
    DrawBuffersTest.Gaps/ES2_Vulkan
    WebGLCompatibilityTest.DrawBuffers/ES2_Vulkan
    
    Crashing:
    Texture3DTestES3.DrawWithLevelsOutsideRangeWithInconsistentDimensions/ES3_OpenGL
    
    Bug: angleproject:2782, angleproject:3614, angleproject:3616
    Change-Id: Ib9bc72d8fd050ba1db1269d5fb3b38e80636211e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1679630
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit d43eee649664fd28767cc31d9d84876a4b40a919
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 14 11:12:51 2019 -0400

    Vulkan: Increase size of driver uniforms buffer.
    
    This should prevent applications that use a lot of updates from getting
    bottlenecked on buffer and descriptor set updates.
    
    Bug: angleproject:3504
    Change-Id: I8fc88b5f13858b8858d88f7e6f43af022c3f6a75
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1647030
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 1042250ff877aa021588e8db7fe8a39e8a30c7e6
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Jun 25 17:06:46 2019 -0400

    Allow wildcards freely in deqp expectations files
    
    Bug: angleproject:3520
    Change-Id: I1f34717e6efaf4a6371c345d892922e598e871bc
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1676552
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit c773ab98f59f94c449e3eff215128f69a1d1ade6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jun 25 17:11:58 2019 -0400

    Vulkan: Recycle dynamic buffer storage.
    
    This adds a free list to the dynamic buffer storage. Buffers are added
    to the free list when the retained buffers are released. They are taken
    from the free list when we allocate a new buffer. We only allocate
    a new buffer in the ring when we run out of free buffers. This reduces
    the amount of time we spend in allocation for frequent updates.
    
    Now that we're recycling buffers inside of DynamicBuffer we also need
    to be a bit more careful about when we allow ourselves to reuse them.
    If they're still in use by the GPU we should not try to modify them.
    
    Bug: angleproject:3082
    Change-Id: Ibee5a7e2fe4a17f4a2f7af6bc6bcce54bdc413c2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1646548
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tobin Ehlis <tobine@google.com>

commit cc82c3f0f1e08f183d6fa7039c7e2552128a63fd
Author: Tim Van Patten <timvp@google.com>
Date:   Fri Jun 21 16:04:24 2019 -0600

    Vulkan: Enable VertexAttributeTest* for ES3_Vulkan
    
    VAO support is present, so this is just enabling the necessary testing.
    
    The tests being skipped are being worked on with issue 3193, which is
    adding support for integer values.
    
    Bug: angleproject:3207
    Test: VertexAttributeTest end2end tests
    Change-Id: Ic0bbcc0e05673aece203e93d8765ac8e90dc6a59
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1672445
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Tim Van Patten <timvp@google.com>

commit 7f2520f13d2e7714002536c1c97f600bdddca246
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 26 11:18:33 2019 -0400

    Vulkan: Refactor DynamicBuffer::init.
    
    This will allow us to more easily create a white box test that sets a
    very small initial size for a dynamic buffer.
    
    Bug: angleproject:3082
    Change-Id: Ic02bbee83ee8e0f4bfe182e9448c2ce60dea66d5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1667645
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tobin Ehlis <tobine@google.com>

commit 8929b9c551b43840efe4a108c0fb8944ed7f8575
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Jun 18 16:21:38 2019 -0400

    Vulkan: Output buffer memory barrier in graph dump
    
    Bug: angleproject:3205
    Change-Id: Id8c1de49d2201ea331e5f5223c88144db5fadbb3
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1665354
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 1245f078ab6cdba2a083040686bbbb22e3b1875f
Author: Anders Leino <aleino@nvidia.com>
Date:   Tue Jun 25 13:51:29 2019 +0300

    Use D3D11 GetDimensions driver workaround for dynamic images
    
    Some NVIDIA D3D11 drivers are buggy and interprets the level passed to
    GetDimensions as being relative to 0, rather than the SRV's MostDetailedMip.
    This affects the implementation of the imageSize function in the D3D11 backend.
    
    Bug: angleproject:3100
    Change-Id: I1e48f5df5e40caf49a4d07662aec587e98cf8388
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1677206
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 615ae1a71646b6d80f5068f6945f88a62cff7ce4
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Jun 21 12:10:14 2019 -0400

    Vulkan: Improve copy buffer self-dependency
    
    The check in addReadDependency to avoid setting self-dependencies was
    causing the barrier set in `copySubData` to be potentially set earlier
    than the buffer's previous usage. This change allows buffer
    self-dependencies to be handled especially.
    
    Bug: angleproject:3194
    Change-Id: I08f2c39f420f020ad5faa9735193e6b7142fa756
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1670952
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit f20daf0bf0cf731731e37312d5cc995234f9defc
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Jun 26 07:01:17 2019 +0000

    Roll ./third_party/glslang/src f9d08a25fbe1..4162de4bbfc5 (4 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/f9d08a25fbe1..4162de4bbfc5
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@4162de4bbfc5
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=syoussefi@google.com
    
    Change-Id: I03bb4c5cf03e37db4109f5fe7c7412e27c4fad53
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1677697
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 166f0ab34656b09cdbb1086c27c4d218ab1711d8
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Jun 26 07:01:39 2019 +0000

    Roll ./third_party/spirv-tools/src df86bb44fe47..dfcb5a1e1042 (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/df86bb44fe47..dfcb5a1e1042
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@dfcb5a1e1042
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=syoussefi@google.com
    
    Change-Id: I4a01fff43331aa2d3bafbc4aa428e3e8ef684266
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1677698
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 6d58266ed63a7aa2dbee3921320eb7fdf3125230
Author: Ian Elliott <ianelliott@google.com>
Date:   Tue Jun 25 09:34:46 2019 -0600

    Vulkan: Update deqp GLES 3.0 texture expectations
    
    Sub-divide one of the big SKIP lines into more-fine-grain SKIP and FAIL lines, based on current top-of-tree status.
    
    Bug: angleproject:3190
    Change-Id: I50ac559a5b44c06b8e525d10efe3ff1b24350d6d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1676406
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit a9bbf6df2eb0d36c464e70e956db8cb04a3919ec
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jun 25 10:58:45 2019 -0400

    Fix warnings in standalone linux build.
    
    BUG=angleproject:3559
    
    Change-Id: Ib57b40d6f6b488549c5746a4e2d40e6fba6bcd4f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1676306
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 0fd917a2fd3541bf0851b2362a82c3b29a9d6304
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Sun Jun 23 00:50:44 2019 -0400

    Vulkan: Remove unnecessary same-layout transitions
    
    Previously, only read-only layouts skipped same-layout transition.  This
    is extended to color attachment and depth/stencil attachment layouts as
    well.  On Nvidia+Linux, this does reduce the number of barriers in the
    Draw* benchmarks, though there's no visible CPU-side performance
    difference.  GPU time is not measured in these tests, but it's possible
    that the driver already skips such transitions (i.e. this only saves us
    from recording an ineffective transition).
    
    Additionally, transfer dst and shader write same-layout transitions are
    turned into an execution barrier instead of a memory barrier to avoid an
    unnecessary flush.  Currently, this particularly affects texture upload,
    and shows a 10% improvement in TextureUploadSubImageBenchmark.  Note
    that this optimization is temporarily disabled due to a bug in the
    windows AMD driver.
    
    Bug: angleproject:3347
    Change-Id: I7dc9d0b5dd2ad87ec19ae13277b330438038519f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1659149
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit b937093eed5c626a0d65c2a0500379bef6d8a8ba
Author: shrekshao <shrekshao@google.com>
Date:   Fri Jun 21 11:02:17 2019 -0700

    HLSL tests with regex
    
    HLSL adds a unique id suffix to user defined variable and these numbers
    are currently hardcoded in tests. It could easily fail if new tokens are
    added to angle builtin variables.
    
    Introduce C++11 regex feature into the foundInHLSLCode to avoid over
    strict tests.
    
    Bug: angleproject:3551
    Change-Id: Ia3052afec667a7ac11198be31b5c1d03c856a723
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1670581
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Shrek Shao <shrekshao@google.com>

commit 5ff8cae9bca299b51095edf2a2e6ef7e8f5506a0
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jun 21 11:09:25 2019 -0400

    GL/D3D: Use texture uploads instead of clearing for robust init.
    
    Chrome uses regular texture uploads on all platforms except OpenGL on
    Mac to do robust resource init for textures because multiple bugs have
    been observed with texture corruption.
    
    BUG=883276
    BUG=882580
    BUG=941620
    
    Change-Id: I5fcd6862147822a08c7533e6a6a9277223034ebd
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1669104
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 4c0a23611b3906855db7b93da2f34aec57930cdf
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jun 25 10:56:29 2019 -0400

    Update ValidateSamplerParameterBase to use const parameters.
    
    ValidateSamplerParameterBase is called with both const and non-const
    parameter pointers which caused our explicit template instantiations to
    not cover all cases resulting in link errors.  Force the parameters to
    always be const so that our instantiations cover everything.
    
    BUG=angleproject:3555
    
    Change-Id: Ibf92572ba80a689c75dcdc70e5153d9941da76f3
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1676305
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 74e98f6cb07daf8b9c1d373013cc3b881f2be6c9
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Wed Jun 19 17:09:56 2019 +0800

    Use highestUsed() instead of size()
    
    Bug: angleproject:3548
    Change-Id: Idd273cdfff5f175399dcc46bd40db52d6f4163b0
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1666909
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>

commit 3b2255975f371cc96c1d5b7d05c30e8a20f4f551
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Mon Jun 17 14:18:06 2019 +0800

    Fix the DispatchCompute error
    
    The error happens when a RWTexture is used in shader. However, there is
    no resource binding to it. We should clear the corresponding UAV in case
    the previous view type is a bufer not a texture.
    
    Meanwhile, this patch removes clearSRVs/clearUAVs since we use
    unsetConflictingSRVs/unsetConflictingUAVs to do the similar thing.
    
    Bug: angleproject:3512, angleproject:3548
    Change-Id: I01752bb9bc6aca5b767599639c4dc613b4e2e2d2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1662017
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>

commit eb66fe4e15e8ad4d11eabcdac3ee1e012b06697a
Author: Tibor Goldschwendt <tiborg@chromium.org>
Date:   Mon Jun 24 14:37:44 2019 -0400

    Move uses-sdk to GN.
    
    Bug: 891996
    Change-Id: I64381bea1bcbddb76748dd03c7caaf2f5360e1ed
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1674258
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit dd3ef1e788191b55260650c13a2a516ac3b4dcfa
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Jun 24 07:01:52 2019 +0000

    Roll ./third_party/spirv-tools/src 7c294608ca19..df86bb44fe47 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/7c294608ca19..df86bb44fe47
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@df86bb44fe47
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=jonahr@google.com
    
    Change-Id: I04e0b7ee52f1c981eb42d20dcd045eff4812c1f1
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1673826
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit dfd760055152076509c59b23e1604d83a7435688
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 14 11:15:52 2019 -0400

    Vulkan: Don't update pipeline when only textures change.
    
    We could expand this functionality in the future to only update the
    pipeline when a signficiant bit of pipeline state changes. For now this
    is mostly a proof of concept.
    
    Significantly improves performance in the textures microbenchmark.
    
    Bug: angleproject:3117
    Change-Id: I3957dd2f08d7d89694f94ddbe45eeeeb620bac0a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1650790
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 351e80984d7e26a8077ee205abdd118efcbf942f
Author: Tim Van Patten <timvp@google.com>
Date:   Fri Jun 21 10:35:06 2019 -0600

    Increase demangled array size
    
    The call to abi::__cxa_demangle() with too small of a char[] can cause
    segfaults or hangs.   This change increases the array from 256 to 4096.
    
    Bug: angleproject:3553
    Test: Verify validation layers don't segfault/hang
    Change-Id: I6704ff00bfab62c99eb288f803ccda35a037dd9d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1670580
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Tim Van Patten <timvp@google.com>

commit 87748543f4770cf4de6da8b351ba9700856d1389
Author: James Dong <dongja@google.com>
Date:   Tue Jun 18 18:45:42 2019 -0600

    GL/Vulkan: handle depth texture discrepancy
    
    In GLES 3.0, depth textures where changed to behave like RED textures,
    but in GLES 2.0 with ARB/OES_depth_texture, they were treated as
    luminance textures.
    This change produces the expected behavior on GLES 2.0 for the GL
    backend and on GLES 3.0 for the Vulkan backend.
    
    Bug: angleproject:3540
    Change-Id: Iad6b4e03cf947b27eb97dbb10419bc8bcdb11024
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1666363
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: James Dong <dongja@google.com>

commit 647f200016abc94037c39f72902b36dc99a2b235
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jun 19 16:18:28 2019 -0400

    Limit max texture size and max MSAA samples on Android.
    
    Android devices will often fail to allocate textures this large and it is
    prefereable to return an error from ANGLE instead of losing the context
    due to an out of memory error.
    
    This mirrors the limits Chrome applies with the max_texture_size_limit_4096
    and max_msaa_sample_count_4 workarounds that are broadly applied to Android.
    
    BUG=882580
    
    Change-Id: I63890baa8712f13b37c607fa475432e67e9384a4
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1351357
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>

commit bce4b9f85777346d6c512bdb59c02a2b22c906a5
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jun 19 16:20:09 2019 -0400

    Always scalarize mat and vec constructor arguments.
    
    This workaround is always enabled in Chrome, do the same in ANGLE.
    
    BUG=882580
    
    Change-Id: I2c01f34a589b07bd0035d7408be884f7a51b1706
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1666699
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 762f180aa31a69fe1e99dbf990af4a708f8dd5cd
Author: Tobin Ehlis <tobine@google.com>
Date:   Thu Jun 20 16:12:38 2019 -0600

    Print perf results to stdout on Android
    
    Bug: chromium:977330
    Change-Id: I25b2ac11b8ee9b5c084bd828a4d0ddf2b8c1b3eb
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1670092
    Commit-Queue: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 371d95b87032fb3c75e96ba3956806f14b91f4ff
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Jun 18 15:39:20 2019 -0400

    Vulkan: Handle 0-sized viewports
    
    Issue exposed by a transform feedback test.  Since we already create a
    scissor to match the viewport (be it 0-sized or not), we can create the
    Vulkan viewport with a small width/height if they are 0, as that's not
    allowed by Vulkan.
    
    Bug: angleproject:3205
    Change-Id: Ib23d8b9f5e84447be2c4b7e8aff805e7d9e57323
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1665352
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 067687f467dd07f75079592398efd559fdc50ec3
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed May 29 12:48:49 2019 -0400

    Removal global locks from GL entry points.  Always lock in EGL.
    
    The ANGLE Vulkan backend is now thread safe for non-share group contexts. This
    means that a global GL lock only adds overhead for most use cases.
    
    Remove the angle_force_thread_safety gn argument.
    
    BUG=angleproject:2464
    
    Change-Id: Ic6ba89e18b46e5dd72aa83d0f409097441fcca3a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1635749
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Tobin Ehlis <tobine@google.com>

commit 9d275db4331a37b46533c3b054d2efa5b7f15e1b
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Jun 18 15:37:22 2019 -0400

    Vulkan: Add vkCmdFillBuffer support
    
    Implemented as part of an experiment.  Allows easier buffer-related
    testing by providing a quick way of filling the buffer with dummy data.
    
    Bug: angleproject:3205
    Change-Id: Ice8cfd0c2566c91a5fb10aaea57985d671d0e7b7
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1665351
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tobin Ehlis <tobine@google.com>

commit 53c4495a336613240f618c0c64f14d9c4e83a336
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Jun 21 07:01:52 2019 +0000

    Roll ./third_party/spirv-tools/src 2090d7a2d26c..7c294608ca19 (8 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/2090d7a2d26c..7c294608ca19
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@7c294608ca19
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=jonahr@google.com
    
    Change-Id: I92f99e50eaa01782b74f311b1f0d77d4580ab9fa
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1670005
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit bf4cfa77c4bf0474485c44aa4ec5922940e6c6a2
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Jun 20 15:59:18 2019 -0400

    Switch ANGLE Win and Linux try bots to builderless.
    
    Bug: chromium:973992
    Change-Id: Iee5cf6a4b6b0469b81cd0c1a7cd0ebea05060580
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1670009
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit b867bc6f10417ece28f9d0d7e595bb700983453d
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Wed Jun 19 12:11:13 2019 -0600

    Vulkan: Fix dirty element array buffer updates.
    
    The issue occurs that binds the same buffer and calls glDrawElements
    with the same indices. The offset has been reset in the
    VertexArrayVk::syncState(), but it doesn't check the actual value
    in the ContextVk::setupIndexedDraw().
    Also corrected case where update via BufferSubData wasn't being
    sent to the HW.
    
    Bug: angleproject:3362
    Change-Id: I0f7d2fc162bc8f1c36cb09ba689fd27b482b9035
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1666345
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 661ed41972281348a8dfd9be682853a4382ca583
Author: James Dong <dongja@google.com>
Date:   Thu Jun 20 11:11:41 2019 -0600

    Debug: suppress INFO level messages by default
    
    They can be re-enabled with the angle_enable_trace option.
    Prevents validation errors from being output in NoFixture tests,
    as the default platform methods aren't overridden.
    
    Bug: angleproject:3525
    Change-Id: I77342230b6c7cd167cfc3169f09d4e74b4579244
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1669848
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit cd946a034fcdc3b78bdf4215fed6abceb36d57f1
Author: Michael Spang <spang@chromium.org>
Date:   Mon Jun 10 18:11:57 2019 -0400

    Vulkan: Fix out of bounds access of pWaitDstStageMask
    
    Since a6242e4d4 ("Vulkan: Support submitting multiple semaphores"),
    we can submit up to 2 semaphores at a time, but pWaitDstStageMask
    is still a single value. Change it to an array of two elements to
    prevent an out of bounds access.
    
    Bug: angleproject:3289
    
    Change-Id: I5147802ce350af7b78dbf54cfa4a9519dd495f01
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1666347
    Commit-Queue: Michael Spang <spang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 9420fa061188d686a2e9f26b211dcc58eef6bf3a
Author: Tim Van Patten <timvp@google.com>
Date:   Fri Jun 7 17:09:22 2019 -0600

    Vulkan: Implement copyBufferSubData
    
    Implement BufferVk::copySubData().
    
    Bug: angleproject:3194
    Test: dEQP-GLES3.functional.buffer.copy.*
    Test: dEQP-GLES3.functional.negative_api.buffer.copy_buffer_sub_data
    Test: angle_end2end_tests BufferDataTestES3
    Change-Id: I220cd490eb1eb799604e217b3e377af3fd431d97
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1648669
    Commit-Queue: Tim Van Patten <timvp@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d5cef305c1944cb7133741e55a4e88ea11fa946c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 19 14:21:33 2019 -0400

    Vulkan: Add more trace events.
    
    This captures a bit more information about where the call time goes
    during a flush. It can show at least on desktop NVIDIA that we spend a
    fair amount of time in vkQueuePresentKHR.
    
    Bug: angleproject:3117
    Change-Id: I2d0195b9338bcac80e8dd8cfb550402271f286f9
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1650787
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 4416846819f76673fc4d5f9bae1b6da621757c7e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jun 20 09:50:23 2019 -0400

    Vulkan: Sync image in TextureVk::syncState.
    
    We can use the DIRTY_BIT_IMPLEMENTATION internal dirty bit in the
    gl::Texture class to force calls to ContextVk::syncState. In syncState
    we can ensure we call ensureImageInitialized before we get to the
    ContextVk. This in turn means we can remove some of the command graph
    breaks from TextureVk.
    
    We need to make sure the dirty bits are propagated to EGL Image
    siblings with this method. This fixes a potential implementation issue
    with EGL images with the GL back-end.
    
    Also makes a state change test a little better by removing some of the
    VAO and program init calls before the draw.
    
    Improves perf on the texture change microbenchmark by 12.5%.
    
    Bug: angleproject:3539
    Bug: angleproject:3117
    Change-Id: I2b5481690801fa98f859a6c02e3f4b974590cd3d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1663839
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 3ea463bfa4ed941977fcb25055bddebe2b749a83
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 19 14:21:33 2019 -0400

    Move event tracer back into common.
    
    Requires that we update the TRACE_EVENT macros to accept a platform as
    an argument. The refactor isn't complete. In order to finish we'd need
    to ensure we have the Display's PlatformMethods available at all sites.
    
    Unblocks adding trace events directly in the perf tests.
    
    Bug: angleproject:1892
    Bug: angleproject:3117
    Change-Id: Iee0ca086ccfe23acab3fc186fb042f018711a94c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1664794
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit e4780c510e7189d5e9ce473fe18c7be955ec3bf4
Author: Jiacheng Lu <lujc@google.com>
Date:   Wed Jun 19 17:25:43 2019 -0600

    Fix dEQp test results path on Android
    
    Bug: angleproject:3547
    Change-Id: I83e491fb0121f0a8473630ead6e48b062ae06da5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1668234
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit c5c937e1e8bdaa4c0a02483af81e5fecd280ec9a
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Jun 19 16:20:57 2019 -0400

    Vulkan: Support R11G11B10_FLOAT and R9G9B9E5_SHAREDEXP
    
    The keys in vk_format_map.json were incorrect.  The format table
    generation script is enhanced to give an error in such a case.  This
    revealed a number of entries with no corresponding angle format, which
    are also removed.
    
    Bug: angleproject:2898
    Bug: angleproject:3190
    Change-Id: I32caf2d2a8abb6f76b25436725670a8e84d576fb
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1666700
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 8af6c6f56fc003681d54731fe3bfd1fb78e668bf
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Jun 18 15:43:44 2019 -0400

    Vulkan: Minor cleanup of Transform Feedback validation
    
    By using the helper isTransformFeedbackActive* functions.
    
    Bug: angleproject:3205
    Change-Id: I50b3e9db427da9f65c3e2b50d7847464e8c28202
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1665353
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>

commit 8b227a3b707d676fab6186384378c35ef3fefc14
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jun 19 14:22:26 2019 -0400

    Documentation: Update support matrix.
    
    BUG=angleproject:1944
    
    Change-Id: I123bb4f97f947272364c765b18d11dba476eee01
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1666696
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit c6601ec89b5ee8ce973db0a80da84b1758733c69
Author: James Dong <dongja@google.com>
Date:   Fri Jun 14 11:07:23 2019 -0600

    Vulkan: fix texture swizzle
    
    Corrects texture swizzle in Vulkan backend. Previously user-supplied
    swizzle was applied before internal swizzle; this change applies the
    internal swizzle first, causing the correct behavior.
    
    Also recreates image views when swizzle is dirty.
    
    Test: ./angle_deqp_gles3_no_gtest --deqp-egl-display-type=angle-vulkan -n 'dEQP-GLES3.functional.texture.swizzle.*'
    Test: ./angle_end2end_tests --gtest_filter='SwizzleTest.*/ES3_Vulkan'
    
    Bug: angleproject:3212
    Change-Id: Ie2c44b479da5c19ba744ace7562a73c944f97a49
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1660909
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit f157aba50a524cded8ab2a1e83c63357c8032c25
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Jun 19 07:01:52 2019 +0000

    Roll ./third_party/glslang/src 11805e41d992..f9d08a25fbe1 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/11805e41d992..f9d08a25fbe1
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@f9d08a25fbe1
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=jonahr@google.com
    
    Change-Id: Iaa82e2e9fadbbd02b8dae865d61c7f1217746a8e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1666931
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 88e0322122f2b5d5f8cd5be78e6fafcd0288048e
Author: Stephen Martinis <martiniss@chromium.org>
Date:   Fri May 31 12:06:28 2019 -0700

    Unset conflicting SRVs and UAVs
    
    D3D11 cannot allow the same (sub)-resource bound as both
    a SRV and an UAV at the same time. Unset conflicting SRVs
    and UVAs between render pipeline and compute pipeline.
    
    Bug: angleproject:3152
    TEST=angle_end2end_tests.ComputeShaderTest.*
    
    Change-Id: I9cb8b902edbf987166a57af314af6b21a6874998
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1576504
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Xinghua Cao <xinghua.cao@intel.com>

commit 6c824a1bc17b286b86cf05a0228ec549875351eb
Author: Michael Spang <spang@chromium.org>
Date:   Tue Jun 18 15:43:33 2019 -0400

    Vulkan: Add missing layout for VK_IMAGE_LAYOUT_UNDEFINED
    
    This this was missed because it doesn't add its own enum value and
    instead reuses GL_NONE.
    
    Bug: chromium:976374
    Test: chrome --enable-features=UseSkiaRenderer,UiGpuRasterization \
      --enable-gpu-rasterization \
      --enable-oop-rasterization \
      --use-vulkan=native \
      --use-gl=angle \
      --use-angle=vulkan
    
    Change-Id: I73437211fef3253801e899cb6e50a8e18865cc65
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1665329
    Commit-Queue: Michael Spang <spang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 9a4bd48d5f0c367fd1db39e67aaffdbff1736bd6
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Thu Mar 14 14:40:57 2019 +0800

    Allow overwriting angle_root in non-Chromium GN configurations
    
    This patch adds the support of overwriting angle_root to the one
    defined outside ANGLE, which is useful for other projects which
    intend to configure ANGLE in their GN builds.
    
    Bug: angleproject:3263
    Change-Id: I70a56a3d0afdca2eb66fb9619f0dd4d3efc58dee
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1522912
    Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 71ad2a732e412d6d6f5b2b21540938cc890d3edb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jun 18 21:10:28 2019 +0000

    Revert "Vulkan: Add missing command pool reset."
    
    This reverts commit 9aa865a6f9885fce602e9b637a18fb124ce9d372.
    
    Reason for revert: Seems to be causing crashes on Android in glmark2.
    Might also be responsible for a perf regression.
    
    Bug: angleproject:3542
    
    Original change's description:
    > Vulkan: Add missing command pool reset.
    >
    > We were still calling destroy in checkCompletedCommands. We can
    > instead call reset.
    >
    > May not significantly impact performance.
    >
    > Bug: angleproject:3489
    > Change-Id: I61a2cb154faac56dc78a49678dd822d81ce16ad2
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1647029
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    > Reviewed-by: Tobin Ehlis <tobine@google.com>
    > Commit-Queue: Jamie Madill <jmadill@chromium.org>
    
    TBR=tobine@google.com,jmadill@chromium.org
    
    # Not skipping CQ checks because original CL landed > 1 day ago.
    
    Bug: angleproject:3489
    Change-Id: Icb0e99f18ecab09798654605973958bd2b263002
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1665748
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 11b9dc59de6c4700741dc9073f7e89f8f2ab46f3
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Tue Jun 18 15:28:44 2019 -0400

    Switch ANGLE Win and Linux CI bots to builderless.
    
    Also update doc.
    
    Bug: chromium:973992
    Change-Id: I59a27935d2bcd438df025945b885384b1d5b0792
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1665328
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 857880e5b8b1ffb9c7c2837c23e86ee1e1458480
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon May 27 13:39:15 2019 -0400

    GL: Add extensions to enable hardware video decode on Android.
    
    The Android SurfaceTexture API has to be initialized with a texture id
    which Chrome has to query from an ANGLE external texture. It also
    rebinds and sets the texture dimensions on calls to
    SurfaceTexture.updateTexImage so ANGLE must be notified about these
    changes so that state tracking and validation continue to function.
    
    BUG=967410
    
    Change-Id: I92e9077f75835b088da3a8caffb3ff40e9ad0361
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1630293
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 32d718f3e81e8bd25a48dcfd082861619fc9079d
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Tue Jun 18 11:25:23 2019 -0400

    NVIDIA Shield workaround for IsNVIDIA() detection
    
    NVIDIA Shield do not implement Vulkan, which is used to populate
    vendor IDs in SystemInfo. The vendorIDs are used to check IsNVIDIA().
    This CL adds a workaround so IsNVIDIA() returns true for NVIDIA
    Shield.
    
    Bug: angleproject:3541
    Change-Id: Ib36dd376207163acfc8d3a0e341f07a7d6aa3122
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1663080
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit f9686af02184423208a3326823a82cd593f64585
Author: Sunny Sachanandani <sunnyps@chromium.org>
Date:   Tue Jun 4 17:49:43 2019 -0700

    Add support for D3D11 texture backed EGLImages
    
    Implement EGL_ANGLE_image_d3d11_texture extension.  Images created with
    this extension might not be renderable based on bind flags and resource
    usage of the client provided texture in which case attaching them to a
    framebuffer won't succeed.
    
    The intended use case is to bind the front and back buffers of a swap
    chain to GL textures that can be used for rendering in the case of the
    back buffer and as a shader input for the front buffer.
    
    Bug: chromium:939655
    Change-Id: Ic3328e831880292217b88be84740740df6031fa6
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1646732
    Commit-Queue: Sunny Sachanandani <sunnyps@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit eee67c6ec2840ce5f340487c25b65dbcb249c66d
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Tue Jun 18 13:00:43 2019 -0400

    Fix Platform.h integration with ANGLE
    
    A function was renamed which broke the platformMethods table strings.
    This CL reverts the rename (originally from crrev/c/1660952)
    
    Bug: angleproject:1621
    Change-Id: I8121a4956ba1d3e3c5036f72f6f1fdf5509dc491
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1664792
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

commit 124f78c2ffb844cc0fe0a748f68c469ea1bc1342
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jun 18 11:48:24 2019 -0400

    Remove gl::Context parameter from Observer functions.
    
    It was only used in exactly one instance in VertexArray. Instead we can
    cache a bool and avoid needing to pass it around.
    
    Will make signaling dirty easier in the Vulkan back-end.
    
    Bug: angleproject:3539
    Change-Id: Ia570aec051a24a5280df49edc4345c54022b46ec
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1663838
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 81b6acfb86850cd81fa70bccb44791d5e37a43fa
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Tue Jun 18 10:10:42 2019 -0400

    Roll SPIRV Tools and Headers into ANGLE
    
    SPIRV-Tools roller did not roll the correct headers version.
    
    Change-Id: Ifa1c9e2ee92e11a5e84ba78249e422884f5b6582
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1663840
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

commit b8252fdbc6d094c45ad9bee4dc4e3303c0998e5a
Author: Kimmo Kinnunen <kkinnunen@nvidia.com>
Date:   Tue Jun 18 12:13:49 2019 +0300

    Remove unused WidenString function
    
    The removed function had incorrect Windows implementation,
    the return value was checked incorrectly.
    
    Last use was removed in commit 573f76b3eebf38cefb144781bfd90418e2c7df37
    https://chromium-review.googlesource.com/c/1042785
    
    Bug: angleproject:2532
    Change-Id: I66907fcb33041b097062208d53ca88752c05f9cb
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1664153
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Kimmo Kinnunen FI <kkinnunen@nvidia.com>

commit 141a23f64f6da268700ca465b9930f7936744434
Author: Mohan Maiya <m.maiya@samsung.com>
Date:   Mon Jun 17 17:56:59 2019 -0700

    Add support for OES_depth24
    
    Allow 24-bit depth as a valid Renderbuffer format.
    
    Bug: angleproject:3229
    Test: angle_end2end_tests --gtest_filter=DepthStencilFormatsTest.DepthBuffer/*
    Change-Id: I166639ec0e000595dc55848e4b8b7bef627b6471
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1661050
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit a4c639c4161a545237113748ccb931d3a46cdcc7
Author: Kimmo Kinnunen <kkinnunen@nvidia.com>
Date:   Mon Jun 3 14:04:01 2019 +0300

    D3D: Add a wrapper to Image11 that enables ASAN/MSAN to catch the errors on map operations
    
    The wrapper should be a no-op on builds with assertions disabled.
    The wrapper should be useful on ASAN and MSAN builds.
    
    gn args out/release-asan --args="is_debug=false is_asan=true"
    ninja -C out/release-asan angle_end2end_tests ^
     out\release-asan\angle_end2end_tests ^
     --gtest_filter=Texture2DArrayCopy.SnormFormats* --gtest_catch_exceptions=0 ^
     --gtest_repeat=-1
    
    Output when the fix payload of angleproject:2865 is removed:
    
    ...
    
    Repeating all tests (iteration 1) . . .
    
    Note: Google Test filter = Texture2DArrayCopy.SnormFormats*
    [==========] Running 1 test from 1 test suite.
    [----------] Global test environment set-up.
    [----------] 1 test from Texture2DArrayCopy
    [ RUN      ] Texture2DArrayCopy.SnormFormats/ES3_D3D11
    =================================================================
    ==500==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x12b2c4777040 at pc 0x7fff9602216b bp 0x00c0eaafd090 sp 0x00c0eaafd0d8
    READ of size 1 at 0x12b2c4777040 thread T0
        #0 0x7fff9602216a in angle::R8G8B8A8::readColor c:\Users\kkinnunen\angle\src\image_util\imageformats.cpp:333
        #1 0x7fff9618dbf0 in rx::CopyImageCHROMIUM c:\Users\kkinnunen\angle\src\libANGLE\renderer\renderer_utils.cpp:377
        #2 0x7fff96186bb2 in rx::Image11::CopyImage c:\Users\kkinnunen\angle\src\libANGLE\renderer\d3d\d3d11\Image11.cpp:113
        #3 0x7fff95e90410 in rx::Renderer11::copyImage c:\Users\kkinnunen\angle\src\libANGLE\renderer\d3d\d3d11\Renderer11.cpp:3009
        #4 0x7fff9617b447 in rx::TextureD3D_2DArray::copyTexture c:\Users\kkinnunen\angle\src\libANGLE\renderer\d3d\TextureD3D.cpp:3293
        #5 0x7fff95afd7e1 in gl::Texture::copyTexture c:\Users\kkinnunen\angle\src\libANGLE\Texture.cpp:1196
        #6 0x7fff95977f19 in gl::Context::copyTexture3D c:\Users\kkinnunen\angle\src\libANGLE\Context.cpp:4347
        #7 0x7fff9568b04a in gl::CopyTexture3DANGLE c:\Users\kkinnunen\angle\src\libGLESv2\entry_points_gles_ext_autogen.cpp:57
        #8 0x7ff7d1d8fc97 in angle::CopyTexture3DTest::testCopy c:\Users\kkinnunen\angle\src\tests\gl_tests\CopyTexture3DTest.cpp:90
        #9 0x7ff7d1dadd10 in angle::Texture2DArrayCopy_SnormFormats_Test::TestBody c:\Users\kkinnunen\angle\src\tests\gl_tests\CopyTexture3DTest.cpp:1272
        #10 0x7ff7d2c22891 in testing::Test::Run c:\Users\kkinnunen\angle\third_party\googletest\src\googletest\src\gtest.cc:2522
        #11 0x7ff7d2c243c0 in testing::TestInfo::Run c:\Users\kkinnunen\angle\third_party\googletest\src\googletest\src\gtest.cc:2698
        #12 0x7ff7d2c253e8 in testing::TestSuite::Run c:\Users\kkinnunen\angle\third_party\googletest\src\googletest\src\gtest.cc:2828
        #13 0x7ff7d2c3f33e in testing::internal::UnitTestImpl::RunAllTests c:\Users\kkinnunen\angle\third_party\googletest\src\googletest\src\gtest.cc:5285
        #14 0x7ff7d2c3e72d in testing::UnitTest::Run c:\Users\kkinnunen\angle\third_party\googletest\src\googletest\src\gtest.cc:4873
        #15 0x7ff7d2bf10a2 in main c:\Users\kkinnunen\angle\src\tests\angle_end2end_tests_main.cpp:15
        #16 0x7ff7d2d27897 in __scrt_common_main_seh f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:283
        #17 0x7ff801ec7973 in BaseThreadInitThunk+0x13 (C:\WINDOWS\System32\KERNEL32.DLL+0x180017973)
        #18 0x7ff804cea270 in RtlUserThreadStart+0x20 (C:\WINDOWS\SYSTEM32\ntdll.dll+0x18006a270)
    
    0x12b2c4777040 is located 0 bytes to the right of 256-byte region [0x12b2c4776f40,0x12b2c4777040)
    allocated by thread T0 here:
        #0 0x7ff7d2c6d574 in malloc C:\b\s\w\ir\k\src\third_party\llvm\projects\compiler-rt\lib\asan\asan_malloc_win.cc:68
        #1 0x7fff95af47b2 in angle::MemoryBuffer::resize c:\Users\kkinnunen\angle\src\common\MemoryBuffer.cpp:40
        #2 0x7fff9648c9a6 in rx::MappedSubresourceVerifier11::wrap c:\Users\kkinnunen\angle\src\libANGLE\renderer\d3d\d3d11\MappedSubresourceVerifier11.cpp:51
        #3 0x7fff961864b5 in rx::Image11::map c:\Users\kkinnunen\angle\src\libANGLE\renderer\d3d\d3d11\Image11.cpp:648
        #4 0x7fff9618676c in rx::Image11::CopyImage c:\Users\kkinnunen\angle\src\libANGLE\renderer\d3d\d3d11\Image11.cpp:93
        #5 0x7fff95e90410 in rx::Renderer11::copyImage c:\Users\kkinnunen\angle\src\libANGLE\renderer\d3d\d3d11\Renderer11.cpp:3009
        #6 0x7fff9617b447 in rx::TextureD3D_2DArray::copyTexture c:\Users\kkinnunen\angle\src\libANGLE\renderer\d3d\TextureD3D.cpp:3293
        #7 0x7fff95afd7e1 in gl::Texture::copyTexture c:\Users\kkinnunen\angle\src\libANGLE\Texture.cpp:1196
        #8 0x7fff95977f19 in gl::Context::copyTexture3D c:\Users\kkinnunen\angle\src\libANGLE\Context.cpp:4347
        #9 0x7fff9568b04a in gl::CopyTexture3DANGLE c:\Users\kkinnunen\angle\src\libGLESv2\entry_points_gles_ext_autogen.cpp:57
        #10 0x7ff7d1d8fc97 in angle::CopyTexture3DTest::testCopy c:\Users\kkinnunen\angle\src\tests\gl_tests\CopyTexture3DTest.cpp:90
        #11 0x7ff7d1dadd10 in angle::Texture2DArrayCopy_SnormFormats_Test::TestBody c:\Users\kkinnunen\angle\src\tests\gl_tests\CopyTexture3DTest.cpp:1272
        #12 0x7ff7d2c22891 in testing::Test::Run c:\Users\kkinnunen\angle\third_party\googletest\src\googletest\src\gtest.cc:2522
        #13 0x7ff7d2c243c0 in testing::TestInfo::Run c:\Users\kkinnunen\angle\third_party\googletest\src\googletest\src\gtest.cc:2698
        #14 0x7ff7d2c253e8 in testing::TestSuite::Run c:\Users\kkinnunen\angle\third_party\googletest\src\googletest\src\gtest.cc:2828
        #15 0x7ff7d2c3f33e in testing::internal::UnitTestImpl::RunAllTests c:\Users\kkinnunen\angle\third_party\googletest\src\googletest\src\gtest.cc:5285
        #16 0x7ff7d2c3e72d in testing::UnitTest::Run c:\Users\kkinnunen\angle\third_party\googletest\src\googletest\src\gtest.cc:4873
        #17 0x7ff7d2bf10a2 in main c:\Users\kkinnunen\angle\src\tests\angle_end2end_tests_main.cpp:15
        #18 0x7ff7d2d27897 in __scrt_common_main_seh f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:283
        #19 0x7ff801ec7973 in BaseThreadInitThunk+0x13 (C:\WINDOWS\System32\KERNEL32.DLL+0x180017973)
        #20 0x7ff804cea270 in RtlUserThreadStart+0x20 (C:\WINDOWS\SYSTEM32\ntdll.dll+0x18006a270)
    
    Bug: angleproject:2865
    Change-Id: I6c8fc203d075014ba8ce31c728982eed73812d04
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1640212
    Commit-Queue: Kimmo Kinnunen FI <kkinnunen@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 2d223552e3fe454420a8fcd936390104009e0ba5
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Jun 18 07:01:52 2019 +0000

    Roll ./third_party/glslang/src def9662348b0..11805e41d992 (5 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/def9662348b0..11805e41d992
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@11805e41d992
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=jonahr@google.com
    
    Change-Id: Idf29d79ea4e9f65e239604225af391de7640f313
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1662959
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit b1c8dbf3fad891e74e67abfb02683e0c01948a32
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Jun 14 23:57:26 2019 -0400

    Vulkan: Correct synchronization for buffer readback
    
    When mapping buffer memory, a flush is performed if the buffer has
    pending operations followed by a finishToSerial to make sure the buffer
    is no longer in use by the GPU.
    
    This also implements GLES 3.0 buffer mapping flags:
    
    GL_MAP_INVALIDATE_RANGE_BIT: No-op. Vulkan's vkMapMemory doesn't have
    such a feature.
    
    GL_MAP_INVALIDATE_BUFFER_BIT: Same
    
    GL_MAP_FLUSH_EXPLICIT_BIT: Vulkan automatically flushes host memory
    writes on vkQueueSubmit, so this is no-op as well.
    
    GL_MAP_UNSYNCHRONIZED_BIT: The flush+finishToSerial call is skipped in
    this case.
    
    Bug: angleproject:3213
    Change-Id: I6bdb460dffbb57170649f4c9678afbfae331926c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1661252
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Tim Van Patten <timvp@google.com>

commit c211c2f5b59d49e5d98d8a73e701e13a1ac2281a
Author: Clemen Deng <clemendeng@google.com>
Date:   Fri Jun 14 16:02:17 2019 -0400

    Make proc table autogen use gl.xml data
    
    Instead having the proc table be generated from proc_table_data.json
    which needed to be manually updated with changes, the proc table is now
    generated from data in gl.xml and egl.xml
    
    Bug: angleproject:3533
    Change-Id: I773ea7615cc4ec1c9901def629b089d8d17328eb
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1660645
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 3f8975e121c582d094bc478ae5ba3e4f71a16112
Author: James Dong <dongja@google.com>
Date:   Wed Jun 12 13:11:57 2019 -0600

    Debug: suppress INFO log level in tests
    
    Disables INFO level log messages in tests, including GL errors.
    
    Bug: angleproject:3525
    Change-Id: Ib16871b9faaff54964dd2770e1791372b1b79361
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1656293
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: James Dong <dongja@google.com>

commit 875509e93a266dd5c91947d3301a2506fed1560c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 17 13:44:21 2019 -0400

    Vulkan: Minor cleanup to ContextVk::setupIndexedDraw.
    
    This removes VertexArrayVk::updateIndexTranslation. Turns out this
    helper function wasn't that helpful.
    
    Bug: angleproject:3539
    Change-Id: Ia4573219073261767e9d215ed4227233c23cbfaa
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1660639
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit beb0eb2d8c4028bbb528f47e6b4241b5a06ea247
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Fri Jun 14 15:10:33 2019 -0400

    Clean up workarounds/features to single location.
    
    Rename all workarounds structs to features, and move the lists to a
    shared location in include/platform (to help with documentation,
    see:
    https://cs.chromium.org/chromium/src/ui/gl/gl_switches.cc?sq=package:chromium&g=0&l=69)
    
    Bug: angleproject:1621
    Change-Id: I4069f08131db5e886047a007efb5d7764dfee5f2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1660952
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d7013c033c4ca2500fdab11bdc3da768678f9395
Author: Tobin Ehlis <tobine@google.com>
Date:   Mon Jun 17 09:27:18 2019 -0600

    Merge ESSL pre-processsor token errors
    
    In both the ESSL 1.00 & 3.00 specifications having an extension directive
    after a pre-processor token is an error. Merging those two enum cases to
    be a single case. WebGL is handled as a separate warning case for any
    shader version before 3.00.
    
    Also this change now correctly marks 1.00 shaders that break this rule
    to be invalid so the ExtensionAfterNonPreProcessorTokenESSL1 test no
    longer expects handleExtension() to be called.
    
    BUG=chromium:971660
    
    Change-Id: I37b10cc0fb3a0efd6200a478171e005a96478255
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1661395
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Tobin Ehlis <tobine@google.com>

commit e962b6a6417dcec523d767e9398c0f1d484fa126
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Jun 17 10:12:26 2019 -0400

    Vulkan: Enable previously failing clear tests
    
    These tests crashed in FramebufferVk::clearWithAttachment, which no
    longer exists.
    
    Bug: angleproject:3081
    Change-Id: I6b01c311c4caed21a920e5d5db1195c2dbfb905a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1661554
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 08b5629336d0a8a8a97d0482b8df153cbd7a2110
Author: James Dong <dongja@google.com>
Date:   Mon Jun 10 12:55:36 2019 -0600

    Vulkan: add LINE_LOOP with primitive restart
    
    Adds support for GL_LINE_LOOP with primitive restart.
    
    Bug: angleproject:3215
    Change-Id: Ief1bdf15ef9b108dba025eaf4ce580bba54af623
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1649351
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 2c49d0b0936aafcfd1a22195698d8158dba5f634
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 14 15:17:37 2019 -0400

    Suppress Bindings perf test on Win/Intel/GL.
    
    BindingsBenchmark.Run/gl_100_objects_allocated_every_iteration
    
    This test was timing out on the bots. Conservatively skip the benchmark
    on Intel/GL/Windows.
    
    Bug: chromium:974083
    Change-Id: I4a254bff8b43e5a47b5905ee6b9bc1a659129684
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1660951
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit e1849ee1fbb1ea082853c187c11089c8f9b20bad
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sun Jun 16 23:06:28 2019 -0400

    Remove obsolete WinRT files.
    
    These were no longer used in the build.
    
    Bug: angleproject:3162
    Change-Id: I715bb3e6f14ed8c97523dec5b0b58bf9a89be0f0
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1660716
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 67d8b6f63c3fa7f8ad6760381c13fbd2fb2b041c
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Jun 17 07:02:00 2019 +0000

    Roll ./third_party/spirv-tools/src 42830e5a68c3..59983a601091 (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/42830e5a68c3..59983a601091
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@59983a601091
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=jmadill@google.com
    
    Change-Id: Iaa7e68def85004ca1ec5275d048d26495825faeb
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1661577
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 5262bc70d4d9ee84adb9f7d6346c9cb8cd6a3920
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Jun 17 07:02:00 2019 +0000

    Roll ./third_party/glslang/src 96ee92f09b7c..def9662348b0 (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/96ee92f09b7c..def9662348b0
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@def9662348b0
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=jmadill@google.com
    
    Change-Id: Ibe9c223bc7043607929ed1164b56ecdb9b0ec2d9
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1661576
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 95ac7b7ceeec16b77e06c85635906f70c38ced4d
Author: Clemen Deng <clemendeng@google.com>
Date:   Thu Jun 13 11:29:06 2019 -0400

    Autogen gles2+ declarations
    
    Added autogeneration of method declarations for GLES2+ and extensions
    
    Bug: angleproject:3526
    Change-Id: I9c7263452146098512d9584deae8ea3f15f62c46
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1660949
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit bf826481548182905654cc71a76cd584561ab2e0
Author: Shahbaz Youssefi <syoussefi@chromium.com>
Date:   Thu Jun 13 13:20:06 2019 -0400

    Update glslang_validator binary for Windows.
    
    This binary was updated using update_glslang_binary.py.
    Please see instructions in tools/glslang/README.md.
    
    Bug: angleproject:3432
    Change-Id: Iefed7d2ab1a0a7f7118b83037329fe608c85ba1e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1658848
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit a7271d35e51ab7617401add3ac0ab7cdfd09201a
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Jun 13 11:26:26 2019 -0400

    Update glslang_validator binary for Linux.
    
    This binary was updated using update_glslang_binary.py.
    Please see instructions in tools/glslang/README.md.
    
    Bug: angleproject:3432
    Change-Id: Idc02086cf0e1985efd7bf194adf311c85b21e33e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1657712
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 8118265a346c7554eb728f7d1d1c1e9dbca716b9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 14 11:03:14 2019 -0400

    Add more DrawCallPerf offscreen configs.
    
    I thought these might have different performance characteristics when
    compared to the main configs. It's possible they would also need to
    forego using SwapBuffers to get different profiles. Right now perf is
    pretty similar to with the default FBO.
    
    Bug: angleproject:3117
    Change-Id: Ic03b4ebd8c606af5121854565525e37e66f91435
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1650785
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 12f38c49d0ba6bec94808f072a3e29e0df85f081
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jun 13 11:38:59 2019 -0400

    Vulkan: Use dynamic buffer for driver uniform updates.
    
    This should reduce the number of descriptor sets we need to allocate.
    We only allocate a new descriptor set when the underlying buffer is
    reallocated. We pass in the buffer offset via the dynamic offsets
    parameter.
    
    Bug: angleproject:3504
    Change-Id: I40d031cd7295a8d002caff4f331f4a311f07505c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1646757
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tobin Ehlis <tobine@google.com>

commit 9520a2464c6556901313dbd4bf85c1c52468fe3a
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Jun 14 07:01:52 2019 +0000

    Roll ./third_party/glslang/src 9866ad9195ce..96ee92f09b7c (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/9866ad9195ce..96ee92f09b7c
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@96ee92f09b7c
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=jmadill@google.com
    
    Change-Id: I6d4817a07bb789d4973baf13b60c80bff4c18a0b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1660056
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 853ebacf99a4bf3cdee13c8b452a11b2de480ef2
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Jun 13 18:35:25 2019 -0400

    Suppress Mac 10.13.6 Intel OpenGL dEQP failures
    
    Bug: angleproject:3531
    Change-Id: I246144beb9c12b2df74612831262c7d263698db4
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1658718
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 2806a898ace7ea9292eb320cf73853053b275e8f
Author: James Dong <dongja@google.com>
Date:   Fri Jun 7 12:10:46 2019 -0600

    Vulkan: implement primitive restart
    
    Implements ES 3.0 feature GL_PRIMITIVE_RESTART_FIXED_INDEX,
    which allows the application to use a fixed "restart" index
    to restart the primitive during a single draw call.
    
    This change does't handle GL_LINE_LOOP primitives,
    which requires a bit of special handling.
    
    Bug: angleproject:3215
    Change-Id: I2388852683fd17328a6a76c48d70a24d67ce8b67
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1650301
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>

commit 4316e0644e24beba37835697bd4efc5b7f343b5d
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Jun 13 00:32:09 2019 -0400

    Vulkan: Output render pass loadOp in graph dump
    
    Bug: angleproject:3205
    Change-Id: I7ad99bd2f8ddeb899c5fa86fd39296e5fc96d2c6
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1657708
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 88596beab31734b07cc3a2fbd3f8b2c82bfe588c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jun 13 14:17:48 2019 -0400

    Vulkan: Implement a texture descriptor cache.
    
    We noticed a significant hotspot in vkAllocateDesctiptorSets. The app
    was repeatedly cycling through a few combinations of active textures.
    For each state change in ANGLE we were allocating a new desctiptor set.
    This in turn would trigger internal driver memory allocation and cause
    jank. Using a cache avoids allocations entirely since the application
    is rotating through a stable set of textures.
    
    The descriptor cache is stored in each program. It is indexed by a set
    of 32-bit serials. Each texture generates a unique serial for every
    combination of VkImage and VkSampler that the texture owns. The texture
    descriptor is refreshed every time a texture changes or is rebound.
    
    The descriptor cache is accessed via an unoredered map with the texture
    serial sets as the hash key. We also store the maximum active texture
    index in the cache key so we don't need to hash and memcmp on all 64
    active textures.
    
    This will currently fail if more than MAX_UINT serials are generated.
    But that number is high enough that it shouldn't be possible to hit
    in practice in a practical amount of time.
    
    Requires shifting the texture sync to ContextVk so we can get the new
    serial after the textures are updated. And to make sure to update the
    image layouts even if the descriptors are not dirty.
    
    Improves performance of the T-Rex demo. Also improves the score of the
    texture state change microbenchmark by about 40%.
    
    Bug: angleproject:3117
    Change-Id: Ieb9bec1e8c1a7619814afab767a1980b959a8241
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1642226
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 954283317e6af92c8c31ee4023a90d6e905d50e2
Author: shrekshao <shrekshao@google.com>
Date:   Mon Jun 10 18:03:03 2019 -0700

    Enable floatBlend for D3D9
    
    Although according to
    https://docs.microsoft.com/en-us/windows/desktop/direct3ddxgi/format-support-for-direct3d-feature-level-9-1-hardware
    D3D9 doesn't have full blending capability for RGBA32F. But turns out it could provide
    correct blending result in reality. As a result of some regression reports by client app, we
    decided to turn floatBlend on for D3D9.
    
    I tried to make a native D3D9 program to detect float blending capability.
    But turns out it needs quite some effort on Win10 for a D3D newbie.
    Considering the fact that D3D9 backend is not fully passing conformance test anyway.
    I don't think it worth the effort. Seems to be okay to just turn it on.
    
    Bug: chromium:970532
    Change-Id: I66bec120be6eaaa62a5472b8521a97b4d23e924a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1652731
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Shrek Shao <shrekshao@google.com>

commit 0d3cf7085c8e953e78d4fa0656b26ee93d005452
Author: James Dong <dongja@google.com>
Date:   Wed Jun 12 10:07:02 2019 -0600

    Vulkan: fix array size for internal shaders
    
    Previously array sizes were calculated as the OR of all flag and enum
    masks, equal to 2^(number of bits used for flags and enums) - 1, which
    could be less than the actual needed array size.
    
    This fix moves array size calculation to the autogen script and changes
    the size to one more than the maximum potential value.
    
    Bug: angleproject:3524
    Change-Id: Ia4eb2a83fc7deea84e18958efcda8b57632035f9
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1655954
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 05ba83a00c7d7d7609e8df88efc6a52a7960f295
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jun 13 13:26:58 2019 -0400

    Refactor DrawCallPerfParams.
    
    Makes it a bit easier to work with. In prep for adding offscreen
    configs.
    
    Bug: angleproject:3117
    Change-Id: Ie2497574b2687592b7b3df2f7b933a19e83b6d16
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1650784
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit b08d53d3c1c6488369b595ff5b31274d4d2b3855
Author: Michael Spang <spang@chromium.org>
Date:   Thu Jun 13 16:01:20 2019 +0000

    Reland "Vulkan: Build validation layers with asserts only"
    
    This reverts commit d187d45ede29369025595c53c7fe3ffed0688870.
    
    Reason for revert: The correct thing to revert was https://chromium-review.googlesource.com/c/chromium/src/+/1657512
    
    Original change's description:
    > Revert "Vulkan: Build validation layers with asserts only"
    >
    > This reverts commit 85fef1bc62f851a4de91408cfafa570dbacf544f.
    >
    > Reason for revert: This actually seems to break the fucshia_x64 bot:
    >
    > Exception: Some files were excluded with --exclude-file, but not found in the deps list: lib/libVkLayer_parameter_validation.so, lib/libVkLayer_core_validation.so
    >
    > See https://analysis.chromium.org/waterfall/culprit?key=ag9zfmZpbmRpdC1mb3ItbWVyRAsSDVdmU3VzcGVjdGVkQ0wiMWNocm9taXVtLzk0ODYyNWNjNDE2NmE3NjRkYWM2NTRlNjlmZDA3MGFjMDE3MzNkNTMM
    >
    > Original change's description:
    > > Vulkan: Build validation layers with asserts only
    > >
    > > Adding ANGLE to the build includes the validation layers, which are only
    > > for development. We don't want any development or debugging code to be
    > > included by default in release builds, so tie building the validation
    > > layers to enablement of asserts.
    > >
    > > Bug: angleproject:2475
    > > Test: gn gen out/fuchsia_rel --args='target_os="fuchsia" is_debug=false use_goma=true'
    > >   gn desc out/fuchsia_rel //fuchsia/engine:web_engine runtime_deps
    > >
    > > Change-Id: I6d195c680255dcbc81e95f8e6f80e1e8ace169a2
    > > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1656306
    > > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    > > Commit-Queue: Michael Spang <spang@chromium.org>
    >
    > TBR=spang@chromium.org,geofflang@chromium.org,jmadill@chromium.org
    >
    > Change-Id: Ia74efcce2b3dda02dc0c0d292bdeb5ea7c5c3530
    > No-Presubmit: true
    > No-Tree-Checks: true
    > No-Try: true
    > Bug: angleproject:2475
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1657711
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    > Commit-Queue: Jamie Madill <jmadill@chromium.org>
    
    TBR=spang@chromium.org,geofflang@chromium.org,jmadill@chromium.org
    
    Change-Id: Iab669210c23823b403e3fff7f5199a7aadd032bb
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:2475
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1658411
    Reviewed-by: Michael Spang <spang@chromium.org>
    Commit-Queue: Michael Spang <spang@chromium.org>

commit 78a51911da304cbbe7587c25218e16be4e9bede0
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Wed Jun 12 14:28:14 2019 -0400

    Clean up and expose frontend features to egl.
    
    gl::Workarounds was used to hold frontend features. Change ownership of
    this struct from Context to Display, so it can be exposed to egl. Also
    rename to features and clean up for consistency.
    
    Bug: angleproject:1621
    Change-Id: I82e98e53873abb7a402c93e60f8a662a7263e0d5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1655772
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 94eb189b6466df1d09180dc133af5bde996c6a69
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Jun 13 13:36:22 2019 +0000

    Roll ./third_party/spirv-tools/src 9c0830133b07..42830e5a68c3 (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/9c0830133b07..42830e5a68c3
    
    
    Also rolling transitive DEPS:
      ./third_party/spirv-headers/src de99d4d834ae..8b911bd2ba37
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@42830e5a68c3
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=jmadill@google.com
    
    Change-Id: I2d968186e25d6b28b3c4105b2e50799e585eb85a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1657458
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 444aa0fe64daf4dd38a5636bd86da9b7e8110257
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Jun 8 13:53:17 2019 -0400

    Vulkan: Prefer immediate present mode for benchmarking.
    
    This should give the highest possible scores. Note that immediate is
    not always available.
    
    Bug: angleproject:3163
    Change-Id: Ifedabd39819625b57feda71ed83a7bee8fa0a42b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1638904
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit d187d45ede29369025595c53c7fe3ffed0688870
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jun 13 11:56:15 2019 +0000

    Revert "Vulkan: Build validation layers with asserts only"
    
    This reverts commit 85fef1bc62f851a4de91408cfafa570dbacf544f.
    
    Reason for revert: This actually seems to break the fucshia_x64 bot:
    
    Exception: Some files were excluded with --exclude-file, but not found in the deps list: lib/libVkLayer_parameter_validation.so, lib/libVkLayer_core_validation.so
    
    See https://analysis.chromium.org/waterfall/culprit?key=ag9zfmZpbmRpdC1mb3ItbWVyRAsSDVdmU3VzcGVjdGVkQ0wiMWNocm9taXVtLzk0ODYyNWNjNDE2NmE3NjRkYWM2NTRlNjlmZDA3MGFjMDE3MzNkNTMM
    
    Original change's description:
    > Vulkan: Build validation layers with asserts only
    >
    > Adding ANGLE to the build includes the validation layers, which are only
    > for development. We don't want any development or debugging code to be
    > included by default in release builds, so tie building the validation
    > layers to enablement of asserts.
    >
    > Bug: angleproject:2475
    > Test: gn gen out/fuchsia_rel --args='target_os="fuchsia" is_debug=false use_goma=true'
    >   gn desc out/fuchsia_rel //fuchsia/engine:web_engine runtime_deps
    >
    > Change-Id: I6d195c680255dcbc81e95f8e6f80e1e8ace169a2
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1656306
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    > Commit-Queue: Michael Spang <spang@chromium.org>
    
    TBR=spang@chromium.org,geofflang@chromium.org,jmadill@chromium.org
    
    Change-Id: Ia74efcce2b3dda02dc0c0d292bdeb5ea7c5c3530
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:2475
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1657711
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 3a42286a70e3f865daf737dec09d4597cc78471b
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Jun 13 07:02:01 2019 +0000

    Roll ./third_party/spirv-headers/src 9cf7c3a7d2d2..de99d4d834ae (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git/+log/9cf7c3a7d2d2..de99d4d834ae
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-headers/src@de99d4d834ae
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-headers-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=jmadill@google.com
    
    Change-Id: I9c323b572ede8944ba6429dcc724916f68200558
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1657731
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 3f2b4e7f6f46de828f6c3b3c3816e68681468510
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Tue Jun 11 14:47:59 2019 +0800

    Fix the crash in angle_deqp_gles31_tests
    
    This crash only happened on a compute test which following a render test.
    This root case was that after the render test, mVertexArray11 became an
    invalid pointer. However, compute test still went to the common path to
    use mVertexArray11. mVertexArray11 is never updated since compute
    shader doesn't need to triger DIRTY_BIT_VERTEX_ARRAY_BINDING.
    
    This patch adds checking to avoid compute test to use mVertexArray11.
    Besides, more ASSERT checking are added to convenient debugging.
    
    Bug: angleproject:3518, angleproject:1663, angleproject:2619
    Change-Id: I446214110d762fc259899cef7635f369fa1f59a7
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1652866
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>

commit 85fef1bc62f851a4de91408cfafa570dbacf544f
Author: Michael Spang <spang@chromium.org>
Date:   Wed Jun 12 15:55:55 2019 -0400

    Vulkan: Build validation layers with asserts only
    
    Adding ANGLE to the build includes the validation layers, which are only
    for development. We don't want any development or debugging code to be
    included by default in release builds, so tie building the validation
    layers to enablement of asserts.
    
    Bug: angleproject:2475
    Test: gn gen out/fuchsia_rel --args='target_os="fuchsia" is_debug=false use_goma=true'
      gn desc out/fuchsia_rel //fuchsia/engine:web_engine runtime_deps
    
    Change-Id: I6d195c680255dcbc81e95f8e6f80e1e8ace169a2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1656306
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Michael Spang <spang@chromium.org>

commit ebddd1a288684f3fa91fdb65d29a7f7054eeedd8
Author: Clemen Deng <clemendeng@google.com>
Date:   Tue Jun 11 16:32:46 2019 -0400

    implement core egl image entry points
    
    Bug: angleproject:2467
    Change-Id: Ica943a3972333e90a516aa6960f333cc9c378be2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1653714
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 169ef353ce6f51c3c5df20c84ca86a2a9a0fa953
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 12 14:42:13 2019 -0400

    Vulkan: Fix build with custom secondaries disabled.
    
    We should also add a compile-only target that verifies the build works
    as expected.
    
    Bug: angleproject:3117
    Change-Id: Ib55969cdd0e670c123cdbe98bd0decf2204e7267
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1650789
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 9728643bf68dc6ac8d77638c8ff1e9dc96a6e113
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 12 15:27:34 2019 -0400

    Roll SPIR-V headers and Tools.
    
    A dependency was breaking the auto-roller.
    
    Bug: angleproject:3527
    Change-Id: Iec3980a1d51c000b7a902e1d61d4d84e5f885000
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1655773
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 13ac9422cf189cef255bc00627f05bddffa070f0
Author: James Dong <dongja@google.com>
Date:   Mon Jun 10 17:53:09 2019 -0600

    Vulkan: add support for shadow samplers.
    
    Adds support for ES 3.0 shadow samplers.
    
    Test: ./angle_deqp_gles3_no_gtest --deqp-egl-display-type=angle-vulkan -n 'dEQP-GLES3.functional.texture.shadow.2d.*'
    
    Bug: angleproject:3211
    Change-Id: Ic82ecfe19290fb952fcb0ba423691b5bac87c4a3
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1652021
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit fce1e2d1e279ba78b4d92636b10af55d0a025539
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Tue Jun 4 15:02:08 2019 -0400

    Extend eglGetPlatformDisplay to allow feature overrides.
    
    Add EGL_FEATURE_OVERRIDES_ENABLED_ANGLE and
    EGL_FEATURE_OVERRIDES_DISABLED_ANGLE to submit lists of strings naming
    the features that should be overridden (either enabled or disabled) on
    display creation.
    
    Bug: angleproject:1621
    Change-Id: I4bb75c5dbab0e3b701a72069c38f8c60ecfffad2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1646595
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 2589cdcc88ec50d257267b674e9c634bfb491ba7
Author: Clemen Deng <clemendeng@google.com>
Date:   Tue Jun 11 11:38:41 2019 -0400

    GLSLTest stack overflow bug fix
    
    Bug: angleproject:3514
    Change-Id: Id02bdb230dce0435b0b33db101d196596d6e8c93
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1652435
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit a029ce47a966f141d4a49458856186918f057e76
Author: Clemen Deng <clemendeng@google.com>
Date:   Mon Jun 10 16:56:37 2019 -0400

    removed msvs_projects from devsetup
    
    Bug: angleproject:3516
    Change-Id: I127f702112d68e24bdc9810e5a7ee117190efad5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1652210
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 9aa865a6f9885fce602e9b637a18fb124ce9d372
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jun 6 17:10:51 2019 -0400

    Vulkan: Add missing command pool reset.
    
    We were still calling destroy in checkCompletedCommands. We can
    instead call reset.
    
    May not significantly impact performance.
    
    Bug: angleproject:3489
    Change-Id: I61a2cb154faac56dc78a49678dd822d81ce16ad2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1647029
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c75d6dc843460627e63709dbf17be70b24df8ddc
Author: James Dong <dongja@google.com>
Date:   Wed Jun 5 16:12:01 2019 -0600

    Vulkan: Add support for gl_VertexID/gl_InstanceID
    
    Adds support for GLES 3.0 feature which adds gl_VertexID and
    gl_InstanceID built-in variables to vertex shader.
    
    Bug: angleproject:3221
    Change-Id: I372d7ac34bed376b506e327725f0eca2513852fa
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1646735
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 6064e6ab6bc7355b410543301a578d22d2f6e477
Author: Kenneth Russell <kbr@chromium.org>
Date:   Tue Jun 11 04:01:12 2019 +0000

    Reland "Temporarily disable creating D3D debug device."
    
    This reverts commit 28394c2295335929c17bbfe0ab74f923cd234ff2.
    
    Reason for revert: may be the cause of flakiness on Win10 Debug (NVIDIA) per http://crbug.com/972914 .
    
    Original change's description:
    > Revert "Temporarily disable creating D3D debug device."
    >
    > This reverts commit 3d544fffe7ff9284b21e3a15f638297c827bbc21.
    >
    > Reason for revert: Seems like flakiness is not related.
    >
    > Suppress D3D11 test failures uncovered by re-enabling D3D debug device:
    > ComputeShaderTest.DispatchCompute
    > Texture2DTestES3.TextureImplPropogatesDirtyBits
    > D3DTextureTestMS.*
    >
    > Also a small fix to ANGLETestBase::checkD3D11SDKLayersMessages
    > to clear reported messages, otherwise the failures are also reported
    > for tests following the one with the actual failure.
    >
    > Original change's description:
    > > Temporarily disable creating D3D debug device.
    > >
    > > To diagnose whether Windows Intel end2end tests flakiness
    > > is related to creating debug device and new version of Windows SDK.
    > >
    > > Bug: angleproject:3153
    > > Change-Id: Ica7eae3fe875e22203b6dfd98b83604d66a97737
    > > Reviewed-on: https://chromium-review.googlesource.com/c/1476954
    > > Reviewed-by: Geoff Lang <geofflang@chromium.org>
    > > Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    >
    > Bug: angleproject:3153, angleproject:3493
    > Bug: angleproject:3501, angleproject:3512, angleproject:3513
    >
    > Change-Id: I232da72aa09c2b9230cf179dd54e1731f8365f8e
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1480854
    > Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    > Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    
    TBR=ynovikov@chromium.org,geofflang@chromium.org,jmadill@chromium.org
    
    Change-Id: I38a5cc9bb6ebcd50e97e40cc972a82679e73732a
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:3153, angleproject:3493, angleproject:3501, angleproject:3512, angleproject:3513
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1652784
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Commit-Queue: Kenneth Russell <kbr@chromium.org>

commit 1b5ad312c57a30687379b69517b8bff964e0dce5
Author: Nico Weber <thakis@chromium.org>
Date:   Mon Jun 10 18:41:08 2019 -0400

    Omit "de_DE.ISO-8859-15@euro" from ShCompileTest.DecimalSepLocale on Windows.
    
    A new SDK version started throwing on locales that have a code page
    section (the part after the dot) that's >= 16 characters long.
    That's a system library bug, but for now we need to work around it.
    
    Bug: chromium:972372
    Change-Id: I64cee1051e854dac84e8c3c728ce65606b0dc89b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1652016
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 28394c2295335929c17bbfe0ab74f923cd234ff2
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Feb 21 03:24:58 2019 +0000

    Revert "Temporarily disable creating D3D debug device."
    
    This reverts commit 3d544fffe7ff9284b21e3a15f638297c827bbc21.
    
    Reason for revert: Seems like flakiness is not related.
    
    Suppress D3D11 test failures uncovered by re-enabling D3D debug device:
    ComputeShaderTest.DispatchCompute
    Texture2DTestES3.TextureImplPropogatesDirtyBits
    D3DTextureTestMS.*
    
    Also a small fix to ANGLETestBase::checkD3D11SDKLayersMessages
    to clear reported messages, otherwise the failures are also reported
    for tests following the one with the actual failure.
    
    Original change's description:
    > Temporarily disable creating D3D debug device.
    >
    > To diagnose whether Windows Intel end2end tests flakiness
    > is related to creating debug device and new version of Windows SDK.
    >
    > Bug: angleproject:3153
    > Change-Id: Ica7eae3fe875e22203b6dfd98b83604d66a97737
    > Reviewed-on: https://chromium-review.googlesource.com/c/1476954
    > Reviewed-by: Geoff Lang <geofflang@chromium.org>
    > Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    
    Bug: angleproject:3153, angleproject:3493
    Bug: angleproject:3501, angleproject:3512, angleproject:3513
    
    Change-Id: I232da72aa09c2b9230cf179dd54e1731f8365f8e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1480854
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit f1a40a848d29e696e5e00aea4b9a26940b9df23d
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Jun 10 07:01:52 2019 +0000

    Roll ./third_party/glslang/src d3692c701b12..9866ad9195ce (4 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/d3692c701b12..9866ad9195ce
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@9866ad9195ce
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=geofflang@google.com
    
    Change-Id: Iae19d3e8f16004de66cf434bb2ea8f87f89a4e71
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1651403
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 2d0a9acb05511a8fdaf0cd27d0da22599516a68b
Author: Tom Tan <Tom.Tan@microsoft.com>
Date:   Fri Jun 7 16:22:01 2019 -0700

    Initialize STACKFRAME64 for ARM64
    
    Bug: chromium:972228,893460
    
    Change-Id: I0c77d19e70c337d70bc55f65f6893d5bbe18407b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1648670
    Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c74c3d816498afda1707fbc52391a27ac4deaf81
Author: James Dong <dongja@google.com>
Date:   Wed Jun 5 10:55:40 2019 -0600

    DEBUG: Log all debug messages to console
    
    Logs all debug messages produced by GL and EGL.
    This is helpful for debugging when the application does not register a
    debug callback.
    
    Validation errors produce log messages with level INFO, and internal
    errors produce log messages with level WARN.
    
    Bug: angleproject:3505
    Change-Id: I269055aec49e1d77edeedb482fa6873c8f79f853
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1645817
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 70642e42a0f171760da30fc93b96d9110ab6be26
Author: Tim Van Patten <timvp@google.com>
Date:   Wed Jun 5 14:55:49 2019 -0600

    Vulkan: Implement ES 3.0 rasterizer discard
    
    Rasterizer discard is a feature that allows the graphics pipeline
    to skip the fragment shader stage.
    
    Implementing rasterizer discard in Vulkan is as easy as not binding
    a fragment shader binary.
    
    Tests for rasterizer discard live in
    dEQP-GLES3.functional.rasterizer_discard.*.
    
    Bug: angleproject:3214
    Test: dEQP-GLES3.functional.rasterizer_discard.*
    Change-Id: I0815df3b70f6f9cdc6c8c87ec4813bb629d8bd5f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1646692
    Commit-Queue: Tim Van Patten <timvp@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 35b25fc67349c38cba681491b0cb5b784ae7907b
Author: Tobin Ehlis <tobine@google.com>
Date:   Fri Jun 7 11:54:36 2019 -0600

    For WebGL warn on late extension directive
    
    A previous change based on ESSL 1.00 spec had made it an error in all
    cases when an extension directive appeared in a shader after the first
    non-preprocessor token. However, this is incorrect for WebGL 1.0 so
    adding warning case for WebGL.
    
    BUG=chromium:971660
    
    Change-Id: I026fe60e8b1876de65b001b676f7a0552739a20c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1648661
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kai Ninomiya <kainino@chromium.org>
    Commit-Queue: Tobin Ehlis <tobine@google.com>

commit e7e808aff30235a7c8e7e3311d6bb817f6064aa0
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Jun 7 12:53:28 2019 -0400

    Disable Linux stack traces on CFI builds
    
    Bug: 971977
    Change-Id: I2a872bd814e9a356baa3d304e1c352b6a619583e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1649300
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit ed65dc4302f8263e0e9095a48c31af60a53a31ce
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Jun 3 11:21:00 2019 -0400

    Vulkan: implement glSampleCoverage
    
    Emulated by applying a mask on top of the mask from glSampleMask.
    
    Bug: angleproject:3204
    Change-Id: I4c80ab0a3261cbf1b8a43c270fe13c2a247ea663
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1639749
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit b407e1a0b5bf8a89511c086249a8110476d41375
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Jun 3 17:15:51 2019 -0400

    Vulkan: implement ES3 blit
    
    Augment the resolve shaders to be able to stretch and blit too.  The
    UtilsVk resolve function is accordingly expanded to include blit.
    
    Bug: angleproject:3200
    Change-Id: I30b172a5e388089735ab494f55cbfdc2781a8bf9
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1635753
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit ea49f6f5d4e3fda8003beb43a689a61c64b990b1
Author: James Dong <dongja@google.com>
Date:   Thu Jun 6 12:58:27 2019 -0600

    Debug: Add LOG_INFO logging level
    
    Will be used for logging GL/EGL debug messages.
    
    Bug: angleproject:3505
    Change-Id: I10ff32dd4f9227cabac2f3d9425b0428e7af1398
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1648714
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 148ecd89a2dcf77d58cef943835a6d2c9b928a95
Author: Tim Van Patten <timvp@google.com>
Date:   Tue May 28 14:14:42 2019 -0600

    Vulkan: Handle VK_ERROR_OUT_OF_DATE returned by vkAcquireNextImageKHR()
    
    There is some new Android HWUI/SkiaGL code, that (in certain cases)
    looks up the underlying Vulkan swapchain that ANGLE created, and adds
    an image to it. This causes the next call to vkAcquireNextImageKHR() to
    return VK_ERROR_OUT_OF_DATE and requires the swapchain to be recreated.
    
    Bug: angleproject:3480
    Test: Use ANGLE on Android and verify apps load correctly.
    
    Change-Id: I21c86035664878e75d6a9dc769546747aa4c8256
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1632424
    Commit-Queue: Tim Van Patten <timvp@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 55ca3a5174f2281d656a08a10cbff9bfff57c595
Author: Jeff Gilbert <jgilbert@mozilla.com>
Date:   Wed Jun 5 17:32:32 2019 -0700

    Use execv instead of execve w/ environ.
    
    Some platforms don't want us messing with environ, and these seem to be
    equivalent.
    
    Bug: angleproject:3506
    Change-Id: I66804e8accc30421c1cd32c0eda750500e3ecb60
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1646887
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit ec57a240286142111c8cf454032b1db4cfc3d42e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jun 6 13:57:27 2019 -0400

    Don't remove the symbol_visibility_hidden config in asan builds.
    
    We remove symbol_visibility_hidden to get better stack traces in debug
    builds but it causes ASAN issues with multiply instantiated globals.
    
    BUG=angleproject:3507
    
    Change-Id: I8ec664bf7d9506cc45afb6f864de7b7ba7cbe99b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1648275
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 3f17f929079a102937908b97e72697a2b9444c15
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Wed Jun 5 13:13:12 2019 -0600

    Avoid recreating swapchain for preRotation
    
    Android will return VK_SUBOPTIMAL_KHR if the orientation of the
    screen is not optimial for the orientation of the device.
    We were re-creating the swapchain when this happens but we weren't
    changing the orientation and would get this return code every
    time we call vkQueuePresent and re-create the swapchain each time.
    Apparently recreating the swapchain causes visual artifacts on
    some devices. Just ignoring VK_SUBOPTIMAL_KHR allows things to
    work.
    Bug: angleproject:3497
    
    Need to implement proper preRotation support for longterm fix.
    Bug: angleproject:3502
    
    Change-Id: I0904eb60b742d24618d502c111510117758a8502
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1641206
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>

commit a4a24af34850f5c2a100cc89d1973306b0b0c80c
Author: James Dong <dongja@google.com>
Date:   Thu Jun 6 10:50:21 2019 -0600

    Vulkan: fix uint indices causing incomplete buffer
    
    Fixes buffer size calculation when uploading element buffer
    to account for 4-byte (uint) indices.
    
    Bug: angleproject:2902
    Change-Id: Id70fc0fdffecd0b27995820bd0ad88e4cb61e013
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1648325
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 266a9e8d3698a75a64a04311a9d24c844e22d6d7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 5 15:15:10 2019 -0400

    Vulkan: Move descriptor pools into ProgramVk.
    
    Previously ContextVk owned the descriptor pools. We were trying to
    maximize descriptor reuse to conserve memory. However the default
    uniforms would have no possible sharing. And because uniform buffers
    are usually unique to a program it's likely there would be less reuse.
    
    Image descriptors could be shared. But with the advent of a descriptor
    cache in the Program it becomes difficult to manage the cache through
    descriptor pool recycling. Moving the pools into the Program simplifies
    the cache management. We could look at adding back more reuse in the
    future.
    
    Also shifts driver uniforms back into the end of the descriptor sets
    to make indexing into the Program's descriptor pools simpler.
    
    Bug: angleproject:3117
    Change-Id: I52bb49cf322d944ad7cf08791efdf24b7fe573ce
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1644775
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit ef52c3676c34e6488d0a4be223425223c0c232dc
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Jun 6 07:01:52 2019 +0000

    Roll ./third_party/glslang/src 2f4a8dfd3a59..d3692c701b12 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/2f4a8dfd3a59..d3692c701b12
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@d3692c701b12
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=geofflang@google.com
    
    Change-Id: I14c202a990d59c5f4949e04dd5cfd68b92a2f743
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1647775
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit b91f87b6ce1ce257033e928c5e6b223060d9e423
Author: James Dong <dongja@google.com>
Date:   Wed Jun 5 11:38:39 2019 -0600

    Vulkan: enable OES_element_index_uint for Vulkan
    
    We already handle 32-bit indices, so this change enables the corresponding extension for ES 2.0.
    
    Bug: angleproject:2902
    Change-Id: Iccde1d4aac383a9c11edf851778ff315de8d4ad1
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1646032
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: James Dong <dongja@google.com>

commit 03bc3db8d093fd4fbca6b1c680973a5b2bf7be36
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 5 13:48:43 2019 -0400

    Vulkan: Minor cleanup to UtilsVk.
    
    Renames "ContextVk *context" to "ContextVk *contextVk" for consistency.
    Also adds an "allocateDescriptorSet" helper function.
    
    Bug: angleproject:3117
    Change-Id: Id03e30432d8e5e35b682350a8e98fd2e62cdf89a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1644776
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit eef34e178f6248f72f13111831a6b502c67b1ee8
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jun 4 15:16:24 2019 -0400

    Don't request backend version in the sample application.
    
    The major and minor versions in EGLPlatformParameters are for the backend
    version (eg D3D 10 vs 10.1 vs 11.0), not the GLES version exposed.
    
    BUG=angleproject:3499
    
    Change-Id: I4bf89769b4eab397cdc2e3c51ed94c1e57c4d54b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1643421
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 5643afc025858f3f4ace937651c68afccd208104
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Jun 4 15:37:58 2019 -0400

    Vulkan: add GLSL placeholder for transform feedback output
    
    Bug: angleproject:3205
    Change-Id: Id3941b6953e03e7b2183acc57b2c6db4a6439352
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1643424
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit ac8bafc045d179aef97a06be8f8d32ceb6444019
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Jun 3 14:59:39 2019 -0400

    Remove unused bindGenericBuffer from TransformFeedback*
    
    Bug: angleproject:3205
    Change-Id: I6dc29b48155cd3c0ef98248076cf02e70c9310d9
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1643423
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 453dfc4493be672f3699a3e04d8ab88a0197bb81
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Jun 5 07:01:52 2019 +0000

    Roll ./third_party/glslang/src a549bb817523..2f4a8dfd3a59 (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/a549bb817523..2f4a8dfd3a59
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@2f4a8dfd3a59
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=geofflang@google.com
    
    Change-Id: Ifa1490b9cf68e30bb4d103d8865fd5ec05c6f825
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1644757
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 3c219171135d1ffb86cc6da38fcd461732d89bbd
Author: Michael Spang <spang@chromium.org>
Date:   Fri May 31 16:23:23 2019 -0400

    Add ARM vendor id
    
    This fixes a crash when run with asserts on ARM GPU:
    
    [2089630:1566159375:0531/202059.262200:ERROR:angle_platform_impl.cc(47)] GetVendorString(133):  ! Assert failed in GetVendorString (../../third_party/angle/src/libANGLE/renderer/driver_utils.cpp:133): vendorId == 0xba5eba11
    
    Bug: angleproject:3492
    
    Change-Id: I786edc459b1567a3eee0034a0d8ae7050ac31952
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1642331
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 44063c804e4fa4696c124c2ac0fcb687e87e4859
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jun 4 15:20:30 2019 -0400

    Vulkan: Store array buffer conversions in BufferVk.
    
    The intent of this CL is to call convertVertexBuffer*PU only when we
    have new data to convert. If the app unbinds and rebinds a vertex
    buffer without changing the data we can now retrieve the cached
    vertex buffer info from the BufferVk class. Previously we would always
    reconvert the data on a rebind. This was slowing down applications and
    benchmarks.
    
    To achieve this we add a conversion cache to BufferVk. Each cache entry
    stores a key based on the vertex info. Also we store a ring buffer for
    each cache entry and a flag to indicate if the entry is dirty. The
    cache is dirtied on a bufffer data update or a map call.
    
    Improves performance in the T-Rex benchmark.
    
    Bug: angleproject:3495
    Change-Id: Ia999c9187510748ba95bc98362eb332e1990d270
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1638903
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>

commit e431aaa15a4c79fda27f25c7b8ab4eb4409d79f0
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Tue Jun 4 11:36:43 2019 -0400

    Rename EGL_ANGLE_workaround_control to EGL_ANGLE_feature_control.
    
    For consistency, call these ANGLE "features", a subset of which may be
    workarounds. Also, whether the feature is enabled/disabled should be
    publically visible as "status".
    
    Bug: angleproject:1621
    Change-Id: I0de90a932fbfe1fc9b59138153d616d29fa7268b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1643410
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

commit 071d2a441302332eea277acaeb8a0e7571fd80cd
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Jun 3 11:49:13 2019 -0400

    Vulkan: Process dirty framebuffers first
    
    The currently bound framebuffer affects some dirty bits.  This means
    that processing those dirty bits temporarily use data from a framebuffer
    that's about to be changed.  At best, that creates unnecessary dirty
    bits in the Vulkan pipeline description.
    
    Bug: angleproject:3204
    Change-Id: Ie001d6c8fcc61af2e78cf2cb58a1691d8b735ff3
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1639750
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit de70a7135bf6b5ecf43417fddf5f384b96a28882
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Jun 3 17:05:16 2019 -0400

    Vulkan: Rename Resolve* shaders to BlitResolve
    
    In preparation for adding blit functionality.
    
    Bug: angleproject:3200
    Change-Id: I77b6b6cbe90b26ee23c25edebaa2b130f3c2987a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1641626
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 2dd40a44d1a6c1b66fefb525ff8269e82619c9fa
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Thu May 30 16:40:13 2019 -0400

    Add eglQueryDisplayAttribANGLE to query workarounds count.
    
    Add eglQueryDisplayAttribANGLE based on eglQueryDisplayAttribEXT to add
    behavior for quering the count of all workarounds available. Used
    externally to build a list of workarounds.
    
    Bug: angleproject:1621
    
    Change-Id: I793acedc76111fd018600169d58bf5d8cf4a63ee
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1637817
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 20d380fa5be9169893c4a4bf6646ff25965e294f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 3 15:21:47 2019 -0400

    Print stack backtrace on critical failure.
    
    We reuse code from Skia to walk the stack on Posix platforms. See:
    https://github.com/google/skia/blob/master/tools/CrashHandler.cpp
    
    On Windows we use a BSD-licensed tool called StackWalker. See:
    https://github.com/JochenKalmbach/StackWalker
    
    This allows us to get high quality stack traces on Win/Linux/Mac.
    
    Bug: angleproject:3162
    Change-Id: I9c50ede2c6a41ed0ee85a0507372df42a487bcef
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1632950
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 5993d899e3722a2e376045017c28ce7e2ed17a2c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 3 13:05:38 2019 -0400

    Vulkan: Use storage buffers for index conversion shader.
    
    This allows us to use the shader regardless of driver support for
    texel buffer views. It also allows us to convert indices on the GPU
    unconditionally.
    
    We add a new internal compute shader that converts pairs of indices
    into a packed single uint value that stores two 16-bit values. In the
    future we could add support for converting primitive restart indices.
    
    Should speed up benchmarks on systems which didn't have R8_UINT support
    for compute shader buffers.
    
    Bug: angleproject:3490
    Change-Id: I56ca0cabb094e97f36ab4edc779e6c8ad2d2601e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1639058
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tim Van Patten <timvp@google.com>

commit 4a75741655d330e257b2f20d7404cce1e51ef72e
Author: Kimmo Kinnunen <kkinnunen@nvidia.com>
Date:   Mon Jun 3 14:04:01 2019 +0300

    D3D: Fix heap corruption when copying texture arrays
    
    Do not use depth dimension when copying normal 2D textures of a 2d texture
    array. It copies past the end of the buffer obtained via
    ID3D11DeviceContext::Map().
    
    Fixes a case which can be reproed with the payload disabled:
    
    gn args out\debug --args="is_debug=true"
    ninja -C out\debug angle_end2end_tests
    out\debug\angle_end2end_tests ^
     --gtest_filter=Texture2DArrayCopy.SnormFormats* --gtest_catch_exceptions=0 ^
     --gtest_repeat=-1
    
    Bug: angleproject:2865
    Change-Id: Id9bc5489fa41749d1b1d2e87992166b1a0af76fc
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1641247
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 12a524231f53fad5b325e8dca234b858104d42bd
Author: Anders Leino <aleino@nvidia.com>
Date:   Mon Jun 3 10:39:54 2019 +0300

    Sharpen GL test skip condition for NVIDIA
    
    The skip condition for GLSLTest_ES3.VaryingStructNotInitializedInVertexShader
    is modified to not skip NVIDIA on windows.
    
    Bug: angleproject:3413
    Change-Id: I126d9fa9e36c3b6c07abfd24bdaf6feb76ac4f6f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1640208
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 2c9e47a864a9a8b1deb855e703e0d9cf6a7b6633
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Jun 3 07:01:52 2019 +0000

    Roll ./third_party/glslang/src 6d88284607d2..a549bb817523 (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/6d88284607d2..a549bb817523
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@a549bb817523
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=cwallez@google.com
    
    Change-Id: I9eb385899560332a48da791ab2add2c737c44848
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1640254
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit fa37aef86fb86e4ab30902d187794b534a3bef18
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Jun 3 07:01:45 2019 +0000

    Roll ./third_party/spirv-tools/src 209ff0ce90ce..699e167d78ee (3 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/209ff0ce90ce..699e167d78ee
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@699e167d78ee
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=cwallez@google.com
    
    Change-Id: I078d9f2857080e7675808b583658ab974a468936
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1640253
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 0730e6300fad826e99d664002d85233a8a2d8ce3
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Fri May 31 14:25:37 2019 +0800

    Fix needStructMapping
    
    In previous logic, we didn't check the structure field member type. So
    when passing the non-struct member of a structure to a function, it
    would think that struct mapping was needed.
    In this patch, we add more checking so that struct mapping only happens
    when there are structure copy or passing a structure to a function.
    
    BUG=angleproject:2967
    Change-Id: Ic98e884c8f8540e180cdf40a0e036ffef18c1689
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1638227
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 98f2167125a8d204ed120d483d79a7af577806ca
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri May 31 15:34:39 2019 -0400

    Vulkan: Refactor index buffer convert functions.
    
    This is a prepratory refactor for converting index buffers on the GPU
    using a more generic compute shader. No functional change.
    
    Bug: angleproject:3490
    Change-Id: Iadf4b1429314db6850320aee33c4113f38577378
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1639057
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c104b2d24a6f0593d5bf5ccce4b594e644a5abcb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri May 31 16:25:02 2019 -0400

    Re-enable WGL perf test configs.
    
    These were accidentally dropped in https://crrev.com/c/1574674 .
    Re-enable so we can gather better perf stats on Windows machines.
    
    Bug: angleproject:3494
    Change-Id: I92e9ba7e7783fddde1a47c0ffe056da7750d2c3b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1639063
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit f7106d16306ae3a98a37100ee028b5aaeca63586
Author: Cody Northrop <cnorthrop@google.com>
Date:   Thu May 30 17:34:42 2019 -0600

    Revert "Revert "Vulkan: Use atomics in SerialFactory.""
    
    This reverts commit 35fa85ba2fafa583bd706b64d181f3f95094325d.
    
    Reason for revert: This commit was an innocent bystander. The
    bugs are intermittent, requiring multiple runs to verify.
    
    Bug: angleproject:3492
    Change-Id: Idc9dcb1631cfca5fea342266c732732c6f2bd2d5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1636263
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit cc9bc65588ee10832316de8fb1dd55505ac6e417
Author: Michael Spang <spang@chromium.org>
Date:   Fri May 31 12:00:25 2019 -0400

    Vulkan: Fix synchronization with current surface
    
    Since a6242e4d4 ("Vulkan: Support submitting multiple semaphores"),
    semaphores are not generated because the function generating checks for
    non-empty command graph right after flushing.
    
    Bug: angleproject:3492
    
    Change-Id: I03db4a77fe24fdfdf39ba535b235451ae0275a0e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1638579
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Michael Spang <spang@chromium.org>

commit bc30e72cb429c30fc762689554ba8d27a2b08dbb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 30 13:30:33 2019 -0400

    Vulkan: Recycle command pools with vkResetCommandPool.
    
    vkDestroyCommandPool has worse performance than reset. Instead of
    destroying and creating new command pools for every batch of work we
    can instead recycle unused command pools. This seems to improve
    performance on most systems.
    
    Bug: angleproject:3489
    Change-Id: I7f8fe7f9385ca481e04f226a26426c3e92da19ff
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1636410
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>

commit 94d5e05157f06c63fbf572f8f8ecfd900f39ebe0
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri May 31 09:48:52 2019 +0000

    Roll ./third_party/glslang/src 625eb25d6e80..6d88284607d2 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/625eb25d6e80..6d88284607d2
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@6d88284607d2
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=cwallez@google.com
    
    Change-Id: I473e72ad545d8a44bb98f316073f56de907d34f6
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1638344
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit c4d89869969afce54efe6c88f01e57560f4fdd11
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri May 31 09:27:58 2019 +0000

    Roll ./third_party/spirv-headers/src 7ac42f80c0e8..903d447d96eb (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git/+log/7ac42f80c0e8..903d447d96eb
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-headers/src@903d447d96eb
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-headers-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=cwallez@google.com
    
    Change-Id: I73c2aca43f3c6d2f2ba1dfab4f22b0f27d273dee
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1638341
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 3051121c5acef9b0d5ff366de556b13c70f089d2
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri May 31 09:05:45 2019 +0000

    Roll ./third_party/spirv-tools/src e7866de4b1dc..209ff0ce90ce (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/e7866de4b1dc..209ff0ce90ce
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@209ff0ce90ce
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=cwallez@google.com
    
    Change-Id: Ib8e46d85d321611522294e7d517662ab3ea24983
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1638338
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 0a56f0e3d22dad426f0f97e499d70c063983f4b7
Author: Tim Van Patten <timvp@google.com>
Date:   Tue May 14 17:07:27 2019 -0600

    Vulkan: Update front face mode during syncState()
    
    When handling DIRTY_BIT_DRAW_FRAMEBUFFER_BINDING in syncState(), the
    call to update the front face was missing, so culling could be enabled
    for the wrong front faces.
    
    Bug: angleproject:3237
    Test: Verify 3D apps render (more) correctly
    Test: New SimpleStateChangeTest end2end tests
    Change-Id: I1d94a977bea9e48d90b5346861e5565d2371cadd
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1611753
    Commit-Queue: Tim Van Patten <timvp@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 35fa85ba2fafa583bd706b64d181f3f95094325d
Author: Cody Northrop <cnorthrop@google.com>
Date:   Wed May 29 15:59:13 2019 -0600

    Revert "Vulkan: Use atomics in SerialFactory."
    
    This reverts commit 1b0f79ee92b51122634fca6342876db196b85e3c.
    
    Reason for revert: Breaks a number of applications on Android
    
    Original change's description:
    > Vulkan: Use atomics in SerialFactory.
    >
    > This allows serials to be generated from multiple threads without locking for
    > very little/no cost.
    >
    > BUG=angleproject:2464
    >
    > Change-Id: Id61d170e7a985c3100da0057156859ffcb083dad
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1516514
    > Commit-Queue: Geoff Lang <geofflang@chromium.org>
    > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    
    TBR=geofflang@chromium.org,syoussefi@chromium.org,jmadill@chromium.org
    
    Change-Id: I52011f294d68490998869fa898e929fd41eaa51c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1636272
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Cody Northrop <cnorthrop@google.com>

commit 6d9b8908b0bb1c2a71544cbaad5c5a3f8ee07ddf
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed May 29 13:18:31 2019 -0400

    Vulkan: Merge Color and Depth/Stencil resolve shaders
    
    There is a good deal of overlap in the way these shaders calculate
    offsets, flip etc.  This change merges the two shaders together, as well
    as the UtilsVk functions that invoke them.
    
    This is in preparation for adding blit functionality to the same
    shader.
    
    Bug: angleproject:3200
    Change-Id: Id7c2cf12e05db1802ae497766fb361fe4bef6479
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1635750
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit a2ad3619b8cbc742d70e683bef32127abed0fde3
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu May 30 07:01:31 2019 +0000

    Roll ./third_party/spirv-headers/src 7f4277e21b52..7ac42f80c0e8 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git/+log/7f4277e21b52..7ac42f80c0e8
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-headers/src@7ac42f80c0e8
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-headers-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=cwallez@google.com
    
    Change-Id: Ic053c4d3b3d32cad16ee01558f65f10041eee62a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1636781
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit addc81ceffd18d6cc67c8c1e6e9fc72d987eeee4
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu May 30 07:01:34 2019 +0000

    Roll ./third_party/glslang/src 66e46037d74f..625eb25d6e80 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/66e46037d74f..625eb25d6e80
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@625eb25d6e80
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=cwallez@google.com
    
    Change-Id: Ic462453728a05f72f41f7cacd2598fb23a257fc8
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1636782
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit b2021956d81c63e1ecd66599ea87254db0e6ce75
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu May 30 07:01:16 2019 +0000

    Roll ./third_party/spirv-tools/src f051812343eb..e7866de4b1dc (4 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/f051812343eb..e7866de4b1dc
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@e7866de4b1dc
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=cwallez@google.com
    
    Change-Id: I93a446c4a2671de71781c2b757db872b26a5aed6
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1636780
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 172e5d373fad48117bcb23f5d7d0e47672a9dd7c
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed May 29 10:00:50 2019 -0400

    Vulkan: Implement universal stencil resolve
    
    This is done by resolving stencil into a temporary buffer and copying
    that into the stencil aspect of the resolved image.
    
    Bug: angleproject:3200
    Change-Id: I29111b44db2cb093acc4544034fbe61178f055a1
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1635709
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tim Van Patten <timvp@google.com>

commit ab6a59b23674104e20db366eb5d719730e8706ad
Author: Michael Spang <spang@chromium.org>
Date:   Tue May 21 21:26:26 2019 -0400

    Vulkan: Submit semaphores from glWaitSemaphoreEXT & glSignalSemaphoreEXT
    
    Implement submission of client semaphores passed to glWaitSemaphoreEXT &
    glSignalSemaphoreEXT.
    
    This also relaxes the expectation that we will not flush() if there are
    no commands. Signaling semaphores in particular requires queue submission
    irrespective of whether there are any command buffers to submit. If there
    are neither commands nor semaphores, we can still skip queue submission.
    
    WebGL runs in Chrome with ANGLE & Vulkan interop as of this patch, albeit
    with incorrect synchronization due to texture barriers not being
    implemented yet. Quite a few flags are needed to try this:
    
      GN args: angle_vulkan_conformant_configs_only=true
    
      chrome \
         --enable-features=UseSkiaRenderer,UiGpuRasterization \
         --enable-gpu-rasterization \
         --enable-oop-rasterization \
         --enable-vulkan \
         --use-gl=angle \
         --use-angle=vulkan
    
    Bug: angleproject:3289
    
    Change-Id: I3d49c230a2fbf0cd2a2b943b05ded0e4604cc313
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1623815
    Commit-Queue: Michael Spang <spang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d3e7a41bcf8487fe913824f89b9942131919d319
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed May 29 14:40:52 2019 -0400

    Vulkan: fix buffer copy barriers
    
    Bug: angleproject:3362
    Change-Id: Ibf6520fb73bb1a9b76714cddd786569789c70430
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1635752
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit f52f2637aecb8d366be35eb773cd894d98ed6038
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Thu May 23 13:52:52 2019 -0400

    Add EGL_ANGLE_workaround_control extension.
    
    This extension is used to query strings from an array based on index,
    which will be used to query all the information about workarounds in
    ANGLE.
    
    Bug: angleproject:1621
    
    Change-Id: I27157f278f7f17c92c8b4fd7753e2a5ecd0528f6
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1627723
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 06055b5e8d1e2ff5bd3a363dab3157825779d76f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed May 29 14:31:42 2019 -0400

    Update Windows AMD suppression.
    
    Should have been specified for OpenGL instead of D3D11.
    
    Bug: chromium:967796
    Change-Id: I099ab51709f69e7abb7fe698e6010241bdccb4bf
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1635751
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a6242e4d4757d129b04e0d4008384cad85a57e6a
Author: Michael Spang <spang@chromium.org>
Date:   Wed May 22 15:15:09 2019 -0400

    Vulkan: Support submitting multiple semaphores
    
    With GL_EXT_semaphore, the client can create and submit semaphores to
    synchronize with an external vulkan instance. We need to be able to
    submit semaphores from both the current surface as well as the client.
    
    In order to support glWaitSemaphoreEXT, make ContextVk hold a vector of
    semaphores that will be submitted with the next batch.
    
    In order to support glSignalSemaphoreEXT, make ContextVk::flush() build a
    vector of semaphores to submit, rather than just one. Submissions that
    result from a client signal operation will need to signal both the client
    semaphore as well as a semaphore from the surface's semaphore chain.
    
    Bug: angleproject:3289
    
    Change-Id: I52b07c4c2a7bf52300d3107f028aa64585c6c4db
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1623814
    Commit-Queue: Michael Spang <spang@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 2008c8ffefdde461a951289f18152581d5492c82
Author: Michael Spang <spang@chromium.org>
Date:   Tue May 21 20:38:59 2019 -0400

    Vulkan: Reuse flushImpl() from finishImpl()
    
    Reuse flushing logic in finish() as there's an increasing amount of logic
    needed to submit work in order that would otherwise be duplicated.
    
    Bug: angleproject:3289
    
    Change-Id: Ia489e285615ebaa48b01d8a202871bebf7de0ac2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1623813
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Michael Spang <spang@chromium.org>

commit f2a1c384f71766e9a26994bfa50fcdf92f3676c6
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue May 21 16:32:49 2019 -0400

    Vulkan: Implement multisampled framebuffers
    
    Simultaneously implements ANGLE_framebuffer_multisample and ES3
    multisampled framebuffers.
    
    Additionally, implements ES3 framebuffer blitting where multisampled
    framebuffers are involved.
    
    Bug: angleproject:3203
    Bug: angleproject:3204
    Bug: angleproject:3200
    Change-Id: I5694a30f71168e807688a9568e3742b81d907918
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1622667
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit e0956a16b22db67c5bd6e137e4a434b681a93ec7
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon May 6 10:34:27 2019 -0400

    Vulkan: Rename getSubmitFence to getNextSubmitFence.
    
    Now that getLastSubmittedFence exists, the new name is more specific.
    
    BUG=angleproject:2464
    
    Change-Id: I0bce1387b95b7b7b739e311d37e35e7d162d8f2d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1595435
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 262e2824847798c7549da0f79278fe7d6c9faea7
Author: Anders Leino <aleino@nvidia.com>
Date:   Mon May 20 14:24:40 2019 +0300

    Use D3D11 GetDimensions driver workaround for 3D textures
    
    Some NVIDIA D3D11 drivers are buggy and interprets the level passed to
    GetDimensions as being relative to 0, rather than the SRV's MostDetailedMip.
    This affects all integer format textures, because the dimensions are used for
    sample position calculations with integer format textures, which leads to
    sampling outside texture when the base level is non-zero.
    
    Bug: angleproject:3441
    Change-Id: Ic54328e3d712e28a40efb4e63b8fce0baeb4ef42
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1619785
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 1ad4771e88a56bedaddc5c0009d908ab954cbca5
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed May 29 07:01:16 2019 +0000

    Roll ./third_party/spirv-tools/src 6c7db9c63098..f051812343eb (3 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/6c7db9c63098..f051812343eb
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@f051812343eb
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=cwallez@google.com
    
    Change-Id: Iece64f0eeb92f9b1446f6cbf4a54a7e0b3acc093
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1634370
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit ded5f903261a8bee3481aad98d7ed47308b59563
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed May 1 13:58:27 2019 -0400

    Vulkan: Make the Vulkan renderer thread safe.
    
    Gate all access to the queue and caches with mutexes.  Does not handle sharing
    of resources in share groups across threads yet.
    
    BUG=angleproject:2464
    
    Change-Id: I297f8f1a535b99efca663cf72bac3d90df8b5d97
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1592253
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 1b0f79ee92b51122634fca6342876db196b85e3c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Feb 28 11:08:21 2019 -0500

    Vulkan: Use atomics in SerialFactory.
    
    This allows serials to be generated from multiple threads without locking for
    very little/no cost.
    
    BUG=angleproject:2464
    
    Change-Id: Id61d170e7a985c3100da0057156859ffcb083dad
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1516514
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 29ac274f065e2b6983d3d02668e7955edbcf21a7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue May 28 15:53:00 2019 -0400

    D3D11: Suppress failing Texture test on AMD.
    
    Bug: chromium:967796
    Change-Id: I48280909db9c927c12d3c0d97f1ad451dffb849e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1632949
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit ee244c772a41220e4bbdb24e2d8deccba732f103
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon May 6 10:30:18 2019 -0400

    Vulkan: Move command graph and garbage to ContextVk.
    
    To support multithreading, contexts should manage their own command graphs
    and garbage.  This allows safe access to vulkan resources such as command pools
    without thread synchronization.
    
    BUG=angleproject:2464
    
    Change-Id: I930149bc9f0793028761ee05ab50b8c0a4dec98a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1516515
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit dfe141f02d19a5d6b8cd25f6469977936cd5eef4
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Tue May 28 11:06:40 2019 -0400

    Addition of dEQP "KHR" test variants to generate_stats
    
    Generate_stats should handle new step names and put them on new sheets.
    Also update the docs to show the KHR tests.
    
    Bug: angleproject:3486
    Change-Id: I4fef774d98b0e622182686506376f788a7568376
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1632529
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

commit 5a808b86d8901b9cb7a4d174356c0c1b0e2fc0e3
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon May 27 13:22:32 2019 -0400

    GL: Allow BlitGL to copy from external textures.
    
    BUG=967410
    
    Change-Id: I503dda6f2493b56123a8bd369e2f1305971abb4e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1364110
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 44462cd6af05951821cd8bd4ea612a56d9bc7250
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon May 27 17:12:21 2019 -0400

    D3D: Use the ProgramD3D::GetExecutableTask context for loading program binaries
    
    ProgramD3D::GetExecutableTask is a d3d::Context type itself so that errors can
    be recorded in a thread-safe maner.  Use the task context when loading program
    binaries in ProgramD3D.
    
    Fix up incorrect casts in RendererD3D::loadExecutable in both D3D9 and D3D11
    backends to stop incorrectly assuming the context type.
    
    BUG=962439
    
    Change-Id: I5b29372a7254f709e1bbb67ee322ef4109f73e48
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1630294
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit ce9be8c77bc256396370f8d740d9256b228d98f6
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri May 24 09:35:06 2019 -0400

    Vulkan: Have a cubemap as 2D-array view handy
    
    Previously, only texture copies used a shader that performed
    texelFetch().  To support cubemaps, a hack was used to temporarily
    create a 2D array view.
    
    With upcoming support for multisample resolve, more shaders will be
    using texelFetch() all requiring this workaround.  This change instead
    makes sure that a separate view is created for cubemaps for the purpose
    of being used with these shaders.  As a result, we have three logical
    views on textures and render targets:
    
    - Draw: a view that can be used as a color/depth/stencil attachment
    - Read: a view that can be used to sample from
    - Fetch: a view that can be used to fetch from
    
    The fetch view is generally the same as the read view, except for cube
    maps.
    
    Bug: angleproject:3200
    Change-Id: I21547f728c16f0aa8f0fcae152c400b5cc1565da
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1628585
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 46fe0e4be950dcbc842e91d50e1468784cc06002
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Wed May 22 13:13:50 2019 -0400

    Cleanup Features headers.
    
    Cleanup redundant angle:: prefix in Features headers.
    Cleanup workaround descriptions.
    
    Bug: angleproject:1621
    Change-Id: I4325d3603877efee9c6a035cd5b5bbbbc4f5c169
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1625609
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

commit 69d04939e4cca03de121fc735979b197dff34de2
Author: Anders Leino <aleino@nvidia.com>
Date:   Mon May 20 14:04:13 2019 +0300

    Use D3D11 GetDimensions driver workaround for 2D array textures
    
    Some NVIDIA D3D11 drivers are buggy and interprets the level passed to
    GetDimensions as being relative to 0, rather than the SRV's MostDetailedMip.
    This affects all integer format textures, because the dimensions are used for
    sample position calculations with integer format textures, which leads to
    sampling outside texture when the base level is non-zero.
    
    Bug: angleproject:3441
    Change-Id: Ic012cac94ce0a627221087ecb2ee6aa3665900d1
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1617780
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kimmo Kinnunen FI <kkinnunen@nvidia.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 1b6aded661def7ecea1bc6c6f1695d41af981e9e
Author: Anders Leino <aleino@nvidia.com>
Date:   Mon May 20 12:56:34 2019 +0300

    Test D3D11 GetDimensions driver workaround for textureProjOffset
    
    Some NVIDIA D3D11 drivers are buggy and interprets the level passed to
    GetDimensions as being relative to 0, rather than the SRV's MostDetailedMip.
    This affects all integer texture formats because the dimensions are used for
    sample position calculations on integer format textures, which leads to sampling
    outside the texture when the base level is non-zero.
    
    Bug: angleproject:3441
    Change-Id: I9d2f8fa8e66caca704cbc46d4933d3f97aaf93ea
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1617779
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kimmo Kinnunen FI <kkinnunen@nvidia.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 18c0f8891333e540d2acb3d888842d082768fb06
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue May 28 07:01:16 2019 +0000

    Roll ./third_party/spirv-tools/src 42abaa099aab..6c7db9c63098 (3 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/42abaa099aab..6c7db9c63098
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@6c7db9c63098
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=cwallez@google.com
    
    Change-Id: Id41b71a92ad4e5f4a9bf601170e38947792c739f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1632010
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 3fe06eb3aaaf923aa0fbff970059f8ae06cecfba
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue May 21 17:37:25 2019 -0400

    D3D: Make sure Lod0 functions are never referenced in non-fragment shaders.
    
    The lod0 functions would not be declared but could still be referenced by
    vertex shaders.
    
    BUG=angleproject:3471
    
    Change-Id: I635a8465ce68dc22a6f7387b30bf7e93b14dd67d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1622741
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>

commit 6722009ef5c10c5ac86ae332c450fe2c71a7ac05
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon May 20 11:12:53 2019 -0400

    Vulkan: Handle dirty RTs with state messages.
    
    Prior to this CL we were handling dirty state change notifications by
    flushing the RT Images just prior to use or just after they were
    changed. This could lead to a few redundant checks in several places.
    It also meant we needed an owner pointer from the RT to the parent
    Image. This pointer would be null for Surfaces and Renderbuffers.
    
    This cleans up the image flushing logic to be handled by dirty bit
    notifications. When an app updates an attached Texture with TexSubImage
    or related calls it will send a notification to the Framebuffer. The
    Framebuffer then sets a dirty contents bit that is handled in the
    implementation. In Vulkan this means flushing the dirty bits.
    
    Requires adding a flag to the FramebufferImpl class to determine if we
    need to syncState before we checkStatus. Adding the option allows us to
    only call syncState for the GL back-end. Not calling syncState allows
    the robust resource init operation to happen *before* we syncState.
    Which in turn allows FramebuffeVk to initialize the VkImages in one go.
    
    Added new regression tests for Texture updates. This might not cover
    all cases. I found it was very hard to trigger some of the resource
    update staging in TextureVk.
    
    Bug: angleproject:3427
    Change-Id: Idfa177436ba7fcb9d398f2b67922e085f778f82a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1601552
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 3f3a05d4307bad7c3b81cc25a092d69b8ecd826d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon May 27 09:08:46 2019 -0400

    Fix KHR dEQP test data dir.
    
    Had an extra "gl_cts" appended.
    
    Bug: angleproject:3353
    Change-Id: I962cd0196b898e5fdd631790d88bfb1d478d16b9
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1630292
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 8ae3f2c533276552b60a492ce85966aca60070ce
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon May 27 07:01:17 2019 +0000

    Roll ./third_party/spirv-tools/src b8fe7211c465..42abaa099aab (3 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/b8fe7211c465..42abaa099aab
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@42abaa099aab
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=ynovikov@google.com
    
    Change-Id: Ia9007cafa07ba4872d62ef2226a0e4e815c35d8d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1631167
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 40757b28bdc8bd1ac7312dd975a33f96abe87429
Author: Michael Spang <spang@chromium.org>
Date:   Wed May 22 15:23:22 2019 -0400

    Use ConvertToGLBoolean instead of ternary operator in Context
    
    Clean up Context by replacing foo ? GL_TRUE : GL_FALSE by
    ConvertToGLBoolean(foo);
    
    Change-Id: I6a6ee9c23bb30d8b4ef43371c04a94578758145e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1626309
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Michael Spang <spang@chromium.org>

commit de15ed370d5368bc313eee282eb743b07a588c8b
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri May 24 07:01:34 2019 +0000

    Roll ./third_party/glslang/src 27ec91958501..66e46037d74f (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/27ec91958501..66e46037d74f
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@66e46037d74f
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=ynovikov@google.com
    
    Change-Id: Ib84a65db65118755fd62891052c338b3b168792f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1628530
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 179d29a59cc0d02619cc8e9003872a1b6cd430bc
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri May 24 07:01:17 2019 +0000

    Roll ./third_party/spirv-tools/src d9c00e1d2de1..b8fe7211c465 (5 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/d9c00e1d2de1..b8fe7211c465
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@b8fe7211c465
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=ynovikov@google.com
    
    Change-Id: I7f029edec722ab2b057849602699e8d6751e893f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1628528
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 17d6e3c44e893c6f1559db3cf76f7967c872c0cb
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri May 24 07:01:31 2019 +0000

    Roll ./third_party/spirv-headers/src 9674a1a54754..7f4277e21b52 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git/+log/9674a1a54754..7f4277e21b52
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-headers/src@7f4277e21b52
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-headers-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=ynovikov@google.com
    
    Change-Id: If9261e9ecb859c6ed285f5d516db512890757057
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1628529
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit d68aff6c7482afa258d39d4b8c42602dca555a01
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Wed May 22 13:01:50 2019 +0800

    Fix the crash when the array size is not big enough.
    
    Previously, we used IMPLEMENTATION_MAX_DRAW_BUFFERS(8) as the array
    size of 'previouslyBound' which is used to record whether more than two
    different blocks are bound to a single buffer. However, when the
    underlying driver is d3d11_1, the max allowed shader storage blocks will
    be 64 which is larger than 8. An assert error will be met in
    push_back like below:
    
    Test case
    'dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers.45'..
    ERR: push_back(250):    ! Assert failed in push_back
    (../../src\common/FixedVector.h:250): mSize < N
    
    So we use 64 as the upper limit of max shader storage blocks.
    
    Bug: angleproject:3447
    Change-Id: Ie76bfd15486c1ed02afca4283d6e70bdb4298cb6
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1623794
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 431ef2fdd373a8a6444a79e0a1d68a5069b53de9
Author: Minkyu Jeong <minkyu.jeong@samsung.com>
Date:   Tue May 21 17:13:08 2019 +0900

    Add support for EXT_blend_minmax
    
    This is to add additional modes (MIN, MAX) to "BlendEquation".
    - add cases for "GL_MIN" and "GL_MAX" into "PackGLBlendOp()" in
    vk_cache_utils.cpp
    - add enabling "blendMinMax" codes into vk_caps_utils.cpp
    
    And, AUTHORS and CONTRIBUTORS are updated.
    
    BUG=angleproject:2897
    Tests: dEQP-GLES3.functional.fragment_ops.blend.*min*
           dEQP-GLES3.functional.fragment_ops.blend.*max*
    
    Change-Id: I13a1d6d28a104b18e21697f9f23d77e4eda2d1a6
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1621582
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit e794ddc8a6623f090ff474a90643c34723eac796
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Fri May 10 11:05:10 2019 +0800

    OpenGL: Remove all attachments before executing internal clear
    
    This patch fixes a bug in BlitGL::clearRenderbuffer() by removing
    all the attachments of mScratchFBO before attaching the real
    target of clear to keep mScratchFBO always being incomplete.
    
    Without this fix, the WebGL CTS tests mentioned in issue 2760 will
    fail on Intel OpenGL drivers when Chromium is using pass through
    command buffer because when a multisampled depth renderbuffer is
    attached to mScratchFBO, mScratchFBO will sometimes become
    incomplete because it may already have a non-multisampled color
    attachment.
    
    Bug: angleproject:2760
    Test: angle_end2end_tests
    Change-Id: Id206fb4b338545ab46aba118e80d288158dcd8ec
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1612305
    Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit d2683459da1d6e5907fc54dc1f98398397b59841
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu May 23 16:11:19 2019 -0400

    Skip Texture2DIntegerTestES3.IntegerTextureNonZeroBaseLevel
    
    on Win AMD OpenGL
    
    Bug: angleproject:3478
    Change-Id: I8f0ffeb0da31d08f4f4f45048d295c847cf095bd
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1626328
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 6bb193c86a9a3242227012d17a267e3d71ee3fe0
Author: Michael Spang <spang@chromium.org>
Date:   Wed May 22 16:32:21 2019 -0400

    Vulkan: Implement glImportSemaphoreFdEXT
    
    Allow importing file descriptors into semaphores on linux. This can be
    used to synchronize ANGLE's GL renderer with respect to vulkan
    composition in chromium.
    
    Bug: angleproject:3289
    
    Change-Id: I04ba3bbb2e343baa000ff89c21c03ca36163a713
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1623812
    Commit-Queue: Michael Spang <spang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d9fa0744e82b9f77de54e086ce39f88cbe986b57
Author: Jeff Gilbert <jgilbert@mozilla.com>
Date:   Thu Apr 25 14:57:26 2019 -0700

    Emit OVR_multiview2 on ESSL/GLSL outputs.
    
    Add ARB_shader_viewport_layer_array support to
    SH_SELECT_VIEW_IN_NV_GLSL_VERTEX_SHADER.
    
    Bug: angleproject:3404
    Change-Id: Ia89517d0cc92400ce47c9118e8c1abf8285aec41
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1585452
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 344ecaa6755dac1da0c1843fc0b69d5ff8207f8d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue May 21 11:17:55 2019 -0400

    D3D: Return Incomplete when failing to load a program binary.
    
    When Stop is returned, the ProgramD3D::GetExecutableTask attempts to pop an
    error that has not been set.  Returning Incomplete matches the other error
    cases in program binary loading.
    
    BUG=962439
    
    Change-Id: I70895ddc706045620e3df219681982357b7b63e5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1620914
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 8224a58b47495f98a0b0cb33e4ea859761d5797d
Author: Anders Leino <aleino@nvidia.com>
Date:   Mon May 20 12:39:29 2019 +0300

    Normalize fragment color in Texture2DIntegerTestES3
    
    The sampler returns colors with components in the range 0-255.
    
    Bug: chromium:963595
    Change-Id: I7030ab9da6e0803e3aaf8aef4691ce7276636b10
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1617778
    Reviewed-by: Kimmo Kinnunen FI <kkinnunen@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 5093ba67643c6c66d7efa22859984ee86b7b9729
Author: Michael Spang <spang@chromium.org>
Date:   Tue May 14 17:36:36 2019 -0400

    Implement resource management for GL_EXT_semaphore
    
    This implements glGenSemaphoresEXT, glDeleteSemaphoresEXT, and
    glIsSemaphoreEXT. It's not possible to do anything useful with them yet.
    
    Bug: angleproject:3289
    
    Change-Id: I20ad90dbcd3fc573a4650c8531d6e1b8ccf7ca9b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1623811
    Commit-Queue: Michael Spang <spang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 215b2191fb0abeb1c3673cebb744686303e6b773
Author: Michael Spang <spang@chromium.org>
Date:   Tue May 21 21:35:31 2019 -0400

    Add packed enum for GL_EXT_semaphore image layouts
    
    Add a new packed enum gl::ImageLayout which consists of the following
    enum values:
    
      GL_LAYOUT_GENERAL_EXT
      GL_LAYOUT_COLOR_ATTACHMENT_EXT
      GL_LAYOUT_DEPTH_STENCIL_ATTACHMENT_EXT
      GL_LAYOUT_DEPTH_STENCIL_READ_ONLY_EXT
      GL_LAYOUT_SHADER_READ_ONLY_EXT
      GL_LAYOUT_TRANSFER_SRC_EXT
      GL_LAYOUT_TRANSFER_DST_EXT
      GL_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_EXT
      GL_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_EXT
    
    Bug: angleproject:3289
    
    Change-Id: Idc1615717d54fb1193e2f27c84a24993f6007d7b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1623810
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Michael Spang <spang@chromium.org>

commit e44524405796bf6bc27455e90dc9a86eb9a616c1
Author: Anders Leino <aleino@nvidia.com>
Date:   Thu May 9 13:29:49 2019 +0300

    Fix integer cube map sample HLSL calculation
    
    This patch fixes two issues in the HLSL generated to sample an integer cube map.
    The first issue was that an inappropriate major axis was selected when sampling
    from corners of the cube map. In particular, the added test case demonstrates a
    situation where a major axis of length 0 was selected, which lead to an infinite
    LOD being calculated. The fix was to adjust inequalities such that always
    exactly one of xMajor, yMajor and zMajor is true.
    The second issue was that the derivative functions ddx and ddy were being used
    on values that depended on the choice of major axis, which is not continuous at
    the corners of a cube map. This lead to a finite but incorrect LOD being
    calculated. The fix was to make sure major axis choice is not included when
    estimating the scaling factor.
    
    Bug: angleproject:3442
    Change-Id: Ia3eb8c89f47d1bfdadc18aec989e8cbebc088ec0
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1601515
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 25b2980b6b194d265260ac828f78fc5917223d34
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed May 22 07:01:16 2019 +0000

    Roll ./third_party/spirv-tools/src 47741f05043a..d9c00e1d2de1 (5 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/47741f05043a..d9c00e1d2de1
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@d9c00e1d2de1
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=ynovikov@google.com
    
    Change-Id: I7d01bcf5c7ed218c3c6d095fd208f721a11c983c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1623927
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit fb8e1b25ad7165591b9df6a1190316610bd6476b
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri May 17 13:18:40 2019 -0400

    Vulkan: Fix multisampled clear
    
    UtilsVk::clearFramebuffer was not setting the sample count.
    
    Bug: angleproject:3204
    Change-Id: Iab7d385ec58b12f21d888c5dfc9e94b7846ac40c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1616858
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 01f98cbf6bcba3edcb0cfe71b19f50967fe0c942
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Tue May 21 12:21:36 2019 -0400

    Skip failing MultisampleTest on Nexus 6P and NVIDIA Shield TV
    
    Bug: angleproject:3464, angleproject:3470
    Change-Id: Ie864118ceebfc0d72aa95928a02ef0939be5b89a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1620992
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit affc252c8b9330775112f74a552b15255a89e3f9
Author: Shahbaz Youssefi <syoussefi@chromium.com>
Date:   Tue May 21 11:20:31 2019 -0400

    Vulkan: Update glslang_validator binary for Windows
    
    The new binary has the ability to optimize SPIR-V code.
    
    Bug: angleproject:3432
    Change-Id: I57ac99d2b1c5ee0678c3b6ab3db1e215a12bd08a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1620915
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit b86e73daf7db3f0b7ee08a49829a96a7217f71c0
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue May 21 10:23:23 2019 -0400

    Vulkan: Update glslang_validator binary for Linux
    
    The new binary has the ability to optimize SPIR-V code.
    
    Bug: angleproject:3432
    Change-Id: I5953be6f207f153baaf2efe17380448aff374d60
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1620913
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit ac05c2a27a7ecb4ecf34b40f3dff19e84a2db151
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue May 21 07:01:35 2019 +0000

    Roll ./third_party/glslang/src 6e384fef6c0f..27ec91958501 (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/6e384fef6c0f..27ec91958501
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@27ec91958501
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=ynovikov@google.com
    
    Change-Id: I2a76cbdefe28e4122a16a7814c037dde80a1f361
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1621830
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit dc4f4a5b1582354826eede8e5b9c072b7b7697ee
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue May 21 07:01:16 2019 +0000

    Roll ./third_party/spirv-tools/src 9dfd4b835807..47741f05043a (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/9dfd4b835807..47741f05043a
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@47741f05043a
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=ynovikov@google.com
    
    Change-Id: I4d1347d3fa7b089fa03012954de2660654b6d134
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1621847
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit e8247a574956349b7f0a9beaa63c8a7db90e2403
Author: Jeff Gilbert <jgilbert@mozilla.com>
Date:   Thu Apr 25 18:54:24 2019 -0700

    Add scripts/export_targets.py.
    
    $ export_targets.py <out_dir> <targets...>
    
    Flattens all library targets under <targets...> and checks that all
    includes in 'sources' are known to the build.
    
    Firefox can use this as the first half of our ANGLE vendoring process.
    
    Included additions to src/libGLESv2.gni were found with:
    $ export_targets.py out //:libEGL
    
    Eventually, it would be nice to have this as a presubmit check.
    
    Bug: angleproject:3403
    Change-Id: I0f455e8c37c4b0a9e17e9f843843422b6a32f588
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1584652
    Commit-Queue: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit 08146a27b7bc07d6a2426591de7f1ec1a06bed42
Author: Tom Anderson <thomasanderson@chromium.org>
Date:   Fri May 17 10:40:44 2019 -0700

    Remove non-source sources from binary targets
    
    No behavior changes.
    
    BUG=chromium:964411
    
    Change-Id: I843757e65f110882c01514fe6bf4aed28e07dd21
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1617011
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 7a026133ee45d4088d7a86fd464116fc3a186c36
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon May 20 10:34:08 2019 -0400

    Fix Android data dir for KHR dEQP tests.
    
    Also includes a fix for case list paths on developer machines. Also
    includes a test expectation update for GLES2.
    
    Bug: angleproject:3353
    Change-Id: Idb01eb8d806067739253a6676a6d2d8ee1199929
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1616853
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 70958d15db70251fc1650ae3920acce06998038b
Author: Cody Northrop <cnorthrop@google.com>
Date:   Wed Apr 17 13:59:45 2019 -0600

    Let attribute aliasing logic detect overflow
    
    Checking against the max attribute count is not needed
    as aliasing is implemented correctly below.  If not enough
    locations are available, linking will fail.
    
    This works for backends that support aliasing (Vulkan, GLES),
    but not for D3D11, which asserts.  To handle this, add a
    limitation that informs the frontend of aliased attribute support.
    
    Bug: angleproject:3252
    Bug: chromium:964404
    Change-Id: Ib9ae5d381bbb2e6bf496272fc3d9e88467c17290
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1572817
    Commit-Queue: Cody Northrop <cnorthrop@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit b16d69c32cff965a01d0a6f6c8b5a7c4ac94436b
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon May 13 16:28:27 2019 -0400

    Vulkan: Add support for surface multisampling
    
    A multisample image is created for the surface if multisampling is
    enabled.  Prior to present, this multisample image is resolved into the
    swapchain image.
    
    FramebufferVk::readPixelsImpl similarly has got the ability to resolve
    the region of interest into a temporary image prior to readback.
    
    Tests are added to render a point, line and a triangle on a 4x
    multisampled surface.
    
    Bug: angleproject:3204
    Change-Id: I34aca502fa1918b5cbf000ff11521c350372e051
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1610188
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit cd3011fb0654ba9a08d9a9d2ecf21fed07f2de24
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Mon May 13 13:55:25 2019 -0400

    Fix formatting issue in generate_stats
    
    Update to new (public) sheet in chromium account.
    Fix issue with python newline on concatenated string.
    Ensure all tables are sorted by date.
    
    Bug: angleproject:3435
    Change-Id: I5de178409dec1e0dcf1467e4f0fe8cf85ea23c08
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1609939
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

commit 52bfbd35fc969f1fa2366e0cd28a8d832cbdddc0
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Fri May 17 12:29:49 2019 -0400

    docs: Update Android Test Instructions reference
    
    Bug: angleproject:1944
    Change-Id: Ifb8435c9e73f91acc69605e6a93c1d8e529db19f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1617010
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 6a4cad87dfb8ab2aa10d27acb3f4c085360d7928
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed May 1 13:04:00 2019 -0400

    Vulkan: Tighten descriptor stage usage hints
    
    Per-stage uniform buffers are marked with the specific stage.  Program
    uniform buffers and images are specified to be used in all graphics
    stages.  Descriptors used in internal shaders are marked for use in
    either compute or fragment stages.
    
    Bug: angleproject:3220
    Change-Id: Ifcac36a1224f0392ba5fba50660514e498256401
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1595439
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Tobin Ehlis <tobine@google.com>

commit 09eabed99d0e8021eb28e76d85802c5f169bbb6a
Author: Cody Northrop <cnorthrop@google.com>
Date:   Wed Apr 3 19:20:21 2019 -0600

    Allow attribute linking for ES2
    
    * Pipe webGL compatibility down to allow attribute aliasing.
    * Reject aliasing if shader level is too high, or webGL is in use.
    
    Bug: angleproject:3252
    Change-Id: I3378fe707e3795a4b8a424989afccff42bc84344
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1556538
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Commit-Queue: Cody Northrop <cnorthrop@google.com>

commit cafd7736490e2cfeca38397301853e76dfce91c4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri May 17 09:33:41 2019 -0400

    Fix KHR-GLES dEQP test paths.
    
    Our GN was using the incorrect path for the new test sets. This was
    showing up as an isolate_tests failure when running the new tests.
    
    Also fixes incorrect search paths for the case list directory when used
    in a Chromium checkout. And adds a few other missing data dependencies.
    
    Bug: angleproject:3353
    Change-Id: I602db1e5debdad88b6eace76416fc2c10c059f8b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1616021
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 4274cc4631b084941a6f8775b74d8f5f3c1ffd2c
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri May 17 07:01:04 2019 +0000

    Roll ./third_party/spirv-headers/src 4b0985f29277..9674a1a54754 (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git/+log/4b0985f29277..9674a1a54754
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-headers/src@9674a1a54754
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-headers-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=syoussefi@google.com
    
    Change-Id: I23c59c0273df539d1a9c0649dd2608550dd9c9f4
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1617361
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 06de90c66c18f0cb32980606925f39ea63c29b6c
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu May 16 12:46:54 2019 -0400

    Vulkan: Re-enable a handful of suppressed ES3 tests
    
    Few features are already implemented but the suppressions were not
    removed.
    
    Bug: angleproject:2392
    Bug: angleproject:2394
    Bug: angleproject:3199
    Bug: angleproject:3219
    Bug: angleproject:3423
    Change-Id: Iefd6c10f5ec774e174901114b35410c0d397085f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1614428
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 0febee5b610099cfabe7c0c6ffff942d619a3c30
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed May 15 17:03:52 2019 -0400

    Break debugger on assertion failure.
    
    This adds a few simple system utility functions. We can check if a
    debugger is attached and break into the debugger.
    
    Most of the code is adapted from Chromium's base/debug.
    
    Bug: angleproject:3162
    Change-Id: I9cb39d42865a543fbf3201222dd8227318b32ad5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1615353
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit aefbea29626b8ace9fdb19b1d829bd076f4a87fa
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 16 13:33:27 2019 -0400

    Fix Clang warning in dEQP-KHR tests.
    
    Due to complex and slow process of upstreaming it's easier to disable
    this warning than to fix it upstream. Only happens in a Chromium build
    because Chromium uses a specialized standard library.
    
    Bug: angleproject:3353
    Change-Id: I01607a00e469110c87458458d3b205fd59ea3db3
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1614426
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 66c11662b121b427f7073ef1ce5cd14708b78b7e
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed May 8 14:27:44 2019 -0400

    Add a note regarding RenderDoc+Android+Vulkan+dEQP
    
    Bug: angleproject:1944
    Change-Id: Ib0a9195ddaf5afc6f909631c859c7e0bd33d7a1a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1600050
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit cfffc138063b66e4feb978d746342a44643a775e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 16 11:35:01 2019 -0400

    Add KHR-GLES dEQP tests.
    
    This reorganizes the dEQP build targets to allow for better reuse with
    the new KHR test set. It also adds a single new test target called
    "angle_deqp_khr_tests" that houses all the new test sets.
    
    The new test targets can be compiled now but cannot yet be executed.
    That new functionality will follow in a subsequent CL. Along with test
    expectations and integration.
    
    Uses a new template type in the build to conslidate GN customization.
    
    Adds the GLES 2.0 and 3.0 tests for now. We can follow up with
    additional work for the GLES 3.1+ tests. Also adds test expectations.
    
    Bug: angleproject:3353
    Change-Id: Ib0673e97f679c8aa46e27dfa616845a2014a75fe
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1604070
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 04e389d154819234ae1d4abb92102ebdffa8de8c
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue May 14 07:14:25 2019 -0400

    Vulkan: make sure default uniforms are in std140
    
    Bug: angleproject:3199
    Change-Id: I29fdf33ea5af37a66c2cfd5b3355d7ff32105d63
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1614781
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 60cc751a8db16f257f869884042dd63ead0ec356
Author: Anders Leino <aleino@nvidia.com>
Date:   Mon May 6 09:25:27 2019 +0300

    Use D3D11 GetDimensions driver workaround for integer cube maps
    
    Some NVIDIA D3D11 drivers are buggy and interprets the level passed to
    GetDimensions as being relative to 0, rather than the SRV's MostDetailedMip.
    This affects integer cube maps because the dimensions are used for sample
    position calculations, which leads to sampling outside the cube side textures
    when the base level is non-zero.
    
    Bug: angleproject:3441
    Change-Id: I151f9336b9c6d8ec7012bf5010a2d45fb2951e73
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1595688
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 57da8d313a64863acc2235a2d2e353caace563ad
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu May 16 07:01:19 2019 +0000

    Roll ./third_party/spirv-tools/src f815e6fe51af..9dfd4b835807 (6 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/f815e6fe51af..9dfd4b835807
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@9dfd4b835807
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=syoussefi@google.com
    
    Change-Id: I036f558eed529ed640e0908e1fe30f50793646e4
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1614556
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 311e80864a327e25275b9b3a59711c9fbabd0ee2
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Wed May 15 13:25:56 2019 +0800

    Do struct mapping under conditions
    
    Struct mapping consumes lots of time when the array lengh is very large.
    And it's done unconditionally. This CL does struct mapping only if it's
    a struct assignment or passing the struct to a function.
    
    In the next step, we can use a function to do struct mapping instead of
    struct array initialization.
    
    Bug: angleproject:2967
    
    Change-Id: Ie5a74fa05dbc0255ad664d6265dbb880a624f01e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1612978
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>

commit 6ddb7768fa254329632ee91bf18a87b0c8589600
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed May 15 15:25:36 2019 -0400

    Remove angle:: prefix in angle_deqp_gtest.
    
    Refactor and cleanup only.
    
    Bug: angleproject:3353
    Change-Id: I2a01ddf71ba44b8f1a1fc2c4ccbac9edc7c80174
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1613893
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit b4ca09acab8fa0b3c537d1018314126e4ee113cd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed May 15 15:23:12 2019 -0400

    Add IsDirectory helper function to system_utils.
    
    This was previously a method in dEQP only. Cleanup change only.
    
    Bug: angleproject:3353
    Change-Id: I9ac58ab52516f75efbb08bddb39466a40c07cbb8
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1613892
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 38ff3c70d561f7fd210bfd6b32c6dd0672e9a811
Author: Tobin Ehlis <tobine@google.com>
Date:   Wed May 15 10:07:09 2019 -0600

    Vulkan:Allow same-named var in nested scope
    
    ESSL 1.00 spec allows for variable with same name to override outer variable
    inside of a nested scope. This change adds new scope to symbol table inside
    of a function defintion, but after function parameters for ESSL 1.00
    shaders (but not webGL). This prevents an error while parsing.
    
    This also includes some new code in translator to rename any vars that are
    redefined between the function body and the function parameters. This
    prevents an error later on when the translated shader is then parsed as
    a desktop GLSL version.
    
    Bug: angleproject:3287
    Change-Id: I3f025805cf8d65bf912283bb15e6dad6e5e9b967
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1601553
    Commit-Queue: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 73e17bf7d93bb9a6fbc9492d35bc1e99e37dd68d
Author: Tim Van Patten <timvp@google.com>
Date:   Tue May 14 10:42:25 2019 -0600

    Android: Fix symbol compression logic
    
    Update the logic to compress ANGLE's symbols for Android to correctly
    include the necessary symbols.
    
    Bug: angleproject:3448
    Test: Build and install APK, verify symbols are present during crash
    Change-Id: Ibb995aa775d47fb9921e4ab11b956c63ac474c30
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1611750
    Commit-Queue: Tim Van Patten <timvp@google.com>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>

commit af6a51e0db02306ea5195db57a43427f416102db
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed May 15 15:08:00 2019 -0400

    dEQP: Make deqp_path GN variable public.
    
    This allows us to reuse it in our other BUILD.gn files.
    
    Bug: angleproject:3353
    Change-Id: Ic88f7781010d7319dfe3bb8f2f942fa08d37e4dc
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1614097
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>

commit 36f471692a3fe49d76a8c49740155ac0043678f3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed May 15 15:36:06 2019 -0400

    Suppress flaky OpenGL ES3 test.
    
    Texture2DIntegerTestES3.IntegerTextureNonZeroBaseLevel/ES3_OpenGL
    
    Bug: chromium:963595
    Change-Id: I6cdd845a5b7bc1a4b5a16029eaf170db40f1787c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1613894
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 32a1b0f749cef04486ccd3170f11e07ac4a10d6a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed May 15 15:00:20 2019 -0400

    Update dEQP build config to use GN templates.
    
    Templates make it easier to override parts of test configs. Instead
    of if statements we can use forwarded variables to override specific
    settings. This refactor makes it easier to integrate the "KHR" tests.
    
    Bug: angleproject:3353
    Change-Id: Ia6e9c6d01864e5253db5d28dc087bf954aee226c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1612297
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit e77f63a264bc8731e22a3e88fa4961b530369783
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu May 9 10:37:42 2019 -0400

    Use clamp cast for stencil mask in all versions.
    
    dEQP only covers this behaviour in ES2.0 tests and they fail when running with
    an ES3.1 context.
    
    BUG=angleproject:3425
    
    Change-Id: I339b83901434da92ae6dd6273460b0725644cdf5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1602177
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit eaf2d928e6fadd165b943c06a9ee028bc027646e
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Thu Apr 18 16:31:25 2019 -0600

    Add support for OES_depth_texture
    
    Note: Includes workaround for http://anglebug.com/3452 - some Android
    devices do not indicate filtering support on VK_FORMAT_D16_UNORM.
    
    Bug: angleproject:3103
    Test: angle_end2end_tests --gtest_filter=DepthStencilFormatsTest.DepthTexture/*
    angle_end2end_tests --gtest_filter=DepthStencilFormatsTest.PackedDepthStencil/*
    angle_end2end_tests --gtest_filter=DepthStencilFormatsTest.DepthTextureRender/ES2_VULKAN
    
    Change-Id: Ic325fb94ab0e619a17c2e149e0e0865fa4142f3a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1575426
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit a253cff3c8ac98adce68c75ae03cb65616352d58
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed May 15 07:01:18 2019 +0000

    Roll ./third_party/spirv-tools/src e935dac9ef8a..f815e6fe51af (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/e935dac9ef8a..f815e6fe51af
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@f815e6fe51af
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=syoussefi@google.com
    
    Change-Id: I555803c6e26d7dc9f984437e79703452bdec7b47
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1612155
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit bff32703c75b0326ca3c7e49e49c7ecdacdef41e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue May 14 18:08:50 2019 -0400

    D3D11: Disable B5G6R5 on AMD drivers.
    
    Texture data corruption has been seen with this format, specifically
    on AMD Radeon R7 240 cards with the 15.201.1301.0 driver.
    
    BUG=941620
    
    Change-Id: I42d0d86a8319afdfaf17b44e142c6414092c647d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1610681
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit a32a0bef6d7597acee2864271210ab8ca7916a9a
Author: Michael Spang <spang@chromium.org>
Date:   Tue May 14 18:37:28 2019 -0400

    Add fuchsia-angle-rel to the CQ
    
    Unlike fuchsia_x64, this trybot builds with angle_top_of_tree, and won't
    cause random patch failures.
    
    Bug: angleproject:3146
    
    Change-Id: Iea8f93c7e3b6c4bf4514a9c0c6eacca9bd3228c8
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1611730
    Commit-Queue: Michael Spang <spang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 01cd5697760e6df88936b0d99dee740130956d49
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue May 14 07:01:18 2019 +0000

    Roll ./third_party/spirv-tools/src 2947e88f7938..e935dac9ef8a (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/2947e88f7938..e935dac9ef8a
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@e935dac9ef8a
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=syoussefi@google.com
    
    Change-Id: I55a97cd577fd8ae45e0ba93cbf9a7dfaa6122700
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1611439
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit b783fbc799922b43c0988c8686854da85330e679
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri May 10 23:16:17 2019 -0400

    Vulkan: Fix matrix uniforms
    
    A piece of code shared with d3d was used to implement this feature.
    However, we store the uniform data transposed and row-major in d3d to
    accomodate the fact that matrix indexing in HLSL is the opposite of GLSL
    (mat[row][col] in HLSL as opposed to mat[col][row] in GLSL).
    
    There were two functions that copied the source matrix fields either as
    column-major or source-major (corresponding to `transpose` false or true
    respectively in glUniformMatrix*) into a row-major destination.  These
    functions are refactored into one, which copies from any-major source to
    any-major destination.  The HLSL backend uses the "to row-major" variant
    and the Vulkan backend uses the "to column-major" variant.
    
    Bug: angleproject:3198
    Change-Id: I7254da4fbe6916af78c5906abcb82ca01674ab9f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1607541
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit f7033c55be3f088fa644134f9af92a1fa542ecc7
Author: Ian Elliott <ianelliott@google.com>
Date:   Mon May 13 09:48:06 2019 -0600

    Vulkan: Request at least 3 images for MAILBOX.
    
    The glmark2 benchmark score went down (on Android with Pixel devices)
    when ANGLE changed VkSwapchainCreateInfoKHR::minImageCount from 3 down
    to 2, when using VK_PRESENT_MODE_MAILBOX_KHR.  In experimenting, this
    was confirmed.  This CL changes minImageCount back to 3.
    
    Vulkan spec issue #1671 was filed in order to understand whether this
    is a good/bad approach for other drivers/platforms.
    
    Test: glmark2 on Pixel2.
    Bug: angleproject: 3400
    Change-Id: Ia4a72733eb648e4f53feeb8833b174d653fa5766
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1610242
    Commit-Queue: Ian Elliott <ianelliott@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 7d7985589b8f611c1016a911c679de6db708d4b2
Author: shrekshao <shrekshao@google.com>
Date:   Mon May 13 13:40:09 2019 -0700

    Skip validating draw buffers when RASTERIZER_DISCARD is enabled.
    
    Bug: 962555, 962636
    Change-Id: I4a22f83689252b7b7e51bbb3fc80e8f0d601a43f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1610701
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shrek Shao <shrekshao@google.com>

commit 0a1eeb80641a30db9b27bafc78e0fcfd6ac792c1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon May 13 13:53:18 2019 -0400

    Call robust resource init before object sync.
    
    This should let the Vulkan back-end only need to sync the Image data
    once before we use them.
    
    Bug: angleproject:3427
    Change-Id: I8c6e8794e861f855bddbf651997351e8415e3479
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1602912
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit cc5199afdfcde460e32057eac59552fbe737a4fc
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon May 13 09:44:40 2019 -0400

    Roll dEQP (May 2019)
    
    Removes the EGL 1.5 overrides now that they are upstreamed.
    
    Bug: angleproject:3446
    Change-Id: I4b17354518534ea821bba83a4b1e00f83f80ac37
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1605786
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 9d519ab1e3502dd021ee48c2165eb021b37c3d4f
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu May 9 23:09:46 2019 -0400

    Vulkan: Rework layout block storage conversion
    
    Previously, a pass over the shader was made, converting shared and
    packed interface blocks with block storage to std140.  This resulted in
    link success between interface blocks with different storage as they
    were all translated to std140.
    
    With this change, this pass is removed.  The link step proceeds with the
    block storage specifiers as seen by GLES, and only upon Vulkan GLSL
    shader generation "shared" and "packed" are converted to std140.
    
    Bug: angleproject:3199
    Change-Id: I069415ab9c9b4e1034bc00f64cd2d9e2d73f5956
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1605262
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 0ae59f2a0133f366278a9406a0d6902f452b1365
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri May 10 15:45:27 2019 -0400

    Add test to verify uniform matrix upload
    
    Bug: angleproject:3198
    Change-Id: Icb63d036a756b849c44d36342c7ba2fc2db0f910
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1604069
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Tobin Ehlis <tobine@google.com>

commit e1de1ab33d7f75d1e665004083d22cfc5fdd6b8a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon May 13 10:53:47 2019 -0400

    D3D: Store error message by std::string instead of const char*.
    
    These error strings are stored for recording later we can't depend on them
    still being alive so make a copy.
    
    BUG=962439
    
    Change-Id: Ie9156c99b9ce79df4a11087bdcab92d980e959a4
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1610078
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit f1e3609c24ce71b70a748da65573d0cf17cbab09
Author: Nico Weber <thakis@chromium.org>
Date:   Mon May 13 08:55:54 2019 -0400

    angle: Stop setting secondary_source.
    
    It's no longer needed.
    
    Bug: chromium:947060
    Change-Id: I873f17a4876b9d0fac313740853054b6867afeb9
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1610077
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Nico Weber <thakis@chromium.org>

commit e247b5b70db9af1c8ba81f79744a2ca5fd1145d0
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon May 13 07:01:04 2019 +0000

    Roll ./third_party/spirv-headers/src c4f8f65792d4..4b0985f29277 (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git/+log/c4f8f65792d4..4b0985f29277
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-headers/src@4b0985f29277
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-headers-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=jonahr@google.com
    
    Change-Id: Iae2bdf19c951a5eaa2f53872b85c14370a5de8ce
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1608833
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 43f26d70101f044f36d8f9440f1a81f92c61c3f2
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon May 13 07:01:19 2019 +0000

    Roll ./third_party/spirv-tools/src f6d9a1784313..2947e88f7938 (4 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/f6d9a1784313..2947e88f7938
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@2947e88f7938
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=jonahr@google.com
    
    Change-Id: I748a71d6f3593926babffeb8fa51e28c52564d20
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1608835
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit d450fab850941c0f7e54988b87a759d55a0799aa
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon May 13 07:01:08 2019 +0000

    Roll ./third_party/glslang/src 2dd4ab3a4acb..6e384fef6c0f (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/2dd4ab3a4acb..6e384fef6c0f
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@6e384fef6c0f
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=jonahr@google.com
    
    Change-Id: I77af0c451be06bf5965aa44cbbb9040fac0d7742
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1608834
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 3dbe480b559e7919f303a15b4d4b0c788229c3ee
Author: shrekshao <shrekshao@google.com>
Date:   Mon May 6 15:59:07 2019 -0700

    Validating draw buffers now also considers color mask settings
    
    It will always return true if all 4 channels of color mask are set
    to false.
    
    This should only apply to WebGL. Will fix this in a later patch.
    
    Bug: chromium:958374
    
    Change-Id: I46befaf3ae1b63027dfbb309ac32724c616025d3
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1594629
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 29f4ba7d6eb86819b0539a6cdb25c2290bf156cf
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Fri May 10 13:12:59 2019 -0400

    generate_stats filters duplicate neighboring rows.
    
    The charts tend to be static for many days in a row, which will now be
    filtered to be more succinct.
    Also fixes issue parsing when a message interrupts the formatted *RESULT
    token.
    
    Bug: angleproject:3435
    Change-Id: I9ed213844de469c7a8240ee95aab82451888edf1
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1606029
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

commit e4faae213dfd8bd6ab4464922c8fe54d44fc47b9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri May 10 08:27:00 2019 -0400

    Rename state change notification messages.
    
    This makes the style use CamelCase instead of ALL_CAPS. It also cleans
    up some of the naming. It also changes some uses of the messages in
    some of the objects to hopefully be more consistent. See the comments
    added to the enum SubjectMessage in Observer.h for more details.
    
    Bug: angleproject:3427
    Change-Id: I6dff4f6d335ecf1a27e48df65743b1490bd3025a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1600411
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit fdbece20b6b91cf55ddc389e1b3735517873476e
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu May 9 18:06:34 2019 -0400

    Vulkan: Support unsigned int uniform types
    
    Bug: angleproject:3198
    Change-Id: Iac5d1389f4f466b7886246d8ca529e8f26a6a5bd
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1603629
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 95e58587bed917de783fea8f6529229ce2f124ed
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri May 10 07:01:06 2019 +0000

    Roll ./third_party/glslang/src e291f7a09f67..2dd4ab3a4acb (4 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/e291f7a09f67..2dd4ab3a4acb
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@2dd4ab3a4acb
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=jonahr@google.com
    
    Change-Id: Ic93d9def4f27b4acb8243d7bceee4ec0303173cb
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1604104
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 5dc689c1202825bbafba8dba2ab09b854dd1e5fd
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri May 10 07:01:18 2019 +0000

    Roll ./third_party/spirv-tools/src 89fe836fe22c..f6d9a1784313 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/89fe836fe22c..f6d9a1784313
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@f6d9a1784313
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=jonahr@google.com
    
    Change-Id: Iee30560a214dfad1adb259ec0b836be55dad62bc
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1604105
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 7b08d381fd676d2e37d20442f7d9389afeb8b3d8
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu May 9 00:52:04 2019 -0400

    Vulkan: Enable EXT_frag_depth
    
    Natively supported with GLES3 dEQP tests already enabled and passing.
    
    Bug: angleproject:3218
    Change-Id: I5ff94e3b16d2025a58d5a448383049f9330dd46f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1600864
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 7ef73a5262e76d85a296d4647c95d01e51311368
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed May 8 10:48:15 2019 -0400

    Vulkan: Support flat and centroid qualifiers
    
    Bug: angleproject:3219
    Change-Id: I2e0b60bda9c3af2b9eadf2efd3899250925897f4
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1600335
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 5517ce953b41e7e98dbc31ad0c5e55dc60ceab69
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue May 7 00:27:06 2019 -0400

    Vulkan: fix qualifier erase for unused vertex attributes
    
    Bug: angleproject:3219
    Change-Id: I8f8f5572eed5126ab03702953883b313f022a264
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1598548
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 9fa248e1400e935b1f49753519076011b88b1faf
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon May 6 14:55:18 2019 -0400

    Vulkan: Implement EXT_draw_buffers
    
    In GLES, color attachments are referenced by their indices.  These
    indices match between the API and GLSL.  For example, if a shader has:
    
    layout(location=0) out color;
    layout(location=3) out roughness;
    
    Then GLES would bind and enable GL_COLOR_ATTACHMENT0 and
    GL_COLOR_ATTACHMENT3.
    
    In Vulkan, the framebuffer object and the corresponding renderpass
    define the color attachments, and they don't allow gaps in color
    attachments as GLES does.  A render subpass creates the mapping between
    the color attachments as defined in the framebuffer and the attachments
    used by the shader (with possible gaps).
    
    This change packs the enabled GL color attachments for the sake of the
    framebuffer, and sets the subpass up in such a way that the shaders
    continue to use the same color output indices as GLES.
    
    In the example above, we have the attachment indices as follows:
    
     Status  | GLES | GLSL | RenderPass | Subpass
    
    enabled     0      0         0           0
    disabled    1      -                 VK_ATTACHMENT_UNUSED
    disabled    2      -                 VK_ATTACHMENT_UNUSED
    enabled     3      3         1           1
    
    That is, the array of color attachments in the Vulkan
    framebuffer/renderpass is:
    
    [0] = GL color attachment 0
    [1] = GL color attachment 3
    
    And the array of color attachment references in the Vulkan render
    subpass is:
    
    [0] = 0 (index 0 of the renderpass attachment array)
    [1] = VK_ATTACHMENT_UNUSED
    [2] = VK_ATTACHMENT_UNUSED
    [3] = 1 (index 1 of the renderpass attachment array)
    
    Bug: angleproject:2394
    Change-Id: Ib6cd2b60882643ea152986eee453270d09cd4aed
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1595442
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 776694cdad40eea42df37eea7e73cacbd940569b
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Wed May 8 10:28:55 2019 -0400

    Change all ANGLE workarounds to use struct definition with info.
    
    Change each workaround from a simple bool to a struct with info
    including name, workaround set, description, and bug IDs. This will help
    with future workaround integration with Chrome.
    
    Bug: angleproject:1621
    Change-Id: Ia27c180abaf845e280060c803e5994cc3152a057
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1593917
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit cd078c3392560dd9712a4d4b91a05c1111b26f66
Author: Tim Van Patten <timvp@google.com>
Date:   Wed May 1 10:36:11 2019 -0600

    Allow mis-matched Android Context versions
    
    Remove the EGL validation related to context version numbers since a
    backwards compatible context could be created and shared, causing a
    version mis-match.
    
    Test: angle_deqp_egl_tests
    Bug: angleproject:3243
    Change-Id: Iae818433fea1b230b50aa47c14f084e9079c3583
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1592133
    Commit-Queue: Tim Van Patten <timvp@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 85da00fd1d725e51e7b04b4356d89b83dea61ca0
Author: Tobin Ehlis <tobine@google.com>
Date:   Thu May 9 09:02:34 2019 -0600

    Remove dontRemoveInvariantForFragmentInput WA
    
    Previously removed supporting code for the workaround
    "dontRemoveInvariantForFragmentInput" but missed this declaration.
    
    Bug: angleproject:3285
    Change-Id: Ia23b424f2ccbdfe98b7cec79e4290b3621e44238
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1601945
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Tobin Ehlis <tobine@google.com>

commit cf4c6b707565f04537894092be29eb5b5ec4e1f4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 9 11:33:39 2019 -0400

    Print current file in ASSERT macro failures.
    
    Bug: angleproject:3436
    Change-Id: If912ae75c96c34b27967f592910c2ee3403b24cc
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1602178
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 064b1625059a66f15240412e084f2948b2d24e1b
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu May 9 07:01:05 2019 +0000

    Roll ./third_party/glslang/src f88e5824d2cf..e291f7a09f67 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/f88e5824d2cf..e291f7a09f67
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@e291f7a09f67
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=jonahr@google.com
    
    Change-Id: Ia86e00c357164ee9c841d25fb19cc2e6f66d7251
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1602274
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 9f7729f20ea9da0965984a73f6d60e3c61debf5c
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu May 9 07:01:18 2019 +0000

    Roll ./third_party/spirv-tools/src d0a1f5a05a2b..89fe836fe22c (4 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/d0a1f5a05a2b..89fe836fe22c
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@89fe836fe22c
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=jonahr@google.com
    
    Change-Id: I247e92a8fb80856e977a2a611609f7c259194faa
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1602275
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit ebab670cb32dccde42bdf48a02816c44ee6246c7
Author: Mingyu Hu <mihu@microsoft.com>
Date:   Fri Apr 19 14:36:45 2019 -0700

    Adding new extension GL_OVR_multiview
    
    GL_OVR_multiview functions exactly the same as GL_OVR_multiview2.
    All GL_OVR_multiview2 tests now also repeat the same test using GL_OVR_multiview
    
    Bug: angleproject:3341
    Change-Id: I7e5294fb6bbf7692535174a15da6a42e1b5fc4e2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1575904
    Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 52e0e65ab340cff449b3c3a42e86849b33143f1d
Author: Tobin Ehlis <tobine@google.com>
Date:   Wed May 8 12:54:41 2019 -0600

    Vulkan:Exclude pragma_vertex test on MAC
    
    With recent pragma invariant(all) fix the pragma_vertex test is failing
    on MAC so excluding it from testing.
    
    Bug: angleproject:3285
    Bug: angleproject:3433
    Bug: angleproject:3434
    Change-Id: I59079afdbef2d23a593fe0fe061997624fea5cde
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1601364
    Commit-Queue: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit a10b2d078ceb55cc1ba1bf6d7558095154f24163
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Wed May 8 10:28:55 2019 -0400

    Modify 'bb ls' command for generate_stats for more precision.
    
    We were using 'bb ls ... -A' which combines '-p' and '-steps', but we
    only parse information from '-p'. Updates the script to only call what
    it needs. Also works around current issue with '-A'.
    
    Bug: angleproject:3429
    Change-Id: I10d412885663feefd300eb135dae70b499fedd7f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1600334
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

commit 5cbaa3f8fda758de9a7b1483616f6b5b13737e80
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue May 7 15:49:22 2019 -0400

    Don't inherit ANGLETest SetUp and TearDown.
    
    Instead of inheriting from testing::Test's SetUp and TearDown we add
    new methods 'testSetUp' and 'testTearDown'. This helps prevent a common
    error of forgetting to call the base class method.
    
    Also add a check in the ANGLETest destructor that SetUp and TearDown
    have been called.
    
    Bug: angleproject:3393
    Change-Id: Iab211305cc06ffea9ca649e864ddc9b180f2cba0
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1593960
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 8fb00484a46261393c35a16f10951a7b723ba169
Author: Nick Shaforostov <shaforostoff@gmail.com>
Date:   Wed May 8 12:24:41 2019 +0200

    fix a freeze when returning from fullscreen to maximized (nvidia only)
    
    freeze happens after repetitive enter & exit full screen mode
    
    Bug: angleproject:3431
    Change-Id: Iea4cd75dc30cd17e53c0a7f1174e39b24d878d4b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1599617
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 0412d9e1290b8e340111abb6490684d7abba1ee0
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Wed May 1 12:56:40 2019 -0400

    Remove SystemInfo::primaryGPUIndex
    
    primaryGPUIndex is being deprecated in favor of activeGPUIndex, which
    represends the expected index of the GPU used for graphics.
    
    Bug: angleproject:3383
    Change-Id: I37f992adaf3716fc11e7f34b897c51c0148719cd
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1592055
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

commit b76bf1b99e5ff1bfd199695f9bcae629003a4517
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Thu Apr 18 16:00:22 2019 -0600

    Refactor in preparation of adding OES_depth_texture
    
    Rename existing depthTexture extension flag to depthTextureANGLE to
    distinguish it from OES depth texture extension to be added.
    
    Bug: angleproject:3103
    Test: angle_end2end_tests --gtest_filter=DepthStencilFormatsTest.DepthTexture
    Change-Id: I44c69a69b925a84f931518e0374e662893813061
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1575425
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit f5115ed4b0f61473d1c03997369b47abae30a252
Author: Tim Van Patten <timvp@google.com>
Date:   Tue May 7 14:50:50 2019 -0600

    Vulkan: Enable standard derivatives extension
    
    Enable standard derivatives by default for Vulkan.
    
    Bug: angleproject:2903
    Test: Validate Skia doesn't generate errors.
    Test: CQ Runs
    Change-Id: I7f180d4ca03c154db3e9562213127eca1ce65562
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1599857
    Commit-Queue: Tim Van Patten <timvp@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 86819f0e82e59267a0c18628b8ee2428797067e9
Author: Staphany Park <staphany@chromium.org>
Date:   Mon May 6 15:34:38 2019 -0700

    Roll ./third_party/googletest/src/ 9997a830e..3f5b5b8f8 (3 commits)
    
    https://chromium.googlesource.com/external/github.com/google/googletest.git/+log/9997a830ee55..3f5b5b8f8493
    
    $ git log 9997a830e..3f5b5b8f8 --date=short --no-merges --format='%ad %ae %s'
    2019-05-03 absl-team Googletest export
    2019-04-29 misterg Googletest export
    2019-05-02 daquexian566 Fix -Wsign-conversion error by adding static_cast
    
    Created with:
      roll-dep ./third_party/googletest/src
    
    Change-Id: I41974bbd233d35b3368ffd42859a4fc8ae3220b0
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1594628
    Reviewed-by: Victor Costan <pwnall@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit de991d4fe26aa5ac7cddc86f53150460d0d9edaa
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed May 8 08:34:05 2019 +0000

    Roll ./third_party/glslang/src c0640dabfddd..f88e5824d2cf (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/c0640dabfddd..f88e5824d2cf
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@f88e5824d2cf
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=jonahr@google.com
    
    Change-Id: Ie032526d93c3e540e087994ef3ff3214bcff04ec
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1600705
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit c9c5c497678b25a3f2a94d001f85aa9e60ba8549
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed May 8 07:01:19 2019 +0000

    Roll ./third_party/spirv-tools/src 63f57d95d6fa..d0a1f5a05a2b (3 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/63f57d95d6fa..d0a1f5a05a2b
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@d0a1f5a05a2b
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=jonahr@google.com
    
    Change-Id: I6f4dcc82c7d3cf50b91f8255d95b7108c8f89529
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1600322
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 19905aea14e0673454cc7b99fee928999f403a2d
Author: Ian Elliott <ianelliott@google.com>
Date:   Fri Apr 26 01:48:31 2019 -0600

    Vulkan: Set the Vulkan scissor to the GLES viewport
    
    Some Vulkan drivers are not clipping rendering that is outside of the viewport,
    and the Vulkan spec has some language that indicates that ANGLE should set the
    scissor:
    
      The application must ensure (using scissor if necessary) that all rendering
      is contained within the render area.
    
    In this case, ANGLE is "the application".
    
    Bug: angleproject:3253
    Bug: angleproject:3254
    Change-Id: I6885a3aa6daed57f6ae1c3d974663d763cad10c9
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1553973
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit e9421b2cae19e51bb449421a45c84a7c8ec272da
Author: Tobin Ehlis <tobine@google.com>
Date:   Mon Apr 8 15:16:56 2019 -0600

    Vulkan:Only apply invariant pragma to output vars
    
    The "#pragma STDGL invariant(all)" directive should only be applied to
    shader output vars. This change also removes the workaround
    SH_DONT_REMOVE_INVARIANT_FOR_FRAGMENT_INPUT which is no longer needed.
    
    This change fixes two tests that were incorrectly assuming that the
    pragma would be applied to inputs: GLSLTest.InvariantAll[Both|In].
    
    Bug: angleproject:1293
    Bug: angleproject:3285
    Change-Id: I4eb03fa89fbc7c560150ee0cc32382024b0cb3e3
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1558678
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Commit-Queue: Tobin Ehlis <tobine@google.com>

commit e4e3b322395e754e66b6f0570b261f7157ae0cd3
Author: Staphany Park <staphany@chromium.org>
Date:   Mon May 6 15:34:38 2019 -0700

    Add using-declaration to support Googletest roll.
    
    Without this change, rolling Googletest results in compilation errors:
    https://crrev.com/c/1594628/2.
    
    Change-Id: I85e122ad449a3d8fb155b07f64d69022294ab6cd
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1598309
    Reviewed-by: Victor Costan <pwnall@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Victor Costan <pwnall@chromium.org>

commit 84e7932d2737b1f1729f545fcc6f77839466b8e7
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Tue May 7 12:52:49 2019 -0400

    Roll SPIRV Deps (May 7th, 2019)
    
    Required to roll both SPIRV-tools and SPIRV-headers at once due to a
    conflicting change.
    
    Bug: angleproject:3422
    Change-Id: I8160046899acce01a38e1ddcf43370f278349bac
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1599250
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

commit 216f73d00f2d187cdc36efa3aa5aefc9de7dd150
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Apr 12 13:32:30 2019 -0400

    Vulkan: add uniform buffer object support
    
    Support for layout qualifiers in interface blocks are added.  All
    interface blocks are adjusted to either be in std140 or std430.
    
    In the Vulkan backend, a new descriptor set is added for UBOs.  A dirty
    bit is added for UBO updating and pipeline layouts and descriptor
    bindings are updated.
    
    Bug: angleproject:3199, angleproject:3220
    Change-Id: I271fc34ac2e1e8b76dee75e54a7cff0fe15fe4ee
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1565061
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit e76c5c3c324680d40367bd3264c27f64b2a490d0
Author: Tim Van Patten <timvp@google.com>
Date:   Fri May 3 15:51:30 2019 -0600

    Vulkan: Enable drawRangeElements()
    
    Enable drawRangeElements() for the Vulkan backend and the associated
    tests.
    
    Test: angle_deqp_gles3_tests
    Bug: angleproject:3420
    Change-Id: I98770631ce1387131bb45e2c1e9df24e911bc692
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1595101
    Commit-Queue: Tim Van Patten <timvp@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit b62fce1587b9fefe262a6dba99ff23434578a1ad
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Thu May 2 14:26:02 2019 -0400

    Use VPython for dependency management of scripts/generate_stats.py
    
    Instead of installing all dependencies manually, the script should run
    with the dependencies specified by the wheels listed in the VPYTHON
    section of the header comments.
    
    Bug: angleproject:3415
    Change-Id: Ie969ada3ec2550ae2a809164b01930e1590d5db1
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1593736
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit f6cbe44a8d8802f9082e6d5bc15573b313156356
Author: Anders Leino <aleino@nvidia.com>
Date:   Thu Apr 18 15:32:07 2019 +0300

    Use D3D11 GetDimensions driver workaround for 2D integer textures
    
    Some NVIDIA D3D11 drivers are buggy and interprets the level passed to
    GetDimensions as being relative to 0, rather than the SRV's MostDetailedMip.
    A test is added which reads from non-zero base level integer texture. When the
    workaround is not being used, reads outside the first quadrant return black.
    
    Bug: chromium:679639
    Change-Id: I5282a1ba207b2d553d1836f9460ec09cb5590ea6
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1591594
    Commit-Queue: Kimmo Kinnunen FI <kkinnunen@nvidia.com>
    Reviewed-by: Kimmo Kinnunen FI <kkinnunen@nvidia.com>

commit e211740e80ccd8c2c9e7a8879acce326a9c7341b
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue May 7 07:01:18 2019 +0000

    Roll ./third_party/spirv-tools/src 5fc5303eeceb..106c98d0fa0a (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/5fc5303eeceb..106c98d0fa0a
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@106c98d0fa0a
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=jonahr@google.com
    
    Change-Id: I28ef8eda4d6ffd0b513150fdb6bc04b2d4a8b2b4
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1598439
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 0f4d72e63b920036fd3800d26a3b7bd202e40759
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon May 6 10:27:34 2019 -0400

    Add makeCurrent and unMakeCurrent to SurfaceImpl.
    
    SurfaceGL had these methods already so they are just moving up the inheritance
    hierarchy.  This ends up simplifying some state tracking we had in our surface
    implementations.
    
    BUG=angleproject:2464
    
    Change-Id: I480588ca8470d9ef507f95e0c0297fe126b3abfb
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1595434
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit e755a5374f7eb24da579fdc9862b01e3c3c04721
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Apr 10 09:58:21 2019 -0400

    Vulkan: Add a new garbage type gated by fences.
    
    This allows Vulkan EGL objects such as EGL Syncs and EGL Images to give their
    garbage to the renderer before destroying.
    
    BUG=angleproject:2464
    
    Change-Id: I59b8e1080e4292bd0856e59a928750c7e77a372e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1562522
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d7d42395acec8d39599b742fb6f593f20bc9f86b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon May 6 13:15:35 2019 -0400

    Format all of ANGLE's python code.
    
    BUG=angleproject:3421
    
    Change-Id: I1d7282ac513c046de5d8ed87f7789290780d30a6
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1595440
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 8ba78da0b324d6ba6e79d9f83aa3fb38f1f6d09b
Author: Lee Salzman <lsalzman@mozilla.com>
Date:   Tue Apr 30 23:42:31 2019 -0400

    add support for EXT_blend_func_extended to D3D11
    
    Change-Id: Id66868851a490d0a68a7e76280720825c4844a45
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1591192
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 3e62561c4e123ad9b510e5ddbaa844c15be5335f
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon May 6 11:48:52 2019 -0400

    Suppress test hitting Nvidia shield driver bug
    
    The same test was hitting a bug with the Nvidia driver on windows+gles.
    
    Bug: angleproject:3413, angleproject:3417
    Change-Id: I39426291eac731bcda068829686e09cf406ff661
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1595438
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 66e4850d4b4bef78f004fcffff99caf1d5dc3477
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Thu Apr 25 10:49:05 2019 -0400

    Use EnumAdapters to properly detect primary GPU on Win
    
    EnumDisplayDevicesA returns the card that's connected to the display,
    but EnumAdapters return the adapter which the desktop primary is
    displayed at index 0. We can use this to determine the device used for
    graphics.
    
    Also cleans up the discrepancy between platforms on finding "primary" vs
    "active" GPU. Asserts that the GPU expected to run ANGLE commands is the
    active GPU, and deprecates the primary GPU to be equal to the active
    GPU.
    
    Bug: angleproject:3383
    Change-Id: I422fba1bbe47d85b7c09e378d559eaebf89e2625
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1584360
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit c22ef61f3aeb5603e67b28c1a629247192ed8871
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Apr 9 09:55:14 2019 -0400

    Vulkan: Store fences instead of serials in SurfaceVK::SwapHistory
    
    Previous swaps may not have been submitted by the same context as the current
    swap and we can't safely wait on serials submitted by other contexts.
    
    BUG=angleproject:2464
    
    Change-Id: Ibcb23171feae038fd45abdefb80c4e8a373744e2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1562521
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 37860a7071638d55e1947fd0e17cb3fab3b9e6c3
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon May 6 07:01:06 2019 +0000

    Roll ./third_party/glslang/src 86c72c9486a9..c0640dabfddd (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/86c72c9486a9..c0640dabfddd
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@c0640dabfddd
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=jmadill@google.com
    
    Change-Id: I5beb96c93380dab0fab809350ec5619b5ea938e0
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1596388
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 6f0c5b8dd5f2647131e345edea353419d5f35ed2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat May 4 10:00:02 2019 -0400

    D3D11: Fix potential invalid VAO access in dispatch.
    
    In some instances running a dispatch call could lead to accessing an
    invalid VAO pointer. This seemed to be tied to switching Contexts.
    Fix the bug by invalidating the cache pointers on Context switch. Note
    that it seems this bug can only affect ES 3.1+ Contexts.
    
    Bug: angleproject:3349
    Change-Id: Ib712bcc29215b3fd1c8b7eb0cbd70dea649b3cfc
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1594289
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 62742f9e39e3fbd9bb4f9c3a49f04f7ac6db7080
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed May 1 16:14:50 2019 -0400

    Vulkan: Optimize shader source macro replacement
    
    @@ LAYOUT-xx @@ and @@ QUALIFIER-xx @@ macros are generated by the
    compiler when emitting Vulkan GLSL.  These macros are replaced at link
    time in the Vulkan backend.
    
    Previously, this replacement was done through calls to
    angle::ReplaceSubstring, reiterating over the whole source on every
    replacement.  This CL does a prepass on the input source and chunks it
    up in blocks.  Search is optimized as only blocks of a certain type are
    string-compared (skipping large chunks of shader text).  Replace is
    optimized as the whole shader is not shifted left or right on every
    replacement.
    
    Additionally, this CL modifies the layout macro to the following format:
    
            @@ LAYOUT-xx(extra, args) @@
    
    This is used in a follow up CL to have the compiler provide additional
    layout qualifiers.
    
    Bug: angleproject:3220
    Change-Id: I6367e781c3304d5f2e0a406e4fb4e6feb4c45f1d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1592070
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit be394bada84e08e28aa208ef9c9368ab1d676682
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu May 2 13:41:19 2019 -0400

    Vulkan: Reset swap chain image dependency information when aquiring.
    
    If an image was used by a different context previously, it's stored serial
    is not relevent.  We always know that any work involving the swap chain image
    has been completed by the time we aquire a new one.
    
    BUG=angleproject:2464
    
    Change-Id: I0b12b9ff4b9a68593d661344d2d1e2c9d94e4755
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1592043
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit e25ff9d82c06d1fba7c31a4a2c2678cc68e10fd6
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed May 1 00:02:05 2019 -0400

    Vulkan: Fix qualifiers for varyings
    
    `out` variables in the vertex shader and `in` variables in the fragment
    shader were not decorated with `layout(location=?)` as they should
    according to the Vulkan GLSL spec.  This change makes sure these
    decorations are present regardless of whether the compiler sees these
    variables as EvqVaryingIn/Out or EvqVertexOut/FragmentIn.
    
    Bug: angleproject:3412
    Change-Id: I66473e876cb989a60b0c6d6a5850a8b2c763d8e2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1590694
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 58957f3dc6fa50b6bc88b6637bc17bbdb71c87fd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri May 3 12:52:22 2019 -0400

    Add option to run each test config in a separate process.
    
    This CL adds a command line option to angle_end2end_tests that will
    iterate over all test configs. For each config it'll fork a new child
    process that will run only a single config. This will allow us to
    isolate each config to a specific child process. Hopefully this will
    reduce test flakiness due to driver issues with multiple configs.
    
    The command line option is "--separate-process-per-config".
    
    Note that there are about 25 configs right now.
    
    Bug: angleproject:3393
    Change-Id: Ia117b371bbe159c1b0d28d82befffeb0f40467a9
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1591428
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 80147d11c88807434f3fec540670ff0b73590095
Author: Yi Xu <yiyix@google.com>
Date:   Tue Apr 30 16:21:24 2019 -0400

    Add support for dynamically allocate initial stack for Angle
    
    By updating YYLTYPE_IS_TRIVIAL to true, YYSTACK_RELOCATE can be enabled, so
    we can dynamically allocate stack size based on needs.
    
    BUG=angleproject:3028
    
    Change-Id: I1b9cc0768cd0c6955589695e703595c56d43f24a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1593954
    Commit-Queue: Yi Xu <yiyix@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 467f174f0296babce112da8d90fc255df7d8fd7d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri May 3 12:52:21 2019 -0400

    Remove EGLTest.
    
    Consolidate these tests into ANGLETest. Add a new parameter to
    PlatformParameters that lets us skip normal test setup.
    
    This removes the last 'configless' tests from angle_end2end_tests.
    
    Bug: angleproject:3393
    Change-Id: I87186698ade90f95577534eb8ed1dfd4245f740e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1590467
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 97f0affbbd6add6c8782310ff5f822b475122a48
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri May 3 12:52:21 2019 -0400

    Add command line option to filter by test config.
    
    This allows us to run angle_end2end_tests with a single config without
    using gtest_filter. It will also allow us to run each test config in
    a separate process.
    
    Bug: angleproject:3393
    Change-Id: I09aaf9cfe55a117b0af8d79ecfd129f3d0f1d7c8
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1591427
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 051b0896a73720258fc1a3bfc044addf2c439e86
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Apr 15 15:39:39 2019 -0400

    Vulkan: Fix layout substitution for struct varyings
    
    If the shader contains code such as the following:
    
        struct S {
            vec4 field;
        };
        out S varStruct;
    
    The layout qualifier macro is defined as @@ LAYOUT-varStruct @@.
    However, the Vulkan backend was replacing @@ LAYOUT-field @@.
    
    Bug: angleproject:3220
    Change-Id: Iae15003867e0bed2cc939159a6653429c7a431e0
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1571389
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 989bc9a330c44b1cb2c2b6c3fa2aa0a200785463
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 2 13:31:24 2019 -0400

    Move ANGLE Platform Methods init to GetDisplay.
    
    Moving the Platform Methods init to GetDisplay allows us to override
    the platform methods as soon as possible. This lets Chromium override
    the methods via ANGLEGetDisplayPlatform. It also lets us reset the
    platform methods when making a new display. Note that because the
    methods pointer is global it's a bit tricky to manage between swapping
    configs in ANGLE tests. Using a separate test process for each config
    should help.
    
    Bug: angleproject:3393
    Change-Id: I351f86422e53075563f6d8fce32efbd40023cd23
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1592045
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 7d36b55eb0ec6e5701e0a55b174cebb867cd19dc
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Fri May 3 10:29:59 2019 -0400

    Consolidate 32/64 bit dEQP results on doc.
    
    These results are somewhat redundant. Don't need to be shown in the
    public doc.
    
    Bug: angleproject:3369
    Change-Id: I4994cd5714e727afbfe63fb082dab074ed137d43
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1593959
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

commit 3e251337b4626d829cb402884c7fd53f1c745165
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 2 16:12:54 2019 -0400

    Removed SizedFloat helper class from upload tests.
    
    This helper was redundant with the image utils library. Switch the test
    to use the existing methods. Doesn't affect test correctness.
    
    This removes more 'configless' tests from angle_end2end_tests.
    
    Bug: angleproject:3393
    Change-Id: I49cfbd95c3713b2b4b25c4716a7a279d84ddf994
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1591426
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 926f1caa8b5c34a6d2e3a9fa9f10976ca6d51323
Author: Yi Xu <yiyix@chromium.org>
Date:   Wed May 1 14:03:05 2019 -0400

    Add support for GCC Compilers
    
    Add support for GCC Compilers, so it can be build on Ubuntu.
    
    BUG=angleproject:3392
    
    Change-Id: I2f5ac7355a40f52123bd465f86b1e966c59c943d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1592062
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Yi Xu <yiyix@chromium.org>

commit 69f72b4183a6271865075754e1e44a232d562f5f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 2 16:12:54 2019 -0400

    Simplify ANGLE test config names.
    
    We don't need to use upper case. Lower case can be more readable.
    
    Skip a test on Linux/NV/Vulkan that became flaky after changing
    the test order.
    
    Bug: angleproject:3393
    Change-Id: Ie027e08ddc9d47b9484cf5b1aaca72a05dd60517
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1574676
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit e421c05c6b8c921dca21a29f92f7255f3140c12b
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri May 3 07:01:18 2019 +0000

    Roll ./third_party/spirv-tools/src c8b09744c6a1..5fc5303eeceb (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/c8b09744c6a1..5fc5303eeceb
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@5fc5303eeceb
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=jmadill@google.com
    
    Change-Id: I9885ba82ef201582c2b0496ba49438d7ce12192b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1594474
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit ddc4d33a259a5c312d9d4ee30e0875c0590eb70f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed May 1 15:11:46 2019 -0400

    Remove several underused platform configs.
    
    * Removes D3D11 Warp and Reference configs from tests.
    * Removes several permutations of OpenGL back-end specific configs.
    * Removes FL 9_3 since it is no longer supported.
    * Removes present path "Copy" since it's redundant with normal D3D11.
    
    Reduces number of configs from over 60 to 25.
    
    Bug: angleproject:3393
    Change-Id: Ia5a23de3c4865b17ee50673a4066757b901a4b5a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1574675
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 3928567b8c5f843d6bba870d0bde05de72cd79e0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 2 12:59:21 2019 -0400

    Remove fuchsia_x64 from CQ.
    
    This test was failing due to patch errors. This could be because the
    bot uses DEPS ANGLE instead of ToT. Removing the bot because it was
    causing valid CLs to fail on the CQ.
    
    Bug: angleproject:3146
    Change-Id: I7b8b120160fe435832cba919c256ce185ade4d90
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1592602
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 565441b1078b6eabf6f3d1785c5c5de9fd5271a9
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu May 2 07:01:19 2019 +0000

    Roll ./third_party/spirv-tools/src 32af42616abe..c8b09744c6a1 (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/32af42616abe..c8b09744c6a1
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@c8b09744c6a1
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=jmadill@google.com
    
    Change-Id: Ibb2108c988ea4b27108da68498b5a51e72ff0f0c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1593015
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 3089f92e8a772ec675ea8f70ec1abca91b6b79ae
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed May 1 15:11:46 2019 -0400

    Move EGL Display config into EGLPlatformParameters.
    
    This CL moves all of the EGLDisplay configuration into an EGL platform
    struct. Consolidating display configuration in the struct allows us to
    move configuration out of the test constructor. Then when we filter
    test configs we don't need to wait for the individual test setup.
    
    Bug: angleproject:3393
    Change-Id: I5bd06dcdc9f2867ebc43c1d4984077ada35cafc8
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1574674
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit ca49e6dc71527ea51af5416520b4cca89d924238
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed May 1 14:20:36 2019 -0400

    Reset the default framebuffer if ContextImpl::onMakeCurrent fails.
    
    Context has the invariant that if it is not current anywhere, mCurrentSuface is
    null.  If makeCurrent fails in ContextImpl::onMakeCurrent, the surface is not
    reset, breaking this invariant.
    
    BUG=angleproject:3414
    
    Change-Id: Icb13c8e2d1edd98d87a8af091a3fbacebadb395c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1592064
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 3c6a36b094b56ebb21299007fcb0b86b5f23366c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed May 1 15:02:52 2019 -0400

    Fix link to dirty bit diagram.
    
    Also add a missing arrow from VertexArray to Context.
    
    Bug: angleproject:3002
    Change-Id: I2a30df0bb1c9681b4cf5178b75f1264ddf4ca2e2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1592065
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 2b2b4d9fa165c48e5625a593681ea350534e776c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed May 1 13:05:40 2019 -0400

    Add diagram illustrating dirty bit flow.
    
    The diagram source is available as a Google Driver document. It can be
    opened with the draw.io web app.
    
    Bug: angleproject:3002
    Change-Id: Ic7885c8da1aacac5082eea05d0562d3d62f801ba
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1592252
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit fc0be0494ee791c1fa914dcd260e1d64c4b726e5
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Apr 18 09:44:06 2019 -0400

    Fix GL_MAX_COMBINED_UNIFORM_BLOCKS query
    
    This was previously returning maxCombinedTextureImageUnits instead of
    maxCombinedUniformBlocks.  Fixing that exposed a bug in the GL backend
    where the combined values were sometimes capped to vertex+fragment
    values and sometimes not capped at all.
    
    The reasoning for such capping was that the combined limits as queried
    from GL contains stages not available in GLES (such as tessellation).
    However, the capping failed to take geometry shader limits into account.
    
    This change adjusts such capping to vertex+fragment+geometry.  It also
    applies the cappping to all combined limits, rather than a select few.
    
    Bug: angleproject:2099
    Change-Id: I7231058b5d7f80b1b2452d9f87d4b0ab6e1cdb17
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1572487
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit b81490759f4eb8da0e00acb811f39febd8e1d171
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Apr 30 16:14:44 2019 -0400

    Clean up ANGLE test extension functions.
    
    None of these functions needed to be member functions. Also make the
    naming more consistent.
    
    Bug: angleproject:3393
    Change-Id: I7aafe2269a48af703a87bd9a8cf4cfab9e177dd3
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1574673
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit ed4feb356cd9457c3989eb2d3ea4507cbdba80ec
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Mon Apr 29 10:06:28 2019 -0400

    Add generated dEQP charts to the ANGLE doc.
    
    Also clean up the comments formatting for generate_stats.py
    
    Bug: angleproject:3369
    Change-Id: Ifaa26cb898915038cf47e88341db5057b59dd937
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1588315
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 0659c991317a31a12eb7bbb39c8a2064d32e9174
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Apr 30 16:14:43 2019 -0400

    Set swap interval explicitly.
    
    The swap interval can be changed independent of the Surface config.
    Thus it makes more sense to set it explicitly in test setup. This
    simplifies the test config.
    
    Also updates some of the API for GLWindowBase. Return an explicit
    error from makeCurrent.
    
    Bug: angleproject:3393
    Change-Id: Ic62b33018e872bc0e38f2848e2427ed898b60749
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1574672
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 8f39cd8378a55303aac2802226ba9e1f1279c439
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Apr 10 13:58:08 2019 -0400

    Roll Chromium DEPS (April 30, 2019).
    
    Required a few build tweaks because GN check does not understand
    #ifdef includes.
    
    Bug: angleproject:3411
    Change-Id: I1aa7b97626767e3dc973bfa55f5b2a511c806ec9
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1589148
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 0f861bd8c46f7ae179c425a3be861b1bb8414dd2
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Apr 26 16:00:23 2019 -0400

    Vulkan: Don't present on surface destruction.
    
    The the user hasn't called SwapBuffers explicitly, we should not write to
    the window surface.  This is especially a problem when the native window has
    already been destroyed.
    
    BUG=angleproject:2464
    
    Change-Id: Ib4289de471ba2ad10e5cc21a8c2af946642f138c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1586355
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 3fb957a00ba37257efd6b635ce58e57127253557
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Apr 30 07:01:19 2019 +0000

    Roll ./third_party/spirv-tools/src 736376dbf989..32af42616abe (6 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/736376dbf989..32af42616abe
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@32af42616abe
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=jmadill@google.com
    
    Change-Id: I89036ebd9c06aeb79b7b5b358636f5adb4176548
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1589164
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 15ce82273ee173b5889ff64546268c9e23384a1c
Author: shrekshao <shrekshao@google.com>
Date:   Mon Mar 18 19:25:21 2019 -0700

    Fix error report when active color buffer has no fs output
    
    Also modify or remove some tests to sync up with the expected behavior
    stated in spec.
    
    Related to https://github.com/KhronosGroup/WebGL/pull/2780
     If any draw buffer with an attachment does not have a defined fragment shader output,
     draws generate INVALID_OPERATION.
    
    Also remove Framebuffer masking for inactive outputs.
    
    This workaround is no longer necessary as the WebGL spec has changed.
    It also was never fully working and had bugs with certain orders of
    calls.
    
    Bug: angleproject:2872
    Bug: chromium:927908
    Bug: chromium:943538
    Change-Id: I73715a6ab851ae3db7096f49ea0a9fdd6f576703
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1530018
    Commit-Queue: Shrek Shao <shrekshao@google.com>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>

commit 28383fb213ba8b6dc7abb9394884bd7781708ee1
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Apr 26 16:00:06 2019 -0400

    Vulkan: Wrap aquire semaphore in a vk::Scoped
    
    If vkAcquireNextImageKHR fails, the aquireImageSemaphore would be leaked,
    wrap it in a vk::Scoped so it is always cleaned up.
    
    BUG=angleproject:2464
    
    Change-Id: Ic4a0e16c89ea7c35cf060e5601760422e673c080
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1585318
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 821337639b3f134f7530a06215f2741b788d064a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Apr 2 16:58:37 2019 -0400

    Vulkan: Add an unMakeCurrent for contexts.
    
    This allows contexts to flush and update state when they are no longer
    going to be current.
    
    BUG=angleproject:2464
    
    Change-Id: Ie577475a94090631a0208542b32a12a239bdeb75
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1553824
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 1ad7a07212b28ef9b74b24f4d76d06641cafaec3
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Fri Apr 26 14:05:25 2019 -0400

    Clean up unexpected passed/failed test behavior for generate_stats
    
    The lists of tests can't be added to the sheets if more than 50,000
    lines. Since the goal is to get rid of all unexpected passes/failures,
    it's reasonable to clip the lists by length. Other formatting changes
    too.
    
    Bug: angleproject:3398
    Change-Id: Ice461862fb4266e0ad1280f20de85224fc6d7e97
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1585612
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

commit 6f691fbb59c7d01fbb335294a0c0df7ba9b0fc84
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Apr 25 11:01:52 2019 -0400

    Port the WebGL2 framebuffer-texture-changing-base-level test to native
    
    A nearly direct port of the https://www.khronos.org/registry/webgl/sdk/tests/conformance2/rendering/framebuffer-texture-changing-base-level.html
    test for easier debugging.
    
    BUG=angleproject:2291
    
    Change-Id: Ibc8a7e77629f1ea3f15e92ea93f1210fa850c524
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1584361
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shrek Shao <shrekshao@google.com>

commit 51ac37eecbce0519b0adc57755e8d4d0f410334e
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Thu Apr 25 13:32:16 2019 -0400

    Print unexpected passed/failed tests with formatting for generate_stats
    
    The stats generation should pick up a list of unexpected failed/passed
    tests, so the tests should be printed with the format used by this
    script.
    
    Bug: angleproject:3398
    Change-Id: I96a8eba6c2e294f64ca59ec60042cc688d1133c5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1584363
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

commit fb6fbdbc582dff1ab9c376f4e759cd728bd74411
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Apr 12 15:16:30 2019 -0400

    Return that polling queries have completed after context loss.
    
    KHR_robustness says that certain queries that poll such as GetSynciv with
    SYNC_STATUS should still generate errors after context loss but also return
    that the result is available.
    
    BUG=angleproject:3379
    
    Change-Id: Ibf61f8481bc7c3d1b4fa8979dc404d0ca3952fcd
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1566142
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit cddf6416de48b4ce3091ff7455b53124d205d67e
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Wed Apr 24 14:30:39 2019 -0400

    Clean up generate_stats.py script
    
    Add more explicit comments and change some behavior slightly.
    
    Bug: angleproject:3369
    Change-Id: I76f9054564e8d33127e8ff8233b317e82e06c7de
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1582760
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

commit 5a0f64b6ae2900670f9ae326f056d0ad5eb4788c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Apr 23 16:06:47 2019 -0400

    D3D: Require cube completeness to create render targets
    
    TextureD3D_Cube::isFaceLevelComplete skips checks for the base level
    because it assumes that isCubeComplete has already been called to
    verify the base level.  This assumption is not correct for some cases
    like glCopyTextureCHROMIUM which attempts to create a render target
    from cube maps that may not be complete.
    
    This caused us to create render targets from incomplete cube maps and
    then fail to upload data to the cube faces because the sizes or formats
    did not match between the images and render target.
    
    TEST=conformance/more/conformance/quickCheckAPI-S_V.html
    
    BUG=angleproject:3384
    
    Change-Id: Iceb9415debfa07436fea1eb4bc23d0ec05679839
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1578957
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>

commit 1b0acbb5126e7f7d03bde3bde6d4b2fba20811c8
Author: Xinghua Cao <xinghua.cao@intel.com>
Date:   Tue Apr 23 15:17:56 2019 +0800

    Add cases with multiple draws and dispatches
    
    D3D11 cannot allow the same (sub)-resource bound as both
    a SRV and an UAV at the same time. If render pipline and
    compute pipeline access the same texture, must unset
    conflicting SRVs and UAVs before drawing and dispatching
    on D3D backend. Currently, these cases could not pass
    on D3D11 backend.
    
    Bug: angleproject:3152
    TEST=angle_end2end_tests.ComputeShaderTest.*
    
    Change-Id: I3ed19d7586625aac7fe9f46f86341d136d148019
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1578131
    Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Xinghua Cao <xinghua.cao@intel.com>

commit 47b5b1c289e03dc5fa2b5a9f88bc15e955699542
Author: Tobin Ehlis <tobine@google.com>
Date:   Mon Apr 22 13:32:31 2019 -0600

    Vulkan:Improve white box test documentation
    
    Add target for angle_white_box_perftests to DevSetup.md Android build
    instructions. Generously comment the test source to clarify various
    tests and how to run them.
    
    Bug: angleproject:3136
    Change-Id: Ie4f0ec6951d354ebac861f727c9d550a93ad48c9
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1577740
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Tobin Ehlis <tobine@google.com>

commit 1f6eb0cde0be2cd7cfd70d699f2a80cf56739a76
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Apr 24 16:32:00 2019 -0400

    D3D: Re-mark StreamDraw buffers as dynamic.
    
    The StreamDraw usage flag was changed to a static type in
    http://crrev.com/50eb1e6f77b3b0ad89d2cd00efc0d1d673365296 but it appears to
    have regressed performance in several Chrome benchmarks because
    Skia uses it as a usage flag for buffers that change data frequently.
    
    BUG=angleproject:3366
    BUG=953788
    BUG=954028
    
    Change-Id: Ib6805d94714bcd1679f3c9c49f1b70574f0b658a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1582786
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 3c369d190f8f03f663f41cee0c82e3129665e8d8
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Wed Apr 17 18:13:42 2019 -0400

    Add Sheets generation to dEQP visualization script.
    
    Script will parse the output from bb and format it and append to a
    Sheet.
    
    The sheet ID can be set with the 'spreadsheet' arg,  or it
    defaults to a shared sheet on go/angle-status-generated. The user
    credentials must be pointed to with the 'auth_path' arg.
    
    Bug: angleproject:3369
    Change-Id: Iafc9f3f96610f2ea01a9802526282cf5f14e1b2e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1572482
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 8cbd321cafa92ffbf0495e6d0aeb9e1a97940fee
Author: Cody Northrop <cnorthrop@google.com>
Date:   Tue Apr 23 13:25:20 2019 -0600

    Android: Clean up the ANGLE APK
    
    * Rename the APK package name to reflect that it is from Chromium build.
    * Rename the application to reflect it is no longer used on Android system image.
    * Remove code supporting multiple APKs, since we only have one now.
    * Remove the placeholder icon, which is no longer needed.
    * Remove the ANGLE_FOR_ANDROID intent, since this APK is not built in.
    * Remove the java code since since it was only in support of the intent.
    * Remove most apps from the rules file.
    
    Bug: angleproject:3396
    Change-Id: Ic6a2fd03e5686026ab4650fc0c25adb298af03c2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1579389
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Cody Northrop <cnorthrop@google.com>

commit c9a9cfcca1763743d89e0954c7710e77f339bfd2
Author: Jan Beich <jbeich@FreeBSD.org>
Date:   Tue Apr 23 16:25:18 2019 -0700

    `environ` needs to be declared for (at least) FreeBSD.
    
    Declaring it unconditionally seems to build fine on all other platforms.
    
    Change-Id: I4c587d6ec47989f0d22588aca8883c4ef68f91c8
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1579917
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit cb8f677cbfb4b6c70b170322920644f51b0f3722
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Apr 24 07:01:35 2019 +0000

    Roll ./third_party/spirv-tools/src 7aad9653f9a3..736376dbf989 (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/7aad9653f9a3..736376dbf989
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@736376dbf989
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=geofflang@google.com
    
    Change-Id: I577adeb8867e21259dd7ac1413a18e684d8267e4
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1580781
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 62e274e86c7eeedeb764ed58e14911e75b852d84
Author: David Worsham <dworsham@google.com>
Date:   Tue Apr 23 09:17:03 2019 -0700

    [scenic] Remove dangling viewsv1 reference
    
    Clean up the includes and imports for this module as well.
    
    BUG: angleproject:2475
    TEST: Built cast_runner, web_runner
    Change-Id: Id283c265a4ec9d2ca74e3a0132e82f051b8864f6
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1579219
    Reviewed-by: Michael Spang <spang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Michael Spang <spang@chromium.org>

commit 83740f9795844dd947543e03fd9a69155054b79b
Author: Cody Northrop <cnorthrop@google.com>
Date:   Mon Apr 22 11:56:56 2019 -0600

    Android: Add ANGLE version to logcat
    
    We need addtional info in logcat to diagnose ANGLE issues.
    
    Before this, only Vulkan version and hardware details are reported:
    
      ANGLE : Vulkan 1.1.87(Adreno (TM) 540 (0x05040001))
    
    After this, we also get the ANGLE version:
    
      ANGLE : Version (2.1.0.bc20af89d498), Renderer (Vulkan 1.1.87(Adreno (TM) 540 (0x05040001)))
    
    Bug: angleproject:3395
    Change-Id: I4b67fe5ce389d3d2d641a4cc8b2e0b67649dc70d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1579044
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Cody Northrop <cnorthrop@google.com>

commit cff6f150eae166d0b3aefb11dba11947a6d12a3d
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Apr 22 07:01:10 2019 +0000

    Roll ./third_party/glslang/src 0e5d1bb66ad3..86c72c9486a9 (3 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/0e5d1bb66ad3..86c72c9486a9
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@86c72c9486a9
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=cwallez@google.com
    
    Change-Id: I3a4e8fc6e516f7e6357e7330872a068b7f5a8cef
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1576824
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit c467f7b5418856515b9f321495def98ee8ad0554
Author: Michael Spang <spang@chromium.org>
Date:   Wed Apr 17 20:20:30 2019 -0400

    Compute usage from format properties cache in glTexStorageMem2DEXT
    
    Per issue 13 in the EXT_external_objects spec, we should request all of
    the usage flags that are supported for the format.
    
    Bug: angleproject:3289, angleproject:3389
    
    Change-Id: I5ef9906061af0fd619f580a9f603dd43be162932
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1573218
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Michael Spang <spang@chromium.org>

commit fcc3ec31b83b32cd5ada060e73c4a6fb46868864
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Apr 19 07:01:09 2019 +0000

    Roll ./third_party/glslang/src 805b09f92203..0e5d1bb66ad3 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/805b09f92203..0e5d1bb66ad3
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@0e5d1bb66ad3
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=cwallez@google.com
    
    Change-Id: Icee4418f0116ec73f8e204df29b18499d796a54f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1575407
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 4906e8f0124e91360380e44f675448e796cd7ff1
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Apr 19 07:01:35 2019 +0000

    Roll ./third_party/spirv-tools/src ac878fcbdd64..7aad9653f9a3 (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/ac878fcbdd64..7aad9653f9a3
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@7aad9653f9a3
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=cwallez@google.com
    
    Change-Id: I088d283f1e042003064be7c5c52c15aafa1c8be6
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1575408
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 51386f4a5e8b81a3b697e3ebe76c86b49c6364fb
Author: Kenneth Russell <kbr@chromium.org>
Date:   Thu Apr 11 21:55:20 2019 -0700

    Reland "Define and expose EGL_ANGLE_power_preference extension."
    
    This is a reland of ac58e63295f093b7518535bdd060ff832025b0c5
    
    The original CL was reverted in a rush because I thought there was an
    uninitialized variable bug, but upon later re-review this turned out to
    not be the case.
    
    Original change's description:
    > Define and expose EGL_ANGLE_power_preference extension.
    >
    > Allows application to select the integrated or discrete GPU on
    > dual-GPU macOS systems.
    >
    > Tested by modifying the example program at:
    > https://github.com/grorg/ANGLEIOSurfaceTest
    >
    > and verifying that both integrated and discrete GPUs can be selected.
    > (The changes to that program will be upstreamed once some build issues
    > are resolved.)
    >
    > Bug: 2813
    > Change-Id: Ibeb17778512896456d220e9bc4cf8f222aa57057
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1570081
    > Commit-Queue: Kenneth Russell <kbr@chromium.org>
    > Reviewed-by: Geoff Lang <geofflang@chromium.org>
    
    Bug: 2813
    Tbr: geofflang@chromium.org
    Tbr: cwallez@chromium.org
    Change-Id: Iea000dd718f4f4b4f57237adb1dc44381b10106b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1575419
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Commit-Queue: Kenneth Russell <kbr@chromium.org>

commit 145ec7fa7c819a8ac7d3396b49148d0ebb705203
Author: Kai Ninomiya <kainino@chromium.org>
Date:   Fri Apr 19 01:50:34 2019 +0000

    Revert "Define and expose EGL_ANGLE_power_preference extension."
    
    This reverts commit ac58e63295f093b7518535bdd060ff832025b0c5.
    
    Reason for revert: Revert on kbr's request: "has an uninitialized variable bug"
    
    Original change's description:
    > Define and expose EGL_ANGLE_power_preference extension.
    >
    > Allows application to select the integrated or discrete GPU on
    > dual-GPU macOS systems.
    >
    > Tested by modifying the example program at:
    > https://github.com/grorg/ANGLEIOSurfaceTest
    >
    > and verifying that both integrated and discrete GPUs can be selected.
    > (The changes to that program will be upstreamed once some build issues
    > are resolved.)
    >
    > Bug: 2813
    > Change-Id: Ibeb17778512896456d220e9bc4cf8f222aa57057
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1570081
    > Commit-Queue: Kenneth Russell <kbr@chromium.org>
    > Reviewed-by: Geoff Lang <geofflang@chromium.org>
    
    TBR=geofflang@chromium.org,kbr@chromium.org,cwallez@chromium.org
    
    Change-Id: Icb936d91eec70deb825585da3ff8835ca2794736
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: 2813
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1575134
    Reviewed-by: Kai Ninomiya <kainino@chromium.org>
    Commit-Queue: Kai Ninomiya <kainino@chromium.org>

commit ac58e63295f093b7518535bdd060ff832025b0c5
Author: Kenneth Russell <kbr@chromium.org>
Date:   Thu Apr 11 21:55:20 2019 -0700

    Define and expose EGL_ANGLE_power_preference extension.
    
    Allows application to select the integrated or discrete GPU on
    dual-GPU macOS systems.
    
    Tested by modifying the example program at:
    https://github.com/grorg/ANGLEIOSurfaceTest
    
    and verifying that both integrated and discrete GPUs can be selected.
    (The changes to that program will be upstreamed once some build issues
    are resolved.)
    
    Bug: 2813
    Change-Id: Ibeb17778512896456d220e9bc4cf8f222aa57057
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1570081
    Commit-Queue: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 85a239d091281be5716baec96f67aed9758b2d3b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Apr 18 15:47:52 2019 -0400

    Vulkan: Write docs on format tables.
    
    Bug: angleproject:3372
    
    Change-Id: Ib6cae7975484f4789f3d244adcb158e49892a246
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1574619
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 0631e19bcb2352521818b2c72d9bb682d33ff862
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Apr 18 16:09:12 2019 -0400

    Vulkan: Rename Vulkan "Texture" format to "Image"
    
    Also adds some comments to vk_format_utils.h.
    
    Bug: angleproject:3372
    Change-Id: I529b9b189e4cdfd400c3c981a47139727d9954ab
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1565062
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 3b7758656e8286ad400ca7ffc02e44f5f0a78ba2
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Thu Apr 18 15:59:15 2019 -0400

    Skipped tests not accumulated in dEQP stats output.
    
    The sSkippedTests is not incremented in the kGpuTestSkip check in
    runTest, when it should be.
    
    Bug: angleproject:3390
    Change-Id: I4aca73ba1bbe3060fc3c0cd27679c2276a30a741
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1574620
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

commit d18c048ab5a6f1e7f1aa623e641cf9cf98195926
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Apr 4 19:56:43 2019 -0400

    Remove Nexus 5X Vulkan test suppressions.
    
    SimpleStateChangeTest.DrawArraysThenDrawElements
    TextureUploadFormatTest.All
    VertexAttributeTest.UnsignedByteNormalized
    VertexAttributeTest.ByteNormalized
    
    EXTMultisampleCompatibilityTest.DrawAlphaOneAndResolve
    was skipped on all Android for unspecified reason in
    https://chromium-review.googlesource.com/c/angle/angle/+/451877
    seems to be passing now.
    
    Make some suppressions OpenGL ES specific:
    MultisampleCompatibilityTest.DrawCoverageAndResolve
    RobustResourceInitTest.TexImageThenSubImage
    RobustResourceInitTest.ReadingPartiallyInitializedTexture
    RobustResourceInitTestES3.MultisampledDepthInitializedCorrectly
    RobustResourceInitTest.MaskedDepthClear
    RobustResourceInitTestES3.MaskedDepthClearBuffer
    RobustResourceInitTest.MaskedStencilClear
    RobustResourceInitTestES3.MaskedStencilClearBuffer
    TransformFeedbackTest.OffsetResetOnBeginTransformFeedback
    
    Bug: angleproject:3262
    Bug: angleproject:3124, angleproject:2657, angleproject:2797
    
    Change-Id: I3ed7a3f0ebbb4598bff75e2b3bd8b3b0630779f8
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1572484
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit f02a767d73f25980bdcfc3cdf321ea03abf9ee3e
Author: Michael Spang <spang@chromium.org>
Date:   Tue Apr 9 18:45:23 2019 -0400

    Vulkan: Implement glTexStorageMem2DEXT
    
    This implements support for creating textures that alias vulkan images
    allocated inside external memory.
    
    Bug: angleproject:3289
    
    Change-Id: Iad071f353a217793102ae737647c7cd572f7b0ad
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1552029
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Michael Spang <spang@chromium.org>

commit 422c94bdab7aff1939b97d03281b22237bc4aa19
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Apr 12 13:37:19 2019 -0400

    Vulkan: Enable ES3 fragment output attribute locations
    
    GLSLTest_ES3 end2end tests are enabled for Vulkan, though with
    suppressions for other features that are missing.
    
    Bug: angleproject:3199
    Change-Id: Ie744e160eab2df9a5a4f2c67ea5acf4b865ea5bf
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1565058
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 2a7de6b7406de593fe16db3c8efe7c5c6229c8b2
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Apr 18 07:01:34 2019 +0000

    Roll ./third_party/spirv-tools/src 3aad3e9228b3..ac878fcbdd64 (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/3aad3e9228b3..ac878fcbdd64
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@ac878fcbdd64
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=cwallez@google.com
    
    Change-Id: Ibd95960e4fa17658c31bcfa7da3f371e34c3c8f5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1573346
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 5eb1a0b59a81213c4b7ce64542f1924173b9cd61
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Apr 18 07:01:10 2019 +0000

    Roll ./third_party/glslang/src 0527c9db8148..805b09f92203 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/0527c9db8148..805b09f92203
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@805b09f92203
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=cwallez@google.com
    
    Change-Id: I73619434cb093091c3a6d3a29784759e182b603b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1573345
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 82bcffa78747f26b0e4748ef6a7751fe4d5213aa
Author: jchen10 <jie.a.chen@intel.com>
Date:   Wed Apr 17 10:45:25 2019 +0800

    Disable parallel compile for d3d11 compute
    
    To observe whether the flaky issues still show up with the feature
    disabled.
    
    Bug: angleproject:3349
    
    Change-Id: I0eae861ad76212fb4a65b57c1e1b5e8c583d6a3b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1571027
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jie A Chen <jie.a.chen@intel.com>

commit e3c7134c2717443e925adf37ed6de21eb0187cf2
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Tue Apr 16 17:12:03 2019 -0400

    Add script to collect information from tests running on bots.
    
    Add scripts/generate_deqp_stats.py, which takes in a bot name and prints
    out a struct with the number of tests run/passed/failed/etc for each
    test suite that ran on the bot.
    
    Bug: angleproject:3369
    Change-Id: Ie8086e1d0fb6b141afa388ad44711a798a3bbcd1
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1570111
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 0f7a2330c026dc79c5bff0b8cad12da2bc99e354
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Wed Apr 17 11:13:41 2019 -0400

    Modify test result output from dEQP tests for visualization script.
    
    Test results will now be prepended with [TESTSTATS], and there are two
    new outputs added for unexpected passes and unexpected failures.
    
    Bug: angleproject:3369
    Change-Id: Iec4dafe695531dcf56d496083036ccf1e286ead7
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1571388
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 057b76e149d6b614263356100b9fdb00292a476c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Apr 12 14:48:59 2019 -0400

    Implement GL_CHROMIUM_lose_context.
    
    This is useful for testing context lost behaviour.
    
    BUG=angleproject:3379
    
    Change-Id: If0e1538553b1761e313fc36ccde5138cd495200f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1566141
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>

commit 95c0fae605499f6a53585ba9bceeaad8e79ec8fc
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Apr 16 22:46:08 2019 -0400

    Vulkan: Clear surface images if emulated format
    
    This was done for renderbuffers but was missing for surfaces.
    
    Bug: angleproject:2722
    Change-Id: I019805d6ca43eef86d2d46e7c72c1013803f2139
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1570149
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 3b2c6bfd43536cf9ceca5d1303aa9435e67a432b
Author: Michael Spang <spang@chromium.org>
Date:   Tue Apr 16 17:19:50 2019 -0400

    Vulkan: Implement glImportMemoryFdEXT
    
    Allow importing opaque file descriptors into memory objects on linux.
    Currently this just holds onto the file descriptor rather than calling
    vkAllocateMemory immediately. The latter will be easier once we have
    support for suballocation (anglebug.com/2162).
    
    Bug: angleproject:3289
    
    Change-Id: Ia80ce07b2a9ec95b9063feb9bfeb24ffe77fa40e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1552028
    Commit-Queue: Michael Spang <spang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 20a716319262ce5820fd09f8313108018aa3d948
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Apr 17 07:01:35 2019 +0000

    Roll ./third_party/spirv-tools/src 3335c61147d7..3aad3e9228b3 (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/3335c61147d7..3aad3e9228b3
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@3aad3e9228b3
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=cwallez@google.com
    
    Change-Id: I9f5b217d748244b82001189f743c70de2d26a77e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1571180
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit c832cdd75f75d56b1133c93b4bd8bc7c79481699
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Mon Apr 15 14:53:01 2019 -0400

    dEQP test_expectations parser should output an error on unused lines.
    
    dEQP test_expectations parser should allow nested overrides.
    
    When an expectation line is not used for any test, it's likely
    duplicated or misspelled, or the test was removed. The parser should
    output these errors to make it easier to keep the expectations up to
    date.
    
    Also necessary to allow longer/more specific expectations to override
    shorter ones, so the scenario where you FAIL one set of tests across
    platforms, and SKIP a subset of that group on one platform will still be
    allowed.
    
    Bug: angleproject:3368
    Change-Id: If0470cb6fb12f8d3daa97df0c701185fa086668c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1564725
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit b8a8ffd3fc0028f0058a0e864c689bc38c458fe9
Author: Sunny Sachanandani <sunnyps@chromium.org>
Date:   Thu Apr 11 21:09:37 2019 -0700

    Add support for RGB10A2 in eglCreatePbufferFromClientBuffer
    
    Bug: chromium:937108
    
    Change-Id: I689562ebff9f9f85ecb8af918bbb788b16b0f91b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1565420
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit e0da9cefcd5adebee2de8857c577bb86a882922a
Author: Michael Spang <spang@chromium.org>
Date:   Tue Apr 16 14:34:51 2019 -0400

    Pack handle type enum for glImportMemoryFd & glImportSemaphoreFd
    
    Bug: angleproject:3289
    
    Change-Id: Ic20b1d55641494b46622e1e28d93e2ca30655ea6
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1566143
    Commit-Queue: Michael Spang <spang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 50eb1e6f77b3b0ad89d2cd00efc0d1d673365296
Author: Sascha Kolodzey <sascha@adaptvis.com>
Date:   Tue Apr 16 12:18:35 2019 +0200

    D3D: Update dynamic BufferUsage flags.
    
    Changed the mapping between gl::BufferUsage flags
    and D3DBufferUsage flags. Only gl::BufferUsage::DynamicDraw
    gets mapped to D3DBufferUsage::DYNAMIC now. This reflects
    a better mapping between GL and D3D.
    
    BUG=angleproject:3366
    
    Change-Id: I5062f91fdb3664339e2c259b399d5f47401675d6
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1569465
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 7d64c4863dd9063d68439b7dda945b3c2db4810f
Author: Mingyu Hu <mihu@microsoft.com>
Date:   Tue Mar 12 14:27:40 2019 -0700

    GL_ANGLE_multiview has been renamed to GL_OVR_multiview2.
    
    changes include:
    1) GL_OVR_multiview to GL_OVR_multiview2 extension directive change
    2) Removal of all references to side by side. We no longer support multiple views in a single 2DTexture. Only 2DTextureArray's are supported
    3) WebGL 2 (ES3) is required for multiview
    
    Bug: angleproject:3341
    Change-Id: Ie0c1d21d7610f8feebdb2e4d01c6947f57e69328
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1552023
    Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit e02ad4d36458b5db194cf590d769d6e6252c31ab
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Apr 16 14:12:37 2019 +0200

    Suppress tests crashing on teardown on Win Intel D3D11
    
    BUG=angleproject:3349
    
    Change-Id: Ib86f8b87d719919c980240d3220521a3c7f8a942
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1569466
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit bb1e670b11c504df0a6fcdd21f2309978095ad5e
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Apr 16 07:01:35 2019 +0000

    Roll ./third_party/spirv-tools/src 102e430a88db..3335c61147d7 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/102e430a88db..3335c61147d7
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@3335c61147d7
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=cwallez@google.com
    
    Change-Id: I0b0e3294b65fe060cf5f68c7b11a4c672d808522
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1568762
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit e7da32f1c73ed6eaf2175f2ee405a17140e48284
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Thu Dec 27 15:31:47 2018 +0800

    Fix the failure in UpdateImageTextureInUse
    
    If we update the texture data between two dispatch calls, ReadPixels can't
    get right result after the second dispatch call. The failure reason is
    that after the first dispatch, ReadPixels will sync framebufer state which
    will update color render target. Finally, TextureD3D::ensureRenderTarget
    is reached. However, we are in compute pipeline.
    mTexStorage->isRenderTarget() will be false. That results the current
    texture will create a new render target storage. But the UAV is still
    bound with the previous texture storage. If there is no texture dirty bit
    between these two dispatch calls, applyTexturesForCompute won't be called.
    After the second dispatch, readPixels will read data from the new texture
    storage which is not updated.
    
    Bug: angleproject:3015
    
    Change-Id: Ib2494ab8bf6e12faefc0a7370719d383526c36ba
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1390710
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>

commit ccd91316c4cd76706f1da0e625c86ee8e6a4a16a
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Fri Apr 12 14:13:22 2019 -0400

    Use primaryGPUIndex over activeGPUIndex when determining the system GPU.
    
    Mac OPENGL/AMD dEQP test suppressions were being ignored because in
    SystemInfo the activeGPUIndex was used when the primaryGPUIndex should
    have been used.
    
    Bug: angleproject:3373
    Change-Id: I2664049b956bf8903c6d7094ec27646766e7ce16
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1565056
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit d3ec341de14df9c1e7d883d7aa9d24a3a53e534b
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Apr 10 11:37:07 2019 -0400

    Fix LineLoopStateChangeTest to actually draw square and hourglass
    
    The test claimed to be drawing an hourglass followed by a square.  That
    is:
    
        ----
         \/
         /\
        ----
    
    followed by:
    
        ----
        |  |
        |  |
        ----
    
    With the end result being:
    
        ----
        |\/|
        |/\|
        ----
    
    However, in reality it was drawing two hour glasses with the same
    result.  That is:
    
        ----
         \/
         /\
        ----
    
    followed by:
    
        |\/|
        |/\|
    
    Bug: angleproject:3361
    Change-Id: I59a2930f78e6e448b6ccb2e5f70c73ff0f15a2ea
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1561650
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 5646a7ccae5f7fc1b0344c26ec7df994a6dc9719
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Fri Apr 12 16:42:56 2019 -0400

    Uniform buffers not dirtied for gl_VertexID workaround on D3D11.
    
    Related to:
    https://chromium-review.googlesource.com/c/angle/angle/+/1520988
    The program uniform buffers were dirtied for this edge case, but it
    should have been the driver uniform buffers. This CL fixes this and adds
    a tests case which catches this.
    
    Bug: 945903
    Change-Id: I6142771e200513ed0251fc97cec68d371d39ec1a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1565059
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Shrek Shao <shrekshao@google.com>

commit 2664da8beb55839f3f50b11c846960b0d15dc4f7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Apr 8 16:26:52 2019 -0400

    Correct texImage uses of texture type -> target.
    
    Similarly to how the subImage calls were corrected. glTexImage and the
    family of related functions apply to a single texture target. This
    means we need a different TexImage call for each cube face. This is
    distinct from TexStorage calls which take a Cube map directly.
    
    Note this is mostly a refactoring change. But it does increase code
    consistency and should allow for more efficient code reuse.
    
    Bug: angleproject:3356
    Change-Id: I252f8983cdda3a8f0223c44cbbe8d8e2dd319a88
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1558673
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>

commit ba9a21afa510b63a237b0e239c8d18d890f9975d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Apr 15 09:25:25 2019 -0400

    Update suggested reviewers documentation.
    
    BUG=angleproject:1944
    
    Change-Id: I17becf44a86969c0929e51b548cf90220027fb75
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1565060
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 639729c3e65e7d4c127bebf5a288ad31918dba8e
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Apr 15 07:01:35 2019 +0000

    Roll ./third_party/spirv-tools/src 98b3f26c2f1f..102e430a88db (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/98b3f26c2f1f..102e430a88db
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@102e430a88db
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=ynovikov@google.com
    
    Change-Id: I367824273259bd2a34cce14d89d67354496b9c15
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1567286
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 065f8dc35f9dffead39ced85a0ab1ba447ccf843
Author: Tim Van Patten <timvp@google.com>
Date:   Thu Apr 11 12:56:00 2019 -0600

    Vulkan: Set appropriate GL conformant bit for returned configs
    
    The Khronos conformance tests only test configs that have the conformant
    bit set. ANGLE is currently targetting OpenGL ES 2.0 conformance, so this
    change is setting the EGL_OPENGL_ES2_BIT bit to indicate this.
    
    ES 2.0 conformance reporting is being restricted by
    ANGLE_VULKAN_CONFORMANT_CONFIGS_ONLY for official builds, but ES 3.0
    conformance will be reported for builds without
    ANGLE_VULKAN_CONFORMANT_CONFIGS_ONLY enabled.
    
    Bug: angleproject:3374
    Test: CQ Dry Run
    Change-Id: Ie31f63c3ea3b7bddfceec80ebc28f079ffd363df
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1564717
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Tim Van Patten <timvp@google.com>

commit 8f0210f75bdf4b8f2510c9933da09f713c28e485
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Wed Apr 10 10:44:10 2019 -0600

    Always enable NPOT for Vulkan backend
    
    Vulkan natively supports non power-of-two textures so indicate
    that support for front-end.
    
    Bug: angle-project:3239
    Test: angle_deqp_gles2_tests --gtest_filter=dEQP.GLES2/functional_texture_completeness_2d_npot_t_repeat --use-angle=vulkan
    Change-Id: Id9058b6e9afd1d43e5d74612f808ce39beafd35f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1561963
    Commit-Queue: Tim Van Patten <timvp@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 1e064014eb2ba3f8a4aca5dec389ab1c7c58ddd7
Author: Ben Wagner <benjaminwagner@google.com>
Date:   Fri Apr 12 14:10:17 2019 -0400

    Fix 'not all control paths return a value' and add to extra_warnings
    
    Bug: angleproject:3356
    Change-Id: I9831b2035bc1e887c6d5a68a444e69e2bf5aa60a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1565055
    Commit-Queue: Ben Wagner aka dogben <benjaminwagner@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 23667b7e17767a9d4cf77f25c21072471591ecef
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Apr 10 12:49:56 2019 -0400

    Update test result output from ANGLE dEQP gtests.
    
    * prints lines for total, passed, failed, not supported, skipped, and
      exception results.
    * prints unexpected passed and failed tests each individually using the
      dEQP name of the test.
    * moves skipped test detection into the test loop. skipped tests will
      now print a message that they've been skipped.
    
    Bug: angleproject:3369
    Change-Id: Idbfc0154a658eda3f52b5bfd30fbff0860a00133
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1561970
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 6c85037d35b5332aae8ef4ab812af523d60a0626
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Apr 12 12:49:29 2019 -0400

    Move ANGLE CQ to linux-angle-rel and mac-angle-rel.
    
    This will allow mac_angle_rel_ng and linux_angle_rel_ng to be removed.
    
    Bug: chromium:822310
    Change-Id: I259f84c195ed4cfde17a441bf13d812a477537d1
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1565053
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 4877ef358434d307c3531b9fd0bf6fb4ab6632ec
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Apr 12 10:36:00 2019 -0400

    Ensure deleteTexture preserves correct texture cache.
    
    Also adds a test contributed by jgilbert@mozilla.com.
    
    Bug: angleproject:3375
    Change-Id: Ibd52daa074bf53b2b213193ccf5a612705a89c67
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1565052
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 0e30681d1be593c6da7247a27fd7228123e46726
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Apr 10 15:09:53 2019 -0400

    Vulkan: Add design docs on line segment raster.
    
    The docs are based on an internal google document available at
    go/vangle-line-rasterization. The link won't work for non-Googlers.
    
    Also cleans up the format of the markdown file somewhat.
    
    Bug: angleproject:3344
    Change-Id: Ic466c44099e25f12b9afc4565bbd0fe37097af9f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1561969
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit df5ae9f6b04181d3a955bca9fc72752b12401c7d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Apr 11 14:49:23 2019 -0400

    Vulkan: Write design doc explaining SPIR-V generation.
    
    The two-pass approach first uses ANGLE's shader translator followed by
    glslang. The doc explains it in more detail with links.
    
    Bug: angleproject:3345
    Change-Id: I04fd31993e3cd62ac409f2696e18f7ec39e5c6ce
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1560252
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit a95940c69fa8c6076703e837f69818db58f163d4
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Fri Apr 12 10:54:05 2019 -0400

    Suppress flaky dEQP 3.1 test
    
    functional.shaders.builtin_functions.uniform.findLSBMinusOne.highp_compute
    on D3D11
    
    Bug: angleproject:2619
    Change-Id: Ia7a83429d03b871967d2d6c5ecd3ce82111b98fd
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1565427
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 9af10e8ac1776f3c9e0ee65b7874fa0860b25a3b
Author: Tobin Ehlis <tobine@google.com>
Date:   Thu Apr 11 16:20:57 2019 -0600

    Incorrectly placed extension directive is an error
    
    The ESSL 1.00 spec states "...the extension directives must occur before
    any non-preprocessor tokens." This change makes the occurance of an
    extension directive after non-preprocessor tokens a compilation error.
    
    Bug: angleproject:3285
    Change-Id: I9f8631366151c92fb6d8b4408596917012d9a3e9
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1565411
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Tobin Ehlis <tobine@google.com>

commit 0de5b648daad885014ec25f18985d7799eed3c7c
Author: Nico Weber <thakis@chromium.org>
Date:   Thu Apr 11 22:11:13 2019 -0400

    Remove explicit -Wextra-semi, -Winconsistent-missing-override flags.
    
    They're  enabled via the chromium_code config already these days.
    No intended behavior change.
    
    Bug: chromium:926235,chromium:428099
    
    Change-Id: I6927d6e3ec85f40454da61969d7a22dfabef1bde
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1564781
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Nico Weber <thakis@chromium.org>

commit e6f4515a174dabb3d2125573850f40763053df3a
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Apr 12 07:01:35 2019 +0000

    Roll ./third_party/spirv-tools/src 82ebbbba15c2..98b3f26c2f1f (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/82ebbbba15c2..98b3f26c2f1f
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@98b3f26c2f1f
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=ynovikov@google.com
    
    Change-Id: I6b754fbe2656eca4ceb730919a47206fb7eb5b60
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1565771
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit cfc73cc1af5e25cce644a9cd7703ab6a2fd90c79
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Apr 8 16:26:51 2019 -0400

    Correct subImage uses of texture type -> target.
    
    Texture "types" are the same as texture "targets" except for cube maps.
    Cube map targets specify a single face. Cube map types specify a whole
    cube map. The subImage functions should take a target instead of a
    type. We were using both in different places. This CL corrects all uses
    in subImage calls to "target". It also adds a helper for getting a
    target texture from a target. And clarifies the naming of the texture
    query methods.
    
    Bug: angleproject:3356
    Change-Id: I06eb5c5666eec9b8934becf2ba57a066d5cdabde
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1558672
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit e29b61e6dbeb36c7ecb992564081527f8f1c5f32
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Apr 11 17:02:42 2019 -0400

    Skip ParallelShaderCompileTestES31.LinkAndDispatchManyPrograms
    
    Flaky on Win NVIDIA D3D11
    
    Bug: angleproject:3359
    Change-Id: I56a0e4266f1cd0913852a43852666dee055a8e00
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1564562
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 2249d4a727f27644b98c9a96677863757b8dee7f
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Apr 5 16:48:55 2019 -0400

    Vulkan: remove clear depth ability from clearWithDraw
    
    This partially reverts the following change:
    
    60ec8f576 Vulkan: break dependency to the depthClamp feature
    
    The feature is no longer necessary, and simplifies the usage of
    utility shaders.
    
    Bug: angleproject:2361
    Change-Id: I1e87ac8d2517c5a3b50e3d0cddd55c852e0e3e7d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1555313
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Tobin Ehlis <tobine@google.com>

commit 127990f944e791e2a86ababde58b5d8b3cc698aa
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Apr 4 13:52:04 2019 -0400

    Vulkan: Use render pass loadOp for scissored clears
    
    At this point, every clear is done through render pass loadOp, except
    masked color or stencil clears.  The only fallback is clearWithDraw,
    that can clear both color and stencil at the same time.
    
    Bug: angleproject:2361
    Change-Id: I805fc12475e832ad2f573f665cdfeb766e61a6d0
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1553740
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tobin Ehlis <tobine@google.com>

commit d581f918e90dd5a1e827ddc15abf83a17656262c
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Apr 11 10:21:05 2019 -0400

    Vulkan: few more EGL dEQP suppressions on Android
    
    Follow up to c02ef98fb199341d644e4751ac682d858595420e.
    
    Bug: angleproject:2546
    Change-Id: Ibad7befc5bed95544c0cf15a79d25b47ec8a00bd
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1564710
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit e6b23e45b380bee1a2dfda06e4728d24d4d4ad8b
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Wed Apr 10 17:19:15 2019 -0400

    Skip Texture2DTestES3.TextureImplPropogatesDirtyBits on Win AMD GL
    
    Bug: angleproject:3371
    Change-Id: I7601e6b658835b9c948acab98491f5bd01ea9497
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1562517
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 34cbc5442a11e846d576041907cf622612b2f215
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Fri Apr 5 11:30:10 2019 -0400

    Use ANGLE's gpu_info_util libraries for test expectations
    
    3. Remove gpu_info.h and gpu_info.cc and use ANGLE's own gpu_info_util to to
    gather device info instead.
    - Support collecting info for and parsing expectations of specific Android
    devices such as Nexus 5X and Pixel 2.
    - Change parser behavior to more closely follow:
    bit.ly/chromium-test-list-format
    
    Bug: angleproject:2677
    Change-Id: I4c0b9342142b718e884484a6bcaac2dff3ac575a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1553822
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 893ccb48110c70939f9d8a44770eed06db57b09c
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Tue Apr 9 16:19:20 2019 -0400

    Skip EGLSurfaceTest.SwapInterval on Nexus 5X and 6P GLES
    
    Bug: angleproject:3364
    Change-Id: I51dd45cfcd1c548266712b71eac0dca60574e69e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1558960
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 76a9a97fb2a19a325ef90c10900718bfbdb4b1d3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Apr 10 10:28:41 2019 -0400

    Minor update to auto-roller infra docs.
    
    Bug: angleproject:1944
    Change-Id: I06e613f002d390e85faadc9bec903e83fdd9fdec
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1560596
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit c02ef98fb199341d644e4751ac682d858595420e
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Apr 9 16:09:44 2019 -0400

    Vulkan: update GLES3 and EGL expectations
    
    Few GLES3 expectations were updated in preparation for running those
    tests on the bots (one change on Linux, a handful on Android).
    
    A number of EGL tests were discovered to crash on Android.  They are
    suppressed as well.  Note that most of these tests were previously
    marked as failing or flaky on the GLES backend as well, and they are
    marked as SKIP everywhere instead.
    
    Bug: angleproject:2341
    Bug: angleproject:2546
    Bug: angleproject:2950
    Bug: angleproject:3186
    Change-Id: If52d5faeea994c8b6200b713b3c2f1b1a1aeff92
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1560251
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit a0b00e979f4a1c9a2eb3a9f14e9092de56625166
Author: Michael Spang <spang@chromium.org>
Date:   Tue Apr 9 18:45:22 2019 -0400

    Vulkan: Expose GL_EXT_memory_object_fd & GL_EXT_semaphore_fd
    
    If the vulkan driver has support for VK_KHR_external_memory_fd or
    VK_KHR_external_semaphore_fd, add the GL versions of these to the vulkan
    renderer's extensions.
    
    Bug: angleproject:3289
    
    Change-Id: I7f04b5cf883f93f6ccd579c2b75d6831b854bfd0
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1552027
    Commit-Queue: Michael Spang <spang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit a131a1515471571ec058e8940c0de1bdad2a0060
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Apr 10 07:01:34 2019 +0000

    Roll ./third_party/spirv-tools/src d90aae9a5a6c..82ebbbba15c2 (2 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/d90aae9a5a6c..82ebbbba15c2
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@82ebbbba15c2
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=ynovikov@google.com
    
    Change-Id: I834daaff382898fee3733d3f05054421b4af6deb
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1560892
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit f39b4f0280ef8dafa7df18c6f0e93e2573e4bf9d
Author: Tim Van Patten <timvp@google.com>
Date:   Tue Apr 9 12:04:51 2019 -0600

    Vulkan Android: Remove workaround to clamp the point size
    
    This is to remove the workaround introduced by anglebug.com/2599 since
    Nexus 5x devices aren't in the farm anymore and the tests pass on Pixel
    devices.
    
    Bug: angleproject:2599
    Test: angle_deqp_gles2_tests
    Test: angle_end2end_tests
    Change-Id: I14f724494909486a2164ddd734a95b6980429f29
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1559202
    Commit-Queue: Tim Van Patten <timvp@google.com>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d3c574528283664d4ca33b79d1bccf9d66ca888b
Author: Michael Spang <spang@chromium.org>
Date:   Tue Apr 9 15:37:10 2019 -0400

    Fix leak of MemoryObjectManager from context state
    
    Bug: chromium:951049
    
    Change-Id: I4e9e2cfe3c287fcb6e536ec20c20acbfda1d8405
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1559203
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Michael Spang <spang@chromium.org>

commit e4458b7bb63a94149ef04a6d00391bb549945cee
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Apr 8 16:26:50 2019 -0400

    Fix glCopyTexSubImage3D.
    
    Two bugs were present in our implementation. We were using the y offset
    for z in ensureSubImageInitialized. And for our D3D back-end we were
    potentially reading from the wrong image index.
    
    Bug: chromium:947342
    Change-Id: If39671a911e08fcc641b9ba6f5910e3a2c16eb5d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1558671
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>

commit a254fa28d43c8aa79ed61a4b1561104981c90f7e
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Apr 9 14:25:59 2019 -0400

    Rename getCurrentDisplay to getDisplay
    
    There is always only one display that can be associated with a context,
    so get*Current*Display is confusing.
    
    Bug: None
    Change-Id: Iff3a9fc5ad1154b046bb30d7f46a468802ba7fcc
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1558958
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit af0301a8f85a6c1dbb879d7db6925515914ab7bd
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Apr 9 10:43:04 2019 -0400

    Vulkan: fix CPU throttling frames to 2
    
    Previously, the CPU was throttled to be at most N frames ahead, N being
    the number of swapchain images.  N is now fixed to 2, regardless of the
    number of swapchain images.  If N < 2, we would be stalling the CPU
    unnecessarily, and if N > 2, the CPU could get too far ahead.
    
    Effectively, here is how the throttling plays out with this commit:
    
    Submit (Fence 1) + Present
    Submit (Fence 2) + Present
    Wait Fence 1
    Submit (Fence 3) + Present
    Wait Fence 2
    Submit (Fence 4) + Present
    Wait Fence 3
    Submit (Fence 5) + Present
    Wait Fence 4
    ...
    
    Bug: angleproject:2942
    Change-Id: I3b8c3bb88e52d62231306ec84aad50d2bf472d8c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1558681
    Reviewed-by: Ian Elliott <ianelliott@google.com>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 3702d8c9d300fe125cadd54c69275e2c5d24d143
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Apr 8 13:44:06 2019 -0400

    Propogate dirty bit signals from TextureImpl to Texture up to Context.
    
    If TextureImpl sets a local dirty bit and signals gl::Texture of it, the
    dirtyness is not propogated to context.  This can result in draw calls
    with textures that are not synchronized
    
    BUG=949985
    
    Change-Id: I9baf82c96598265a6a4850f1fd48e213b5e98ab5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1556699
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>

commit 7d6898630dccbb5ec6d9edcbe4d7116f8fa50d9e
Author: Tim Van Patten <timvp@google.com>
Date:   Mon Apr 8 12:31:33 2019 -0600

    Re-Enable MipmapTest.TextureCubeGeneralLevelZero/ES2_VULKAN
    
    The test MipmapTest.TextureCubeGeneralLevelZero/ES2_VULKAN was disabled
    for Vulkan Android due to Nexus 5x and Pixel 2 issues.   The Nexus 5x
    has been removed from the test infrastructure and the Pixel 2 issue
    seems to have sorted itself out.
    
    Bug: angleproject:2817
    Test: angle_end2end_tests MipmapTest.TextureCubeGeneralLevelZero/ES2_VULKAN
    Change-Id: I85bb56707def2906194c34942fcd74a811255abc
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1558293
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Tim Van Patten <timvp@google.com>

commit fc15ae5571b3b303a26b74dd8085b5c54f964b39
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Apr 8 23:32:32 2019 -0400

    Vulkan: parallelize internal shader compilation
    
    As glslang is rolling frequently now, internal shaders frequently
    require recompilation.  This change parallelizes shader compilation to
    speed up this process.
    
    Bug: angleproject:3333
    Change-Id: Icace083559bff73dfb9b5fe7cc2c59ce8137a2dc
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1558680
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 9f7585bf35f81b93e21a23724122083b6728c064
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Apr 8 16:34:03 2019 -0400

    Formalize preference for handling generated code.
    
    This documents the discussion and conclusion on preferring to bake
    generated code into the repository.
    
    Bug: angleproject:3333
    Change-Id: I1afc338c59d5bcb2a64f843081aba5120820e9ba
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1558676
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 0086a8acd8799ef36a84c55781429703584be814
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Tue Apr 9 09:15:59 2019 -0400

    Skip LineLoopStateChangeTest.DrawElementsThenDrawArrays on Win Vulkan AMD
    
    Bug: angleproject:3361
    Change-Id: I39c595e1b8ab73520422e2dd3433cd007a1415a1
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1559789
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 304f857d260e517fe7c01fb9fb25dc4011ec5073
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Apr 9 07:01:34 2019 +0000

    Roll ./third_party/spirv-tools/src e8c2d95ed45f..d90aae9a5a6c (5 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/e8c2d95ed45f..d90aae9a5a6c
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@d90aae9a5a6c
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=ynovikov@google.com
    
    Change-Id: Ie83b6a4df33b1733153216721b5a9e1f4f883047
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1558757
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit b81b08e4eeb2658f6de4170fb653ac3905d12d99
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Tue Apr 9 07:01:09 2019 +0000

    Roll ./third_party/glslang/src e06c7e9a515b..0527c9db8148 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/e06c7e9a515b..0527c9db8148
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@0527c9db8148
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=ynovikov@google.com
    
    Change-Id: I76730e84198452d79381d030a757080c03de092a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1558755
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 82418c8216899e6287843fd4f4fd208a49df09ae
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Apr 5 15:56:03 2019 -0400

    Add support for updating glslang_validator binary from Linux.
    
    Updates the glslang_validator binary for Linux in the same commit.
    
    Bug: angleproject:3333
    Change-Id: Ide42781ec4951e7c09307a0a3b96c36c6ea29d23
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1553828
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit a7440a2273f304c5b02148c050f4a5e9172ae977
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Apr 8 15:50:30 2019 -0400

    Add glslang and SPIRV autorollers to wrangling doc
    
    Bug: angleproject:1944
    Change-Id: I9d93ec16044e2a40eeee5073e77696c86338f651
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1558670
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 65d10f3bad96f7bf5be8b9106d01de38f63b2914
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Mar 21 16:30:31 2019 -0400

    Vulkan: Implement robust resource initialization
    
    If a texture or renderbuffer needs to be cleared for robust access or
    due to having emulated channels, it is immediately cleared.  The former
    relies on a front-end feature that optimizes robust access clears only
    to levels and layers that are not fully initialized through data upload.
    
    Bug: angleproject:2722
    Change-Id: Icdab856eb4ffe963f78569b6d80d9ff5cb27ff9b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1535056
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 8413faba29ffe26863d7b7ce803aa30ce07ab6b8
Author: shrekshao <shrekshao@google.com>
Date:   Thu Apr 4 17:13:18 2019 -0700

    Fix formsRenderingFeedbackLoopWith check
    
    To make it pass the following webgl conformance test
    https://github.com/KhronosGroup/WebGL/blob/master/sdk/tests/conformance/rendering/rendering-sampling-feedback-loop.html
    
    It used to fail due to
    1. Didn't check if texture unit is sampler complete
    2. Only checked active drawbuffers. But drawbuffer settings shouldn't be
    taken into account when checking drawing feedback loop.
    
    On top of applying these 2 functional fixes, I also tried to do some
    optimization by unwrapping the nested for loop for program sampler
    bindings and texture unit in `Program::samplesFromTexture` and putting
    them outside of the draw buffer loop according to the old comment by
    Antonie @piman.
    https://codereview.chromium.org/2461973002/
    
    > ... turning it around (for each texture check if it's
    also an attachment, instead of for each attachment check if it's a bound
    texture). In particular, we have an upper bound on the number of
    attachments, so we can look them up outside the loop into a fixed size
    buffer on the stack - and the very common case will be to only have 1 of
    them making the inner loop cheap.
    
    But this unwraps sort of breaks the code structure. An alternative way
    would be passed in a framebuffer pointer into `Program::samplesFromTexture`
    but that would ends up in tight class coupling. I am a bit unsure here.
    Would like to hear if think this change is okay in terms of code style.
    
    In addition to further speed up this check (as it runs for every draw
    validation) I added a cache mLastColorAttachmentId indicating the last i
    of GL_COLORATTACHMENTi that is not GL_NONE to shorten this inner loop.
    In most scenario we won't have up to max number of color attachments.
    
    A side note: this is still failing
    https://github.com/KhronosGroup/WebGL/blob/master/sdk/tests/conformance2/rendering/depth-stencil-feedback-loop.html
    But it's because the test case doesn't fit the spec at this moment.
    I will update this test later.
    
    Bug: chromium:660844
    Change-Id: I6d718dada71a5d989caac04de03f2454f2377612
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1553963
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Shrek Shao <shrekshao@google.com>

commit bfc5df1663c06744bf500ae8b8dfd2343e3e8471
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Apr 8 12:54:56 2019 -0400

    Remove function pointers in CopyTexture3DTest.
    
    No longer needed with the ANGLE loader.
    
    Bug: None
    Change-Id: If206c529efaee5b81b68059341dcc6e841126842
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1556698
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit edef895af9c1f802dea69b7df60b23a6e21a9827
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Apr 4 10:03:09 2019 -0400

    Vulkan: make sure clear value is completely initialized
    
    If clearing only depth or stencil, the other channels contained garbage.
    
    Additionally, this removes the clearing of emulated channels.  Emulated
    textures are cleared once, and they don't need to be recleared.
    
    Bug: angleproject:2361
    Change-Id: I01aa6be116d44f6c0115a1c25322db2e579a7b23
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1553739
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d5ff4fadd867f7adee0e8f88e37230ce61d109c5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Apr 8 09:25:23 2019 -0400

    Add standalone glslang_validator as a download hook.
    
    This change allows us to download a copy of the standalone glslang
    validator during gclient runhooks. This decouples run_code_generation
    from the version of glslang stored in source tree. This prevents the
    error where a developer would run into a code generation conflict due
    to a change in version of glslang.
    
    Currently only the Windows version is stored in the tree. A follow-up
    CL will add Linux. The validator will only initially support Windows
    or Linux.
    
    Documentation for the script is located in tools/glslang/README.md.
    This CL also updates the Vulkan shader generation script to use the
    new binary for Windows.
    
    Bug: angleproject:3333
    Change-Id: Ia6146a283a2bcfdf84c42411d6b5d8bae136bf1b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1553823
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 9f958344898ce0c4259d36c09c79e1a9de8ce47c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Apr 8 09:40:40 2019 -0400

    Add MD browser to DEPS.
    
    This tool can allow you to browser markdown files in the repository
    locally. Run tools/md_browser/md_browser.py and navigate to
    localhost:8080. It will point you to the root README.md. From there
    you can put in relative links to navigate to your new or changed
    markdown files.
    
    Bug: angleproject:3333
    Change-Id: I5b4d608e2ad7408280868eb6561f95f3e55d8e8f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1556696
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 90b1865e2a8b644bc3e200726de9e3a321ee5c18
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Mar 29 00:00:27 2019 -0400

    More unittests for BitSet
    
    Bug: angleproject:2361
    Change-Id: Icca49086d95ddb0d2d50e5ba71ae9b748eeabf3f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1545203
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 5d50678ea9b0a8be594c700b8c9eaf5af019b8c7
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Sat Apr 6 15:04:03 2019 -0400

    Roll glslang forward 1240db678cae..e06c7e9a515b
    
    Manual roll to unblock the autoroller stuck on presubmit failure.
    
    Bug: None
    Change-Id: I97094add66a42154309addea43fe6aa5e1411c43
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1556694
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit efec568b26ce6db50a5254a9c5be98f563112ba6
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Apr 3 15:19:26 2019 -0400

    Expand clear tests for more mask combinations
    
    The test was previously either masking every three aspect (color, depth
    and stencil) or none.  This was not exercising every clear path in the
    Vulkan backend.
    
    Bug: angleproject:3241
    Change-Id: Ief4085ea302ec17bffe30b1f8510ae357fd01290
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1551523
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit c756535369699f7d3ff96a736e2939361a99ca03
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Apr 3 14:03:56 2019 -0400

    Vulkan: break dependency to the depthClamp feature
    
    Image clear's masked clear path using a draw call was using this feature
    to clear the depth buffer, but this feature is not available on ARM and
    some Qualcomm devices.
    
    This change adds a push constant to the vertex shader used in this call
    to export the depth clear value, removing the need to rely on depth
    clamping.
    
    Bug: angleproject:3241
    Change-Id: I565cd5f731c441820e0702e51dfdf02d0bc7de06
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1551522
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Tobin Ehlis <tobine@google.com>

commit f6c937f8c21442ac1cf7d5c24080f454d72d1548
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Apr 2 17:04:08 2019 -0400

    Vulkan: fix masked stencil clear
    
    Previously, masked stencil clear was done by clearing every stencil bit
    to the ClearValue & Mask.  The correct behavior as implemented in this
    change is to clear only the bits that are set in Mask.  This can only be
    done through a draw call, with ClearValue as the stencil reference, and
    Mask as the stencil write mask.
    
    Note: this change relies on the depthClamp Vulkan feature which is not
    available on ARM.
    
    Bug: angleproject:3241
    Change-Id: I0a181c32f881ee813f144e7bdd6f42c8ea6f1966
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1548442
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tobin Ehlis <tobine@google.com>

commit 194a9674e255a354a339582f9429ce17600d60d2
Author: Tobin Ehlis <tobine@google.com>
Date:   Fri Apr 5 09:20:46 2019 -0600

    Vulkan:Return HW's SUBPIXEL_BITS
    
    Plumb the physical HW's subPixelPrecisionBits limit to be returned in
    the query for GL_SUBPIXEL_BITS. Default value remains 4 for all other
    backends.
    
    Bug: angleproject:3351
    Change-Id: I5564e5090e7211b8daeaa91ea30eceb23c5ea227
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1553967
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Tobin Ehlis <tobine@google.com>

commit 5f388c24529334c694e245be69226581a01d1622
Author: Tim Van Patten <timvp@google.com>
Date:   Thu Mar 14 09:54:23 2019 -0600

    Vulkan: dEQP-EGL.functional.image.modify.*
    
    Determine the destination internalFormat correctly.
    
    dEQP-EGL.functional.image.modify.renderbuffer_rgb565_tex_subimage_rgb8
    dEQP-EGL.functional.image.modify.renderbuffer_rgba4_tex_subimage_rgba8
    dEQP-EGL.functional.image.modify.tex_rgb565_tex_subimage_rgb8
    dEQP-EGL.functional.image.modify.tex_rgba4_tex_subimage_rgba8
    dEQP-EGL.functional.image.modify.tex_rgba8_tex_subimage_rgba5_a1
    dEQP-EGL.functional.image.modify.tex_rgba8_tex_subimage_rgba4
    dEQP-EGL.functional.image.modify.tex_rgba5_a1_tex_subimage_rgba8
    dEQP-EGL.functional.image.modify.tex_rgba5_a1_tex_subimage_rgba4
    dEQP-EGL.functional.image.modify.tex_rgba4_tex_subimage_rgba8
    dEQP-EGL.functional.image.modify.tex_rgba4_tex_subimage_rgba5_a1
    dEQP-EGL.functional.image.modify.renderbuffer_rgba4_tex_subimage_rgba8
    dEQP-EGL.functional.image.modify.renderbuffer_rgba4_tex_subimage_rgba5_a1
    dEQP-EGL.functional.image.modify.renderbuffer_rgb5_a1_tex_subimage_rgba8
    dEQP-EGL.functional.image.modify.renderbuffer_rgb5_a1_tex_subimage_rgba4
    
    Bug: angleproject:3170
    Change-Id: Ic9870390b2d4a0dcbe561efd3fb1597faadb7d79
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1524404
    Commit-Queue: Tim Van Patten <timvp@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit b9a71427efd22870c2fdb40462a74d99f06e609d
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Apr 5 07:01:35 2019 +0000

    Roll ./third_party/spirv-tools/src e2ddb9371edb..e8c2d95ed45f (7 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/e2ddb9371edb..e8c2d95ed45f
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@e8c2d95ed45f
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=syoussefi@google.com
    
    Change-Id: Idc4d741c4ddd93a7a3ac8516572fbd38f47f2c6a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1554562
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 1aef340c2cad25008ac6c70e59ae8ccd7ae90e2b
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Apr 5 07:01:33 2019 +0000

    Roll ./third_party/spirv-headers/src 111a25e4ae45..2434b89345a5 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git/+log/111a25e4ae45..2434b89345a5
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-headers/src@2434b89345a5
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-headers-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=syoussefi@google.com
    
    Change-Id: Ia36909b72970b177fbaf6074899469d673a27297
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1554561
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 9de3ddb511bc6f86024860d06174215338c76fbb
Author: Michael Spang <spang@chromium.org>
Date:   Wed Apr 3 16:23:40 2019 -0400

    Generate entrypoints for GL_EXT_memory_object_fd & GL_EXT_semaphore_fd
    
    This adds entrypoints for the Linux variants of GL_EXT_memory_object &
    GL_EXT_semaphore.
    
    Bug: angleproject:3289
    
    Change-Id: I40de40f27aa82cd9479d5913dac0a7493919bb8f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1552026
    Commit-Queue: Michael Spang <spang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit fb201c5e208dda3fb657ae3c543f0f6059ecb4f0
Author: Michael Spang <spang@chromium.org>
Date:   Wed Apr 3 14:57:35 2019 -0400

    Implement resource management for GL_EXT_memory_object
    
    This implements glCreateMemoryObjectsEXT, glDeleteMemoryObjectsEXT, and
    glIsMemoryObjectEXT. It's not possible to do anything useful with them
    yet.
    
    Bug: angleproject:3289
    
    Change-Id: I8882b657e9de564b5f97f8dea87838f67b1928f8
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1552025
    Commit-Queue: Michael Spang <spang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 7a8c3e5ebe3e77e998f84e60ce0681b334a8c29c
Author: Michael Spang <spang@chromium.org>
Date:   Wed Apr 3 14:49:57 2019 -0400

    Generate entrypoints for GL_EXT_memory_object & GL_EXT_semaphore
    
    This adds entrypoints for two new extensions that will be useful for
    importing external Vulkan objects into ANGLE.
    
    Bug: angleproject:3289
    
    Change-Id: I206dc76eda5c6c8d836db7c6413c5544326aa722
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1552024
    Commit-Queue: Michael Spang <spang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 27f115aa0b8098feb21b85df8694b796be360c98
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Apr 1 10:33:21 2019 -0400

    Vulkan: clean up framebuffer clear
    
    The Qualcomm bug workaround is changed such that clears still go through
    the render pass loadOp, but the render pass is immediately closed.  This
    allows us to remove a few fallback methods.
    
    Bug: angleproject:2361
    Change-Id: I24c3884a183f8bb40673e922773f70faffad848f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1545524
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 896e7ded5f25c36f802ed7dd839f8790d16aed23
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Apr 4 10:59:55 2019 -0400

    Use compressed internal format as 'format' in tables.
    
    Previously we would store the unsized 'base' format as the internal
    format. For instance for GL_COMPRESSED_RGB_S3TC_DXT1_EXT we would store
    GL_RGB. With the new spec validation for TexSubImage it becomes clearer
    to store the internal format of the compressed texture as the 'format'.
    
    Bug: angleproject:3170
    Change-Id: I7446418896eabd3d4f143e9cae4976889b973674
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1553379
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 85b04bb2e38b1278716a71806e32c404fc030955
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Apr 2 12:57:36 2019 -0400

    Minor cleanups to copy vertex.
    
    Makes the files parsable as c++ files.
    
    Bug: chromium:943709
    Change-Id: I6f7d718f9773fe4a7f72828ee9cd56beb5577c66
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1545528
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 12b25347dc68d4666b41d0fc116f7a6e0ae9ab85
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Apr 4 07:36:09 2019 +0000

    Roll ./third_party/glslang/src ef807f4bc543..1240db678cae (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/ef807f4bc543..1240db678cae
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@1240db678cae
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=syoussefi@google.com
    
    Change-Id: I9582981b9b1d2494f03e1c2fbd88a4c70d41a89c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1552498
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 43997017b0ed205e1b82c130e201554c0c06545a
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Sat Mar 30 23:24:01 2019 -0400

    Vulkan: fix non-float clear with draw
    
    Instead of using one draw call that clears all attachments, multiple
    draw calls are issued that clear a single attachment each.  This allows
    us to have a manageable number of variations for the ImageClear.frag
    shader, now that non-float format support is introduced.
    
    Bug: angleproject:3187
    Change-Id: Ic0c1067a396250bd80f31d00cad5a272acff8be8
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1545523
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit f9f18ef0acc952a3f7693df24899ba487e0e109a
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Apr 3 10:07:18 2019 -0400

    Vulkan: Allow vertex-only pipelines
    
    This allows issuing draw calls which only manipulate depth/stencil.
    
    Bug: angleproject:3241
    Change-Id: I62ab18a185ea5b234d3559f30c5b2b8ecb317bbb
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1550900
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 13264033c8ddd59d8b69c12f83ff950888b10227
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Apr 3 15:18:16 2019 -0400

    Minor cleanups to run_code_generation.
    
    Prints more info when a particular file is not found.
    
    Bug: angleproject:3333
    Change-Id: I11ceb0d319023cd1fd23fd25297e5367030342a0
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1550899
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 84661549f326842895b178d9abc13656377f9a12
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Apr 3 15:22:02 2019 -0400

    Add presubmit to commit queue.
    
    This should prevent CLs failing presubmit checks from landing.
    
    Bug: angleproject:3288
    Change-Id: I7d4ee56bd2cbe0089248d1737275aaeac8394d96
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1551839
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 0719a88e7f248f5e9d46e54f73c182ed7fb1b5c5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Apr 3 13:15:17 2019 -0400

    Fix OOB access for dynamic attribs with offsets.
    
    We were not properly adding the offset to compute the right bounds.
    
    Bug: chromium:943709
    Change-Id: I93e714b46dd366d5833fffa858ea3ab0322ffa92
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1548441
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>

commit 91524d8c1402a1118a2a285500cb1aee2ecf6c59
Author: Shahbaz Youssefi <syoussefi@chromium.com>
Date:   Tue Apr 2 15:31:30 2019 -0400

    Disable Clear and TextureUpload perf tests on D3D11
    
    The tests crash on Nvidia in the driver.
    
    Bug: 945415
    Change-Id: I0f635eb5d99ecaeeaff055793b1b5fd3a314b055
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1548440
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 24980278a08ac1bef848c9f9ed035a9ebbeac07b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Apr 3 09:03:51 2019 -0400

    D3D11: Skip DepthTexturesWithMipmaps on AMD/D3D11.
    
    Possible driver bug.
    
    Bug: angleproject:3342
    Change-Id: Ia171a7ac0d764859c4440b1fe2986aa931ff75c2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1550799
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 6266dd9f78ea10f4cad6c0d2bbe4f3da386dd3b8
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Apr 3 09:15:09 2019 +0000

    Roll ./third_party/glslang/src e0d59bbe1857..ef807f4bc543 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/e0d59bbe1857..ef807f4bc543
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@ef807f4bc543
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=syoussefi@google.com
    
    Change-Id: I6d65dfbb90b5b8deee9e90c873d5d2ac03a14afe
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1550141
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 5688c85b3c393ff6e549dd3b22b641e710078041
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Wed Apr 3 07:01:35 2019 +0000

    Roll ./third_party/spirv-tools/src 320a7de5c9a5..e2ddb9371edb (3 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/320a7de5c9a5..e2ddb9371edb
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@e2ddb9371edb
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=syoussefi@google.com
    
    Change-Id: Ib84307d822bafaec4d9185e75c830266d72bd6d3
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1550083
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 89899748a858515771bcd6381d76730d2f8cf4ca
Author: jchen10 <jie.a.chen@intel.com>
Date:   Wed Jan 16 08:32:25 2019 +0800

    ParallelCompile: D3D compute
    
    This parallelizes the compiling and linking for compute shaders on
    the D3D backend.
    
    Bug: chromium:849576
    
    Change-Id: Idd6b418cb9c2448209c15eab2756599f8ff7af4c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1415725
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jie A Chen <jie.a.chen@intel.com>

commit 2889dff6991a710c52f8d8fdae567f107e5d2c1d
Author: James Darpinian <jdarpinian@chromium.org>
Date:   Wed Mar 27 16:25:11 2019 -0700

    Mac: Support using an IOSurface as the default framebuffer
    
    Bug: angleproject:2764
    Change-Id: I3fdab330b59ed996f68e3063debca29323a66cf0
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1542599
    Commit-Queue: James Darpinian <jdarpinian@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 892d18058d48fb25b2da636df073d5c16a8a9d42
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Mar 27 14:21:34 2019 -0400

    Vulkan: Have the WindowSurfaceVk own the submit semaphores.
    
    Chaining of submit semaphores is only needed for window surfaces because they
    are required for the first usage of the swap chain image and final present
    of the image.
    
    Move ownership of the submit semaphores from RendererVk to WindowSurfaceVk and
    update all calls to finish and flush to be piped through a ContextVk which
    tracks the currently bound window surface.
    
    BUG=angleproject:2464
    
    Change-Id: I4b3083124d7910a5dee297afc219e3a3f28057f2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1542257
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 1af744b57c879e8ff2c96e4d0b2320cda5434bb8
Author: Jeff Gilbert <jgilbert@mozilla.com>
Date:   Mon Apr 1 16:33:11 2019 -0400

    Windows SDK includes need to be lowercase for MinGW builds.
    
    Bug: angleproject:3336
    Change-Id: If2075b3ed2fe0be95ab2ec9cd0398afef691dee8
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1548433
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit db4ed317596c71ddaa8dc0cd77a6c0d09b77ea02
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Mar 29 00:32:45 2019 -0400

    Vulkan: glClearBuffer* implementation
    
    Refactors FramebufferVk::clear such that specific render targets could
    be cleared, with clear values not necessarily set through glClearColor
    etc.
    
    FramebufferVk::clearWithRenderPassOp is modified so that loadOp and
    clear values are set after the render pass has been registered in the
    graph.  This allows multiple glClearBuffer calls to coalesce into the
    same render pass.
    
    glClearBuffer calls are then implemented simply as calls to the
    refactored clear function with the appropriate parameters.
    
    Bug: angleproject:3187
    Change-Id: I2fdfcbea5bf244f63ec981b91caca47f5ee3cd3a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1545204
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Tim Van Patten <timvp@google.com>

commit 750935f49b11594b76d782d3afef661c3e6bc31b
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Tue Apr 2 11:27:19 2019 -0400

    Ignore flaky dEQP failures on Windows
    
    More flaky failures that were being hidden by test retries. Might take a
    few more patches in order to disable test retries.
    
    Bug: angleproject:3271
    Bug: angleproject:1729
    Change-Id: I97eb02d6e93892a04db8b09992f32c4c20dbd49b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1549314
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

commit 66ae531590aeef40f8d87723373e8e95145b7093
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Apr 1 16:35:53 2019 -0400

    Add a mac_toolchain update DEP. Update use_system_xcode to match Chrome.
    
    BUG=948286
    
    Change-Id: I85f44622efaf4f018d00046e4fc5dc0757f38539
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1545127
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit d3fd67e0b0698f3dcdaa29adf0b9e728302d55fb
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Mar 29 23:22:34 2019 -0400

    Add a test for glClearBuffers of render targets of same FBO
    
    This test is to ensure the upcoming Vulkan implementation can coalesce
    all the calls into a single render pass clear.
    
    Bug: angleproject:2361
    Change-Id: I816907b3512715c1d3217689413b6c8e9842a37a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1544973
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 1d72f658288851d0de123cd5ae493bd3928d80cd
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Mar 29 22:42:45 2019 -0400

    Add a test for glClearColor followed by glClearBuffer
    
    This test is to ensure the upcoming Vulkan implementation uses the right
    colors for each render target.
    
    Bug: angleproject:2361
    Change-Id: Ibc6f8b474ac598a20d8cc9ac1c7fd18667370cbf
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1544972
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 04e9e5596bc0e35762cab3b697f62bb94efc73a6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Apr 1 14:40:21 2019 -0400

    Use revision.h for glslang dirty checks.
    
    This file changes a lot less than git HEAD. And it should guard against
    the same changes. Should reduce the instances of developer confusion
    regarding run_code_generation being out of data.
    
    Also update the presubmit check to print a more helpful message in the
    case where the code does need to be regenerated.
    
    Bug: angleproject:3333
    Change-Id: I190dab5be50fc42512bdfc11c2d200f34f3b2092
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1545123
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 7a6e421e16c6110e0892fe1d4bdf11fe9f43e0e5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Apr 2 10:21:51 2019 -0400

    Move presubmit from ci -> try.
    
    The ci section is for continuous integration. This change should allow
    for the presubmit tester to show up on the list of additional trybots.
    
    Bug: angleproject:3288
    Change-Id: I95ac359434557a76cb4f87a1d38aaec90879e406
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1545527
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 6cb0cff573768d72d06aef02926d0d92ffb02635
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Mar 28 11:01:22 2019 -0400

    Add a test for masked/scissored multi-attachment clear
    
    Done after noticing a bug in the Vulkan backend where masked (and
    possibly scissored) color clears were only clearing the first
    attachment.
    
    Bug: angleproject:2361
    Change-Id: I471d337b1c3a3a5e17748690ae2222a6351773ac
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1544971
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 925cad81695639b5da80b9ed54b2cdfdff4e84cf
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Apr 1 15:32:58 2019 -0400

    Add a presubmit builder.
    
    This runs the run_presubmit canned recipe. It should work the same as
    it would in Chromium or Dawn or most other repos. It should prevent
    rollers and devs from landing several common types of dirty changes.
    
    This CL adds the builder that then we can test manually before adding
    it to the CQ.
    
    Bug: angleproject:3288
    Change-Id: I45e78669d0b6c34cef50ab9cb45c33a1b8bb6aca
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1548293
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 310294adacdde08b26b7e387dfb6a6f19a97cbfc
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Apr 1 11:01:34 2019 -0400

    Add missing copyTexture functions in TextureNULL.
    
    The NULL backend exposes the CHROMIUM_copy_texture extension but would hit
    UNIMPLEMENTEDs when trying to call these functions.
    
    BUG=945596
    
    Change-Id: Ia845e48b21e6004946edb47b6f4f0573df1f70a4
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1545525
    Reviewed-by: James Darpinian <jdarpinian@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 529b98fa7eac7a3b86f346fae0f35586bced5165
Author: Jacek Caban <jacek@codeweavers.com>
Date:   Thu Mar 28 13:13:00 2019 -0700

    Correct case for includes.
    
    This is needed for building on MinGW.
    
    Bug: angleproject:3330
    Change-Id: I4a7e7d6f6e14be7e1ba67d3ceb45b11d00585119
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1544749
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 3b14b78610968fde90574cc1fdc28f0fffe6f11a
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Thu Mar 28 12:12:24 2019 -0400

    Ignore flaky failures from ANGLE's dEQP deps on Win/Linux/Mac.
    
    Flaky failures were being hidden by test retries. Should be ignored so
    we can disable test retries.
    
    Bug: angleproject:3271
    Change-Id: I17708f96e2299b9828f5f979f68187b3cd99ecb3
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1542259
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

commit f1153b03e634db180e33cc5058e8482923b44fa3
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Mar 27 11:22:54 2019 -0400

    Vulkan: Clear DS through render pass even if color is masked
    
    Other than for a Qualcomm driver bug workaround, this makes a few
    fallbacks unnecessary.
    
    Bug: angleproject:2361
    Change-Id: I8bdc8efba69527ca89bfa7b646a9d41e07f4f895
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1541669
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit d02c17f94a506e559874eb152087ad9754e56609
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Mar 28 16:49:39 2019 -0400

    Mark vertex attributes dirty during context switches
    
    gl::State::mDirtyCurrentValues is a second tier of
    gl::State::DIRTY_BIT_CURRENT_VALUES bit.
    Marking mDirtyCurrentValues dirty during context switches
    treats them in the same way as other gl::State::mDirtyBits are treated.
    
    This has regressed in
    https://chromium-review.googlesource.com/c/angle/angle/+/722423
    where individual current values bits were squashed into one.
    
    Bug: chromium:920033
    Change-Id: I778515f11c975f8d88bd2d8c08c49160fd011497
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1545009
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 9cce3cd9e376ff5889bad52fb197774ca6b3bc52
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Mar 27 15:24:12 2019 -0400

    Update texure cache after teleting bound texture.
    
    The texture cache could become out of sync. And we could end up
    dereferencing an invalid pointer.
    
    Bug: chromium:943538
    Change-Id: I6a99a04e80fc551b6177e25b7bee09c6ae226340
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1541718
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 3f7ace324e178a9466f3f1a002e3e5a025c070df
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Mon Apr 1 07:01:34 2019 +0000

    Roll ./third_party/spirv-tools/src fcb845310450..320a7de5c9a5 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/fcb845310450..320a7de5c9a5
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@320a7de5c9a5
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=jonahr@google.com
    
    Change-Id: Ic4d16559f207d3c6f00c228c1a1ebb56fb49367a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1546448
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 3115a0fc17fa8fb5af2490c58946de708dc17a17
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Fri Mar 29 11:55:22 2019 -0400

    Sync run_code_generation_hashes.json after glslang autoroll.
    
    Bug: angleproject:3333
    Change-Id: Ib21d863ada0d9f23a84647265b692cd5485a064d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1545994
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 8b40e9414396ddcb554b0698fe3551492e68f0a9
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Fri Mar 29 11:35:38 2019 +0000

    Roll ./third_party/spirv-tools/src 2ff54e34ed37..fcb845310450 (1 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/2ff54e34ed37..fcb845310450
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@fcb845310450
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=jonahr@google.com
    
    Change-Id: I7aa44ede3a9f7c4e3b68dbcd5c2b3962cd1ce7e8
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1545971
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 6446c8882fa3efe151b1ee451554e68d10802cc7
Author: Jeff Gilbert <jgilbert@mozilla.com>
Date:   Thu Mar 28 17:49:38 2019 -0700

    Combine SizedFloatRGBA[Renderbuffer,TextureAttachment]Support.
    
    Bug: angleproject:3332
    Change-Id: Ia937727062d3296af9691a95d296c89b8e9476ac
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1544779
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 954467546f2e55546aff1d37cba9cf11a8a9f0a2
Author: Jeff Gilbert <jgilbert@mozilla.com>
Date:   Wed Mar 27 13:36:32 2019 -0700

    Add support to CHROMIUM_color_buffer_rgba for creating RGBA32F renderbuffers on ES2.
    
    This is desired for implementing WEBGL_color_buffer_float support on
    WebGL1 on ANGLE's ES2 driver, for Firefox.
    
    Bug: angleproject:3322
    Change-Id: I599f86db62402333d3ef9235956c63e667f1513d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1541722
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Kenneth Russell <kbr@chromium.org>

commit 345cb856214156b485cb0d0b1bb781b9e91c24fa
Author: Tobin Ehlis <tobine@google.com>
Date:   Thu Mar 28 10:04:24 2019 -0600

    Vulkan:Clamp stencil ref value
    
    We were casting stencil ref value instead of clamping it as the spec
    requires. Fixing that which allows a number of new dEQP tests to pass.
    
    Bug: angleproject:3244
    Bug: angleproject:3245
    Bug: angleproject:3247
    Bug: angleproject:3248
    Change-Id: I59242d59982b990e82395f5a1e77b9a54254dc2b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1541751
    Commit-Queue: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 8116d646b3f80cc68ccdcf83eed266df91f2c8d2
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Mar 28 15:25:38 2019 +0000

    Roll ./third_party/spirv-tools/src 2ac348b5c0a5..2ff54e34ed37 (11 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/2ac348b5c0a5..2ff54e34ed37
    
    
    Created with:
      gclient setdep -r ./third_party/spirv-tools/src@2ff54e34ed37
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/spirv-tools-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=jonahr@google.com
    
    Change-Id: Ic241dffc79ae1f24eb61e2c28fc184c9cebceaaa
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1541749
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 5a604a5fb4dfd15c5bab378053b1a0d430cde9b7
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Wed Mar 27 14:22:50 2019 -0600

    Ensure framebuffer is up-to-date before drawing
    
    The dEQP-GLES2.functional.fbo.render.texsubimage.between_render_tex2d*
    test was failing because a TexSubImage call modifying the framebuffer
    wasn't being applied before a subsequent DrawElements call and thus
    getting an incorrect result.
    
    Bug: angleproject:3249
    Test: angle_deqp_gles2_tests --gtest_filter=dEQP.GLES2/functional_fbo_render_texsubimage_between_render_tex2d_rgb --use-angle=vulkan
    Change-Id: I90f791957e6536c5c62fb731d52cd486ab5c05c1
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1542361
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 6b58365e32ec76f45f9455367ce969f3106a2fdd
Author: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Date:   Thu Mar 28 15:25:42 2019 +0000

    Roll ./third_party/glslang/src 5efb004d5960..e0d59bbe1857 (3 commits)
    
    https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/5efb004d5960..e0d59bbe1857
    
    
    Created with:
      gclient setdep -r ./third_party/glslang/src@e0d59bbe1857
    
    The AutoRoll server is located here: https://autoroll.skia.org/r/glslang-angle-autoroll
    
    Documentation for the AutoRoller is here:
    https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
    
    If the roll is causing failures, please contact the current sheriff, who should
    be CC'd on the roll, and stop the roller if necessary.
    
    
    TBR=jonahr@google.com
    
    Change-Id: Ifa2bf394fe4b895046d50c434db473057bf1b90b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1541750
    Reviewed-by: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
    Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>

commit 0c128e15beba4f669e131be7ed7ab2451c091140
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Mar 25 23:50:14 2019 -0400

    Vulkan: Use render pass ops to clear images when possible
    
    On tiling GPUs, render pass loadOp and stencilLoadOp can be used to very
    cheaply clear an image as it is being render to.  This change uses this
    feature to clear render targets when possible.
    
    Bug: angleproject:2361
    Change-Id: Ic4bdc908873f4802760d549f4893f84a47beac0f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1500576
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 9049d3217fb1e6aa7065f268799fa5e742279e31
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Mar 27 14:08:44 2019 -0400

    Vulkan: Pass the current context to egl Sync operations.
    
    The EGL_KHR_fence_sync spec says that if a flush is needed before waiting
    on the sync, it's done on the current context for the current thread.
    
    This helps simplify the multithreading design, we don't need to worry about
    flusing on a context that may no longer exist or is executing on a different
    thread.  It does allow infinite waits because the context with the fence is
    never flushed but the spec allows this.
    
    BUG=angleproject:2464
    
    Change-Id: I8bf2f93c408fee2dae95caa5bb9c76ba67687931
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1542256
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 2e5afde1d68b68ab543e508c311c94f09921c07c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Mar 28 09:39:49 2019 -0400

    Add suppressions for Mac dEQP [Part 3].
    
    Bug: angleproject:3317
    Change-Id: Ie60ad9670d19d0eae9926bcf14f65fc2e84215d8
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1542602
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit e810ad90799ce15118c2b75882f31824f29cd35e
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Mar 26 16:19:17 2019 -0400

    Vulkan: dump summary of commands in digraph
    
    This is possible thanks to SecondaryCommandBuffer.  Makes life easier
    when debugging by not just showing resource type in the nodes, but
    actual stream of commands recorded in each.
    
    Bug: angleproject:3136
    Change-Id: I125a32ec2966a55330e60930ca088d1a3673a8ba
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1538832
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 02a579e98a1c7744082af32b123f389c3a125547
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Mar 27 14:21:20 2019 -0400

    Vulkan: roll Vulkan repos to v1.1.102
    
    Bug: angleproject:3320
    Change-Id: Ia24f9bc2499f36c6aab810db00bb6408920222fd
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1541719
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 56124e684354f23994f98bd972234058be74872a
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Mar 26 15:02:30 2019 -0400

    Vulkan: remove dependency to inheritedQueries
    
    If using vk::priv::SecondaryCommandBuffer.  This would allow ES3 support
    where inheritedQueries is not supported.
    
    Bug: angleproject:3136
    Change-Id: I10508058301ea6da8f3415cfdcc052500a67f810
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1538829
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Tobin Ehlis <tobine@google.com>

commit 705f480f45065ce57c0a4fd87b097942162527fe
Author: jchen10 <jie.a.chen@intel.com>
Date:   Tue Jan 29 15:49:35 2019 +0800

    ParallelCompile: Enable worker on GL backend
    
    Except WGL AMD, WGL Intel, and GLX Nvidia.
    
    BUG=922936
    
    Change-Id: I1bdbddd1485578465bcf6ece4b4b7173ae6f9f05
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1442312
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Commit-Queue: Jie A Chen <jie.a.chen@intel.com>

commit 0516e8a51257081de575fbbff7a7fb185eed535c
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Mar 27 12:21:29 2019 -0400

    Vulkan: Fix subpass declaration for depth/stencil-only FBOs
    
    If an FBO only has a depth/stencil attachment, the attachment index will
    be 0, but that value was incorrectly being used as a flag for no
    depth/stencil attachment.
    
    Bug: angleproject:2361
    Change-Id: I4ee803a392a29f7b261bc0cfabf9f2507dc7b178
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1541670
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 6854940d5366d91ea0af2e43189483db28ed7fa8
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Mar 25 23:30:49 2019 -0400

    Vulkan: Correct RenderTargetVk extents to image mip
    
    RenderTargetVk::getImageExtents() was always returning the base level
    extents of the image it was viewing.  This resulted in incorrect extents
    being provided to various framebuffer- and renderpass-related
    declarations.  The function is renamed to `getExtents()` and returns the
    appropriate mip extents.
    
    Bug: angleproject:2361
    Change-Id: I059a8d19fcb140c9095107d935aa3e5cb1852fc2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1537327
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit e18ff25d261d7e99ccd5ce6b796832c5ba1281f4
Author: Tobin Ehlis <tobine@google.com>
Date:   Thu Mar 21 08:41:08 2019 -0600

    Vulkan:Refactor SecondaryCommandBuffers
    
    A bunch of changes to rework and improve SecondaryCommandBuffers.
    
    Inlined all of the command functions and moved them into the header.
    Created new specialized commands for updating Compute/Graphics
    DescriptorSets and setting a memoryBarrier.
    
    Updated all of the pointer storage to be inferred rather than
    explicitly stored in order to save space. Also removed various params
    that are fixed in ANGLE to save space.
    
    Bug: angleproject:3136
    Change-Id: I994bb70d5e4db6d9e71d38ac62451aaec780a5e1
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1535704
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Tobin Ehlis <tobine@google.com>

commit 5fd08af41ff36200360ad10bc6ad660e3129a31c
Author: James Darpinian <jdarpinian@chromium.org>
Date:   Wed Mar 13 19:35:36 2019 -0700

    Sampler state overrides texture state if set
    
    The new validation added in http://crbug.com/809237 failed to consider
    that sampler object state overrides texture object state if a sampler
    object is bound. State caching makes this complicated to fix.
    
    Fixes WebGL conformance test incompatible-texture-type-for-sampler.html
    https://github.com/KhronosGroup/WebGL/pull/2823
    
    Bug: 940080, 809237
    Change-Id: I26b0fb35c5630c36248edae80f0298a0cb7e14b8
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1522364
    Commit-Queue: James Darpinian <jdarpinian@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit f7f15ac20a354f71600b0c11789d54546a924d4c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Mar 27 12:56:51 2019 -0400

    Fix deleting a buffer not updating VAO validation.
    
    Deleting a buffer that is bound to a VAO should act as if
    the application unbound the buffer. Unbinding the buffer
    should update relevant validation caches. But we were
    missing the logic that updates the validation caches.
    
    This CL adds the necessary cache updates. It does not include a
    regression test. The test was causing an unrelated regression that is
    going to be a bit longer. It should not block this fix.
    
    Bug: chromium:943538
    Change-Id: Ib073cd07a230ca073a5b14bc054e961158a0097d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1536491
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 198de6129a35812c6227f95daf834d854d0e94ff
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Wed Mar 27 14:26:51 2019 -0400

    Remove EGLThreadTest to fix angle_end2end_tests failures on Android.
    
    EGLThreadTest doesn't clean up well and the test framework can't handle
    it well. It caused test failures related to eglMakeCurrent (ELG_BAD_ACCESS)
    on Android that were masked by retries.
    
    Calling eglGetDisplay within a test can cause it to return a cached
    display from the test runner.  The test is unable to know if it should
    terminate this display.
    
    bug: angleproject:3321
    Change-Id: I14a539a00acaed4ee71622e7416a6c7a75596606
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1541717
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 208af3ebda25d0dcd7d7106209d17bd1532ad710
Author: Tim Van Patten <timvp@google.com>
Date:   Tue Mar 19 09:15:55 2019 -0600

    Update TexImage2D Parameter Checking
    
    Update the parameter checking performed within ValidateTexImage2D() to
    pass the following tests:
    
    dEQP-GLES2.functional.negative_api.texture.teximage2d_invalid_format
    dEQP-GLES2.functional.negative_api.texture.teximage2d_invalid_internalformat
    dEQP-GLES2.functional.negative_api.texture.texsubimage2d_invalid_type
    
    Bug: angleproject:3250
    Bug: angleproject:3251
    Test: angle_deqp_gles2_tests --use-angle=vulkan
    Change-Id: I4d9be4fe0a9b377e61e3132db262750e6285464b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1534519
    Commit-Queue: Tim Van Patten <timvp@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 74ba10f2e8a71b9754c08588f96efd8b3849a9ff
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Mar 27 15:50:24 2019 -0400

    Add suppressions for Mac dEQP [Part 2].
    
    Bug: angleproject:3317
    Change-Id: I0c335c6af5d183a8ef7fa4154b6dc897cad0b8ff
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1541721
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>

commit 250341081c3deb8d783d0130d0f46fec422dff21
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Mar 27 13:07:45 2019 -0400

    Add suppressions for Mac dEQP. [Part 1]
    
    Since we can't test these failures on the CQ this CL likely won't hit
    all the necessary suppressions. Will follow up with a second CL.
    
    Bug: angleproject:3317
    Change-Id: I241c139459d7cc7ab3c17d61a9837cdd3ab6c9a7
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1542017
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>

commit c240abe4ef2c07895125a0cb0263f3b3b403019c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Mar 27 11:49:19 2019 -0400

    D3D11: Broaden suppression for atomic counter tests.
    
    These seem to be flaky and failing on all D3D11 devices.
    
    https://ci.chromium.org/p/chromium/builders/ci/Win10%20FYI%20dEQP%20Release%20%28NVIDIA%29/25142
    https://ci.chromium.org/p/chromium/builders/ci/Win10%20FYI%20dEQP%20Release%20%28NVIDIA%29/25098
    https://ci.chromium.org/p/chromium/builders/ci/Win10%20FYI%20dEQP%20Release%20%28NVIDIA%29/25092
    
    Bug: angleproject:1729
    Change-Id: I4ae344ec3d950a6e647649a4ecf3ecafaca2de4f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1541666
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 518c679da10956a4c401214cf3ac304e09eb1a12
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Mon Mar 25 16:25:10 2019 -0400

    Clean up test_expectations to merge with angle style/convention.
    
    Can rename/clean up the library to move from chrome style to angle
    style. Can also start pulling out chrome-specific definitions. More work
    to be done when moving gpu_info to use Angle's SystemInfo.
    
    Bug: angleproject:2677
    Change-Id: I75fd4446aa4be85fba590cd00cd3a213a0b3752e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1538677
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 4864e0cd196089625a7eda4f9a96f02f597af14f
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Mar 26 13:57:55 2019 -0400

    Fix OOM in TextureUpload perf test
    
    The test texture size is reduced from 2k x 2k to 1k x 1k to avoid OOM on
    lower-memory devices.
    
    Bug: 945415
    Change-Id: I66611417114212427f0a2cfc677450f5e705a7ca
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1537331
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 50fb5cc93cff46b0563c4d359c4003705719a2a5
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Mar 25 15:10:34 2019 -0400

    Disable GPU perf tracking on D3D
    
    Causes crashes.
    
    Bug: angleproject:3310
    Bug: 945415
    Change-Id: I59c5fee0afaf74c99ac19168fbfd96de04796add
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1534946
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit a47e2a23ab4c86edcda3f2555ba44573797fe1c2
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Mar 25 12:14:29 2019 -0400

    Add instructions for use with RenderDoc + Android
    
    Bug: angleproject:1944
    Change-Id: Ie10bd447b08fd881961e7fa0849113f40f98ba1b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1538679
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 72cc2eaafdecf1d3d6a385ca34c5667283e16052
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Tue Mar 26 12:41:36 2019 -0400

    Suppress dEQP-GLES31.functional.atomic_counter.* on Win7 NVIDIA D3D11
    
    The intent is actually to suppress on 64-bit,
    but test expectations don't have this capability.
    Since the only Win7 NVIDIA dEQP bot is x64, and that's the only x64 bot,
    this works.
    
    Bug: angleproject:1729, chromium:943312
    Change-Id: Ib985bc9ff62333deaa4a943c3f3093de51159005
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1538314
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit da37e7f6759d9852d116bdab55346513c23324d3
Author: Rafael Cintron <rafael.cintron@microsoft.com>
Date:   Mon Mar 25 11:32:58 2019 -0700

    Add trailing slash to glmark2 data dep
    
    glmark2 is being included as part of angle_perftests, which is built as
    an isolate.
    
    Isolates do not work correctly unless there is a trailing slash for
    folders in the data section.
    
    Bug: angleproject:3311
    Change-Id: I55e5a655ae15683d5cb070589970ba5d9eba4da0
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1538676
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit ee7ffd9ebbeab9b72928c00a13c6ada735bb2129
Author: Enrico Galli <enrico.galli@intel.com>
Date:   Thu Dec 13 14:07:52 2018 -0800

    ES31: Enabling skipped deqp atomic counter tests on D3D11
    
    Enabling deqp tests previously skipped due to lack of atomic counters. Fixing
    bug found in translator found by new tests.
    
    * Switching atomicCounterDecrement from pre to post decrement
    * Added 4 byte alignment check to atomic_uint offset
    * Added workaround for NVIDIA D3D bug
    * Added globallycoherent to atomic counters
    
    Bug: angleproject:1729
    Change-Id: If62ea003826fbe2df0834b905ff3ad7b76328399
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1480867
    Commit-Queue: Enrico Galli <enrico.galli@intel.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit d7e9662a10ead3d79e81dc9c03107c37b5c60945
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sun Mar 24 13:04:43 2019 -0400

    Print SystemInfo after collection in ANGLE tests.
    
    Disabled on Android because of issues with test parsing.
    
    Bug: angleproject:2677
    Change-Id: I75197e423f35bd8b84e27bb9b14d8c91779ad9c8
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1537696
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>

commit 0449a902d2c23b407a08afe4ce4123c22d7eedbd
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Fri Mar 22 16:03:54 2019 -0400

    Move gpu_test_expectations from third_party into ANGLE.
    
    1. Copy the code from src/tests/third_party/gpu_test_expectations to
    src/test/test_expectations, rename .cc files to .cpp.  Put these in a new
    static library and update dEQP to link against it in src/tests/BUILD.gn.
    2. Merge the code in angle_config.h into the rest of the expectations parser,
    this code was added so that the rest of the parser would compile in ANGLE's
    tree with minimal modification.
    
    Still need to follow up with the third step to close the issue.
    
    Bug: angleproject:2677
    Change-Id: Icf09b4eeed83a6d09b1964ad2adcfa85cabb4b63
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1536312
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 4ae2c12f26c36f6e60b02611040278684dccb1af
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Mar 23 18:07:26 2019 -0400

    Use Khronos master lists for dEQP tests.
    
    There are an number of valid tests that are excluded from the Android
    test lists. Likely some older and low spec devices weren't passing
    these tests and for historical reasons they were omitted from the
    Android CTS. ANGLE however needs to pass these tests to be conformant
    and up until now we weren't testing them on our bots.
    
    The EGL tests still use the same Android version of the test list. It
    seems the Khronos version just lists wildcards. ANGLE needs an explicit
    test list.
    
    Bug: angleproject:3242
    Change-Id: Ie0aa2aa94689be0a40e7cc39e05f0042c3f03f5d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1520986
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 9078c6a7199bf08995d781a65fe2c506bc3aeeb1
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Tue Mar 19 11:10:15 2019 -0400

    Update necessary angle_end2end_tests to check the Android device name
    
    Some tests fail only on specific devices, so the tests should be updated
    to reflect that, and allow more tests to run on more devices.
    
    Bug: angleproject:3275
    Change-Id: I8e3183c1769c0bb8ed6d2605afcaf399cb1d9ed0
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1534463
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

commit eae464dd3092c1c09c4dc4d51a0f50ac5d007722
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Mar 22 15:15:04 2019 -0400

    D3D11: Fix reserved space with large dynamic buffers.
    
    We would end up with a large reserved space even though the
    allocation failed. Insead set the reserved space size after
    the allocation succedes.
    
    This was showing up as angle_end2end_tests failures on
    Windows 7 due to display reuse and buffer allocation.
    
    Bug: chromium:944454
    Change-Id: Idb3bd530fe7b9cc2fce9a579787684e632b1a637
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1534684
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a88c1f9c8b3400d71ae5ba13d08e913795ff8bfa
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Mar 23 14:47:11 2019 +0000

    Revert "Force new displays on each Windows 7 end2end test."
    
    This reverts commit 3e8a8d5b8567d08855d500c85bcf7cdcc4653f9a.
    
    Reason for revert: Didn't seem to fix the bot.
    
    Original change's description:
    > Force new displays on each Windows 7 end2end test.
    >
    > This should fix the buffer allocation crash manifesting on Windows 7
    > x64.
    >
    > Bug: angleproject:3261
    > Bug: chromium:944454
    > Change-Id: I8a0713e1d1f18285f128c0cfb98b398c6a336a36
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1534461
    > Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    > Commit-Queue: Jamie Madill <jmadill@chromium.org>
    
    TBR=ynovikov@chromium.org,syoussefi@chromium.org,jmadill@chromium.org
    
    # Not skipping CQ checks because original CL landed > 1 day ago.
    
    Bug: angleproject:3261, chromium:944454
    Change-Id: I835331cbe444cc9415bef77f06462be580b43f49
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1535235
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 2660b5031f1141534e8969a8bb93b3401fa870cd
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Mar 21 12:08:40 2019 -0400

    Vulkan: Restore CommandBuffer to namespace vk
    
    Moved vk::CommandBuffer and vk::SecondaryCommandBuffer to vk::priv:: and
    aliased vk::CommandBuffer to one or the other.  This allows the rest of
    the classes to continue seeing vk::CommandBuffer as they used to do.
    Used a special alias for the primary command buffer that gets submitted
    (vk::PrimaryCommandBuffer).
    
    Bug: angleproject:3136
    Change-Id: I61236fd182230991db7395d05e3da3be5e3f45be
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1534456
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit a8ff88143af676ac493e0df7d1a81997066c1cd0
Author: Tobin Ehlis <tobine@google.com>
Date:   Tue Mar 5 07:06:32 2019 -0700

    Vulkan:Optimize SecondaryCommandBuffers
    
    RELAND of this commit. Had to fix fuzzer build errors.
    
    Optimize performance of SecondaryCommandBuffers and enable them as the
    default build option.
    To disable this set angle_enable_custom_vulkan_cmd_buffers=false in
    your build args.
    
    This CL enhances the PoolAllocator to have a "fast" mode that can
    be enabled at class creation. This mode uses an alignment of 1 byte and
    enables a fastAllocation() call that avoids some bookkeeping overhead.
    The SecondaryCommandBuffer uses this fastAllocation() function.
    Furthermore the fast path of fast allocate, using the current page,
    is inlined for maximum speed.
    Jamie Madill also updated the SecondaryCommandBuffers to pre-allocate
    blocks so that the commands occur linearly in memory. This speeds up
    processing with improved cache coherency and minimizes overhead when
    recording commands.
    Also the core Draw functions and their state updates are all inlined
    as well as the common functions to initialize commands and to copy
    command pointer data.
    
    This change also includes some new, custom commands. One is
    imageBarrier that is a specialized version of pipelineBarrier that only
    performs a single image layout transition.
    There are customized versions of various Draw commands to minimize
    copying of parameters.
    There are also specialized commands to bind[Graphics|Compute]Pipeline
    that have the pipeline type built in to the command.
    More custom commands and command data size optimizations will be made
    in follow-on commits.
    
    Bug: angleproject:3136
    
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1497418
    Commit-Queue: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Change-Id: I621d8f8893308fca240b32390928e8ba0036cf06
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1535385
    Reviewed-by: Tobin Ehlis <tobine@google.com>

commit 896e7811184e90d6d0db8de9457c2e116f2a8e10
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Mar 22 14:56:33 2019 +0000

    Revert "Vulkan:Optimize SecondaryCommandBuffers"
    
    This reverts commit 2219b18c984ed69251f3db3c7b5fd69a2fa68c77.
    
    Reason for revert: Failing to compile on ASAN builders:
    
    https://ci.chromium.org/p/chromium/builders/try/linux-libfuzzer-asan-rel/134782
    
    Currently blocking roll.
    
    Original change's description:
    > Vulkan:Optimize SecondaryCommandBuffers
    >
    > Optimize performance of SecondaryCommandBuffers and enable them as the
    > default build option.
    > To disable this set angle_enable_custom_vulkan_cmd_buffers=false in
    > your build args.
    >
    > This CL enhances the PoolAllocator to have a "fast" mode that can
    > be enabled at class creation. This mode uses an alignment of 1 byte and
    > enables a fastAllocation() call that avoids some bookkeeping overhead.
    > The SecondaryCommandBuffer uses this fastAllocation() function.
    > Furthermore the fast path of fast allocate, using the current page,
    > is inlined for maximum speed.
    > Jamie Madill also updated the SecondaryCommandBuffers to pre-allocate
    > blocks so that the commands occur linearly in memory. This speeds up
    > processing with improved cache coherency and minimizes overhead when
    > recording commands.
    > Also the core Draw functions and their state updates are all inlined
    > as well as the common functions to initialize commands and to copy
    > command pointer data.
    >
    > This change also includes some new, custom commands. One is
    > imageBarrier that is a specialized version of pipelineBarrier that only
    > performs a single image layout transition.
    > There are customized versions of various Draw commands to minimize
    > copying of parameters.
    > There are also specialized commands to bind[Graphics|Compute]Pipeline
    > that have the pipeline type built in to the command.
    > More custom commands and command data size optimizations will be made
    > in follow-on commits.
    >
    > Bug: angleproject:3136
    > Change-Id: I35453cc2656bc8c51f0d84d1adef106900aca9a5
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1497418
    > Commit-Queue: Tobin Ehlis <tobine@google.com>
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    
    TBR=tobine@google.com,syoussefi@chromium.org,jmadill@chromium.org
    
    Change-Id: I1c0bfe864ff343eb8ea6c88556523f8715c981d5
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:3136
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1535998
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 9e586a0f8a1ce38347a487dd6b6c9b1f13b984c7
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Thu Mar 21 14:24:11 2019 -0400

    Prevent vk shader generator from using anything but ANGLE's out.
    
    If ANGLE is inside some other repo but hasn't been built yet, the shader
    generator will continue to look for out dirs inside parent repos. Should
    only look within the ANGLE repo.
    
    Bug: angleproject:3227
    Change-Id: I084414f99eb3db71fe2c7ee4e59206b59f077a5a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1534462
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

commit 2219b18c984ed69251f3db3c7b5fd69a2fa68c77
Author: Tobin Ehlis <tobine@google.com>
Date:   Tue Mar 5 07:06:32 2019 -0700

    Vulkan:Optimize SecondaryCommandBuffers
    
    Optimize performance of SecondaryCommandBuffers and enable them as the
    default build option.
    To disable this set angle_enable_custom_vulkan_cmd_buffers=false in
    your build args.
    
    This CL enhances the PoolAllocator to have a "fast" mode that can
    be enabled at class creation. This mode uses an alignment of 1 byte and
    enables a fastAllocation() call that avoids some bookkeeping overhead.
    The SecondaryCommandBuffer uses this fastAllocation() function.
    Furthermore the fast path of fast allocate, using the current page,
    is inlined for maximum speed.
    Jamie Madill also updated the SecondaryCommandBuffers to pre-allocate
    blocks so that the commands occur linearly in memory. This speeds up
    processing with improved cache coherency and minimizes overhead when
    recording commands.
    Also the core Draw functions and their state updates are all inlined
    as well as the common functions to initialize commands and to copy
    command pointer data.
    
    This change also includes some new, custom commands. One is
    imageBarrier that is a specialized version of pipelineBarrier that only
    performs a single image layout transition.
    There are customized versions of various Draw commands to minimize
    copying of parameters.
    There are also specialized commands to bind[Graphics|Compute]Pipeline
    that have the pipeline type built in to the command.
    More custom commands and command data size optimizations will be made
    in follow-on commits.
    
    Bug: angleproject:3136
    Change-Id: I35453cc2656bc8c51f0d84d1adef106900aca9a5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1497418
    Commit-Queue: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 3e8a8d5b8567d08855d500c85bcf7cdcc4653f9a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Mar 21 14:09:38 2019 -0400

    Force new displays on each Windows 7 end2end test.
    
    This should fix the buffer allocation crash manifesting on Windows 7
    x64.
    
    Bug: angleproject:3261
    Bug: chromium:944454
    Change-Id: I8a0713e1d1f18285f128c0cfb98b398c6a336a36
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1534461
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 4967de7251e63fcb8846928bb6de65e46d0abd8a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Mar 20 10:35:11 2019 -0400

    Work around line loop streaming bug.
    
    This forces a hard limit on the buffer size we allocate from D3D11. It
    can work around a D3D11 driver bug on NVIDIA where we would get an
    invalid map pointer. This seemed to happen when the buffer sizes were
    close to MAX_UINT.
    
    Bug: chromium:943087
    Change-Id: I64aa9c55cbb82015101262c19c72741c140964a5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1531374
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit f2bf49e20849a2b95e0e962a3779e3258307e857
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Wed Mar 20 16:51:38 2019 -0400

    Fix locale being reset to default after ShCompileTest.DecimalSepLocale
    
    This test changes the global locale, but wasn't changing the locale back
    to the original locale, which was messing up tests that followed.
    
    Bug: 943140
    Change-Id: I0abacbd4a724538c9dbe5cb61ef1854ca79a76e4
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1531539
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 134425c770486ff802d4516d98344ab766a19c13
Author: Tobin Ehlis <tobine@google.com>
Date:   Fri Mar 15 17:02:17 2019 -0600

    Vulkan:Integrate SecondaryCommandBuffers
    
    Integrate the custom SecondaryCommandBuffer type into the CommandGraph
    nodes by adding new ANGLE_USE_CUSTOM_VULKAN_CMD_BUFFERS define that can
    be set in the BUILD gn args with angle_enable_custom_vulkan_cmd_buffers
    set to "true."
    Initially the custom cmd buffers are disabled by default.
    
    This adds some support functions to SecondaryCommandBuffer to make the
    integration easier by matching the wrapped cmd buffer interface:
    initialize(), end(), valid().
    
    Bug: angleproject:3136
    Change-Id: Ib910554583192550757bb8ce89914e3ea8737988
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1526556
    Commit-Queue: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 3a0e5bebc040f894ea92df43430692c9d612177b
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Wed Mar 20 17:39:51 2019 -0400

    run_code_generation.py should fail more gracefully on find out dir.
    
    The script checks a series of conditions, but only fails gracefully if
    the first condition fails. If other conditions fails, it will not retry
    or output an error message.
    
    Bug: angleproject:3227
    
    Change-Id: Ibb47c2bb1eac90f61f01d87a5051af182816bcad
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1533063
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 232bfeae6b292ac4286348a430c4cef78edcf7c0
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Mar 18 23:39:54 2019 -0400

    Add perf test for texture upload gpu time
    
    This perf test measures the GPU time spent uploading texture data.
    
    Bug: angleproject:2361
    Change-Id: I62fcf0e893fdcc9826a083e23320051a69559fab
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1529922
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit cf8735dcdec95ee016bb4b41a4fe914503f39d40
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Mar 18 16:48:45 2019 -0400

    Vulkan: Add support for ETC1
    
    The ETC2 format is backwards compatible with ETC1.  ETC1 RGB8 is thus
    supported by implicitly using the ETC2 RGB8 Vulkan format.
    
    Bug: angleproject:2670
    Change-Id: I59a112da5ed3a0b90f90a8b4c350c94d43b31120
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1520987
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Tim Van Patten <timvp@google.com>

commit 7d53c60b1a8de63200f17d92b984f709b9b9b20a
Author: jchen10 <jie.a.chen@intel.com>
Date:   Fri Feb 15 21:06:42 2019 +0800

    ParallelCompile: use the native extensions
    
    This enhances to use the native parallel compile extensions if
    available.
    
    Bug: 873724
    
    Change-Id: I0aaed314accd75e1bfa596b322225b56d729d3a6
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1475234
    Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 0e2c39f266c9d904743ac8be8369427100a9d153
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Wed Mar 20 15:17:28 2019 +0800

    Fix that uniform can't be used as the index of buffer variable
    
    ssbo.a[uniformBlock.index] should be a valid usage. So in this change,
    we forward EOpIndexDirectInterfaceBlock to OutputHLSL to process when
    the left node is not a SSBO.
    
    Bug: angleproject:3280
    Change-Id: I2696d5b1cf420db133a8ba0728116261dd9e9f1e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1531980
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>

commit f455f7565a7ad654b97aef553cc67e418fbd0e3c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Mar 20 20:49:44 2019 -0400

    Reuse angle_end2end_test windows and displays.
    
    This both speeds up test execution and cuts down on the number of new
    windows and displays created for a test config. This feature is only
    currently enabled for Windows NVIDIA and Intel. On every other config
    there were blocking issues that would need investigation. Several tests
    were manually flagged as needed new displays on each iteration to
    prevent test flakiness.
    
    This feature might fix the issues with Intel test flakiness that have
    been prominent on the ANGLE CQ.
    
    WGL configurations have also been removed from ANGLE tests. So this
    removes more of the code from ANGLETest.cpp.
    
    Bug: angleproject:3261
    Change-Id: Ic2864d4806ad38e0eeaa3c0afcd54ae1c548090f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1520995
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 45938b61259d68a7aa01c6ccd7bfa867c0fc5db5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Mar 20 17:07:47 2019 -0400

    Fix incorrect glslang git hash.
    
    Bug: angleproject:3227
    Change-Id: I3bbdb6956cf97298eff9bd2a766d048f1de4a70f
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1531538
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 12a1fe4a5b7a3d4229b971ae9a5ede4c3c08237c
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Mar 19 10:48:37 2019 -0400

    Add perf test for fbo clear gpu time
    
    This perf test measures the GPU time spent clearing framebuffers.
    
    Bug: angleproject:2361
    Change-Id: I5dc2e12c08543330f7e2565596b73e9c2f4e53ef
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1529864
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 0f566fc77c3d47adc39822f74cda4523c3a954b9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Mar 20 11:36:29 2019 -0400

    Introduce ConfigParameters test helper struct.
    
    This allows us to more easily compare sets of parameters used in our
    tests. The config parameters are stuff like the red / gree / blue bits
    used in an EGL config. Or particular sets of extensions or other
    EGL options.
    
    This will more easily allow us to determine when we need to use a new
    EGL display instead of reusing a prior.
    
    Bug: angleproject:3261
    Change-Id: Ia1f0ede988e0b4084fbb4d55097e94fd89ee4899
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1531535
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit a532570a09b8f65ccc9652583c62d8a46c5445f2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Mar 20 10:18:36 2019 -0400

    Vulkan: Cleanups to shader generation script.
    
    Fixes the suprious newlines messages. Also prefer a Release directory
    when writing shaders for performance. Also adds glslang's git HEAD to
    the list of generated hashes. This should ensure we regenerate all
    shaders when there's a roll of glslang.
    
    Glslang was rolled prior to this CL. Also update the SPRI-V libs.
    
    Bug: angleproject:3227
    Change-Id: I1fd212a08000c08ef41b60c4201edd3ac771f91d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1516512
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 198658a39f25fd94553a4b057250da4a0df32eb1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Mar 19 22:09:14 2019 -0400

    Vulkan: Force a flush in ContextVk::onDestroy.
    
    Otherwise we could potentially be destroying resources that are
    currently in use.
    
    Was caught by changing some of the test tear down ordering. Also might
    affect some of the dEQP EGL multithread tests.
    
    Requires fixing the serial tracking of the "null" buffer. Otherwise we
    could be destroying the null buffer in the incorrect order.
    
    Bug: angleproject:3261
    Bug: angleproject:3059
    Change-Id: I57d1059ce9b1da19ced8ac753fab80c625901066
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1531291
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a683628b6ae74ae1cbeac658cbe8f7a11474f742
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Mar 20 11:23:12 2019 -0400

    Use common SystemInfo in tests.
    
    We were using a static SystemInfo in two places. Consolidate the
    SystemInfo collection to a single location. Also renames Nvidia to
    NVIDIA to be consistent with the company naming. And adds a few helpers
    to SystemInfo for GPU detection.
    
    Will lead to test changes to reduce flakiness on Intel Windows.
    
    Bug: angleproject:3261
    Change-Id: I4e0addf19d6fe26b4d31a1289efce72092a0a1dd
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1531533
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit a11db2ac7c5e9ea594a4d2a39aae130d533fe95b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Mar 19 20:20:26 2019 -0400

    Fix D3D9 context state sync.
    
    Calling eglMakeCurrent between different D3D9 contexts could lead to
    state sync bugs. This fixes the problem by ensuring all internal
    state is dirtied between makeCurrent calls.
    
    This bug turned up when refactoring the tests to run multiple Contexts
    with the same EGLDisplay.
    
    Bug: angleproject:3261
    Change-Id: Ic91e1af8b2615e7e7e0d0faabeb533d075ea2e91
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1531534
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 6ce1be5a5a53eb0213075dd7591a7dd4a3708614
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Tue Mar 19 16:06:44 2019 -0400

    Vulkan: move platform defines to Vulkan Headers build file.
    
    From angle_vulkan build target,
    so that everyone including Vulkan Headers
    would get them for the right platform.
    
    Also remove obsolete defines.
    
    Bug: angleproject:3279
    Change-Id: I4bbbeb72acfbf0dd22a1d6a13bd9df7ddaec84dd
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1530029
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit c2074b14014e0e14265b2df7e3f030a7f1625bd9
Author: Michael Spang <spang@chromium.org>
Date:   Tue Mar 19 15:00:05 2019 -0400

    Fuchsia: Remove use of deprecated API Presenter::Present2
    
    Bug: chromium:943604
    Test: angle_end2end_tests
    
    Change-Id: Id4bd293bea0587687d1656998bc6d986fd9fb8e9
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1530027
    Commit-Queue: Michael Spang <spang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit df35e382de783312b0324633491acc77c0c6310b
Author: Michael Spang <spang@chromium.org>
Date:   Tue Mar 19 13:24:51 2019 -0400

    Fuchsia: Remove use of deprecated header <lib/fdio/util.h>
    
    Bug: chromium:941770
    Test: angle_unittests
    
    Change-Id: I7dbee848b251daaaf1b4f85c5e7e76bb1fa1fbbf
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1530026
    Commit-Queue: Michael Spang <spang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 4bcba62aba7b4e57283a78054e5647dd6840b74a
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Mon Mar 18 14:31:12 2019 -0400

    Add Android device name, version, manufacturer to gpu_info_util
    
    The model name, model version, and model manufacturer are easy to expose for
    Android via <sys/system_properties.h>. This should be exposed and added to the
    angle test framework for easy management of test expectations on different
    devices.
    
    Bug: angleproject:3274
    Change-Id: I8ee6b8fa66ff7f4d6ee4688b335f2e6ef03baed6
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1529207
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 9b050f846a06463e83160ad192c809692e395dbf
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Fri Mar 1 13:31:14 2019 +0800

    Fix that 0 is a valid memory barrier
    
    Bug: angleproject:2280
    
    Change-Id: Iad82d5838a7efdb6f6287aafb9ab980e9e86468d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1496017
    Reviewed-by: Jamie Madill (use @chromium please) <jmadill@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>

commit eb986426cd6db03e9c45dc882b203dec5b216249
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Mar 18 15:02:18 2019 -0400

    Prefix glmark2 perf results with glmark2_
    
    Bug: angleproject:3125
    Change-Id: Ifa45d489cb082355a23f33f05f805e5f6162ac0c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1529232
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 77c11381354ff07e09ecb55be45724c0d3b8054f
Author: Andrew Grieve <agrieve@chromium.org>
Date:   Mon Mar 18 14:43:18 2019 -0400

    Add COMPONENT to OWNERS
    
    Useful for binary size attribution (and bug filing)
    
    Change-Id: Ie77a331deff7094f8a386082141fbc49d902dd2a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1528926
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 507e8d30166fbfde564e3bad4aa0e0854b5d3d7c
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Mar 15 16:49:48 2019 -0400

    Add missing entries in texture load functions map
    
    GetLoadFunctionsMap() is expected to cover all possible combinations of
    texture internalformat and upload data format.  Several of these
    combinations were missing, especially w.r.t to compressed types.  This
    change adds the missing combinations that are hit on any of the
    configurations being tested.  An assert is added to catch missing
    conversion functions in the future.
    
    Bug: angleproject:2670
    Change-Id: I793ac2c57f65eeb1cc8da8f1b223f6a9a44c7708
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1524462
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit eaf56133a1b33a23fd879ecb8e80608b5e676db1
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Wed Mar 13 12:56:49 2019 -0400

    gl_VertexID is incorrect if offset argument to glDrawArrays is non-zero
    
    On D3D the vertex ID is always indexed from 0, unlike GL. The D3D
    backend had assumed the wrong behavior. This forwards the true offset to
    D3D by using the ConstantsBuffer.
    
    Bug: angleproject:3090
    Change-Id: Ia19e3490503c97541af14979b75af0c94c67ab6b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1520988
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit e3dc0dfaf4bfecddf62d141888f93f821bb72c1b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Mar 18 10:12:58 2019 -0400

    Add a helper script for triggering tests on swarming.
    
    Usage: trigger.py <GN path> <test> <os_dim> <gpu_dim> <-s shards>
    
    This script can circumvent the trybots when attempting a job on a
    specific configuration. It must be used within a Chromium checkout
    currently. In the future we can likely use it in standalone.
    
    Optional arguments can specify the number of swarming shards, the pool,
    and extra command line test parameters like --gtest_filter.
    
    Bug: angleproject:3272
    Change-Id: Ia79f4422786c463378fc7e0f7f5ae4d07bd097a0
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1524700
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit cda4383919b94278f8df5b21954b58b6520296ae
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Mar 14 16:42:42 2019 -0400

    Add instructions on how to run ANGLE under RenderDoc
    
    Bug: angleproject:1944
    Change-Id: I6c47487f4dd43b3d3caecbc9256654865518d775
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1524467
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 38e282570676f3e434482f8a02ea539b286fd1fa
Author: James Darpinian <jdarpinian@chromium.org>
Date:   Wed Mar 13 16:11:15 2019 -0700

    Fix ASSERT macro not printing message
    
    ANGLE's ASSERT macro was often not printing the error message before
    crashing. The printing happens in the destructor of a temporary object,
    but the temporary object is not guaranteed to be destroyed before ASSERT
    calls __builtin_trap(). This change fixes it by introducing a new FATAL
    log severity that moves the __builtin_trap() call into the destructor
    after the message is printed.
    
    Bug: 780507, angleproject:2215
    Change-Id: Ica91e00d67cc95d7b59c3d59e6925ac3a93c19c5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1521839
    Commit-Queue: James Darpinian <jdarpinian@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit d25be8a1ab392e1c973d4ca8b1a0903ee38b668d
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Mar 14 22:17:37 2019 -0400

    Use valid glmark2 test result names
    
    Additionally, only one result is output from the tests.  If running
    every scene, only the final result is output.
    
    Bug: angleproject:3125
    Change-Id: I9592a6e07757663bfdd6653f541fece95c4b295b
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1524695
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 3ce7f96074063c89d184d1e4a0a8ef502a6a5d8a
Author: James Darpinian <jdarpinian@chromium.org>
Date:   Thu Mar 14 16:09:05 2019 -0700

    Disable sampler/texture type validation
    
    The sampler/texture type validation validation added in
    https://chromium-review.googlesource.com/c/1377611 did not correctly
    consider sampler objects. This is a minimal change to disable the
    validation temporarily, which I intend to merge back to 74. A fix
    for the validation is in progress at:
    https://chromium-review.googlesource.com/c/angle/angle/+/1522364
    
    Bug: 940080, 809237
    Change-Id: If8a1ae46af7daf23cd92ccb8a985329dfd404dc9
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1524475
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 5ae26eaabb555fded590afd088e9b9e3aad984fb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Mar 15 16:12:21 2019 -0400

    Fix several small issues in angle_end2end_tests.
    
    Many TearDown calls were missing. Also a few tests had other small
    issues. Discovered while changing the test harness.
    
    Bug: angleproject:3261
    Change-Id: I8915088a6ca82e6cc4d6c922d03dc447e6051518
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1524699
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit f06076396afa8585e19e140f4a8b02720ede77e5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Mar 15 16:00:21 2019 -0400

    DisplayWGL: Allow MakeCurrent(null).
    
    Previously we would ignore unsetting calls to MakeCurrent. But this
    would prevent ANGLE from unsetting driver state on the current thread.
    
    Fix this by checking for 0/null explicitly in DisplayWGL::makeCurrent.
    
    This turned up when running test configs without recreating the
    Display.
    
    Bug: angleproject:3261
    Change-Id: I7f747dc7649a06f019f1b89655cb71dd3b151aa0
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1520992
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 96a387f8ff93e70ff57c176ee67a8d41ff987159
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Mar 15 11:38:18 2019 -0400

    Disable loop unrolling when encounting errors about invalid array indices.
    
    Zero-sized loops or loops that might never be executed may be unrolled into
    constant array accesses that are invalid, generating HLSL compiler errors.
    
    This issue showed up with the passthrough command decoder because it only does
    a single compilation step of WebGL shader -> HLSL instead of the validating
    decoder which does WebGL shader -> ESSL -> HLSL and eliminates these zero-
    sized loops in the process.
    
    BUG=angleproject:3269
    
    Change-Id: Iaa14149c542f23a6da58c90cf6de51f4df7e27d6
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1524696
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit e41882aaf55d0b240020dbe094cdb5475011b0f3
Author: Ian Elliott <ianelliott@google.com>
Date:   Wed Mar 13 13:04:54 2019 -0600

    dEQP-EGL.functional.choose_config.* now passing
    
    Bug: angleproject:3172
    Change-Id: I4ce55a71db204acdd73a4f9db0c5480b31e0b3ad
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1521317
    Commit-Queue: Ian Elliott <ianelliott@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit de52ca373d98db8b1de1a5a049cf960b78610052
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Mar 13 14:23:30 2019 -0400

    Vulkan: Fix GraphViz dump in presence of queries and fences
    
    A previous refactor made queries no longer a graph resource.  This in
    turn meant that the query nodes no longer had an ID, which tripped up
    the ID assignment when dumping the graph.
    
    This affected fences as well.
    
    Bug: angleproject:2853
    Change-Id: I359f8145dca068edaa5fcd5bcb0a231ee050ab76
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1520990
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 2fb6563bf50375dffcc92aab6c7865da4c555df7
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Mar 13 15:29:13 2019 -0400

    Vulkan: Fix CommandGraph barrier nodes w.r.t to first node
    
    The barrier dependencies were set in two loops:
    
    - From Previous to (Previous, Current]
    - From (Previous, Current) to Current
    
    The "Previous to Current" dependency was set in the first loop.  This
    loop is conditioned to a previous barrier existing at all.
    
    The bug is that for the first barrier node, the first loop does not
    execute and the second loop does not create the dependency from the
    first node (Previous index being 0 when no previous barrier exists) to
    the barrier node.
    
    Bug: angleproject:2361
    Change-Id: I61a78dbbeba6cf97788bf8ea32908c7865ad48c2
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1520994
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d84728e0c1d69e1c59ca34c03a507a1ef4e4fcb9
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Feb 1 16:28:55 2019 -0500

    Vulkan: Fix copySubImage to non-cube-complete images.
    
    When copying to a non-cube-complete level of a texture we would fail
    because we would try to get the base level's current format. Instead
    we can get the format of the level that is being copied to.
    
    Bug: angleproject:2911
    Change-Id: Ib6a5c5cef67ad9c880c1b76ea71ed9317eb20c97
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1483951
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 979f3bbe2c50cd0c5de21f90c2f020a9f9572fd1
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Mar 14 10:23:29 2019 -0400

    Mark RGB HALF_FLOAT_OES as renderable with EXT_color_buffer_half_float and WebGL
    
    The EXT_color_buffer_half_float spec states:
    
        If OES_texture_half_float is supported, textures created with:
    
            <internalformat> = RGBA
            <format> = RGBA
            <type> = HALF_FLOAT_OES
    
        are renderable.
    
    But WebGL content relies on being able to render to both RGB and RGBA unsized
    HALF_FLOAT_OES textures.
    
    Framebuffers may still return unsupported for this format.
    
    BUG=941671
    
    Change-Id: I42d909d26508b9cdf7cda6d1dc025b0e2ed87732
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1523530
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit a9e06db8301143f5d3f742bae9047aba7a7c8fda
Author: Raul Tambre <raul@tambre.ee>
Date:   Wed Mar 13 22:09:25 2019 +0200

    Support Python 3 in //scripts/file_exists.py
    
    The changes are to allow build files to be generated using Python 3 on Windows.
    
    The scripts still work with Python 2.
    There are no intended behaviour changes.
    
    Bug: 941669
    Change-Id: Ia9d8d61373ee37b4470fd5479e9db01e17994ffa
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1520649
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 094c40dce6015add9e9524364a4e9b0523b7c31e
Author: Tom Tan <Tom.Tan@microsoft.com>
Date:   Wed Mar 13 18:08:08 2019 -0700

    Don't build glmark2_wgl on Windows ARM64 due to missing opengl32.lib
    
    Opengl32.lib/opengl32.dll are not available on Windows ARM64. Disable building
    glmard2_wgl which depends them.
    
    Bug: chromium:941621
    
    Change-Id: Iddae231764c6135ef1a74c294da1393f0fe51eeb
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1522353
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 570410071d67fd7b8ec1e56bb3e9ca80c78d1de1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Mar 14 13:33:24 2019 +0000

    Revert "Fix several WGL test failures."
    
    This reverts commit 13a8c4d84e16137c47cb2f958b24c08797527cfc.
    
    Reason for revert: Seems to have led to a flakier situation:
    
    https://ci.chromium.org/p/chromium/builders/ci/Win10%20FYI%20Debug%20%28NVIDIA%29/3006
    https://ci.chromium.org/p/chromium/builders/try/win-angle-rel/1231
    
    Original change's description:
    > Fix several WGL test failures.
    >
    > SimpleOperationTest.ClearAndSwap/ES2_WGL failed when run in isolation,
    > since getGLWindow()->hasError() would report a previous error,
    > instead of result of swapBuffers().
    > When running after an OPENGL test, swapBuffers() would clear
    > the previous error, but that doesn't happen in isolation.
    >
    > The previous error is from loading WGL functions, some of which are
    > expected not to be present. Clear the error in GetProcAddressWithFallback,
    > but verify that there is no error entering it.
    >
    > This uncovers more errors in angle_perftests:
    > DrawCallPerfBenchmark.Run/wgl
    > DrawCallPerfBenchmark.Run/wgl_tex_change
    > DrawCallPerfBenchmark.Run/wgl_vbo_change
    > DrawElementsPerfBenchmark.Run/wgl_ushort
    > They come from redundant calls when destroying a window. Fix this as well.
    >
    > Several more errors where uncovered by debug prints, fix those, too.
    >
    > Bug: angleproject:3153
    > Change-Id: I559c098be9dcdfd3add83f045f745d190250b986
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1515602
    > Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    
    TBR=ynovikov@chromium.org,geofflang@chromium.org,syoussefi@chromium.org,jmadill@chromium.org
    
    Change-Id: I095fadc0dd3a2c998c1dc86f3760184ae6fd7309
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:3153
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1523527
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 8cc0a47c0362dd8e76c03b9c6b913e1ba105775a
Author: Ian Elliott <ianelliott@google.com>
Date:   Wed Mar 13 12:10:43 2019 -0600

    Change Config::Config to set correct default for EGL_COLOR_BUFFER_TYPE
    
    The spec says that EGL_COLOR_BUFFER_TYPE "must be either
    EGL_RGB_BUFFER for an RGB color buffer, or EGL_LUMINANCE_BUFFER for a
    luminance color buffer."  However, Config::Config() was setting it to
    EGL_NONE, which causes EGLChooseConfigTest to fail on the Ozone
    platform (which doesn't override the value).  This sets the proper
    value for all platforms (which can still override this default).
    
    Bug: angleproject:3260
    Change-Id: Iaf59bd76b11c8d80359c760c10baad3b79c79f9d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1521310
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit 37b996425a0e72b07a79fd8e86c288ba8021aa4a
Author: shrekshao <shrekshao@google.com>
Date:   Mon Mar 11 18:43:05 2019 -0700

    fix d3d ext float blend
    
    Bug: chromium:930993, chromium:938602
    Change-Id: Ie2e07369eca663b1507c7811a1a06ce5efc892ee
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1516007
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 494afea985e678cbefb3de80a816f3f54762bea6
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Wed Mar 13 13:56:29 2019 -0400

    Fix ShCompileTest.DecimalSepLocale failure.
    
    The test had an additional check to make sure we have coverage on every
    platform, but this is unnecessary and requires too much overhead to
    maintain a list of good locales for all platforms.
    
    Bug: 941249
    
    Change-Id: I3e6da2ad61453fc385edf5f18101c8cb13ae0503
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1520989
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 13a8c4d84e16137c47cb2f958b24c08797527cfc
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Mon Mar 11 15:54:47 2019 -0400

    Fix several WGL test failures.
    
    SimpleOperationTest.ClearAndSwap/ES2_WGL failed when run in isolation,
    since getGLWindow()->hasError() would report a previous error,
    instead of result of swapBuffers().
    When running after an OPENGL test, swapBuffers() would clear
    the previous error, but that doesn't happen in isolation.
    
    The previous error is from loading WGL functions, some of which are
    expected not to be present. Clear the error in GetProcAddressWithFallback,
    but verify that there is no error entering it.
    
    This uncovers more errors in angle_perftests:
    DrawCallPerfBenchmark.Run/wgl
    DrawCallPerfBenchmark.Run/wgl_tex_change
    DrawCallPerfBenchmark.Run/wgl_vbo_change
    DrawElementsPerfBenchmark.Run/wgl_ushort
    They come from redundant calls when destroying a window. Fix this as well.
    
    Several more errors where uncovered by debug prints, fix those, too.
    
    Bug: angleproject:3153
    Change-Id: I559c098be9dcdfd3add83f045f745d190250b986
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1515602
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 4e87659e289c37602e3c94264e7302fe7a8dfaa7
Author: Ian Elliott <ianelliott@google.com>
Date:   Tue Mar 12 16:23:55 2019 -0600

    Fix eglChooseConfig for attributes that have exact default values.
    
    The implementation of eglChooseConfig does not match the
    specification for attributes not provided by the calling function.  It
    is supposed to use the default value and match semantics, per the
    specification.  This is fine for many attributes (where the value in
    the EGLConfig doesn't matter).  Currently, this affects the following
    attributes:
    
    - EGL_COLOR_BUFFER_TYPE
    - EGL_LEVEL
    - EGL_RENDERABLE_TYPE
    - EGL_SURFACE_TYPE
    - EGL_TRANSPARENT_TYPE
    - EGL_OPTIMAL_SURFACE_ORIENTATION_ANGLE
    - EGL_COLOR_COMPONENT_TYPE_EXT
    
    This change causes 55 of 65 of the dEQP-EGL.functional.choose_config.* tests
    to start passing.
    
    Bug: angleproject:3172
    Change-Id: I287af5ba7d296694d9a78ded5d1e3bc4e7043d03
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1506696
    Commit-Queue: Ian Elliott <ianelliott@google.com>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 3c1f5a6bd487ac8912fa7266b114515ebf6dd5c8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Mar 12 11:18:15 2019 -0400

    Include script outputs in run_code_generation.py.
    
    This will prevent incorrect modifications to outputs from being checked
    into the repository. Requires a few changes to some generators.
    
    Bug: angleproject:3227
    Change-Id: I5285cb78a9d85df155a5272edf8b6b8cd27fc04c
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1515212
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit f576a708a30436d1a96ecf554da0f64522faba85
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Feb 4 16:52:12 2019 -0500

    Add glmark2 to angle_perftests
    
    Bug: angleproject:3125
    Change-Id: I9242743c6b5c6e18d0a23ff853ef6b9b370865a6
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1452956
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>

commit b6eb34122e07a73c9219dee810df695c14f35dd9
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Mar 6 15:10:56 2019 -0500

    Allow testing::Combine in ANGLE_INSTANTIATE_TEST
    
    In most tests, ANGLE_INSTANTIATE_TEST is sufficient.  This macro takes a
    a variable number of angle::PlatformParameters and instantiates that
    many tests.  angle::PlatformParameters already aggregates multiple
    configurations.
    
    In a number of cases, however, it would be useful to have even more
    configurations in conjunction with angle::PlatformParameters.
    gl_tests/MultiviewDrawTest.cpp solves this by creating a custom class
    that combines angle::PlatformParameters with test-specific
    configurations.  gl_tests/CopyTextureTest.cpp included numerous tests
    with hardcoded values for its configurations.
    
    This change introduces ANGLE_INSTANTIATE_TEST_COMBINE_N.  These macros
    take N testing::* parameter generators followed by the list of
    angle::PlatformParameters as per ANGLE_INSTANTIATE_TEST.  They then
    testing::Combine these generators, placing the angle::PlatformParameters
    list first.
    
    Tests that use this functionality would inherit from
    ANGLETestWithParams<std::tuple<angle::PlatformParameters, ...>> instead
    of ANGLETest, and instantiate their tests as such:
    
    ANGLE_INSTANTIATE_TEST_COMBINE_3(TestName,
                                     PrettyPrintFunction,
                                     testing::ValuesIn(listOfParameters),
                                     testing::Values(some, other, parameters),
                                     testing::Bool(),
                                     ES2_D3D9(),
                                     ES2_D3D11(),
                                     ES2_OPENGL(),
                                     ES2_OPENGLES(),
                                     ES2_VULKAN());
    
    The name of the test, as used by --gtest_filter, will be suffixed with
    the output of the PrettyPrintFunction.  Assuming the tuple type given to
    ANGLETestWithParams is Params, this function takes a
    ::testing::TestParamInfo<Params> input to pretty-print the name of the
    test variation.  It is recommended to output the platform first for
    consistency with other tests.
    
    gl_tests/CopyTextureTest.cpp is modified to use this macro.
    
    Bug: angleproject:3125
    Change-Id: I0311b84659578bf3c7b5e9673b41cc3a3adfc50d
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1506236
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit c9bc33cff4832700e2da8e35496a18c9652c9607
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Mon Mar 4 17:31:05 2019 +0800

    Disable the initialization of shared memory
    
    This patch disables the initialization of shared memory for d3d backend.
    The initialization of shared memory is very slow and may produce
    incorrect behavior for some compute shaders on d3d backend.
    
    Bug: angleproject:3226
    Change-Id: I41f0f061a5611c52af7667f23938fa48819906b5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1498385
    Reviewed-by: Jamie Madill (use @chromium please) <jmadill@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>

commit 0f34f3f2f78533343b0dfdb410db7c7f2eafae76
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Mar 11 10:18:57 2019 -0400

    Use auto_script in run_code_generation.
    
    Cleans up the generator scripts to prepare for listing outputs in the
    generated hashes file. Also reorganizes the scripts somewhat to make
    them a bit more maintainable.
    
    Bug: angleproject:3227
    Change-Id: If40946c2004941d3f6cd51d5521c7db8cc0b52df
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1512052
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit f563fdc91e83588372badaae0e882420074f0f77
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Thu Jan 31 13:53:59 2019 -0500

    Reland "Fix unit test for setting locale creating malformed HLSL shader code
    Fix malformed HLSL shader code in other locales than classic"
    
    This is a reland of 5f662c0042703344eb0eef6d1c123e902e3aefbf
    
    Original change's description:
    > Fix unit test for setting locale creating malformed HLSL shader code
    > Fix malformed HLSL shader code in other locales than classic
    >
    > Bug: angleproject:1433
    > Change-Id: I30bad0bd0cfda465ec7200e48e12800d7d8efd26
    > Reviewed-on: https://chromium-review.googlesource.com/c/1447862
    > Reviewed-by: Geoff Lang <geofflang@chromium.org>
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    > Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    
    Bug: angleproject:1433
    Change-Id: I94caf7b4c7179119e5a5567c3014d7232df45a13
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1516192
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

commit 49c9dfe3b832a5dafefff299552ea68b83c9cd8a
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Sat Dec 29 16:48:20 2018 +0800

    Fix the SSBO sync bug in two dispatch calls
    
    We should make sure that the raw buffer is the latest buffer before each
    dispatch call since the dispatch itself can update the raw buffer content.
    
    Bug: angleproject:3037
    Change-Id: I75dddfd3e57b3c9cbcc58c02ed057c66cc8e1785
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1392379
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>

commit b6a2f6bcf65759b0ae37aacce762cc7fcf84e570
Author: Rafael Cintron <rafael.cintron@microsoft.com>
Date:   Wed Mar 6 17:27:47 2019 -0800

    Avoid unnecessary loading of D3D9.dll
    
    D3D9.dll is being loaded by ANGLE when using D3D11. This change
    removes the D3D9 dependency.
    
    - Delayload D3D9.dll using ldflags in BUILD.gn
    
    - Replace Renderer11 usage of DebugAnnotator9 with DebugAnnotator11.
    Using debug annotations with Visual Studio PIX tools now requires Windows 10.
    
    - Refactor DebugAnnotator11 to QI ID3DUserDefinedAnnotation from the
    renderer's ID3D11DeviceContext instead of making a 'null' device.
    
    Bug: angleproject:3234
    Change-Id: I10a2b537e07cda2094b08abf02b7876bbe5009f8
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1508643
    Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 14126505b237ed3f56b7a3860fef43403e0accd9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Mar 6 21:13:20 2019 +0000

    Revert "Use a constexpr array for es3 copy conversion table."
    
    This reverts commit f30808db86e31b8b301eb9ec07cfe785d60b6a16.
    
    Reason for revert: build/android/gyp/assert_static_initializers.py thinks this adds a static initializer.
    
    See https://ci.chromium.org/p/chromium/builders/try/android-marshmallow-arm64-rel/208664
    
    Need to revert since this is blocking the roll.
    
    Original change's description:
    > Use a constexpr array for es3 copy conversion table.
    >
    > With the relaxed C++14 constexpr rules allowed in Chromium, we can
    > use a constexpr sorted array to store our table data. This can lead
    > to very fast lookups while being more maintanable than using auto-
    > generator scripts for every lookup table.
    >
    > Note that to be sure this syntax is permitted, we should land this
    > through the bots and let it sit for a little while.
    >
    > Bug: angleproject:1389
    > Change-Id: I9395c40276470108ce3e5786d8f1b8d85462c517
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/777544
    > Commit-Queue: Jamie Madill <jmadill@google.com>
    > Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    
    TBR=ynovikov@chromium.org,jmadill@google.com,syoussefi@chromium.org,jmadill@chromium.org
    
    # Not skipping CQ checks because original CL landed > 1 day ago.
    
    Bug: angleproject:1389
    Change-Id: I482729b6f16975896b0e5c29999f9a081056e800
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1506238
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 105bc9d7ba9acbc52a58d47413cceef5c59c6736
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Mar 6 16:32:40 2019 +0000

    Revert "Allow enabling trace annotations"
    
    This reverts commit f094bac949922dabc3dd6944f3dec04111e953b6.
    
    Reason for revert: Causes timeouts on Debug bots in the BufferDataTest.NULLData
    
    Original change's description:
    > Allow enabling trace annotations
    >
    > Tracing was never allowed to happen because getStatus always returned
    > false. Also want to allow tracing for release builds for perf analysis.
    >
    > Bug: angleproject:3176
    > Change-Id: I7aa94ed9fe3d7f67fe6dd10123c9badc7fb49d82
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1475248
    > Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
    > Reviewed-by: Jamie Madill <jmadill@google.com>
    
    TBR=ynovikov@chromium.org,geofflang@chromium.org,jmadill@google.com,courtneygo@google.com
    
    # Not skipping CQ checks because original CL landed > 1 day ago.
    
    Bug: angleproject:3176
    Change-Id: I91d28d15a092519551811a9a07c01987c9e028e7
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1505799
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 2970d2b0b7605063f4e42447575d130693f67fbb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Mar 6 11:55:43 2019 -0500

    Disable non-conformant configs on official builds.
    
    Bug: angleproject:2950
    Change-Id: Idcb907587abea99ff6b1c2cbe6bb327af0222b10
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1506007
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 20ae6814ae2dd974df7538854dfc83b7791b0633
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Feb 27 17:11:58 2019 -0500

    Vulkan: Decouple EGLSync from renderer serial
    
    To support future work where RendererVk functionality is moved to
    ContextVk.  Given multiple contexts, EGLSync can no longer rely on a
    single serial as it can be used in multiple contexts.  Instead, the
    fence corresponding to the submission in which the EGLSync object
    signals is kept so it can be waited on.
    
    Introduces a `vk::Shared` class that includes a ref-counted reference to
    a Vulkan object (vk::Fence in this case).  This is specially made to
    `destroy()` object when reference count reaches zero.
    
    Bug: angleproject:2464
    Change-Id: I68c8229eea8df77974e28fcc2a9563dae5d204f9
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1493131
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill (use @chromium please) <jmadill@google.com>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit e397949ec2dbf5fdebc3b80facbcaa7750cd8dde
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Mar 1 13:06:50 2019 -0500

    Vulkan: shave off 60 bytes from AttachmentOpsArray
    
    Bug: angleproject:2361
    Change-Id: I39eb34b3c415fa165fa7803b2bc09338833f6773
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1496039
    Reviewed-by: Jamie Madill <jmadill@google.com>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit a8300e56b550cb6f5e4bfba0e63af234d0480a88
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Fri Mar 1 11:01:48 2019 -0700

    Fix scoped trace events
    
    The macro was introducing an additional scope that was not the
    scope we intend to trace.
    
    Test: ./external/chromium-trace/systrace.py -t 10 -o /tmp/maps.html -a com.google.android.apps.maps gfx sched freq idle am wm gfx view sync irq binder_driver
    Examine trace for markers and verify they are expected size.
    
    Bug: angleproject:3176
    Change-Id: I593b8685c5e72a844bebec4b98e1373110a235ad
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1492012
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Jamie Madill <jmadill@google.com>

commit 912ac85b360b3eea89981a9183c12a41dbf6973b
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Mar 1 12:12:28 2019 -0500

    Add Orientation and Starter-Projects docs
    
    Bug: angleproject:1944
    Change-Id: Idd1cf50a1751bf0d5a04159fffbc91a3225f9768
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1496038
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit f30808db86e31b8b301eb9ec07cfe785d60b6a16
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Mar 5 10:55:39 2019 -0500

    Use a constexpr array for es3 copy conversion table.
    
    With the relaxed C++14 constexpr rules allowed in Chromium, we can
    use a constexpr sorted array to store our table data. This can lead
    to very fast lookups while being more maintanable than using auto-
    generator scripts for every lookup table.
    
    Note that to be sure this syntax is permitted, we should land this
    through the bots and let it sit for a little while.
    
    Bug: angleproject:1389
    Change-Id: I9395c40276470108ce3e5786d8f1b8d85462c517
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/777544
    Commit-Queue: Jamie Madill <jmadill@google.com>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 55959b0bb19f18a4dbb41656fbc95ba0b5993ce3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Mar 5 10:07:41 2019 -0500

    Add glmark2 to build.
    
    glmark2 is a an OpenGL ES 2.0 benchmark licensed under GPL v3.
    See https://github.com/glmark2/glmark2
    
    ANGLE can use glmark2 as a metric and guide for optimization. It will
    add a number of useful performance tests. This CL adds the initial
    build integration.
    
    A follow-up CL will integrate glmark2 into our performance tests. Note
    that glmark2 will not be shipped with Chrome or Android. It will only
    be used on our test infrastructure.
    
    Note that the data path solution is temporary. When integrated into
    ANGLE we will make sure we CWD into the glmark2 directory before
    running the benchmark.
    
    Bug: angleproject:3139
    Change-Id: I5c4f605221c255ab19abd10b321b5867ab459105
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1449984
    Commit-Queue: Jamie Madill <jmadill@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit f094bac949922dabc3dd6944f3dec04111e953b6
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Fri Feb 15 08:24:56 2019 -0700

    Allow enabling trace annotations
    
    Tracing was never allowed to happen because getStatus always returned
    false. Also want to allow tracing for release builds for perf analysis.
    
    Bug: angleproject:3176
    Change-Id: I7aa94ed9fe3d7f67fe6dd10123c9badc7fb49d82
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1475248
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Jamie Madill <jmadill@google.com>

commit 2f1c1d7eeebbca3a84711adc1f199b40a14b3461
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Mar 4 17:02:52 2019 -0500

    Minor improvements to run_code_generation.
    
    Isolate variables better. And add a check for out-of-date hases.
    Currently if a generator is removed the hashes will stick around.
    
    Bug: angleproject:3227
    Change-Id: I9b9da245b9b29093b1f3f320a81810cd7da82395
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1500575
    Commit-Queue: Jamie Madill <jmadill@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit b8cff9e9347cee1fe46092a10ae039df2fdd4c33
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Mon Feb 18 16:15:53 2019 +0800

    ES31: Add MAX_COMPUTE_SHARED_MEMORY_SIZE
    
    Bug: angleproject:2682
    Change-Id: If9100bee246dfb99fca3f0470742a337a126c9a5
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1476951
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@google.com>
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>

commit b36f7a25a8a4a6aa9f69e93c699f327f83eef30f
Author: Kevin Schoedel <kpschoedel@google.com>
Date:   Fri Mar 1 11:20:55 2019 -0500

    Update gpu_test_expectations
    
    Sync with chromium, primarily to shave the kOsFuchsia yak.
    
    Bug: angleproject:2475
    Change-Id: I76ce607095d02e805a41f63315b4237e57f1cc4e
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1497392
    Commit-Queue: Jamie Madill <jmadill@google.com>
    Reviewed-by: Jamie Madill <jmadill@google.com>

commit e3981cf71e37243777cf2a4b9e57b45f0936bdd2
Author: Tobin Ehlis <tobine@google.com>
Date:   Wed Feb 27 11:05:15 2019 -0700

    Vulkan:Add SecondaryCommandBuffer class
    
    SecondaryCommandBuffer is a CPU-side command buffer construct intended
    to delay allocation/construction of GPU-side command buffers until
    absolutely necessary.
    
    Initially ANGLE was batching commands into Vulkan secondary command
    buffers and then submitting those command buffers when rendering was
    required. On at least some devices we saw two areas of overhead that
    SecondaryCommandBuffers are intended to reduce:
    1. Commands in secondary cmd buffers taking longer than equivalent
    commands in a single primary cmd buffer.
    2. Allocation/free/reset overhead of the secondary command buffers was
    a hotspot for some workloads.
    
    Bug: angleproject:3136
    Change-Id: Ife8ffe2968eee423d89ff433d62596c432156661
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1492016
    Commit-Queue: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Jamie Madill <jmadill@google.com>

commit b82d201490081bdc6be02d5c7ab6913fc5c296de
Author: Jamie Madill <jmadill@google.com>
Date:   Mon Mar 4 21:01:43 2019 +0000

    Revert "Vulkan: Update code hash after roll."
    
    This reverts commit 0e1ce2e553870a1ef0302b2e7e61d4833b2b201b.
    
    Reason for revert: I think this was my fault. Was maybe using an
    outdated version locally. Should probably add a presubmit bot to
    the CQ.
    
    Original change's description:
    > Vulkan: Update code hash after roll.
    >
    > Bug: angleproject:3905
    > Change-Id: I3cd7eecd5f0ab9990fd714d5fab3b94008fb9488
    > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1498129
    > Reviewed-by: Jamie Madill <jmadill@google.com>
    > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    > Commit-Queue: Jamie Madill <jmadill@google.com>
    
    TBR=jmadill@google.com,syoussefi@chromium.org,jmadill@chromium.org
    
    Change-Id: I387721af7dcbb002d54bd9e785fa782d77cd186d
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:3905
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1500077
    Reviewed-by: Jamie Madill <jmadill@google.com>
    Commit-Queue: Jamie Madill <jmadill@google.com>

commit e332e621ead7b164cc6764d3a63f86b5d6a56772
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Feb 14 12:53:04 2019 -0500

    D3D: Asynchronously load program binaries.
    
    Unpack as much of the binary steam as possible before passing the final loading
    of the shader programs off to a worker thread.  Reporting as many possible link
    errors before becoming asynchronous means that linking should only fail due to
    unexpected system issues at that point.
    
    This also allows other backends to asynchronously load program binaries.
    
    BUG=angleproject:2857
    
    Change-Id: I587917a3e54522114dabd41d1b14fc491c8fd18a
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1473451
    Commit-Queue: Jamie Madill <jmadill@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit d838178daa4976ebd7a0af918fbe0c502e09734b
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Mar 4 11:07:47 2019 -0500

    Vulkan: Rename vk::Shared* to vk::RefCounted*
    
    To be specific regarding what being "shared" entails.  Also, avoids
    confusion w.r.t to an upcoming vk::Shared class.
    
    Bug: angleproject:2464
    Change-Id: Ib9c112bbb822ae30dab39c75a8cde25dd79b2258
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1499693
    Reviewed-by: Jamie Madill <jmadill@google.com>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 0e1ce2e553870a1ef0302b2e7e61d4833b2b201b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Mar 4 10:45:43 2019 -0500

    Vulkan: Update code hash after roll.
    
    Bug: angleproject:3905
    Change-Id: I3cd7eecd5f0ab9990fd714d5fab3b94008fb9488
    Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/1498129
    Reviewed-by: Jamie Madill <jmadill@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@google.com>

commit 4d153383bd3a2359a44fb0c13a65119c0087702f
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Feb 26 15:08:11 2019 +0000

    Reland "Vulkan: Implement debug markers"
    
    This reverts commit 0c01e36783b20a0177c653490cb4f8ea4a896075.
    
    Reason for revert: Its dependency that was reverted has now relanded:
    
        https://chromium-review.googlesource.com/c/angle/angle/+/1489153
    
    Original change's description:
    > Revert "Vulkan: Implement debug markers"
    >
    > This reverts commit 983e446921946734fe47217c345a8fe2f079319d.
    >
    > Reason for revert: Depends on a CL that's reverted: https://chromium-review.googlesource.com/c/angle/angle/+/1470605
    >
    > Original change's description:
    > > Vulkan: Implement debug markers
    > >
    > > Covers both GL_KHR_debug and GL_EXT_debug_marker.
    > >
    > > Debug markers are used to specify events or hierarchically categorize a
    > > set of commands within the command buffer.  When debugging, this allows
    > > for quicker navigation to the draw calls of interest, and otherwise
    > > provides context to debug output.
    > >
    > > Bug: angleproject:2853
    > > Change-Id: Id65e11fc877d9e70b6fd0fae7f0bbbcb1164bf10
    > > Reviewed-on: https://chromium-review.googlesource.com/c/1403956
    > > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    > > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    > > Reviewed-by: Geoff Lang <geofflang@chromium.org>
    >
    > TBR=geofflang@chromium.org,jmadill@chromium.org,syoussefi@chromium.org
    >
    > Change-Id: I7fcfc8683195d396aec61848719f52c0fa049ece
    > No-Presubmit: true
    > No-Tree-Checks: true
    > No-Try: true
    > Bug: angleproject:2853
    > Reviewed-on: https://chromium-review.googlesource.com/c/1470606
    > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    
    TBR=geofflang@chromium.org,jmadill@google.com,syoussefi@chromium.org
    
    Bug: angleproject:2853
    Change-Id: Ie19ae103244d54dcf7108d5f61c24e318fc44057
    Reviewed-on: https://chromium-review.googlesource.com/c/1489154
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@google.com>

commit 6f1a852fce0b316a47874fc792da56e16ed22c0d
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Feb 26 15:00:54 2019 +0000

    Reland "Roll Vulkan repos"
    
    This reverts commit 3805122b0297b8208ff734a3bcdaa12850b60a00.
    
    Reason for revert: The OOM issue that coincidentally happened at the time this CL landed, and for which this CL was reverted, turned out to be irrelevant to this change.
    
    Original change's description:
    > Revert "Roll Vulkan repos"
    >
    > This reverts commit 55ea947c3bdd6c0ef68fc4b9ddbda26889f62622.
    >
    > Reason for revert: Seems to be causing a memory corruption on Windows/Intel bots.
    >
    > Original change's description:
    > > Roll Vulkan repos
    > >
    > > Bug: angleproject:3095
    > > Change-Id: I6ae9d61304981223f9e2f1869ed32612aa38952c
    > > Reviewed-on: https://chromium-review.googlesource.com/c/1405714
    > > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    > > Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    >
    > TBR=ynovikov@chromium.org,jmadill@chromium.org,syoussefi@chromium.org
    >
    > Change-Id: I61879770c9bb16ac2231b081bda08e6211ba6831
    > No-Presubmit: true
    > No-Tree-Checks: true
    > No-Try: true
    > Bug: angleproject:3095
    > Reviewed-on: https://chromium-review.googlesource.com/c/1470605
    > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    
    TBR=ynovikov@chromium.org,jmadill@google.com,syoussefi@chromium.org
    
    Bug: angleproject:3095
    Change-Id: Iabe8ea215b44c65c4c22b9b158c5dad3ffffdbb0
    Reviewed-on: https://chromium-review.googlesource.com/c/1489153
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@google.com>

commit a9f89313bcfef77d364994b50670be0a4237942a
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Feb 25 16:31:57 2019 -0500

    Reland "Add system util to execute app and retrieve its output"
    
    This reverts commit fe14b2e503a5991aeb033836bb4d525508475b52.
    
    Reason for revert: failing test is reworked not to run angle_unittests
    itself, but another binary.
    
    Previously, this test was calling angle_unittests itself, but with a
    different target.  On the bots, that was in turn calling angle_unittests
    with even more arguments, including the addition of a log file location.
    Under some configurations, this separate process was thus trying to
    access files that were already opened by the parent process, leading to
    a test failure.
    
    In this CL, a new helper executable is created for the sake of this
    unittest.
    
    > Revert "Add system util to execute app and retrieve its output"
    >
    > This reverts commit c63d95525cde8d28963148bb5894456c1d39018d.
    >
    > Reason for revert: Test fails on Win7
    >
    > Original change's description:
    > > Add system util to execute app and retrieve its output
    > >
    > > This will be useful to run external applications, such as benchmarks,
    > > and process their output.
    > >
    > > Bug: angleproject:3125
    > > Change-Id: Ic13c69f2e034f4b47498fb2f299c62423c355c4a
    > > Reviewed-on: https://chromium-review.googlesource.com/c/1452534
    > > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    > > Reviewed-by: Jamie Madill <jmadill@google.com>
    
    Bug: angleproject:3125, angleproject:3168
    Change-Id: I74815750484a79f33c36e0b4f941d4dd98f99aa5
    Reviewed-on: https://chromium-review.googlesource.com/c/1487631
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@google.com>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 76bd848cabd52907e392151835c973ccab4f45c9
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Feb 13 13:00:44 2019 -0500

    Vulkan: Support ETC, S3TC and BPTC compressed textures
    
    Fixes the format table so the correct Vulkan format for the types are
    generated.  Additionally, implements CHROMIUM_copy_compressed_texture as
    well as other functions relevant to initializing compressed textures.
    
    Bug: angleproject:2670, angleproject:2904
    Change-Id: I682d36574262525027cddf8f329515f38cd77dc0
    Reviewed-on: https://chromium-review.googlesource.com/c/1468048
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@google.com>

commit 1581ff030b9cd8f3d149a62e5570e2ea1b3cb478
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Feb 28 20:59:26 2019 -0500

    Vulkan: disable VK_PRESENT_MODE_FIFO_KHR on Linux Intel
    
    Causes random timeouts.
    
    Bug: angleproject:2932, angleproject:3153
    Change-Id: I69a200684afab9e00642850bfa8e8efd0da5ad1d
    Reviewed-on: https://chromium-review.googlesource.com/c/1495229
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@google.com>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit ffa277a12fcd462f303bc6387d9b4ce81d400597
Author: Bruce Dawson <brucedawson@chromium.org>
Date:   Thu Feb 28 15:37:19 2019 -0800

    Fix logic for warningsAsErrors
    
    warningsAsErrors should be falsed on Windows 7 because we may
    legitimately get a warning about loading the old d3dcompiler DLL on that
    platform. The logic for this was reversed in the initial change. This
    change flips the logic, changes the cutoff OS version, and always sets
    the flag to something.
    
    Bug: chromium:920704
    Change-Id: Ibf8a7c9a48bffc183479b7614148d6c00c122a07
    Reviewed-on: https://chromium-review.googlesource.com/c/1496015
    Commit-Queue: Bruce Dawson <brucedawson@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@google.com>

commit 5546fb4fdd85dbef7b87b8f3727aaca00966d8de
Author: Tobin Ehlis <tobine@google.com>
Date:   Thu Jan 17 12:25:54 2019 -0500

    Vulkan:Adding custom pool allocator
    
    Migrated pool allocator used by compiler to common.
    
    Planning to use this for ANGLE custom command buffers so this some
    refactoring in preparation for that work.
    
    Added a unit test to check PoolAllocator functionality.
    
    Bug: angleproject:2951
    Reviewed-on: https://chromium-review.googlesource.com/c/1476953
    Reviewed-by: Jamie Madill <jmadill@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Tobin Ehlis <tobine@google.com>
    Change-Id: I0b4f3d55ea1799e35c9799c221f7129233f30b24
    Reviewed-on: https://chromium-review.googlesource.com/c/1492972

commit fa0db6cc6e1efb47121a16aafcbe688e7bc4bddd
Author: shrekshao <shrekshao@google.com>
Date:   Thu Feb 21 11:40:28 2019 -0800

    Use string literal style for shader string in WebGLCompatibilityTest
    
    Bug: None
    Change-Id: I75255cfda3793c539ac8a6ee2c50b8526bfc9286
    Reviewed-on: https://chromium-review.googlesource.com/c/1493113
    Commit-Queue: Shrek Shao <shrekshao@google.com>
    Reviewed-by: Jamie Madill <jmadill@google.com>

commit c87e0053bbb9f858d9344e814f314c1f16742c2e
Author: shrekshao <shrekshao@google.com>
Date:   Thu Feb 21 11:40:28 2019 -0800

    add ext_float_blend feature and test
    
    Bug: chromium:930993
    Change-Id: I8edbd01c5c9f1ed63243cc4a42f6de44c92db8bd
    Reviewed-on: https://chromium-review.googlesource.com/c/1481242
    Commit-Queue: Shrek Shao <shrekshao@google.com>
    Reviewed-by: Jamie Madill <jmadill@google.com>

commit dbbdf563c02e64a7f365bbb7e668e86fe9bb4ebd
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Wed Feb 27 19:48:16 2019 -0500

    Require VK_EXT_queue_family_foreign for EGL_ANDROID_image_native_buffer support
    
    Even though VK_EXT_queue_family_foreign is required by
    VK_ANDROID_external_memory_android_hardware_buffer,
    Pixel 2 PQ2A.190205.002 supports the latter but not the former.
    
    Also print the names of unsupported extensions to ease debugging in the future.
    
    Bug: angleproject:3121, chromium:857138
    
    Change-Id: Ib1195153cfb74f079a93ee9ce93b9b78e6f6e00a
    Reviewed-on: https://chromium-review.googlesource.com/c/1493114
    Reviewed-by: Jamie Madill <jmadill@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 5de69e91bd939f8c2acc3ccab095d770bf378481
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Feb 28 10:17:38 2019 -0500

    Add watchlist file for ANGLE.
    
    ANGLE devs can keep tabs on subfolders like in Chromium.
    
    Bug: none
    Change-Id: Ib507b758d2ee3b00808e798c23361f56930b3f95
    Reviewed-on: https://chromium-review.googlesource.com/c/1495034
    Reviewed-by: Jamie Madill <jmadill@google.com>
    Commit-Queue: Jamie Madill <jmadill@google.com>

commit 4b314eefc839f688cf2367b2cc288a8e954d1c4f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Feb 27 13:20:51 2019 -0500

    Win7: No warnings as errors in FragData test.
    
    Applies to all Windows because we currently don't have a way to check
    which version we're on. The fallback to the old compiler is generating
    a warning. This test was being overly conservative. Also updates a few
    message strings.
    
    Bug: chromium:920704
    Change-Id: If83677881e85d6a6f9ad98b33cd5f7d917bbec6b
    Reviewed-on: https://chromium-review.googlesource.com/c/1492311
    Commit-Queue: Jamie Madill <jmadill@google.com>
    Reviewed-by: Jamie Madill <jmadill@google.com>

commit 9dc8eafe11c020ec1f5fa9af864c6d2a71f08e53
Author: Shahbaz Youssefi <syoussefi@chromium.com>
Date:   Mon Feb 11 11:04:54 2019 -0500

    Vulkan: ES3 dEQP suppressions
    
    This re-enables Vulkan ES3 context creation and adds the necessary dEQP
    suppressions.
    
    Bug: angleproject:2950
    Change-Id: Ic24a9fb4f867f3bce08f101e056f208abf84bb5e
    Reviewed-on: https://chromium-review.googlesource.com/c/1483311
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit aaa17b8528d8cd0a5cf6eef3b35cc66bf9bc2a01
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Tue Feb 26 16:57:44 2019 -0500

    Restrict OpenGL/Vulkan test window re-creation workaround to NVIDIA
    
    The workaround in https://chromium-review.googlesource.com/430887
    was intended only for NVIDIA.
    
    Re-creating the test window causes new native display to be created every time.
    Normally, re-using the same native display with different implementation
    would release the old implementation.
    When new display is created instead of re-using the old one,
    old implementation is never released, leaking memory.
    
    Use SystemInfo to check if any of GPUs is NVIDIA
    and apply the workaround only then,
    reducing the leak on other platforms.
    
    Bug: angleproject:1810, angleproject:3153
    Change-Id: I6198c01c82a01e2adc0bcd1fad303c47cd7328d8
    Reviewed-on: https://chromium-review.googlesource.com/c/1490379
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@google.com>

commit 009696c56169651714c90cb0249f8e3264b74ceb
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jan 31 14:47:07 2019 -0500

    Vulkan: Support EGL_ANDROID_image_native_buffer on Android.
    
    BUG=angleproject:2668
    BUG=angleproject:3121
    
    Change-Id: I0dfb2ec0737ebd963b0fadb78cf720a90874f00b
    Reviewed-on: https://chromium-review.googlesource.com/c/1452264
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 46d32e0fcd84683684110bc40aa4d4dca3caa8d8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Feb 25 17:13:16 2019 -0500

    Use Chromium mirror for rapidjson.
    
    ANGLE can use this library to output the test results format used by
    the Chromium infrastructure. We have a rapidjson mirror located on
    chromium.googlesource.com.
    
    Also updates rapidjson to the latest version and adds GN integration.
    Currently this library was unused in ANGLE.
    
    Bug: angleproject:3162
    Change-Id: Ie349026f68028e3acc46055655e321c2d710b828
    Reviewed-on: https://chromium-review.googlesource.com/c/1487633
    Commit-Queue: Jamie Madill <jmadill@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 9f20dd777b5071cc79323e7673d4573f90332719
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sun Jan 20 14:31:59 2019 -0500

    Add draw call perf test using 5 vertex arrays.
    
    This should highlight problems with array buffer state changes even
    more than the single attribute test.
    
    Bug: angleproject:3014
    Change-Id: I7f42ddb48f0f794fa279b81c8378dab8dc9db489
    Reviewed-on: https://chromium-review.googlesource.com/c/1413788
    Commit-Queue: Jamie Madill <jmadill@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 0546b5380780a5ae12db34a9ef4fb310935ef35b
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Mon Feb 25 22:47:17 2019 +0000

    Revert "Vulkan:Adding custom pool allocator"
    
    This reverts commit 941717496141b96f1d5817f31c2bb4a4e19847b9.
    
    Reason for revert: crashes on Debug bots
    
    Original change's description:
    > Vulkan:Adding custom pool allocator
    >
    > Migrated pool allocator used by compiler to common.
    >
    > Planning to use this for ANGLE custom command buffers so this some
    > refactoring in preparation for that work.
    >
    > Added a unit test to check PoolAllocator functionality.
    >
    > Bug: angleproject:2951
    > Change-Id: I29618cfdb065b8a5fefd40719a35d27b1f6e99ef
    > Reviewed-on: https://chromium-review.googlesource.com/c/1476953
    > Reviewed-by: Jamie Madill <jmadill@google.com>
    > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    > Commit-Queue: Tobin Ehlis <tobine@google.com>
    
    TBR=ynovikov@chromium.org,jmadill@google.com,tobine@google.com,syoussefi@chromium.org
    
    Change-Id: Id8c522bd1d94154e871211d975e801a55cc9c257
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:2951, angleproject:3169
    Reviewed-on: https://chromium-review.googlesource.com/c/1487977
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit ce4dc5694f7cbce4a677bbb7ae4ce6c0b06d83e5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Feb 25 17:13:15 2019 -0500

    Add third_party/googletest to .gitignore.
    
    We now mirror the entire directory. Not just src.
    
    Bug: angleproject:3151
    Change-Id: Ifdf351f7fe7b227fc58d08ca3472c9adb9bbe5e7
    Reviewed-on: https://chromium-review.googlesource.com/c/1487632
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit fe14b2e503a5991aeb033836bb4d525508475b52
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Mon Feb 25 19:22:28 2019 +0000

    Revert "Add system util to execute app and retrieve its output"
    
    This reverts commit c63d95525cde8d28963148bb5894456c1d39018d.
    
    Reason for revert: Test fails on Win7
    
    Original change's description:
    > Add system util to execute app and retrieve its output
    >
    > This will be useful to run external applications, such as benchmarks,
    > and process their output.
    >
    > Bug: angleproject:3125
    > Change-Id: Ic13c69f2e034f4b47498fb2f299c62423c355c4a
    > Reviewed-on: https://chromium-review.googlesource.com/c/1452534
    > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    > Reviewed-by: Jamie Madill <jmadill@google.com>
    
    TBR=jmadill@google.com,syoussefi@chromium.org,jmadill@chromium.org
    
    # Not skipping CQ checks because original CL landed > 1 day ago.
    
    Bug: angleproject:3125, angleproject:3168
    Change-Id: I389c0ee639c7c0176c87abe92fc88f99d1b20cc4
    Reviewed-on: https://chromium-review.googlesource.com/c/1487104
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 941717496141b96f1d5817f31c2bb4a4e19847b9
Author: Tobin Ehlis <tobine@google.com>
Date:   Thu Jan 17 12:25:54 2019 -0500

    Vulkan:Adding custom pool allocator
    
    Migrated pool allocator used by compiler to common.
    
    Planning to use this for ANGLE custom command buffers so this some
    refactoring in preparation for that work.
    
    Added a unit test to check PoolAllocator functionality.
    
    Bug: angleproject:2951
    Change-Id: I29618cfdb065b8a5fefd40719a35d27b1f6e99ef
    Reviewed-on: https://chromium-review.googlesource.com/c/1476953
    Reviewed-by: Jamie Madill <jmadill@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Tobin Ehlis <tobine@google.com>

commit c63d95525cde8d28963148bb5894456c1d39018d
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Feb 4 13:41:51 2019 -0500

    Add system util to execute app and retrieve its output
    
    This will be useful to run external applications, such as benchmarks,
    and process their output.
    
    Bug: angleproject:3125
    Change-Id: Ic13c69f2e034f4b47498fb2f299c62423c355c4a
    Reviewed-on: https://chromium-review.googlesource.com/c/1452534
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@google.com>

commit f78131dac0763e4c2d1310a9560cbd311e5dea64
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Feb 22 14:13:18 2019 -0500

    Suppress WebGL CopyTexSubImage2D on D3D9.3 everywhere
    
    Previously they were only disabled on 64-bit windows, but a recent
    change in ordering of the tests shows the same failures on 32-bit
    windows too.
    
    Bug: angleproject:3153
    Change-Id: Ic40fb88ae335b3ce66d5c1c1cfeed83e52cf690d
    Reviewed-on: https://chromium-review.googlesource.com/c/1483264
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@google.com>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit a8b81590dbea3ed0542c0e9b77766c488a935be5
Author: Tim Van Patten <timvp@google.com>
Date:   Fri Feb 15 17:23:23 2019 -0700

    Vulkan: Free semaphores with other in flight resources
    
    ANGLE calls WindowSurfaceVk::nextSwapchainImage() to prepare for
    the next frame, which allocates an image (and other resources,
    like semaphore). However, it's possible for
    egl::Display::destroySurface() to be called before the next
    submitFrame(), which prevents the image from being returned back
    to the swapchain.
    
    This fix refactors swapImpl() to separate out the present work, which
    can be called as part of destroy() to return the allocated resources.
    
    dEQP-EGL.functional.query_context.get_current_context.*
    dEQP-EGL.functional.query_context.get_current_display.*
    dEQP-EGL.functional.query_context.get_current_surface.r*
    dEQP-EGL.functional.query_context.query_context.*
    
    Bug: angleproject:3057
    Change-Id: Ia943f2530e4f27d1a10ee907e810f0bbdb3bfa9a
    Reviewed-on: https://chromium-review.googlesource.com/c/1474601
    Reviewed-by: Ian Elliott <ianelliott@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit d09546e1ec906c5027c25ba0ba3a49e5affb6643
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Feb 22 10:24:44 2019 -0500

    D3D: Fall back to old compiler DLL.
    
    This is a workaround for Windows 7 users sometimes not having the UCRT
    required for the new versions of the MS HLSL compiler. It requires a
    specific version of the Windows SDK with the old compiler DLL.
    
    Bug: chromium:920704
    Change-Id: Id9adb3b9d569272cbd69a8b4fc99dc160d837dbc
    Reviewed-on: https://chromium-review.googlesource.com/c/1403254
    Reviewed-by: Jamie Madill <jmadill@google.com>
    Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@google.com>

commit cf9b2853a7e71e67c1197ebafcb7c0f1e4ca6b68
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Feb 13 09:15:26 2019 -0500

    Roll Google Test.
    
    Updates our build files to be more consistent with Chromium.
    
    Also rolls SPIRV-Tools to use newer test fixture syntax.
    Note: requires an update to SPIRV-Tools to pass 'gn check'.
    
    Bug: angleproject:3151
    Change-Id: I8abddef396f84e5c58cdd185421f03fd6e2b6d58
    Reviewed-on: https://chromium-review.googlesource.com/c/1470591
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@google.com>

commit b9039bf76bf3a4caba6475ce5d62c1cf8611978a
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Feb 12 15:30:48 2019 -0500

    Vulkan: fix numerous formats missing support
    
    Vulkan _SRGB formats have a suffix of _UNORM_SRGB in the corresponding
    angle name.
    
    Vulkan A2B10G10R10_*_PACK32 formats have angle names in the form
    R10G10B10A2_*.
    
    A16 and A32 formats are emulated similar to A8.
    
    Some formats that are not in the front-end are removed.
    
    Bug: angleproject:2364, angleproject:2405
    Change-Id: I00718f450a374912d57d3c00ea167ce486e10aa0
    Reviewed-on: https://chromium-review.googlesource.com/c/1468042
    Reviewed-by: Jamie Madill <jmadill@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Ian Elliott <ianelliott@google.com>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit ee4fa0785090f7e78884322397e0c978b6648404
Author: Tim Van Patten <timvp@google.com>
Date:   Thu Feb 21 19:21:09 2019 +0000

    Reland "Create Container ANGLE APK"
    
    This reverts commit 902ceed3998617e97aad25d6b632f9e34dff2644.
    
    Reason for revert:
    
    Re-landing this since the Chromium build fix has landed:
    https://bugs.chromium.org/p/chromium/issues/detail?id=933783#c29
      Comment 29 by gbeaty@chromium.org, Today (13 minutes ago)
      Tim, you should be able to re-land your change now.
    
    Original change's description:
    > Revert "Create Container ANGLE APK"
    >
    > This reverts commit e82c857d38549da44de2c055e9e677a368e8793f.
    >
    > Reason for revert:
    > This is breaking the ANGLE build in the Chromium build process:
    >
    > https://bugs.chromium.org/p/chromium/issues/detail?id=933783#c6
    >
    > Original change's description:
    > > Create Container ANGLE APK
    > >
    > > The ANGLE APK needs to be reverted back to just being a container
    > > for the ANGLE shared object libraries, since the rest of the APK
    > > contents are in the Android source tree.
    > >
    > > Bug: angleproject:3154
    > > Test: 'adb sync' the APK on to a device
    > > Change-Id: Id245f1e3d269c71054d9759e8ba8be0532afe659
    > > Reviewed-on: https://chromium-review.googlesource.com/c/1474341
    > > Commit-Queue: Tim Van Patten <timvp@google.com>
    > > Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    >
    > TBR=ynovikov@chromium.org,jmadill@google.com,cnorthrop@google.com,courtneygo@google.com,timvp@google.com
    >
    > Change-Id: I71a739faa2052a707a06bce616ab43a621d5a4ff
    > No-Presubmit: true
    > No-Tree-Checks: true
    > No-Try: true
    > Bug: angleproject:3154
    > Reviewed-on: https://chromium-review.googlesource.com/c/1478333
    > Reviewed-by: Tim Van Patten <timvp@google.com>
    > Commit-Queue: Tim Van Patten <timvp@google.com>
    
    TBR=ynovikov@chromium.org,jmadill@google.com,cnorthrop@google.com,courtneygo@google.com,timvp@google.com
    
    # Not skipping CQ checks because original CL landed > 1 day ago.
    
    Bug: angleproject:3154
    Change-Id: If3a9abfb1c00aab3278437a233bef29d5febe5a5
    Reviewed-on: https://chromium-review.googlesource.com/c/1480865
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Commit-Queue: Tim Van Patten <timvp@google.com>

commit 962c222aa3befdab461f63b9df4adbc3949a6073
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Feb 20 15:43:41 2019 -0500

    Vulkan: Enable anisotropy feature when available
    
    If anisotropic filtering is used, the feature must be enabled at device
    creation time.  This was missing.
    
    Bug: angleproject:2901
    Change-Id: I86db55f8b1696dc04eae922b941512f786aa12b8
    Reviewed-on: https://chromium-review.googlesource.com/c/1479264
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@google.com>

commit 08573730b75a986c88b774fb9ce98bab45ffc1b1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Feb 20 19:59:22 2019 -0500

    Enable vertex_arrays tests on Android.
    
    These appear to be passing now.
    
    Bug: angleproject:1484
    Change-Id: I0a52f73c87aeea2e0fba360063109b74aa6aa365
    Reviewed-on: https://chromium-review.googlesource.com/c/1479904
    Reviewed-by: Jamie Madill <jmadill@google.com>
    Commit-Queue: Jamie Madill <jmadill@google.com>

commit 568a3425459883c6c9fbe46bac39537fe78f3030
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Feb 20 19:58:41 2019 -0500

    Enable texture.mipmap tests on Android.
    
    These appear to be passing on the bots.
    
    Bug: angleproject:1489
    Change-Id: I1d672187f9bfe72189291309b90049fd128b1392
    Reviewed-on: https://chromium-review.googlesource.com/c/1479903
    Reviewed-by: Jamie Madill <jmadill@google.com>
    Commit-Queue: Jamie Madill <jmadill@google.com>

commit 6cdb01f4352a10631bd665534510814823cfebb4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Feb 20 19:54:24 2019 -0500

    Update fbo.completeness expectations on Android.
    
    The depth_stencil_unsigned_int_24_8 tests are passing now.
    The srgb8 failures are tracked in http://anglebug.com/1028.
    
    Bug: angleproject:1487
    Change-Id: Id85fc00acfd1b59d4b7bfdd00596f2c18a583e5c
    Reviewed-on: https://chromium-review.googlesource.com/c/1479902
    Reviewed-by: Jamie Madill <jmadill@google.com>
    Commit-Queue: Jamie Madill <jmadill@google.com>

commit 1ceb9c8ee6a58b670d18462b81f3d81b5e948ccb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Feb 20 19:50:57 2019 -0500

    Enable clipping.triangle_vertex test on Android.
    
    Seems to be fixed with newer compilers.
    
    Bug: angleproject:1485
    Change-Id: I2954548d8f5370b57302c40fc40b6458f79fd7ed
    Reviewed-on: https://chromium-review.googlesource.com/c/1479901
    Reviewed-by: Jamie Madill <jmadill@google.com>
    Commit-Queue: Jamie Madill <jmadill@google.com>

commit 2ac98885bda401fd58b73b8bd0b04add4d335008
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Feb 20 18:49:57 2019 -0500

    Enable fbo.completeness.attachment_combinations on Android.
    
    These tests are all passing with "unsupported".
    
    Bug: angleproject:1486
    Change-Id: I532000b4934ed66fd61f39312013a6da8f3dd86f
    Reviewed-on: https://chromium-review.googlesource.com/c/1479897
    Reviewed-by: Jamie Madill <jmadill@google.com>
    Commit-Queue: Jamie Madill <jmadill@google.com>

commit eef531f1716af901b12b26e597c6ed8e8aaa0acf
Author: Kevin Schoedel <kpschoedel@google.com>
Date:   Wed Feb 20 16:33:21 2019 -0500

    Disable broken test on Fuchsia
    
    This disables the ImageTest.SourceCubeTargetRenderbuffer test
    that does not work on Fuchsia.
    
    BUG=angleproject:2475, angleproject:3145
    TEST=angle_end2end_tests on Fuchsia
    
    Change-Id: I8e681926ee322642b39c32b3bc0cd266ffa1d11f
    Reviewed-on: https://chromium-review.googlesource.com/c/1479283
    Reviewed-by: Jamie Madill <jmadill@google.com>
    Commit-Queue: Jamie Madill <jmadill@google.com>

commit ffd399789203e28ea9a30e7f31c002fb5d38aa7b
Author: Victor Costan <pwnall@chromium.org>
Date:   Wed Feb 20 10:45:24 2019 +1100

    test: Replace _TEST_CASE_ with _TEST_SUITE_.
    
    Googletest is (at last) converging with industry-standard terminology
    [1]. We previously called test suites "test cases", which was rather
    confusing for folks coming from any other testing framework.
    
    Chrome now has a googletest version that supports _TEST_SUITE_ macros
    instead of _TEST_CASE_, so this CL cleans up some of the outdated usage.
    
    [1] https://github.com/google/googletest/blob/master/googletest/docs/primer.md#beware-of-the-nomenclature
    
    Bug: chromium:925652
    Change-Id: Ia0deec0bc4216ef1adabc33985a7cbda89682608
    Reviewed-on: https://chromium-review.googlesource.com/c/1477418
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Victor Costan <pwnall@chromium.org>

commit 902ceed3998617e97aad25d6b632f9e34dff2644
Author: Tim Van Patten <timvp@google.com>
Date:   Wed Feb 20 16:49:22 2019 +0000

    Revert "Create Container ANGLE APK"
    
    This reverts commit e82c857d38549da44de2c055e9e677a368e8793f.
    
    Reason for revert:
    This is breaking the ANGLE build in the Chromium build process:
    
    https://bugs.chromium.org/p/chromium/issues/detail?id=933783#c6
    
    Original change's description:
    > Create Container ANGLE APK
    >
    > The ANGLE APK needs to be reverted back to just being a container
    > for the ANGLE shared object libraries, since the rest of the APK
    > contents are in the Android source tree.
    >
    > Bug: angleproject:3154
    > Test: 'adb sync' the APK on to a device
    > Change-Id: Id245f1e3d269c71054d9759e8ba8be0532afe659
    > Reviewed-on: https://chromium-review.googlesource.com/c/1474341
    > Commit-Queue: Tim Van Patten <timvp@google.com>
    > Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    
    TBR=ynovikov@chromium.org,jmadill@google.com,cnorthrop@google.com,courtneygo@google.com,timvp@google.com
    
    Change-Id: I71a739faa2052a707a06bce616ab43a621d5a4ff
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:3154
    Reviewed-on: https://chromium-review.googlesource.com/c/1478333
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Commit-Queue: Tim Van Patten <timvp@google.com>

commit 3d544fffe7ff9284b21e3a15f638297c827bbc21
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Tue Feb 19 12:02:06 2019 -0500

    Temporarily disable creating D3D debug device.
    
    To diagnose whether Windows Intel end2end tests flakiness
    is related to creating debug device and new version of Windows SDK.
    
    Bug: angleproject:3153
    Change-Id: Ica7eae3fe875e22203b6dfd98b83604d66a97737
    Reviewed-on: https://chromium-review.googlesource.com/c/1476954
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit e82c857d38549da44de2c055e9e677a368e8793f
Author: Tim Van Patten <timvp@google.com>
Date:   Thu Feb 14 16:22:20 2019 -0700

    Create Container ANGLE APK
    
    The ANGLE APK needs to be reverted back to just being a container
    for the ANGLE shared object libraries, since the rest of the APK
    contents are in the Android source tree.
    
    Bug: angleproject:3154
    Test: 'adb sync' the APK on to a device
    Change-Id: Id245f1e3d269c71054d9759e8ba8be0532afe659
    Reviewed-on: https://chromium-review.googlesource.com/c/1474341
    Commit-Queue: Tim Van Patten <timvp@google.com>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>

commit 1d35d511f58ce94757c88c23be0d7c0364e35a55
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Fri Feb 15 15:39:27 2019 +0000

    Revert "Fix unit test for setting locale creating malformed HLSL shader code"
    
    This reverts commit 5f662c0042703344eb0eef6d1c123e902e3aefbf.
    
    Reason for revert: Some recent crashes related to streams, could be
    related to this change.
    https://bugs.chromium.org/p/chromium/issues/detail?id=932359
    
    Original change's description:
    > Fix unit test for setting locale creating malformed HLSL shader code
    > Fix malformed HLSL shader code in other locales than classic
    >
    > Bug: angleproject:1433
    > Change-Id: I30bad0bd0cfda465ec7200e48e12800d7d8efd26
    > Reviewed-on: https://chromium-review.googlesource.com/c/1447862
    > Reviewed-by: Geoff Lang <geofflang@chromium.org>
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    > Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    
    TBR=geofflang@chromium.org,jmadill@chromium.org,jonahr@google.com
    
    Bug: angleproject:1433
    Change-Id: I28caa073b3996a95f3f233bed9dc91dc44263835
    Reviewed-on: https://chromium-review.googlesource.com/c/1474624
    Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit aca30f56ddc06dc851bcb1a333c9fb8d592a25f1
Author: Victor Costan <pwnall@chromium.org>
Date:   Mon Feb 18 17:16:04 2019 +1100

    Roll googletest to the same version as Chromium.
    
    Bug: chromium:925652
    Change-Id: Id59c29ede2fea155628bdfa2218067a28109f069
    Reviewed-on: https://chromium-review.googlesource.com/c/1476874
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 6a492c277e9fc984aa2b935a68fceecd23f62f80
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Mon Feb 18 13:45:02 2019 +0800

    Update ES31 dEQP test expectation
    
    More SSBO related deqp cases pass due to the implementation of atomic
    counter.
    
    Bug: angleproject:1951
    
    Change-Id: I1a6ed6001b9b2d06e74aab105d1a7852abbb9902
    Reviewed-on: https://chromium-review.googlesource.com/c/1476950
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>

commit 028df5f51e45f50ebfef480fd93fc9325a7bf0b8
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Feb 13 12:57:10 2019 -0500

    Vulkan: Implement transfer path for texture copy
    
    This is primarily in preparation for compressed texture copy, but has
    the following side effect:
    
    - When transfer is possible, it's faster than draw
    - When texture format does not support draw (but transfer is possible),
      it will avoid copying through CPU.
    
    Bug: angleproject:2670
    Change-Id: I49e1b51e6ccec875db3f971106687c7d48c4916f
    Reviewed-on: https://chromium-review.googlesource.com/c/1470595
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 8a64926e62565a5d9decc7a2a16024b6b2b4e343
Author: James Darpinian <jdarpinian@chromium.org>
Date:   Fri Feb 15 13:55:36 2019 -0800

    Restore the active program after transform feedback
    
    When calling EndTransformFeedback, we might change the current program.
    This sets a dirty bit, but it might not get cleared before the next
    draw call, so this change makes us manually restore the program state
    after calling EndTransformFeedback.
    
    This is a follow-up to:
    https://chromium-review.googlesource.com/c/angle/angle/+/1448661
    
    Bug: 832238
    Change-Id: I1bea1b9685f55d68b04439a9b0a305deb48708c0
    Reviewed-on: https://chromium-review.googlesource.com/c/1475061
    Commit-Queue: James Darpinian <jdarpinian@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 23ed69cb0d7b1b9e6d9fd34448257d2174d817e9
Author: jchen10 <jie.a.chen@intel.com>
Date:   Wed Jan 23 10:36:34 2019 +0800

    Make WARN() and ERR() thread safe
    
    This adds a global mutex lock to protect logging messages from
    worker threads.
    
    BUG=922936
    
    Change-Id: I42e2a7b560da6f6a8b120b74252adce115ccda20
    Reviewed-on: https://chromium-review.googlesource.com/c/1429479
    Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 9429f2163d65ba21dd98a2d255d36e245e0aba3f
Author: Ian Elliott <ianelliott@google.com>
Date:   Fri Feb 15 10:43:14 2019 -0700

    Vulkan: Add missing EGLConfigs for Android Native pixel formats
    
    GL_RGBA16F correlates to HAL_PIXEL_FORMAT_RGBA_FP16.
    GL_RGB10_A2 that correlates to HAL_PIXEL_FORMAT_RGBA_1010102.
    
    This fills-in key holes between generated ANGLE config formats and the
    Android native formats after GL_RGB565 was added to fix the configs
    that were missing for some games.
    
    Modified EGLContextCompatibilityTest to exclude GL_RGB10_A2 and
    GL_RGBA16F from some of the EGLContextCompatibilityTest cases.
    EGLContextCompatibilityTest uses the OSWindow utility, which only
    works with UNORM-compatible EGLConfigs that are a proper subset of
    GL_RGBA8.  The new configs won't work with the WindowDifferentConfig
    and WindowSameConfig test cases.
    
    Bug: angleproject:3155
    Change-Id: I693ed24f13ba787ea6d661f42ec65dc3d26f08f6
    Reviewed-on: https://chromium-review.googlesource.com/c/1276807
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit b6c1c66d25476bf7041e8a790f3fbfddc53e0674
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Fri Feb 15 08:30:45 2019 -0700

    Vulkan: Discard scissor if either dimension is 0
    
    Test:
    adb shell am start -n com.drawelements.deqp/android.app.NativeActivity \
        -e cmdLine '"deqp --deqp-case=dEQP-GLES2.functional.color_clear.* \
        --deqp-log-filename=/sdcard/dEQP-Log.qpa"'
    run_angle_end2end_tests --gtest_filter=ClearTest.EmptyScissor/ES2_VULKAN
    
    Bug: angleproject:3114
    Change-Id: Icd6ec39c993854f1dbc2fd9221b374e7d4541058
    Reviewed-on: https://chromium-review.googlesource.com/c/1475235
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>

commit 256868482a2722c8acc975731a0b227c09e955ae
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Thu Feb 7 15:21:27 2019 -0500

    Refactor ANGLE's extensions struct to more easily represent multiple
    vendor extension
    
    Some extensions are available from multiple vendors with the same name,
    while minimizing the amount of duplicated code and validation errors.
    The anonymous struct allows individual vendor checks as well as an
    "*Any()" check to check for any version of the extension.
    
    Bug: angleproject:3104
    Change-Id: Ib8b65cde850462d3746d9663496a595321817514
    Reviewed-on: https://chromium-review.googlesource.com/c/1456619
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit c1c9fb1b641ade36de0bbed280f727da3e0ce40e
Author: Enrico Galli <enrico.galli@intel.com>
Date:   Thu Oct 18 11:41:50 2018 -0700

    ES31: Add atomic counter buffer support to D3D11 renderer
    
    Adds support for atomic counters to the D3D11 renderer using UAV.
    
    Bug: angleproject:1729
    Test: angle_end2end_tests
    Change-Id: I2904ba62644685b7d91f7475bd80a81ae414993b
    Reviewed-on: https://chromium-review.googlesource.com/c/1451259
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit aead8edf8c46ace321f0a5583cea21194a77baf1
Author: jchen10 <jie.a.chen@intel.com>
Date:   Wed Feb 13 13:55:09 2019 +0800

    Mute worker context creation warnings
    
    This moves the warnings to InfoLog.
    
    Bug: chromium:931294
    
    Change-Id: I1627aa63bdda6f92fc89b8921eb260302ba9063f
    Reviewed-on: https://chromium-review.googlesource.com/c/1469721
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jie A Chen <jie.a.chen@intel.com>

commit 559aaca5abd89c10da30a86384090f2aa84110b9
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Feb 14 18:24:07 2019 -0500

    Fix texture and buffer data bugs in tests found by ASAN.
    
    Bug: angleproject:3153
    Change-Id: Iacb7b2b97b9fc5c68fbee03c66d71eb72a53b4d6
    Reviewed-on: https://chromium-review.googlesource.com/c/1474342
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 4b6549824faa1f65b4fe64d29ddf0383405bec32
Author: James Darpinian <jdarpinian@chromium.org>
Date:   Thu Jan 31 17:04:14 2019 -0800

    GL backend: Transform feedback driver bug workaround
    
    In some drivers, if transform feedback is paused and a new program is
    bound, calling endTransformFeedback does not correctly unpause first,
    creating an invalid paused but inactive state that causes errors later.
    Before calling endTransformFeedback we first ensure that the current
    program is the one associated with this transform feedback object when
    beginTransformFeedback was called.
    
    Bug: 832238
    Change-Id: I2373b0c123fd20a7ee3ada76ed878d4968184476
    Reviewed-on: https://chromium-review.googlesource.com/c/1448661
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: James Darpinian <jdarpinian@chromium.org>

commit 4154c1c1b71fda3168f11ce7b30e82bc213638f5
Author: Michael Spang <spang@chromium.org>
Date:   Tue Feb 12 15:43:03 2019 -0500

    Fuchsia: Migrate ScenicWindow to ViewV2
    
    Fuchsia is transitioning its view creation APIs. Migrate to the new one.
    
    BUG=angleproject:2475
    TEST=angle_end2end_tests on Fuchsia
    
    Change-Id: I09abfda18a5e3da46909b5b967325a083586a7d0
    Reviewed-on: https://chromium-review.googlesource.com/c/1474337
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Michael Spang <spang@chromium.org>

commit 366df2b26dd1809be283beb01824ec0a9d899bd5
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jan 18 15:40:34 2019 -0500

    Vulkan: Support external texture binding points.
    
    BUG=angleproject:2668
    BUG=angleproject:3023
    
    Change-Id: Idab0c4cbe1c7ed203ace50f1a6701dba11a40242
    Reviewed-on: https://chromium-review.googlesource.com/c/1422548
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 77874e2ca3410848d55d5b344bcceefad9a79c36
Author: Tim Van Patten <timvp@google.com>
Date:   Wed Feb 13 09:15:06 2019 -0700

    Vulkan: Reduce Default Descriptor Pool Max Sets
    
    The current value of kDefaultDescriptorPoolMaxSets is 2048, which
    allocates too much memory on a Pixel device, causing Android's low
    memory killer to terminate dEQP (leading to a test failure). This change
    reduces the value of kDefaultDescriptorPoolMaxSets to 128 to reduce the
    memory usage during the test. We suspect a later change may be required
    to dynamically grow the descriptor pools and update the recycling
    behavior.
    
    This change also exposed a bug in the ANGLERenderTest where the swap()
    call was being skipped for null devices. This was causing code that
    ANGLE requires to clean up and re-use resources to be skipped. Enabling
    the swap() call fixes this issue as well as improves performance for
    the test overall. This does make comparing old performance values to new
    difficult (if not entirely incorrect), so take care when doing so.
    
    dEQP-EGL.functional.multicontext.non_shared_clear
    
    Bug: angleproject:3056
    Bug: angleproject:3135
    Change-Id: Ibdfd3a5eb436a7ba4e45002ebef5809afe777af1
    Reviewed-on: https://chromium-review.googlesource.com/c/1470830
    Commit-Queue: Tim Van Patten <timvp@google.com>
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 52047de4d41f6861e35b7073dd180edffd64c540
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Tue Nov 13 17:22:36 2018 -0500

    Vulkan: support instanced draws. (reland)
    
    Enable instanced draws with the Vulkan backend.
    So far it only works when Vulkan has VK_EXT_vertex_attribute_divisor.
    
    BUG=angleproject:2672
    
    Change-Id: Ib6655625776344305911a1a742c85f17638cee8f
    Reviewed-on: https://chromium-review.googlesource.com/c/1469263
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit 0c01e36783b20a0177c653490cb4f8ea4a896075
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Feb 13 21:27:23 2019 +0000

    Revert "Vulkan: Implement debug markers"
    
    This reverts commit 983e446921946734fe47217c345a8fe2f079319d.
    
    Reason for revert: Depends on a CL that's reverted: https://chromium-review.googlesource.com/c/angle/angle/+/1470605
    
    Original change's description:
    > Vulkan: Implement debug markers
    >
    > Covers both GL_KHR_debug and GL_EXT_debug_marker.
    >
    > Debug markers are used to specify events or hierarchically categorize a
    > set of commands within the command buffer.  When debugging, this allows
    > for quicker navigation to the draw calls of interest, and otherwise
    > provides context to debug output.
    >
    > Bug: angleproject:2853
    > Change-Id: Id65e11fc877d9e70b6fd0fae7f0bbbcb1164bf10
    > Reviewed-on: https://chromium-review.googlesource.com/c/1403956
    > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    > Reviewed-by: Geoff Lang <geofflang@chromium.org>
    
    TBR=geofflang@chromium.org,jmadill@chromium.org,syoussefi@chromium.org
    
    Change-Id: I7fcfc8683195d396aec61848719f52c0fa049ece
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:2853
    Reviewed-on: https://chromium-review.googlesource.com/c/1470606
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 3805122b0297b8208ff734a3bcdaa12850b60a00
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Feb 13 21:21:13 2019 +0000

    Revert "Roll Vulkan repos"
    
    This reverts commit 55ea947c3bdd6c0ef68fc4b9ddbda26889f62622.
    
    Reason for revert: Seems to be causing a memory corruption on Windows/Intel bots.
    
    Original change's description:
    > Roll Vulkan repos
    >
    > Bug: angleproject:3095
    > Change-Id: I6ae9d61304981223f9e2f1869ed32612aa38952c
    > Reviewed-on: https://chromium-review.googlesource.com/c/1405714
    > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    > Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    
    TBR=ynovikov@chromium.org,jmadill@chromium.org,syoussefi@chromium.org
    
    Change-Id: I61879770c9bb16ac2231b081bda08e6211ba6831
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:3095
    Reviewed-on: https://chromium-review.googlesource.com/c/1470605
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 6fc22a13d45d59348d71674b11ebdb4444134201
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Fri Feb 1 12:53:01 2019 -0700

    Vulkan: Discard scissored clears where scissor is null
    
    If a clear becomes a no-op because the scissor has a width and height
    of 0, return early and skip the draw.
    This also works around a driver issue on some devices where it was
    ignoring a null scissor and drawing the clear anyway. Found with deqp
    test:
    adb shell am start -n com.drawelements.deqp/android.app.NativeActivity \
        -e cmdLine '"deqp --deqp-case=dEQP-GLES2.functional.color_clear.* \
        --deqp-log-filename=/sdcard/dEQP-Log.qpa"'
    run_angle_end2end_tests --gtest_filter=ClearTest.EmptyScissor/ES2_VULKAN
    
    Bug: angleproject:3114
    Change-Id: I6cf2716bd93bb332f74b44c7250e363c68cc614f
    Reviewed-on: https://chromium-review.googlesource.com/c/1436841
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 983e446921946734fe47217c345a8fe2f079319d
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Jan 18 16:04:50 2019 -0500

    Vulkan: Implement debug markers
    
    Covers both GL_KHR_debug and GL_EXT_debug_marker.
    
    Debug markers are used to specify events or hierarchically categorize a
    set of commands within the command buffer.  When debugging, this allows
    for quicker navigation to the draw calls of interest, and otherwise
    provides context to debug output.
    
    Bug: angleproject:2853
    Change-Id: Id65e11fc877d9e70b6fd0fae7f0bbbcb1164bf10
    Reviewed-on: https://chromium-review.googlesource.com/c/1403956
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 55ea947c3bdd6c0ef68fc4b9ddbda26889f62622
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Jan 10 14:25:29 2019 -0500

    Roll Vulkan repos
    
    Bug: angleproject:3095
    Change-Id: I6ae9d61304981223f9e2f1869ed32612aa38952c
    Reviewed-on: https://chromium-review.googlesource.com/c/1405714
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit d8506c7e247e03df0546a894d4f12b8451e23250
Author: Michael Spang <spang@chromium.org>
Date:   Tue Jan 29 15:35:09 2019 -0500

    Disable broken tests on Fuchsia (reland)
    
    This disables tests that do not work on Fuchsia. Most of them are related
    to cube maps which currently crash inside the intel driver.
    
    Reland disabling -Wextra-semi.
    
    BUG=angleproject:2475, angleproject:3145, angleproject:3081
    TEST=angle_end2end_tests on Fuchsia
    
    Change-Id: I65ad84f43c88e8ee83c581cc2f41046d00bbae7f
    Reviewed-on: https://chromium-review.googlesource.com/c/1467604
    Commit-Queue: Michael Spang <spang@chromium.org>
    Reviewed-by: Michael Spang <spang@chromium.org>

commit 229fc83d68a6e69461984431b49a06753f175d22
Author: Michael Spang <spang@chromium.org>
Date:   Mon Jan 21 18:09:15 2019 -0500

    Vulkan: Port renderer to Fuchsia (reland)
    
    Add DisplayVk and WindowSurfaceVk subclasses for Fuchsia to the vulkan
    renderer, as well as an implementation of OSWindow that renders
    fullscreen for the test suite.
    
    Disallow use of the vulkan loader from third_party as Fuchsia uses a fork
    of the loader and has not sent those changes upstream yet.
    
    Add a small wayland-inspired library libfuchsia-egl to provide a type
    "struct fuchsia_egl_window" to use as EGLNativeWindowType. This type
    combines a zx_handle_t to an image pipe channel and a surface size.
    
    Image pipes can only be used once to create a VkSurfaceKHR. This means we
    have to recreate the pipe in tests that call eglCreateWindowSurface more
    than once with a single OSWindow, or the second call will fail. Add a
    resetNativeWindow() method to accomplish this.
    
    Reland disabling -Wextra-semi.
    
    BUG=angleproject:2475
    TEST=angle_end2end_tests on Fuchsia
    
    Change-Id: Ie91715bcd760c6c04d4b8a02a91daa71e32ee30c
    Reviewed-on: https://chromium-review.googlesource.com/c/1467603
    Commit-Queue: Michael Spang <spang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit eca36cb5fc9032eb9ae07b5c7d2489b53a9266f2
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jan 18 14:03:52 2019 -0500

    Vulkan: Support EGL images sourced from cube maps.
    
    Store an image array offset and source texture type in ImageVk to select the
    correct cube face from the source texture.
    
    BUG=angleproject:2668
    
    Change-Id: I03ad25feccb769c906dd28fb573ec342e7816863
    Reviewed-on: https://chromium-review.googlesource.com/c/1422542
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 341304d8c9ee48be65159482b728a84d9977066c
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Feb 12 20:58:54 2019 +0000

    Revert "Vulkan: support instanced draws."
    
    This reverts commit 199a9f385f5489b957fe1e42bf08f3f40edd38ca.
    
    Reason for revert: Causes a validation error when the extension is not present. See failures here: https://ci.chromium.org/p/chromium/builders/luci.chromium.try/win-angle-rel/693
    
    Original change's description:
    > Vulkan: support instanced draws.
    >
    > Enable instanced draws with the Vulkan backend.
    > So far it only works when Vulkan has VK_EXT_vertex_attribute_divisor.
    >
    > BUG=angleproject:2672
    >
    > Change-Id: I9445ba64282fa00a6eaee207b15efa2c7a9abbd3
    > Reviewed-on: https://chromium-review.googlesource.com/c/1334973
    > Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    
    TBR=fjhenigman@chromium.org,jmadill@chromium.org,syoussefi@chromium.org
    
    Change-Id: Iffccc2cca259bcd19c068a87a415d4e196901f45
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:2672
    Reviewed-on: https://chromium-review.googlesource.com/c/1468201
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit d3fac74a236e5acc44e4f35372f7214eec0c5f16
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Feb 12 13:40:28 2019 -0500

    Disable warnings-as-error in GLSLTest.
    
    This disables the warnings in the FragData test. We were
    getting errors in Debug from the multithreading compile
    implementation.
    
    Bug: chromium:931294
    Change-Id: I6d1424e54335534f794884e40f527b5464113084
    Reviewed-on: https://chromium-review.googlesource.com/c/1465960
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 8edc68e3ff5aa039249f014e2361cb6391a471de
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Tue Feb 12 12:41:01 2019 -0500

    Vulkan: Require Android NDK API level 26, dropping Android N support.
    
    Due to Vulkan Validation Layers breaking Android N backward compatibility.
    See http://crrev/c/1405714
    and https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/623
    
    Bug: angleproject:3095
    Change-Id: I5da306c567cd9a0088149ca9929b38c8ed2cc86a
    Reviewed-on: https://chromium-review.googlesource.com/c/1465954
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 4a298703cdf6e1e399126476dfc138e39af67056
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jan 18 10:49:36 2019 -0500

    Vulkan: Support creating EGL images from non-zero mipmaps of textures.
    
    Store a mip offset in TextureVK to apply to all operations on the ImageHelper.
    
    There is no need to store the mip offset in RenderbufferVk because it creates
    the resource with the mip offset on the call to setStorageEGLImageTarget.
    
    Store a mipmap level in the RenderTargetVk object so that clear operations
    will target the correct mipmap of the image.
    
    BUG=angleproject:2668
    
    Change-Id: Ie976e3dd3a8de8135a7fbb8c84bd51eec0dddce8
    Reviewed-on: https://chromium-review.googlesource.com/c/1422059
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 199a9f385f5489b957fe1e42bf08f3f40edd38ca
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Tue Nov 13 17:22:36 2018 -0500

    Vulkan: support instanced draws.
    
    Enable instanced draws with the Vulkan backend.
    So far it only works when Vulkan has VK_EXT_vertex_attribute_divisor.
    
    BUG=angleproject:2672
    
    Change-Id: I9445ba64282fa00a6eaee207b15efa2c7a9abbd3
    Reviewed-on: https://chromium-review.googlesource.com/c/1334973
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 15335ac436733d28ce6f02f5a904437dbd964d4e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Feb 12 12:11:11 2019 -0500

    Add fuchsia_x64 to commit-queue.cfg.
    
    Also remove cq.cfg since it is no longer used.
    
    Bug: angleproject:3146
    Change-Id: I3c247016e3553a1492072b7c48e2e22ff25578e9
    Reviewed-on: https://chromium-review.googlesource.com/c/1465951
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit c105ddc695643294e21e03c7102c37425a76c53d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Feb 12 10:22:29 2019 -0500

    Add fuchsia_x64 to CQ.
    
    Bug: angleproject:3146
    Change-Id: Iae0ec05ee7c26b5401225fd929b84c303a61ae40
    Reviewed-on: https://chromium-review.googlesource.com/c/1465948
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 356d26c216ed4f6ade423f0e7af6c762f08e0ce8
Author: Ian Elliott <ianelliott@google.com>
Date:   Mon Feb 11 11:27:01 2019 -0700

    Vulkan: Create/use a constant for the highest Vulkan version used.
    
    Bug: angleproject:3036
    Change-Id: Ica056743eed2aa08e96b8a85e693ae70355b52d5
    Reviewed-on: https://chromium-review.googlesource.com/c/1464739
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Ian Elliott <ianelliott@google.com>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit 18b059506119302770424cd4d55e3e28ce1e82c0
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Feb 11 11:41:06 2019 -0500

    Suppress EGLSurfaceTest.SwapInterval on android shield tv
    
    Bug: 930723,angleproject:3144
    Change-Id: Ib5524607ce072c8a37836d56fe5654284443fb49
    Reviewed-on: https://chromium-review.googlesource.com/c/1464080
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit c66fb571be1a1599791a6d96d4055b3b84534a14
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Tue Feb 12 03:56:16 2019 +0000

    Revert "Disable broken tests on Fuchsia"
    
    This reverts commit ad194995ed7228078d5b937dd1eff87c1dcac9c0.
    
    Reason for revert: broke GPU optional bots since the revert of its previous CL
    
    Original change's description:
    > Disable broken tests on Fuchsia
    >
    > This disables tests that do not work on Fuchsia. Most of them are related
    > to cube maps which currently crash inside the intel driver.
    >
    > BUG=angleproject:2475, angleproject:3145, angleproject:3081
    > TEST=angle_end2end_tests on Fuchsia
    >
    > Change-Id: Ifc0be390c6d5c43a756e1afb6ced9e3bd5b6986e
    > Reviewed-on: https://chromium-review.googlesource.com/c/1446497
    > Commit-Queue: Michael Spang <spang@chromium.org>
    > Reviewed-by: Geoff Lang <geofflang@chromium.org>
    
    TBR=spang@chromium.org,geofflang@chromium.org,jmadill@chromium.org
    
    Change-Id: Id1861ee94b89020bcd64dd8e7e52588b76830783
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:2475, angleproject:3145, angleproject:3081
    Reviewed-on: https://chromium-review.googlesource.com/c/1465881
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Commit-Queue: Zhenyao Mo <zmo@chromium.org>

commit 3f0ff409c7f98fd34ef9aa26f60bc32e5adfea13
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Feb 12 03:08:51 2019 +0000

    Revert "Vulkan: Port renderer to Fuchsia"
    
    This reverts commit 991d1cfb5e5a2f20a46961da3ad85b95da30b88a.
    
    Reason for revert: Failing compile on the fuchsia bots on the ANGLE
    auto-roller.
    
    https://ci.chromium.org/p/chromium/builders/luci.chromium.try/fuchsia_x64/209198
    
    In file included from ../../third_party/angle/util/fuchsia/ScenicWindow.cpp:10:
    In file included from ../../third_party/angle/util/fuchsia/ScenicWindow.h:13:
    In file included from gen/third_party/fuchsia-sdk/sdk/fidl/fuchsia/ui/policy/cpp/fidl.h:5:
    In file included from ../../third_party/fuchsia-sdk/sdk/pkg/fidl_cpp/include/lib/fidl/cpp/internal/header.h:12:
    ../../third_party/fuchsia-sdk/sdk/pkg/fit/include/lib/fit/function.h:135:6: error: extra ';' after member function definition [-Werror,-Wextra-semi]
        };
         ^
    1 error generated.
    
    Original change's description:
    > Vulkan: Port renderer to Fuchsia
    >
    > Add DisplayVk and WindowSurfaceVk subclasses for Fuchsia to the vulkan
    > renderer, as well as an implementation of OSWindow that renders
    > fullscreen for the test suite.
    >
    > Disallow use of the vulkan loader from third_party as Fuchsia uses a fork
    > of the loader and has not sent those changes upstream yet.
    >
    > Add a small wayland-inspired library libfuchsia-egl to provide a type
    > "struct fuchsia_egl_window" to use as EGLNativeWindowType. This type
    > combines a zx_handle_t to an image pipe channel and a surface size.
    >
    > Image pipes can only be used once to create a VkSurfaceKHR. This means we
    > have to recreate the pipe in tests that call eglCreateWindowSurface more
    > than once with a single OSWindow, or the second call will fail. Add a
    > resetNativeWindow() method to accomplish this.
    >
    > BUG=angleproject:2475
    > TEST=angle_end2end_tests on Fuchsia
    >
    > Change-Id: I71a613a362dd1c8aada49a3c02ae461e064457bf
    > Reviewed-on: https://chromium-review.googlesource.com/c/1446496
    > Commit-Queue: Michael Spang <spang@chromium.org>
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    
    TBR=spang@chromium.org,geofflang@chromium.org,jmadill@chromium.org,syoussefi@chromium.org
    
    Change-Id: I2d9abefa9db5363ba63a17c1773d0e147040d055
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:2475
    Reviewed-on: https://chromium-review.googlesource.com/c/1465761
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit ad194995ed7228078d5b937dd1eff87c1dcac9c0
Author: Michael Spang <spang@chromium.org>
Date:   Tue Jan 29 15:35:09 2019 -0500

    Disable broken tests on Fuchsia
    
    This disables tests that do not work on Fuchsia. Most of them are related
    to cube maps which currently crash inside the intel driver.
    
    BUG=angleproject:2475, angleproject:3145, angleproject:3081
    TEST=angle_end2end_tests on Fuchsia
    
    Change-Id: Ifc0be390c6d5c43a756e1afb6ced9e3bd5b6986e
    Reviewed-on: https://chromium-review.googlesource.com/c/1446497
    Commit-Queue: Michael Spang <spang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 991d1cfb5e5a2f20a46961da3ad85b95da30b88a
Author: Michael Spang <spang@chromium.org>
Date:   Mon Jan 21 18:09:15 2019 -0500

    Vulkan: Port renderer to Fuchsia
    
    Add DisplayVk and WindowSurfaceVk subclasses for Fuchsia to the vulkan
    renderer, as well as an implementation of OSWindow that renders
    fullscreen for the test suite.
    
    Disallow use of the vulkan loader from third_party as Fuchsia uses a fork
    of the loader and has not sent those changes upstream yet.
    
    Add a small wayland-inspired library libfuchsia-egl to provide a type
    "struct fuchsia_egl_window" to use as EGLNativeWindowType. This type
    combines a zx_handle_t to an image pipe channel and a surface size.
    
    Image pipes can only be used once to create a VkSurfaceKHR. This means we
    have to recreate the pipe in tests that call eglCreateWindowSurface more
    than once with a single OSWindow, or the second call will fail. Add a
    resetNativeWindow() method to accomplish this.
    
    BUG=angleproject:2475
    TEST=angle_end2end_tests on Fuchsia
    
    Change-Id: I71a613a362dd1c8aada49a3c02ae461e064457bf
    Reviewed-on: https://chromium-review.googlesource.com/c/1446496
    Commit-Queue: Michael Spang <spang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 6b695c3ffb27ad1df71f4f1682dc7a1d8adc9f31
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sun Feb 10 10:02:33 2019 -0500

    Vulkan: Enable WebGLCompatiblityTest.
    
    Contains several useful tests including some that cover bugs with
    compressed texture support. And some uses of CopyTexImage.
    
    Bug: angleproject:2904
    Bug: angleproject:2914
    Change-Id: I90398ce2c513ace07cb9d414cd9a65c79e63aadb
    Reviewed-on: https://chromium-review.googlesource.com/c/1462058
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 00f43c91358f94606693d7ac96fb34747561775a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Feb 9 11:41:12 2019 -0500

    Vulkan: Suppress layer warnings about unbound outputs.
    
    This warning could pop up whenever an OpenGL app would write
    to a particular output and not bind an attachment. This is
    valid in OpenGL. Also it could happen when writing to
    gl_FragData instead of gl_FragColor. Since it's hard to fix
    every usage we can just suppress the warning.
    
    Also adds a way to change test platform warnings into errors.
    
    Bug: angleproject:2866
    Change-Id: I9793f58121ac848d74d6b0131e79ebab2c70f45c
    Reviewed-on: https://chromium-review.googlesource.com/c/1462057
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 54ed8f0acea2f49c35acb0e5e132a1ea316fce79
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Feb 11 12:32:04 2019 -0500

    Vulkan: Fix UtilsVk invalidating Context descriptors.
    
    Fixes a validation error and rendering artifact in the WebGL test:
    textures/misc/tex-image-and-sub-image-2d-with-array-buffer-view
    
    Only applies to masked clears when combined with draw calls using
    uniforms or textures.
    
    Also make it easier to inspect layer messages in the debugger.
    
    Bug: angleproject:2912
    Change-Id: I4561895439221581b9dbc341d6de5d5a6c2096aa
    Reviewed-on: https://chromium-review.googlesource.com/c/1462056
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 3571ad49e3ccbac151cabe2cf7a129d453d12bd9
Author: Tobin Ehlis <tobine@google.com>
Date:   Wed Feb 6 12:24:19 2019 -0700

    Vulkan:Adding Cmd Buffer Reset tests
    
    Resetting cmd buffers in various ways to understand VK driver perf on
    various devices.
    
    Also includes some changes to get the chromium APK wrapper for
    angle_white_box_perftests compiling.
    
    Bug: angleproject:3137
    Change-Id: I56bd163cdd6605ce09effe509a9c7ac5e0008e7a
    Reviewed-on: https://chromium-review.googlesource.com/c/1456482
    Commit-Queue: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 0a87f08d44d6a05e3bc1978f69372aeaf3f4905f
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Mon Feb 11 11:19:17 2019 -0500

    Vulkan: make GenerateCaps a member of RendererVk.
    
    Instead of passing lots of RendererVk member variables into
    GenerateCaps(), do the work in a member function.
    
    BUG=angleproject:2672
    
    Change-Id: Icf16f3388174ddb676272ec0fa76a288ce2d1e4e
    Reviewed-on: https://chromium-review.googlesource.com/c/1463959
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit 0029dfe28cf4ed9e6fa0928a632063f4b72b63f1
Author: Michael Spang <spang@chromium.org>
Date:   Fri Feb 8 18:45:07 2019 -0500

    Vulkan: Respect EGL_HEIGHT & EGL_WIDTH in SurfaceVk
    
    If currentExtent is unspecified and EGL_WIDTH & EGL_HEIGHT are provided,
    we'll use a surface size of 0xFFFFFFFF. That's not going to work and
    appears to be a typo. Use the size specified in EGL_WIDTH & EGL_HEIGHT
    instead.
    
    BUG=angleproject:2475
    TEST=angle_end2end_tests on Fuchsia with an earlier version of
      CL 1446496 PS12. It is N/A with later patches.
    
    Change-Id: I7e67b2c796318bed512dd6d5d22ef2183916416d
    Reviewed-on: https://chromium-review.googlesource.com/c/1461637
    Commit-Queue: Michael Spang <spang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit fe59f6b5ed2b1bc72f587c7ad86bf8af6b5bc441
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jan 16 09:34:30 2019 -0500

    Vulkan: Implement EGL Images for 2D and Renderbuffer sources.
    
    No support for non-zero mipmaps as sources yet.
    
    Suppress dEQP tests due to apparent driver bugs with scissored clears on depth
    or stencil attachments.
    
    BUG=angleproject:2668
    
    Change-Id: Idaa5e70ce9b0c91232fbb989cbf4de1b9134aafb
    Reviewed-on: https://chromium-review.googlesource.com/c/1415010
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit abf6dbbb107b3487480422b6ce37e9662cb8f302
Author: Michael Spang <spang@chromium.org>
Date:   Fri Feb 8 13:24:10 2019 -0500

    Disable MultithreadingTest on Vulkan
    
    This test applies to the OpenGL ES renderer only. Vulkan-only builds fail
    this tests because EGL_ANGLE_platform_angle_context_virtualization isn't
    provided.
    
    BUG=angleproject:2475
    TEST=angle_end2end_tests on Fuchsia
    
    Change-Id: I4668d88a43a707cf385c78a0582a81cfd722ec90
    Reviewed-on: https://chromium-review.googlesource.com/c/1461636
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 75d577fbf8012bccf8654b0bc8223ad19595b819
Author: Natasha Lee <natlee@microsoft.com>
Date:   Mon Feb 4 16:28:28 2019 -0800

    Fixed Bug where array initialized with same name of
    previously declared variable fails on DirectX.
    
    Combined user defined variables with their unique ids to avoid
    overwriting same name variables of different scope.
    
    Bug: angleproject:2126
    Change-Id: If9ad9e48f629d83b105d43ee28a50b8176d0e0a1
    Reviewed-on: https://chromium-review.googlesource.com/c/1456484
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>

commit 238c19e1a27b63e67d87a64023750e28c202cb7f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Feb 7 09:09:41 2019 -0500

    Add fuzzer for xxHash.
    
    Local testing did not turn up any crashes.
    
    Bug: angleproject:2983
    Change-Id: I5e87ed0768e5bc4454c1a896f96d09ddd92baf44
    Reviewed-on: https://chromium-review.googlesource.com/c/1458656
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 38833111fe72cd3c5350951b556bd13cf8a09f2a
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Feb 6 16:19:49 2019 -0500

    Vulkan: implement eglSwapInterval
    
    Uses FIFO with interval 1 and mailbox/immediate with interval 0 (with a
    fallback to FIFO).  An end2end test is added to make sure the present
    mode is correctly set.
    
    Bug: angleproject:2932
    Change-Id: I45d2b1e551b5c63c42ca3c8964bd5e62abd2d459
    Reviewed-on: https://chromium-review.googlesource.com/c/1456622
    Reviewed-by: Ian Elliott <ianelliott@google.com>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 3e01a518099e992b9928c03386186f43d744b7df
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Feb 8 15:53:29 2019 -0500

    Make .gni files always use LF endings.
    
    This saves a lot of spam about dirty git formatting when changing
    .gni files.
    
    Bug: angleproject:3139
    Change-Id: I244d5254ac6bd7bd1a7bedac5c34bd141fe0b9c0
    Reviewed-on: https://chromium-review.googlesource.com/c/1460611
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 2b0553ce59c368b6f3e0c4a10a058f8f1addf35c
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Fri Feb 8 10:07:21 2019 -0500

    Implement EXT_instanced_arrays
    
    Bug: angleproject:3015
    Change-Id: Ib01cc5e0df6db27981cb843a6bd386de5d10c2db
    Reviewed-on: https://chromium-review.googlesource.com/c/1452740
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit d058774b0ae3550758bdd439ad88a58829d5c999
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Feb 8 13:32:10 2019 -0500

    Refine Ozone suppression.
    
    It's possible that IsOpenGLES doesn't work SurfaceTest. Also there was a
    second failing test that should be skipped.
    
    Bug: angleproject:3138
    Change-Id: I5950819c343ce1413f4617c4c410aaba42b5a268
    Reviewed-on: https://chromium-review.googlesource.com/c/1459602
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit f256339a19591e6a9286ba306d667cbb6c3c9a4d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jan 15 09:50:44 2019 -0500

    Vulkan: Implement eglBindTexImage
    
    Now that vk::ImageHelper is stored as a pointer, it can be shared between an
    offscreen surface and texture.
    
    BUG=angleproject:3073
    
    Change-Id: I91e520259106eef497950b8b2e622fbf910f7444
    Reviewed-on: https://chromium-review.googlesource.com/c/1412234
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 82e12fd6cc0777db72a45acbb3390934418b22d7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Feb 8 12:10:36 2019 -0500

    Use github link to SVG example image in docs.
    
    It seems like there isn't a way to reference a local SVG in gitiles.
    We'd need to upload the image to cloud storage. Instead we can use
    the image in the repo if we link to the github version.
    
    Bug: angleproject:3002
    Change-Id: Ib1879d562e83ae16f531b204ca86cb73d45c5bb8
    Reviewed-on: https://chromium-review.googlesource.com/c/1459600
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 4103ceacac3e5d99dd1a5d3d3139767ee6ddf49d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Feb 8 09:52:01 2019 -0500

    Fix link to example in Dirty Bits docs.
    
    Bug: angleproject:3002
    Change-Id: Ice785dc13b62879b4ec74ec8374d16eb88c5b257
    Reviewed-on: https://chromium-review.googlesource.com/c/1459598
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit df3372b9b7dd2dd37ac2aee91c9137b73b6a0c41
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Feb 7 15:46:29 2019 -0500

    Add markdown documentation for dirty bits.
    
    Bug: angleproject:3002
    Change-Id: I35df4e9f2af909f175402ce96773afb885bce595
    Reviewed-on: https://chromium-review.googlesource.com/c/1455536
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit e03498f2d25ae2c196cff80cef0ee0aa9796a4d1
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Thu Nov 22 21:27:29 2018 -0500

    Increase instanced draw testing.
    
    Fill some gaps in the ANGLE end2end instanced draw test.
    The only testing of points was on D3D11 and D3D11_FL9_3.
    There was little testing of number of instances and different divisors.
    
    Remove old one-off tests which are now redundant.
    
    Disable the D3D11_FL9_3 points test which was passing purely by chance.
    That code has bugs and only supports data from a buffer, while the
    test uses data in client memory.
    
    BUG=angleproject:2672
    
    Change-Id: I5b5707a6fdd0960e81c25a2eb8ed96a1452d9868
    Reviewed-on: https://chromium-review.googlesource.com/c/1450789
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit cd4f1fbaabce8edb9e0cbe04c5bd976c65fa776b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Feb 7 15:26:10 2019 -0500

    Fix gtest main from including the wrong headers.
    
    We would accidentally propagate include directories to the test
    main target. This would show up as compile errors of the form:
    
    In file included from ../../third_party/angle/testing/gtest/include/gtest/gtest.h:10:
    ../../third_party/angle/third_party/googletest/src/googletest/include/gtest/gtest.h:303:22: error: no member named 'ImplicitlyConvertible' in namespace 'testing::internal'
              !internal::ImplicitlyConvertible<T, AssertionResult>::value>::type*
               ~~~~~~~~~~^
    
    This fixes the GN properties such that we no longer get the wrong
    /testing/ and /third_party/googletest/ directories included. This
    regressed when glslang was rolled.
    
    Bug: angleproject:3088
    Change-Id: I710f767cfe476454c10dacf2103b9203f1b5ee19
    Reviewed-on: https://chromium-review.googlesource.com/c/1459596
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 2c94c1e3b8fd036355c2407e035eed040cd07b24
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Feb 7 17:10:32 2019 -0500

    Suppress EGLSurfaceTest.MessageLoopBugContext on Ozone.
    
    Bug: angleproject:3138
    Change-Id: If82467a0ab98d2b2f77337be41b33ee817e44e58
    Reviewed-on: https://chromium-review.googlesource.com/c/1459597
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 6c13c70c1ceb12906e9f15b756935aac36e3298c
Author: Michael Spang <spang@chromium.org>
Date:   Wed Feb 6 15:59:44 2019 -0500

    Vulkan: Enumerate instance & device extensions provided by layers
    
    Add instance & device extensions provided by layers prior to running
    VerifyExtensionsPresent() so that we won't abort when required extensions
    are provided in a layer. This happens particularly on Fuchsia as the
    swapchain extension is implemented in a layer.
    
    BUG=angleproject:2475
    TEST=angle_end2end_tests on Fuchsia
    
    Change-Id: I30385dfe55b14783a20d1410f1209d3e3ad10632
    Reviewed-on: https://chromium-review.googlesource.com/c/1456487
    Reviewed-by: Ian Elliott <ianelliott@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Commit-Queue: Michael Spang <spang@chromium.org>

commit a07c9bf757782caabf50ef500bf14c186836ef30
Author: Tim Van Patten <timvp@google.com>
Date:   Thu Feb 7 19:10:15 2019 +0000

    Revert "Vulkan: Reduce Default Descriptor Pool Max Sets"
    
    This reverts commit 1f8132a1da6e3752c08c5a2b1840e4d6fa44a52f.
    
    Reason for revert: anglebug.com/3135
    
    Bug: angleproject:3135
    
    Original change's description:
    > Vulkan: Reduce Default Descriptor Pool Max Sets
    >
    > The current value of kDefaultDescriptorPoolMaxSets is 2048, which
    > allocates too much memory on a Pixel device, causing Android's low
    > memory killer to terminate dEQP (leading to a test failure). This change
    > reduces the value of kDefaultDescriptorPoolMaxSets to 128 to reduce the
    > memory usage during the test. We suspect a later change may be required
    > to dynamically grow the descriptor pools and update the recycling
    > behavior.
    >
    > dEQP-EGL.functional.multicontext.non_shared_clear
    >
    > Bug: angleproject:3056
    > Change-Id: I8a681b509823956a58d6c08f64a23203458e075e
    > Reviewed-on: https://chromium-review.googlesource.com/c/1454280
    > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    > Commit-Queue: Tim Van Patten <timvp@google.com>
    
    TBR=jmadill@chromium.org,timvp@google.com,syoussefi@google.com,syoussefi@chromium.org
    
    # Not skipping CQ checks because original CL landed > 1 day ago.
    
    Bug: angleproject:3056
    Change-Id: Iff950425141eb5028c3660ba0567a9d29e691604
    Reviewed-on: https://chromium-review.googlesource.com/c/1459256
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tim Van Patten <timvp@google.com>

commit ab5acbd5134fdd7beb3265f226bbfed462fd26b3
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Jan 23 13:58:09 2019 -0500

    Vulkan: implement swapchain resizing
    
    Vulkan allows a swapchain to be created based off of an older swapchain
    that's still presenting, to support seamless window resizing.  The old
    swapchain will remain alive (though no image can be acquired from it)
    and automatically cleaned once no image is being presented from it.
    
    The retired swapchain can be destroyed once all operations on its images
    are completed.  We store the old swapchain next to the serial of
    submission that's used for CPU throttling and defer the destroy call
    until after `finishToSerial` for that serial is called.
    
    Bug: angleproject:2942
    Change-Id: Ic62a5a57b712ffa2b087f5fecde0dc8942194075
    Reviewed-on: https://chromium-review.googlesource.com/c/1435634
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 088e521769f96374d7099dcc84ce998b42148fef
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Feb 6 17:07:57 2019 -0500

    Vulkan: Suppress flaky test on Nexus5X
    
    Bug: angleproject:3124
    Change-Id: Idfcd84f92126eb7548f86f8c327887a34e3218a9
    Reviewed-on: https://chromium-review.googlesource.com/c/1457025
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 603ad164a6fcfac0fce282c604b292db5046b870
Author: Lingfeng Yang <lfy@google.com>
Date:   Tue Dec 4 07:34:23 2018 -0800

    GLES1: dirty bit pass
    
    This CL introduces a coarse layer of dirty bits and on-demand sending of
    some uniforms to the underlying driver, instead of sending all uniforms
    every draw, which should improve performance in cases where not much is
    changing between draws.
    
    BUG=angleproject:2306
    
    Change-Id: I530515dfad2e4be74c73d8659acd4fe5decaa8b0
    Reviewed-on: https://chromium-review.googlesource.com/c/1361222
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Lingfeng Yang <lfy@google.com>

commit f9cc785c3f6a9461771ba011ca438e7a28caa728
Author: Cody Northrop <cnorthrop@google.com>
Date:   Wed Feb 6 07:59:45 2019 -0700

    Docs: Add glmark2 instructions for Android
    
    Bug: angleproject:3125
    Change-Id: I0d185ad70b960d0c3bff971eb6658893b308352d
    Reviewed-on: https://chromium-review.googlesource.com/c/1456481
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Cody Northrop <cnorthrop@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 352186329493a9ba931b8f89b95d514019fb80b2
Author: Michael Spang <spang@chromium.org>
Date:   Wed Feb 6 13:05:21 2019 -0500

    Vulkan: Move vulkan config target to $angle_root:vulkan_config
    
    This will allow us to avoid loading the build file for
    //third_party/vulkan-validation-layers on Fuchsia, since we don't want to
    build the validation layers on that platform.
    
    BUG=angleproject:2475
    TEST=angle_end2end_tests on Fuchsia (with full series)
    
    Change-Id: Ifeb67125f5fcebf2b30ae18b760667ba7c56e4d5
    Reviewed-on: https://chromium-review.googlesource.com/c/1456479
    Commit-Queue: Michael Spang <spang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 36433590bde32f877aec360a3ed3bd8be0940ce7
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Wed Feb 6 10:45:44 2019 -0500

    Fix ShCompileTest.DecimalSepLocale failing on Linux/AMD
    
    Bug: angleproject:3132
    Change-Id: I4bbaaab732cd64e6f2f44d6a09a236533a1abc20
    Reviewed-on: https://chromium-review.googlesource.com/c/1456616
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

commit 740db7fd279529530019546457f048f06f4fbc8e
Author: Michael Spang <spang@chromium.org>
Date:   Wed Feb 6 09:40:13 2019 -0500

    Vulkan: Add support for loading layers from DisplayVk
    
    Fuchsia needs a layer to support VK_KHR_swapchain. Add the ability for
    DisplayVk subclasses to request a layer in addition to an extension.
    
    BUG=angleproject:2475
    TEST=angle_end2end_tests on Fuchsia
    
    Change-Id: If86c773d4bd4ebecaee4b1631d3d4975105fe849
    Reviewed-on: https://chromium-review.googlesource.com/c/1456478
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit eb47e2c4bd0870923ca7965d0bf54654a4813b05
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Feb 5 16:26:41 2019 -0500

    Vulkan: improve calculation of swapchain image count
    
    Based on present mode, different values for the image count make sense.
    In mailbox mode, the driver will increase the number as necessary.  In
    immediate mode, two buffers suffice.  In fifo mode, we would ideally
    want triple-buffering.
    
    Bug: angleproject:2932
    Change-Id: I45eec83d0292eea472b931fe81e49cde6d105c27
    Reviewed-on: https://chromium-review.googlesource.com/c/1454290
    Reviewed-by: Ian Elliott <ianelliott@google.com>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit bf5dbd8d67feb3e1eaa939ac24839fbc414cc611
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Feb 5 16:41:41 2019 -0500

    Skip WhitelistMatchesSupport test on Android.
    
    Seems to have issues with stranger configs like the Sheild TV.
    
    Bug: angleproject:2286
    Change-Id: I12d0dedeee9fbaaecb7341d376200a1afc758f12
    Reviewed-on: https://chromium-review.googlesource.com/c/1454331
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 5f662c0042703344eb0eef6d1c123e902e3aefbf
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Thu Jan 31 13:53:59 2019 -0500

    Fix unit test for setting locale creating malformed HLSL shader code
    Fix malformed HLSL shader code in other locales than classic
    
    Bug: angleproject:1433
    Change-Id: I30bad0bd0cfda465ec7200e48e12800d7d8efd26
    Reviewed-on: https://chromium-review.googlesource.com/c/1447862
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

commit 1f8132a1da6e3752c08c5a2b1840e4d6fa44a52f
Author: Tim Van Patten <timvp@google.com>
Date:   Tue Feb 5 10:20:24 2019 -0700

    Vulkan: Reduce Default Descriptor Pool Max Sets
    
    The current value of kDefaultDescriptorPoolMaxSets is 2048, which
    allocates too much memory on a Pixel device, causing Android's low
    memory killer to terminate dEQP (leading to a test failure). This change
    reduces the value of kDefaultDescriptorPoolMaxSets to 128 to reduce the
    memory usage during the test. We suspect a later change may be required
    to dynamically grow the descriptor pools and update the recycling
    behavior.
    
    dEQP-EGL.functional.multicontext.non_shared_clear
    
    Bug: angleproject:3056
    Change-Id: I8a681b509823956a58d6c08f64a23203458e075e
    Reviewed-on: https://chromium-review.googlesource.com/c/1454280
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Tim Van Patten <timvp@google.com>

commit 4a41914be6e6d7766f350caf069c45cad08cf5e6
Author: Tobin Ehlis <tobine@google.com>
Date:   Tue Feb 5 08:50:30 2019 -0700

    Vulkan: Add trace markers
    
    Add systrace markers for various RendererVk::finish paths in order to
    quickly identify cause of finishes. Also added marker to commandPool
    destroy which is currently a known hotspot on some devices.
    
    Bug: angleproject:2528
    Change-Id: I5a2fc741679a58445d71a2edd6204cf9e869d236
    Reviewed-on: https://chromium-review.googlesource.com/c/1454277
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit e1a763d152a59e266cb2b34014d7505ef96bf789
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Jan 25 15:43:33 2019 -0500

    Vulkan: Implement basic barrier perf test
    
    There's a lot more that can go into this perf test, but it requires
    further work on the Vulkan back end.
    
    Bug: angleproject:2999
    Change-Id: Iea62bfd09639af108674dcf0a9e7c9d36ccddcef
    Reviewed-on: https://chromium-review.googlesource.com/c/1437734
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit e923a63e312d7869c5c7642693e944ae91389f77
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Feb 5 08:32:33 2019 -0500

    Move ozone detection earlier in white list.
    
    Apparently IsOzone and IsLinux can both be true at the same time. This was
    confounding the config detection.
    
    Bug: angleproject:2286
    Bug: chromium:928583
    Change-Id: Ifd28242f396fd97447720b0c11caf8c1590f7222
    Reviewed-on: https://chromium-review.googlesource.com/c/1454319
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit d01c504e0c185ab2afa53dce85f9d0a6a31d761e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Feb 4 21:52:09 2019 -0500

    Fix issues with config whitelisting.
    
    The Android Shield TV confing was not properly initializing on ES1/Vulkan.
    Also Ozone configs were failing to initialize ES 3.0 contexts.
    
    Bug: angleproject:2286
    Bug: chromium:928583
    Change-Id: I7e54cdd1bf29791dffee3c70f7ebd3a1283eb5c4
    Reviewed-on: https://chromium-review.googlesource.com/c/1453480
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 9bb59c5c032e3c929cfa36f585b1621ce8ff2d1f
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Fri Jan 25 11:46:24 2019 -0700

    Do not call eglMakeCurrent with invalid parameters
    
    When releasing the thread only call makeCurrent if we have a display
    to use. Calling with EGL_NO_DISPLAY is not valid (though some devices
    allow it.)
    
    Bug: angleproject:3102
    
    Change-Id: I2cf48011294d0264d3b1cb0318a2a80715e37f60
    Reviewed-on: https://chromium-review.googlesource.com/c/1436840
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>

commit 7085305f6eda7d0a277b6c59fd6f4250d8d6f9da
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Feb 4 17:47:04 2019 -0500

    Use whitelist to filter test configs.
    
    Before we would try all the configs and filter those which fail to
    init. Now we gather the System Info and if successful check a list of
    supported configs. If System Info init fails we fall back to the prior
    method.
    
    This speeds up end2end tests init. It also allows for more reliable
    profile captures with VTune. It also will cause a test failure if a
    config unexpectedly fails. Previously we would silently pass without
    running the config's test. Includes a few changes:
    
     * D3D reference tests are disabled. They don't appear to be working.
     * Mac ES 3.1 is disabled due to lack of support.
     * WGL on AMD Windows is disabled due to lack of ES compatibility.
     * ES 3.2 contexts are explicitly disabled.
     * Vulkan is limited to ES 2.0.
     * The Windows GLES back-end is limited to NVIDIA with ES 2.0 & 3.0.
     * A unit test that verifies the whitelist matches availability.
    
    Bug: angleproject:2472
    Change-Id: Ib72214bfbbff13c124fa15a6494d0aabb52f2e62
    Reviewed-on: https://chromium-review.googlesource.com/c/1436168
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 7dafe3eb69bd2aab38e97abd248d33b1ebf14a8d
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Jan 28 11:39:15 2019 -0500

    Vulkan: optimize image memory barriers
    
    Each image was tracking its current layout, but not the pipeline stage
    it was used.  Additionally, the barrier access masks were inferred from
    the layout.  This incurred two inefficiencies:
    
    - The src pipeline stage mask often included all stages, causing
      unnecessarily heavy barriers.
    - The access masks included all possible accesses by a layout, which in
      some cases was overkill, like VK_ACCESS_MEMORY_WRITE_BIT for
      VK_IMAGE_LAYOUT_GENERAL (which will eventually used for compute shader
      output).
    
    This change instead creates an enum where each element represents the
    layout, the stage and access masks when transitioning into the layout
    and the stage and access masks when transitioning out of that layout.
    The image will instead track a value of this enum (instead of
    VkImageLayout), which allows it to create the layout transition barriers
    as tight as possible, since it includes all the necessary information.
    
    Bug: angleproject:2999
    Change-Id: I91535ce06d10530a6fc217ad3b94b7e288521e25
    Reviewed-on: https://chromium-review.googlesource.com/c/1440074
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit f3e823db548ef6242b32893a4bd9254ed0708c42
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jan 14 12:40:34 2019 -0500

    Vulkan: Store ImageHelper as a pointer in TextureVk and RenderbufferVk
    
    Storing ImageHelper as a pointer allows the storage to be swapped or shared
    with other objects.
    
    BUG=angleproject:2668
    
    Change-Id: I2e51f24737be59ffe9f472e9b0b592774a792cd1
    Reviewed-on: https://chromium-review.googlesource.com/c/1409404
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit eb67ca6e2daaeaa08acc9c88cdb2d23b245c23e3
Author: Ian Elliott <ianelliott@google.com>
Date:   Mon Feb 4 11:18:54 2019 -0700

    Improve EGLRecordableTest
    
    The initial implementation called eglInitialize() and eglTerminate()
    and didn't call ANGLETest::TearDown().
    
    BUG=angleproject:2511
    
    Change-Id: I563a84a72fe9bd20739519301023062f85446557
    Reviewed-on: https://chromium-review.googlesource.com/c/1452529
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit 08f8fa669347d9a0f8db089ba5eda6efbf8771ee
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jan 10 14:25:47 2019 -0500

    Vulkan: Merge the PixelBuffer logic into ImageHelper.
    
    To support EGL images efficiently, the pixel buffer needs to be tightly coupled
    with the image it will upload data to allowing textures to upload data to EGL
    images sourced from renderbuffers.  The data will be uploaded to the image in
    the correct order if it comes from multiple sources and the check for pending
    uploads does not need to traverse EGL image siblings.
    
    BUG=angleproject:2668
    
    Change-Id: Iebf59ed1e358ddc76843b8bcfac39b0363f66a3f
    Reviewed-on: https://chromium-review.googlesource.com/c/1405710
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 9544002ee1722f0cd78258a71f81ec46ec85f9dd
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Feb 1 16:36:09 2019 -0500

    Add instructions on how to run glmark2+ANGLE on Linux
    
    Bug: angleproject:3125
    Change-Id: I70d295d7ec1dbafc74add068165c5fbcadb48560
    Reviewed-on: https://chromium-review.googlesource.com/c/1450222
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d94af1736d9836b83576e2475f7c38d3e3191046
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Feb 1 15:55:50 2019 -0500

    Vulkan: Store xcb visual id/type in egl::Config
    
    glmark2 uses the visual id, which is discarded in angle.  This change
    retrieves these ids from X11 and stores them in the egl::Config.
    
    Bug: angleproject:3125
    Change-Id: I2b524ecb71d675efa01cc9100a3dfe6fd57913f0
    Reviewed-on: https://chromium-review.googlesource.com/c/1450221
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 52d861bd49cc29fa19ae03c248cad122d77f4703
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Sat Feb 2 00:30:58 2019 -0500

    Disable -Wextra-semi-stmt
    
    Due to bot build failures.  Partially reverts:
    
    c09ae15c0: Enable -Wextra-semi and -Wextra-semi-stmt.
    
    TBR=jmadill@chromium.org
    
    Bug: angleproject:3128
    Change-Id: Ia3725e57d28cd899db59e1d8e760ad8ca3d5f70c
    Reviewed-on: https://chromium-review.googlesource.com/c/1450659
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 3d6e3004f037ee0206683fae5cc9b695650d274c
Author: Ian Elliott <ianelliott@google.com>
Date:   Fri Feb 1 15:43:59 2019 -0700

    Implement EGL_ANDROID_recordable for Vulkan back-end.
    
    This initial implementation provides the extension, and always answers
    that the ANativeWindow is not recordable.
    
    BUG=angleproject:2511
    
    Change-Id: Id3c57351dd1029bff7adf7166f9c82eee6e634b3
    Reviewed-on: https://chromium-review.googlesource.com/c/1412507
    Commit-Queue: Ian Elliott <ianelliott@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit d4c09dd3286c5b4716ee5dd60837532d6b7ddc7f
Author: Jonah Ryan-Davis <jonahr@google.com>
Date:   Tue Jan 29 11:22:54 2019 -0500

    Fix unnecessary copy of for loop variables in ANGLE
    
    Bug: angleproject:3075
    Change-Id: I34dd5d4ecded6def5a2b46369277312af0de7c8c
    Reviewed-on: https://chromium-review.googlesource.com/c/1443572
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>

commit 65cd76a752aaa70017c6ac838a7fa2bb685fbdcc
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Feb 1 10:31:58 2019 -0500

    Use env variable to select default backend
    
    This is useful for situations where angle is substituted for the system
    library underneath an application oblivious to this change.  The
    ANGLE_DEFAULT_PLATFORM variable is used when the display type is default
    to control the default back-end.  Possible values are vulkan, gl and
    d3d11.  If the value of this variable is not valid, or not supported by
    the current platform, the usual defaults are applied.
    
    Bug: angleproject:3125
    Change-Id: I304b006e0a4149f78561038d01cede143640dafb
    Reviewed-on: https://chromium-review.googlesource.com/c/1450211
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit c09ae15c08cf821f5cb8333a487b6dfb54ee0e16
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Feb 1 14:16:32 2019 -0500

    Enable -Wextra-semi and -Wextra-semi-stmt.
    
    This will prevent users from accidentally making semicolon errors in
    the future.
    
    Bug: chromium:926235
    Change-Id: I79a6fa376fb1ad8f0fcf1b65b1f572a035d1f4e9
    Reviewed-on: https://chromium-review.googlesource.com/c/1446493
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nico Weber <thakis@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 91d469aae06381ec1608975536a81288fa119df3
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Aug 27 10:47:25 2018 -0400

    Initial support for compiler AST validation
    
    This is to be able to catch issues introduced through AST manipulation
    earlier than shader compilation time, improving debuggability.
    
    Bug: angleproject:2733
    Change-Id: Ic57bc72f2ab438e60f32553d602074f3d72cc4f5
    Reviewed-on: https://chromium-review.googlesource.com/c/1199922
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit b7b0feaf346ceaba4c060383408fa5e3a0b17b56
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Feb 1 08:43:55 2019 -0500

    Roll glslang.
    
    Includes a fix for the Fuchsia build and for -Wextra-semi.
    
    Bug: 926235
    Bug: angleproject:2475
    Change-Id: If3ef575c09656989274c91dec7657465b99978b2
    Reviewed-on: https://chromium-review.googlesource.com/c/1449972
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 4fb738fbc0e8a5d6e105d2e2da154c0e14a41508
Author: Cezary Kulakowski <ckulakowski@opera.com>
Date:   Fri Feb 1 10:53:44 2019 +0100

    Fix for linking of non-component angle_unittests
    
    Bug: chromium:927650
    Change-Id: Ib944dee7e537820af53eb12538c33e7d0c4fbd68
    Reviewed-on: https://chromium-review.googlesource.com/c/1449631
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a54104803d7211d40720ddca28407137e5b70767
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jan 31 19:55:55 2019 -0500

    Inline ValidateBindTexture.
    
    Tiny speed improvement in the perf test.
    
    Bug: angleproject:3117
    Change-Id: Ie2892772da4808615b2a810ff523602894440b64
    Reviewed-on: https://chromium-review.googlesource.com/c/1350490
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit cf9383ed325c2833f809377d29cafd0e735a1d4c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jan 31 19:52:49 2019 -0500

    Optimize VertexArray::bindVertexBufferImpl.
    
    Reduces the buffer nullptr checks to a single location. Also optimizes
    how the transform feedback binding counter is changed.
    
    Improves the score of the draw call vertex array change test.
    
    Bug: angleproject:3014
    Change-Id: I08ff341e08194a407c24143965a3d568e92b97b7
    Reviewed-on: https://chromium-review.googlesource.com/c/1406891
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 1a07524dce2e65a45a22bedc0debf9834a8b85db
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Thu Jan 31 14:50:06 2019 +0800

    Fix the misuse of deepCopy()
    
    When we use replaceChildNode function, the first argument must be the original
    child node instead of the deepCopy. Otherwise, replaceChildNode will do nothing
    since it will think deepCopy is a different node. In that case,
    RewriteExpressionsWithShaderStorageBlockTraverser::visitAggregate will
    enter an endless loop since ssbo argument is never really replaced.
    
    Test: dEQP-GLES31.functional.ssbo.*
    Bug: angleproject:1951
    Change-Id: Ieb17a16ab2b3e0270328fafd7ba0944ca05f842f
    Reviewed-on: https://chromium-review.googlesource.com/c/1446686
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>

commit 48d040e8c5241d22ba04746de1fb920268a25aeb
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jan 18 10:43:45 2019 -0500

    D3D11: Fix reads and writes to EGL image textures with mip offsets.
    
    RenderTarget11 knows how to render to a specific mip of a texture but if
    TextureStorage11 attempts to read or write to the backing resource directly
    it does not select the correct subresource index.  This manifested in calls
    to glTexSubImage going to the wrong mip of the resource.
    
    Fix TextureStorage11::getSubresourceIndex to look up the correct subresource
    in TextureStorage11_EGLImage.
    
    Add a test to cover this case in ImageTest.MipLevels.
    
    BUG=angleproject:2668
    
    Change-Id: Id9270ab3bf9f37c7c671639bb8b7ce9578daaed6
    Reviewed-on: https://chromium-review.googlesource.com/c/1422058
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 2583980208269436b35943c8791ef11ca91edcea
Author: Michael Spang <spang@chromium.org>
Date:   Wed Jan 30 18:02:51 2019 -0500

    Vulkan: Don't crash on diagnostics with null pMessageIdName
    
    This can be null and this will causes a crash in strstr(). Check for null
    before dereferencing this field.
    
    BUG=angleproject:2475
    TEST=angle_end2end_tests on Fuchsia and angle_enable_vulkan_validation_layers=true
    
    Change-Id: I76a2738365838cb2f9cb54af7637417735762b69
    Reviewed-on: https://chromium-review.googlesource.com/c/1446506
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 794364ebd51c1c7d113fc4208857a15cd557b4db
Author: Xinghua Cao <xinghua.cao@intel.com>
Date:   Thu Jan 17 17:54:29 2019 +0800

    Add test cases of image built-in functions
    
    Add test cases that image accesses a mipmap level
    of texture, meanwhile exposes two driver bugs.
    
    Bug: angleproject:1987
    TEST=angle_end2end_tests.ComputeShaderTest.*
    
    Change-Id: I4c43cdb97de8223d5e9af3757f41eb01eac81d0a
    Reviewed-on: https://chromium-review.googlesource.com/c/1415727
    Commit-Queue: Xinghua Cao <xinghua.cao@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 783809808ec09d2040047c252925b19f507b06c8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jan 30 13:14:01 2019 -0500

    Fix SPIRV-Tools deps in core validation layer.
    
    The spirv_tools_external_revision_generate action should no longer
    depend on ANGLE's DEPS file exclusively. We're using the version of
    SPIRV-Tools provided by Chromium or ANGLE depending on the client.
    
    Depending on DEPS directly should give the correct behaviour.
    
    Bug: chromium:926354
    Change-Id: I87ac59f1e3f0d3a0b13df51fb6477940ff534dc7
    Reviewed-on: https://chromium-review.googlesource.com/c/1446495
    Reviewed-by: Nico Weber <thakis@chromium.org>

commit 96a8e747ab185b0389328c67617299adfc733071
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jan 30 10:30:06 2019 -0500

    Vulkan: Move and inline object wrapper classes.
    
    This moves the wrapper classes into their own file. It also inlines
    all the various methods for performance.
    
    The inline methods are kept out-of-class to avoid problems with
    circular dependencies.
    
    Also adds a few missing valid() checks to the inline methods.
    
    Improves the score of the VBO state change test by 1-2%.
    
    Bug: angleproject:3014
    Change-Id: Ia760c3a6905a9a5aacfd05db443b72f34947385e
    Reviewed-on: https://chromium-review.googlesource.com/c/1436167
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit a7429204afcd957fef29facf44acf06d05cf284e
Author: Nico Weber <thakis@chromium.org>
Date:   Wed Jan 30 09:29:06 2019 -0500

    Remove some extra semicolons.
    
    No behavior change.
    
    Bug: chromium:926235
    
    Change-Id: I9215b4799a3c68887b8403be057180796ab5777a
    Reviewed-on: https://chromium-review.googlesource.com/c/1446311
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Nico Weber <thakis@chromium.org>

commit fa7ca18f44ed006897067c762b6bacb61d60716a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jan 15 11:20:58 2019 -0500

    Vulkan: Enable dEQP point limit raster test.
    
    This requires enabling a workaround in the ANGLE shader translator to
    clamp the point size.
    
    Bug: angleproject:2599
    Change-Id: I3171bdca5dd2e5af965e94ee2a955f46f8d706da
    Reviewed-on: https://chromium-review.googlesource.com/c/1412235
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 915d4068a65c48daa361a5168e9a9bc7df396121
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jan 28 18:15:43 2019 -0500

    Roll dEQP (January/February 2019).
    
    Includes some new GLES tests added by kainino@.
    
    Bug: angleproject:3112
    Change-Id: I0d81c8263eab3473dec49bb0cf3bca73cd38c6fb
    Reviewed-on: https://chromium-review.googlesource.com/c/1441051
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 82fddcb1f3e3daa72b5306fc2d1e324e4c90943c
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Jan 18 14:27:43 2019 -0500

    Vulkan: Implement GLsync and EGLSync fence syncs
    
    That is required in GLES 3 for GLsync and EGL_KHR_fence_sync and
    EGL_KHR_wait_sync (or EGL 1.5) for EGLSync.
    
    The two constructs (GLsync and EGLSync) have similar semantics and share
    the implementation on the Vulkan backend.
    
    The implementation of a fence sync object is achieved through the
    combined use of a vkEvent and the implicit vkFence inserted at the end
    of every submission.  Imagine the following command buffer:
    
        glDraw      : Draw
        glCreateSync: Set Event  <-- insertion of fence sync
        glDraw      : Draw
                    : Signal Fence <-- implicit fence at the end of submission
        glFlush     : Submit
    
    Assume the serial S is associated to this submission.  The following
    hold:
    
    - If event is set, the fence sync is signaled
    - If S is already finished, the fence sync is signaled
    - If client is waiting on the sync and S is not yet flushed, there will
      be a deadlock (unless multi-threaded and another thread performs the
      flush).
    
    The event is used to implement server waits (glWaitSync), as vkEvent is
    the only entity the GPU can signal and wait on within the command
    buffer.  The wait is inserted in the command graph without incurring a
    flush, i.e. the wait can be within the same command buffer as event set.
    
    The event however does not support CPU waits (glClientWaitSync).
    vkFence is the only entity the CPU can wait on.  For client wait
    therefore, the following algorithm is used:
    
    - If the event is already set, there's no wait  ->  already signaled
    - If timeout is zero, there's no wait  ->  timeout expired
    - If S is not flushed, flush it to ensure forward progress.
    - Wait until S is finished  ->  condition satisfied / timeout expired.
    
    Bug: angleproject:2466
    Change-Id: I678995a6139dd9533fa8ad361a3d292b202c52a4
    Reviewed-on: https://chromium-review.googlesource.com/c/1422552
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 4b2e00f4d1801c6aa00cb58f21c29735eb355bb2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jan 28 23:37:55 2019 -0500

    Suppress EmptyBuffer test on Android GLES.
    
    Seems to fail on the Pixel XL.
    
    Bug: angleproject:2861
    Change-Id: Ic1690abccd867251e83c0ae5e38c2bbd1c41615b
    Reviewed-on: https://chromium-review.googlesource.com/c/1441774
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 0cb3b0f1e0b81c3e0e849e02ae0e1d8bc5e5a3ab
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jan 28 09:55:20 2019 -0500

    Vulkan: Use glslang's internal BUILD.gn.
    
    This retires the ANGLE BUILD.gn file for glslang. Also makes a few more
    repos sync from Chromium's copy using build overrides. This should
    speed up Chrome checkouts slightly.
    
    Bug: angleproject:3088
    Change-Id: I530f28d9b13469bbe6471a4c61e7353d599d81ec
    Reviewed-on: https://chromium-review.googlesource.com/c/1422545
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 8922ac230f33d25a97bcb9159e1b388a8a04d131
Author: Enrico Galli <enrico.galli@intel.com>
Date:   Fri Dec 14 13:44:29 2018 -0800

    ES31: Enable glBindBufferRange on SSBOs in the D3D renderer
    
    This patch enables binding a subset of a buffer with glBindBufferRange on the
    D3D renderer.
    
    Bug: angleproject:2990
    Test: angle_end2end_tests
    Change-Id: Ib15b6257891191e28801f52c539b8b2daa80fa68
    Reviewed-on: https://chromium-review.googlesource.com/c/1409880
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 0f073667daf00e894e17cbe7d40187c881552648
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jan 28 12:51:12 2019 -0500

    Update docs on wrangling and standalone infra.
    
    This migrates from the old Chromium wiki.
    
    Bug: angleproject:3097
    Change-Id: Id1987f364e37bda319a4a6091b1a34c21b240706
    Reviewed-on: https://chromium-review.googlesource.com/c/1430972
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 4704eb0245bd03cd21bdcaa17028d05cea32f843
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Jan 25 13:25:52 2019 -0500

    Add possibility to track GPU time in perf tests
    
    This paves the way for perf tests that measure GPU performance.
    
    Bug: angleproject:2999
    Change-Id: I9d49d3e1256d8d18514885ae63264a5fbc5c29d1
    Reviewed-on: https://chromium-review.googlesource.com/c/1436839
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 4c94788c9c8533ae40aeb87f26d45fd7ca112f23
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Jan 28 11:12:31 2019 +0100

    Suppress RobustBufferAccessBehaviorTest.EmptyBuffer on Pixel XL Vk
    
    BUG=angleproject:3109
    
    Change-Id: Ib8565e7a99dea90bb5fc966ffe0606a8ebc62fcc
    Reviewed-on: https://chromium-review.googlesource.com/c/1436052
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 9e53fccb8fd216027f4c05b868bbf0258c9e0c63
Author: Andrii Shyshkalov <tandrii@chromium.org>
Date:   Fri Jan 25 22:50:37 2019 +0000

    [commit-queue.cfg] Create new project-scoped CQ config.
    
    Autogenerated from ref-scoped cq.cfg located at:
      https://chromium.googlesource.com/angle/angle/+/refs/heads/master/infra/config/branch/cq.cfg
      (pinned https://chromium.googlesource.com/angle/angle/+/988d9a068976cd893eb1cd1093299b166b58594a/infra/config/branch/cq.cfg)
    
    The new config is functionally equivalent to the old one. Upon landing, the new
    config will take effect once LUCI config service picks it up. If you see
    'commit-queue.cfg' in https://luci-config.appspot.com/#/projects/angle ,
    then it has been picked up.
    
    New commit-queue.cfg takes precedence over old cq.cfg, and once picked up makes
    it safe to remove old cq.cfg.
    
    See also internal PSA go/psa-migrate-to-commit-queue-cfg.
    
    Generated-by: https://crrev.com/i/815809
    Bug: chromium:916292
    Change-Id: I34579199a3aa1bf3ef4725b5d504f224cf2ee1e0
    Reviewed-on: https://chromium-review.googlesource.com/c/1437794
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit d51fbe347e70b1d3c338a215743fab079d1079e0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jan 25 15:03:39 2019 -0500

    Fold buffer access validation into extensions.
    
    We only need to perform vertex array buffer validation if the WebGL
    compatiblity extension is enabled and robust access is not available.
    Although sometimes the range checks are useful for determining
    undefined behaviour they are not required by the OpenGL spec. They also
    slow down state updates significantly.
    
    This migrates the OOR tests into specific WebGL tests. It also requires
    a change to a Chromium test on the passthrough decoder.
    
    Improves perf by about 10% in the Vulkan VBO state change test.
    
    Also fixes some robust resource access cases for D3D11.
    
    Bug: angleproject:3000
    Change-Id: Ice37f38f01c2f27bf32ed55657a30e69d8508335
    Reviewed-on: https://chromium-review.googlesource.com/c/1390362
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 5904ee3f58e31185d588c9568aad065a59f72b1e
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Jan 25 11:15:16 2019 -0500

    Vulkan: Fix timestamp query units
    
    Vulkan returns timestamps in cycles, which needs to be converted to
    nanoseconds (by multiplying by limits.timestampPeriod) for GLES.
    
    On NVidia, this multiplier seems to be 1 for a majority of their
    hardware, while the timer has less and more varying granularity on AMD,
    Intel and others.
    
    Bug: angleproject:2885
    Change-Id: I34e08ad386e06619170975039385ce35cab025a5
    Reviewed-on: https://chromium-review.googlesource.com/c/1436835
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 59d756e530c5bf85cf0a91b1f5e6a1df90a7fa2b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jan 16 15:26:49 2019 -0500

    Vulkan: Add a test for scissored depth and stencil clears.
    
    BUG=angleproject:3081
    
    Change-Id: Ib6b17dbabdcb2a5ad5cf34b306bf5d3bd683ba0a
    Reviewed-on: https://chromium-review.googlesource.com/c/1415913
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 59b1ed4a60fc9cf57c3914eb4851ec94c8df21a9
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Jan 24 13:55:17 2019 -0500

    Clean up generated object_tracker.h
    
    This file was generated on the trybots dry-running a change that rolls
    the vulkan repos [1].  This is causing a build failure on other CLs.
    
    [1] https://chromium-review.googlesource.com/c/angle/angle/+/1405714
    
    Bug: 925077
    Change-Id: I3101a4a3fdeb7c38ac5cfe6a1d621e03a9f49071
    Reviewed-on: https://chromium-review.googlesource.com/c/1435154
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 47ca1b2fa3990e51a2ced20f7a7d3589a5477ad1
Author: Tobin Ehlis <tobine@google.com>
Date:   Wed Jan 23 16:11:41 2019 +0000

    Revert "Vulkan: Adding custom pool allocator"
    
    This reverts commit 05459e06fde5047ae8f5f90fe091c3255e6bc88e.
    
    Reason for revert: Clusterfuzz bugs flagged this commit
    
    Original change's description:
    > Vulkan: Adding custom pool allocator
    >
    > Copied pool allocator used by compiler to common and hooking it up as
    > custom allocator for CommandPools. Modified it to support reallocation.
    >
    > RendererVk now has a private poolAllocator and VkAllocationCallbacks
    > struct. The allocation callbacks are initialized to static functions
    > in RendererVk::initializeDevice() and then passed to CommandPool init()
    > and destroy() functions.
    >
    > Using the pool allocator saves Command Pool/Buffer clean-up time which
    > was showing us as a bottleneck is some cases.
    >
    > Bug: angleproject:2951
    > Change-Id: I81aa8a7ec60397676fa722d6435029db27947ef4
    > Reviewed-on: https://chromium-review.googlesource.com/c/1409867
    > Commit-Queue: Tobin Ehlis <tobine@google.com>
    > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    
    TBR=jmadill@chromium.org,tobine@google.com,ianelliott@google.com,syoussefi@chromium.org
    
    Change-Id: I363a351667c4dddef79833061790da90de477e70
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:2951
    Reviewed-on: https://chromium-review.googlesource.com/c/1430679
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Commit-Queue: Tobin Ehlis <tobine@google.com>

commit 2553690d1df75b3f5862519aff64f03a0ac45b38
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Jan 23 09:49:03 2019 -0500

    Documentation update
    
    Mostly mentioning other platforms where older documentation mentioned
    only Windows.
    
    Bug: angleproject:1944
    Change-Id: Ib020892fbdee22d3dc60aa71ac6b3c5f504728c4
    Reviewed-on: https://chromium-review.googlesource.com/c/1430559
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 5313c8a89964f536bff2c7f7943499f9c52e5664
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Jan 14 17:02:52 2019 -0500

    Implement EGL_KHR_fence_sync and EGL_KHR_wait_sync
    
    EGL_KHR_fence_sync introduces the EGLSync object and associated
    create/destroy/clientWait functions.  EGL_KHR_wait_sync adds the
    serverWait function on top of that.
    
    Bug: angleproject:2466
    Change-Id: Iebb239a85c4471ea18b3c3a8a83b793af555e31d
    Reviewed-on: https://chromium-review.googlesource.com/c/1412261
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 828acb39df5fe60953dc1eca00b8d3cd25a63ab7
Author: jchen10 <jie.a.chen@intel.com>
Date:   Tue Jan 22 15:01:55 2019 +0800

    Enable ParallelCompile for Mac
    
    Linked in parallel, GLSLTest_ES3.LargeNumberOfFloat4Parameters
    fails on the Mac asan bots. It looks a driver bug caused by
    handling some long GLSL expressions. This works around it by
    breaking down the expression in the test from:
        return a0 + a1 + ... + alast;
    to:
        vec4 sum = vec4(0, 0, 0, 0);
        sum += a0;
        sum += a1;
        ...
        sum += alast;
        return sum;
    
    This also fixes a CGLPixelFormat leak, although it's irrelevant
    to the bot failures.
    
    BUG=922936
    BUG=angleproject:3087
    BUG=angleproject:3047
    
    Change-Id: I20249ada43e9dd226f582a568ed4ed50a0e4375d
    Reviewed-on: https://chromium-review.googlesource.com/c/1426430
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jie A Chen <jie.a.chen@intel.com>

commit 0c2c923ec621af0b5fff937a1528660350e6506e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jan 14 16:01:38 2019 -0500

    Vulkan: Don't allow creation of ES3 contexts.
    
    Refactor RendererVk::getMaxSupportedESVersion to limit max supported versions
    similar to RendererGL.
    
    This allows dEQP-EGL.functional.robustness.reset_context.shaders.infinite_loop.*
    tests to pass but they are currently skipped due to TDR issues on some
    platforms.
    
    When we start to test on top of ES3 contexts, we will either have to supress
    some dEQP EGL tests or expose it some other mechanism.
    
    BUG=angleproject:3058
    
    Change-Id: I8d28fe75edd8346b46d197e0217afbee1c19b7e3
    Reviewed-on: https://chromium-review.googlesource.com/c/1409869
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 05459e06fde5047ae8f5f90fe091c3255e6bc88e
Author: Tobin Ehlis <tobine@google.com>
Date:   Thu Jan 17 12:25:54 2019 -0500

    Vulkan: Adding custom pool allocator
    
    Copied pool allocator used by compiler to common and hooking it up as
    custom allocator for CommandPools. Modified it to support reallocation.
    
    RendererVk now has a private poolAllocator and VkAllocationCallbacks
    struct. The allocation callbacks are initialized to static functions
    in RendererVk::initializeDevice() and then passed to CommandPool init()
    and destroy() functions.
    
    Using the pool allocator saves Command Pool/Buffer clean-up time which
    was showing us as a bottleneck is some cases.
    
    Bug: angleproject:2951
    Change-Id: I81aa8a7ec60397676fa722d6435029db27947ef4
    Reviewed-on: https://chromium-review.googlesource.com/c/1409867
    Commit-Queue: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit c81e7bfeb5580726f995776ed04fc4517d6d9c27
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Jan 18 15:35:55 2019 -0500

    Vulkan: refactor CommandGraphResource
    
    Merged back RecordableGraphResource into CommandGraphResource.  Queries
    didn't really need to be a resource, as they always inserted separate
    single-command nodes in the graph.  The CommandGraph class is augmented
    with a few functions that generate such nodes.
    
    This is in preparation for debug markers, as they too require such
    nodes.
    
    Bug: angleproject:2853
    Change-Id: I5251a0e0fdd42ed1126921b4acc13687a14af9cd
    Reviewed-on: https://chromium-review.googlesource.com/c/1422549
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 37d2e606c6000985f886a8575526cc3a8cd930b6
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Jan 10 12:46:16 2019 -0500

    Make BlobCache use independent from ANGLE_program_cache_control
    
    The decision to enable caching or not was based on the size of the cache
    as directed by eglProgramCacheResizeANGLE, which is incorrect for
    applications that only use the ANDROID_blob_cache extension.
    
    The new behavior is as follows:
    
    - If EGL_CONTEXT_PROGRAM_BINARY_CACHE_ENABLED_ANGLE is specifically
      requested and set to true, but the size of the cache is 0, caching is
      disabled for the context.
    - If EGL_CONTEXT_PROGRAM_BINARY_CACHE_ENABLED_ANGLE is specifically
      requested and set to false, caching is disabled for the context.
    - Otherwise, caching is left enabled for the context, although the cache
      possibly has a size of zero, which effectively disables it.  During
      application execution, if the blob cache callbacks are set, the
      application cache will be used.
    
    Bug: 896406, angleproject:2516
    Change-Id: Ic0cabda03fb6bf53994e86e3ede30afc8021d67e
    Reviewed-on: https://chromium-review.googlesource.com/c/1405708
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit bf433727853d2330412766bfeb0611c1c0c1e55a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sun Jan 20 20:10:17 2019 -0500

    Use binary merge strategy for code generator hashes.
    
    The binary merge strategy marks the file as conflicted but doesn't
    actually change the file contents. This keeps the json hashes file
    valid and alerts the user that the generator needs to be re-run.
    
    Bug: angleproject:3083
    Change-Id: Ia04e96d56a2d92ee061f25e7de79b6a1fd3ce4ab
    Reviewed-on: https://chromium-review.googlesource.com/c/1423519
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 7403dd2cd3764fe96660fe09892e764e9ae1dbca
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jan 16 13:27:17 2019 -0500

    Vulkan: Inline transition query.
    
    Slight speed improvement in the Vulkan vertex array state change test.
    
    Bug: angleproject:3014
    Change-Id: I4a5cd26849cd247b7e67cd6bda083aabeb4e34c0
    Reviewed-on: https://chromium-review.googlesource.com/c/1406890
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit a63cc59f291af2e300fc1662f27d44ea8669ea24
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jan 16 13:27:16 2019 -0500

    Vulkan: Don't store vertex attrib format and stride.
    
    We only use these values in vertex conversion. We can instead pass more
    info to the convertGPU/CPU functions. In client attribute streaming
    we can query the format table a second time. This is a bit slower. But
    the runtime of attribute streaming would usually be dominated by the
    conversion function time. So it shouldn't regress any real work perf.
    
    This saves on a bit of storage and memory overhead in the vertex sync
    functions in VertexArrayVk.
    
    Bug: angleproject:3014
    Change-Id: I401eeff024664aa0efeea710503c0f619e6d4f22
    Reviewed-on: https://chromium-review.googlesource.com/c/1406889
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit c3abb7f1a250abb03a169947395cf319c7324227
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Jan 17 11:26:48 2019 -0500

    Fix MultiDraw shaders when loaded from cache
    
    State updates that need to be done after linking vs. deserializing can
    get out of sync, as was the case for mDrawIDLocation (introduced in
    1bf18ce9e2caca7067b4439373f4fb04a5cd7d21).  This commit introduces a
    common function that's called from both paths to hopefully avoid such
    issues in the future.
    
    The serialize/deserialize functions are moved from MemoryProgramCache
    to the Program itself.
    
    Bug: 890539,angleproject:2516
    Change-Id: Idc5b87de53298aacbb1884e79e721b876281fb13
    Reviewed-on: https://chromium-review.googlesource.com/c/1417970
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 6ae34889cd8aaed571d0ba1dc4798477f0965ea9
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Jan 18 11:44:54 2019 -0800

    Suppress test crashing on Mac ASAN AMD too.
    
    The initial suppression didn't apply to AMD but the test crashes there
    too.
    
    BUG=angleproject:3087
    BUG=chromium:923399
    
    Change-Id: I8ccffbb7746dd6fc6aa3eb6edaaef30aaae8c097
    Reviewed-on: https://chromium-review.googlesource.com/c/1423057
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 85ca71c2167b8e38ffe32abfffb839fc542b6e7a
Author: Cody Northrop <cnorthrop@google.com>
Date:   Wed Jan 16 15:46:23 2019 -0700

    Create a whitelist for use in Android platform
    
    In order to reduce the startup impact to near zero, we are
    creating a whitelist to be checked before parsing rules.
    
    The whitelist will be shared over Global Settings. To generate
    it, we will listen for intents at boot (LOCKED_BOOT_COMPLETED)
    and when ANGLE itself has been updated (MY_PACKAGE_REPLACED).
    
    The whitelist can also be populated by hand:
    
      adb shell settings put global angle_whitelist app1,app2,appN
    
    We plan to further mitigate the ANGLE-enabled app impact
    by parsing the full rules when creating the whitelist, off of
    the critical path.
    
    Bug: angleproject:3086
    Test: Internal CTS tests and manual verification
    Change-Id: I6263358e2fdbfaa7183d1b941005b5455285cbff
    Reviewed-on: https://chromium-review.googlesource.com/c/1415715
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Commit-Queue: Cody Northrop <cnorthrop@google.com>

commit 1f750d1e3b50c3c05766a310fdb8606671ec2813
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jan 16 13:27:16 2019 -0500

    Even more inlining and micro-optimization.
    
    Improves perf by about 3-4% on the Vulkan VBO state change test.
    
    Bug: angleproject:3014
    Change-Id: If4415e503cd883cf7de6387bf1ebbca0e5fc994e
    Reviewed-on: https://chromium-review.googlesource.com/c/1393907
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit c8c7d400dd60b13b39703077e0ad705ff4ae593a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jan 16 13:27:15 2019 -0500

    Use a table for vertex attrib type validation.
    
    No clearly sampled effect on performance but should require fewer
    instructions. May lead to future improvements.
    
    Bug: angleproject:3014
    Change-Id: I64e155926ae2c553b059265780e72e91f91f097c
    Reviewed-on: https://chromium-review.googlesource.com/c/1393906
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 15214423845e8cf32dd1b8495e1a2786af1fc8b9
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Mon Jan 7 12:44:44 2019 +0800

    ES31: Add top_level_array_stride support
    
    Bug: angleproject:1920
    Change-Id: Id18c6cc1bb840c05f73a019156c462886f01d9eb
    Reviewed-on: https://chromium-review.googlesource.com/c/1396745
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 85ca189542cdf9880d11edd2a4aca992a5782b91
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jan 16 13:27:15 2019 -0500

    Vulkan: Store reference to context command buffer.
    
    This frees us from checking the FB every draw. Slightly reduces time
    spent in all draw methods. Improvement seen on the draw call overhead
    tests. Scores went from 28.17 ns/draw to 26.76 ns/draw on my machine.
    
    In a future improvement we could make this command buffer a dirty bit.
    Currently it's a bit slower to call a handler function due to the
    dispatch table. Likely we could optimize this by reverting back to a
    dirty bit switch and inlining the handler functions. That is left for
    future work.
    
    Vulkan is happy enough to run multiple RenderPasses and bind different
    Pipelines in the same command buffer. But ANGLE defers RenderPass init
    until we submit our work. Thus we can only support one RenderPass per
    secondary buffer.
    
    Test: angle_perftests DrawCall*/vulkan_null
    Bug: angleproject:3014
    Change-Id: I89fd0d9e0822400a5c5a16acb5a9c400a0e71ab5
    Reviewed-on: https://chromium-review.googlesource.com/c/1393905
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 3159b2e52e0592aabc0cd6386a2536c5a74eec71
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Jan 17 16:39:03 2019 -0800

    Suppress test crashing on Mac ASAN.
    
    GLSLTest_ES3.LargeNumberOfFloat4Parameters/ES3_OPENGL started crashing
    after the parallel compile enablement on OpenGL and disabling the
    workers didn't fix it.
    
    BUG=angleproject:3087
    
    Change-Id: I317b140e66b04102059486381ef70e16600fad12
    Reviewed-on: https://chromium-review.googlesource.com/c/1419007
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 5fe7c5b926428d0d4dc8fa606afc7a4ab93cc49c
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Jan 17 12:16:34 2019 -0500

    Include common/platform.h where used
    
    Bug: 922443
    Change-Id: I35b9e34266d4a15f8d0769c2770801b1b0511398
    Reviewed-on: https://chromium-review.googlesource.com/c/1418091
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit d46165e3db5ab44759a833ca53d142795cbe1fa1
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jan 17 15:49:55 2019 +0000

    Reland "Don't call Texture::onDestroy twice for the zero textures."
    
    This reverts commit 3adcf1e4cb5ce3cc1cc8a3dfed4ec44dff45f5ae.
    
    Reason for revert: Likely not the cause of failures seen.
    
    Original change's description:
    > Revert "Don't call Texture::onDestroy twice for the zero textures."
    >
    > This reverts commit d3e0e84ce7e1fcde7bbe71ebfba009ddd5942de3.
    >
    > Reason for revert: likely cause for crbug.com/922296
    >
    > BUG=chromium:922296
    >
    > Original change's description:
    > > Don't call Texture::onDestroy twice for the zero textures.
    > >
    > > The BindingPointer will call onDestroy when all references are removed, no
    > > need to do it explicitly.
    > >
    > > BUG=angleproject:3070
    > >
    > > Change-Id: Ic5dd4da8f73e204d26d9d3a3c6e1eff9fded5411
    > > Reviewed-on: https://chromium-review.googlesource.com/c/1409868
    > > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    > > Commit-Queue: Geoff Lang <geofflang@chromium.org>
    >
    > TBR=geofflang@chromium.org,jmadill@chromium.org
    >
    > Change-Id: I38097218d49940e7ac3ad914714294b019c154fd
    > No-Presubmit: true
    > No-Tree-Checks: true
    > No-Try: true
    > Bug: angleproject:3070
    > Reviewed-on: https://chromium-review.googlesource.com/c/1413239
    > Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    > Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    
    TBR=geofflang@chromium.org,jmadill@chromium.org,cwallez@chromium.org
    
    # Not skipping CQ checks because original CL landed > 1 day ago.
    
    Bug: chromium:922296, angleproject:3070
    Change-Id: I58b1c445f81e4a7f38df375fd3311043b571e834
    Reviewed-on: https://chromium-review.googlesource.com/c/1417770
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit c66cd693c167dfadef16a6d5086a85c735900119
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jan 17 10:37:51 2019 -0500

    GL: Temporarily disable parallel shader compile.
    
    The Skia bots have been unable to roll ANGLE since parallel compile landed in
    ANGLE.  Speculatively disable parallel compile using a workaround.
    Failed roll: https://skia-review.googlesource.com/c/skia/+/184705
    
    Also seen instability on Linux, Mac and Windows in 922936.
    
    BUG=922936
    BUG=849576
    
    Change-Id: I7116b3f6541425135984c52a8077bdb98d961784
    Reviewed-on: https://chromium-review.googlesource.com/c/1415729
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit b3bdd2acc4f034eb3676df5dc7fd516da1288a6c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jan 17 15:51:19 2019 +0000

    Revert "Re-enable 2DArray Copy Texture Tests"
    
    This reverts commit 91b95ce0afbb55ebde1d39c2ed9632526ee365c5.
    
    Reason for revert: Tests passing in release but failing in Debug.
    
    https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Win10%20FYI%20Debug%20%28NVIDIA%29/2556
    
    [ RUN      ] Texture2DArrayCopy.SnormFormats/ES3_D3D11
    Error getting extension string from EGL Window.
    ../../third_party/angle/src/tests/test_utils/ANGLETest.cpp(493): error: Expected equality of these values:
      (0x3000)
        Which is: 12288
      eglGetError()
        Which is: 12289
    Stack trace:
    Backtrace:
            StackTraceGetter::CurrentStackTrace [0x00AD4A9A+90]
            testing::internal::UnitTestImpl::CurrentOsStackTraceExceptTop [0x00AEAD5A+74]
            testing::internal::AssertHelper::operator= [0x00AEA86B+75]
            ANGLETestBase::swapBuffers [0x00A743C0+256]
            ANGLETestBase::ANGLETestTearDown [0x00A73817+167]
            ANGLETest::TearDown [0x00A7671A+26]
            angle::CopyTexture3DTest::TearDown [0x002A085D+29]
    
    [  FAILED  ] Texture2DArrayCopy.SnormFormats/ES3_D3D11, where GetParam() = ES3_D3D11 (59 ms)
    [----------] 1 test from Texture2DArrayCopy (59 ms total)
    
    [----------] 3 tests from CubeMapTextureTest
    [ RUN      ] CubeMapTextureTest.RenderToFacesConsecutively/ES2_D3D11_10_0
    Assertion failed: mState.surfaceSet.empty(), file ../../third_party/angle/src/libANGLE/renderer/DisplayImpl.cpp, line 23
    abort() has been called
    Received fatal exception EXCEPTION_BREAKPOINT
    Backtrace:
    
    Original change's description:
    > Re-enable 2DArray Copy Texture Tests
    >
    > Re-enables 3 tests that were previously failing on Nvidia hardware on
    > D3D11. The tests seem stable after a trybot driver update.
    >
    > Bug: angleproject:2896
    > Change-Id: I17d76a5a67fd57ba7257ef22aa5a1371bf5ed55e
    > Reviewed-on: https://chromium-review.googlesource.com/c/1308735
    > Commit-Queue: Jamie Madill <jmadill@chromium.org>
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    
    TBR=geofflang@chromium.org,jmadill@chromium.org,brandon1.jones@intel.com
    
    # Not skipping CQ checks because original CL landed > 1 day ago.
    
    Bug: angleproject:2896
    Change-Id: I509756e8e6433fd3d04bc68a72e7cc7647485b56
    Reviewed-on: https://chromium-review.googlesource.com/c/1417771
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 94d8a9a445bef9b7978f513f7f8d449696716296
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Thu Jan 17 08:47:57 2019 +0800

    ES31: Enable several SSBO end2end tests on D3D11
    
    This patch enables several SSBO tests on D3D11 in ANGLE end2end
    tests.
    
    Bug: angleproject:1951
    Change-Id: I1ba78133e5bbe581e8330c1c43755c174e28bf39
    Reviewed-on: https://chromium-review.googlesource.com/c/1415721
    Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>

commit a100d8f471f79b9f88d387164992cc5bd9c6ee9f
Author: jchen10 <jie.a.chen@intel.com>
Date:   Sat Dec 29 16:39:55 2018 +0800

    ParallelCompile: add GL backend support
    
    For GL backend, at first each worker thread must have a naitve context
    for its own to work in. These worker contexts have to be shared from
    the main context, so that all shader and program objects are seen in
    any context. This extends backend displays to create and destroy the
    worker contexts. RendererGL manages and allocates them to the worker
    threads. ShaderImpl has a new compile method added to do the actual
    glCompile work in worker thread. The ProgramGL's link method is broken
    down by introducing the LinkEventGL class.
    
    Bug: chromium:849576
    
    Change-Id: Idc2c51b4b6c978781ae77810e62c480acc67ebb5
    Reviewed-on: https://chromium-review.googlesource.com/c/1373015
    Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit bb4be1ad1034193de209d9346dbe12b0ddea513b
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Jan 16 14:43:45 2019 -0800

    Suppress OcclusionQueriesTest.MultiContext on Win NVIDIA Vk
    
    BUG=angleproject:3080
    
    Change-Id: I915778ee239755bfd8aadc25235d36cd52383415
    Reviewed-on: https://chromium-review.googlesource.com/c/1415852
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit bab0302b47e8667e23d7e762ae40aa13e5ba73c9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jan 16 14:12:28 2019 -0500

    Make path utils return std::string.
    
    This avoids potential issues with returning local variables. It
    also solves potential threading conflicts by returning the string
    value instead of a pointer. The code should be optimized with RVO
    with a modern c++ compiler.
    
    Bug: angleproject:2601
    Change-Id: I8a01702d2675a17dd060f27920105efab0c49454
    Reviewed-on: https://chromium-review.googlesource.com/c/1415910
    Reviewed-by: Kai Ninomiya <kainino@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 465d6090cd386947f40bd93a81cd1e61084af994
Author: Jeff Gilbert <jgilbert@mozilla.com>
Date:   Wed Jan 2 16:21:18 2019 -0800

    Add GL_ANGLE_provoking_vertex on D3D11 and GL.
    
    This extension is a subset of GL_ARB_provoking_vertex without the
    QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION query.
    
    Bug: angleproject:2829
    Change-Id: I907a4d16b7b13d3bbfb948842091eedd7b6a8b77
    Reviewed-on: https://chromium-review.googlesource.com/c/1410289
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 6e18a23825027d5e62073f0357ad48024a583ce4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jan 16 13:27:14 2019 -0500

    Optimize more front-end VertexArray binding.
    
    Improves perf slightly (1-2%) in the Vulkan VBO state change test.
    
    Bug: angleproject:3014
    Change-Id: Ia8082b5b3f5e847a6b2775e896893fa8d38c1afd
    Reviewed-on: https://chromium-review.googlesource.com/c/1393904
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit dd34b3b9b707c93b3323ac857793ddeae5f7a777
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jan 16 09:59:54 2019 -0500

    Pack VertexAttribType enum.
    
    This improves performance slightly in vertex array format checks.
    Instead of needing to switch on GLenum values we can use packed arrays
    and tables to determine the values we need.
    
    Does not significantly affect performance but will enable future work.
    
    Bug: angleproject:3074
    Change-Id: I6f4821a463e9b41fe3f8c8967eb3ed4c1d6b84be
    Reviewed-on: https://chromium-review.googlesource.com/c/1393903
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a5d2d55d2a27987b893e1b37f320a3c8eeaae4d3
Author: Joonatan Saarhelo <jsaarhelo@nvidia.com>
Date:   Wed Jan 16 13:21:05 2019 +0200

    Remove expected SSBO failures on Windows NVIDIA
    
    These failures no longer occur in version 411.95,
    the version that the drivers in testbots are currently
    being updated to.
    
    Bug: angleproject:2272
    Change-Id: I826ab973ed6fe1a08372c8139676d2f7a328d47b
    Reviewed-on: https://chromium-review.googlesource.com/c/1411546
    Reviewed-by: Joonatan Saarhelo FI <jsaarhelo@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit ab2bfa814ceefdcbe24483b3a12ba525345d486c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jan 15 19:06:47 2019 -0500

    Enable Chromium clang style plugin for libANGLE.
    
    This fixes a few style warnings:
    
     * auto should not deduce to raw pointer type
     * inlined virtual methods are not allowed
     * non-trivial constructors and destructors should be explicit
     * inlined non-trivial constructors should not be in-class
     * missing override keywords
    
    Bug: angleproject:3069
    Change-Id: I3b3e55683691da3ebf6da06a5d3c729c71b6ee53
    Reviewed-on: https://chromium-review.googlesource.com/c/1407640
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 3adcf1e4cb5ce3cc1cc8a3dfed4ec44dff45f5ae
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Jan 16 00:40:38 2019 +0000

    Revert "Don't call Texture::onDestroy twice for the zero textures."
    
    This reverts commit d3e0e84ce7e1fcde7bbe71ebfba009ddd5942de3.
    
    Reason for revert: likely cause for crbug.com/922296
    
    BUG=chromium:922296
    
    Original change's description:
    > Don't call Texture::onDestroy twice for the zero textures.
    >
    > The BindingPointer will call onDestroy when all references are removed, no
    > need to do it explicitly.
    >
    > BUG=angleproject:3070
    >
    > Change-Id: Ic5dd4da8f73e204d26d9d3a3c6e1eff9fded5411
    > Reviewed-on: https://chromium-review.googlesource.com/c/1409868
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    > Commit-Queue: Geoff Lang <geofflang@chromium.org>
    
    TBR=geofflang@chromium.org,jmadill@chromium.org
    
    Change-Id: I38097218d49940e7ac3ad914714294b019c154fd
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:3070
    Reviewed-on: https://chromium-review.googlesource.com/c/1413239
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 7098cff5c5ebf52f8d8786ce0b4d904868beae7c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jan 15 18:33:42 2019 -0500

    Make BUILD.gn targets into templates.
    
    This allows us to "globally" add and remove certain configs as long as
    we use the new templates. This simplifies the logic of adding configs
    for stuff like extra warnings and default include dirs. As well it
    simplifies removing certain common unwanted configs.
    
    Generally simplifies the logic in BUILD.gn. Will allow for easily
    suppressing the clang-plugins config instead of using a global setting
    in .gn. Then we can enable the additional warnings config-by-config.
    
    Also fixes some warnings that turned up after we enabled the extra
    warnings config in our tests. Also moves the dEQP tests main to be
    consistent with the other test main files.
    
    Bug: angleproject:3069
    Change-Id: I5a8166cd0f5a7926822c171fcaf473fc86b3ffc1
    Reviewed-on: https://chromium-review.googlesource.com/c/1409871
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit c8be560bbabe222567b5a23ef29a6259c5821243
Author: Tim Van Patten <timvp@google.com>
Date:   Mon Jan 14 17:34:09 2019 -0700

    Fix show_angle_in_use_dialog_box Global.Setting Name
    
    The Global.Setting was previously named angle_in_use_dialog_box, which
    doesn't match some of the other variables and uses on the Android side.
    This change will update it to show_angle_in_use_dialog_box to make
    everything match both here and where it's used within Android.
    
    Bug: angleproject:3006
    Test: Load an app with ANGLE enabled and verify dialog box is shown.
    Test: Load an app without ANGLE and verify dialog box is not shown.
    Change-Id: I808ebc94f706a019eca6f3911a702853642926e0
    Reviewed-on: https://chromium-review.googlesource.com/c/1410286
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Commit-Queue: Tim Van Patten <timvp@google.com>

commit 5f82dde6f0ed4951c1c0a7df4ac17d7e4381c81a
Author: Shahbaz Youssefi <syoussefi@chromium.com>
Date:   Mon Jan 14 11:38:33 2019 -0500

    Fix block size calculation w.r.t variable-size arrays
    
    In SSBOs, there can be a last array whose size is not specified (i.e.
    can take any size).  This is especially prevalent in Compute shaders
    that process a buffer.
    
    In the shader translator, the size of this array is given as 0. HLSL
    register offset calculation was tripped up by this as it used
    (arraySize - 1). The optimization in [1] effectively removed a test
    that would perform this calculation only when the size is positive.
    This change adds back this guard.
    
    [1] https://chromium-review.googlesource.com/c/angle/angle/+/684742
    
    Bug: angleproject:2516
    Change-Id: If45ac934f542c5ffcad67f962eebe45a3aeba70b
    Reviewed-on: https://chromium-review.googlesource.com/c/1409403
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit d3e0e84ce7e1fcde7bbe71ebfba009ddd5942de3
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jan 14 15:59:18 2019 -0500

    Don't call Texture::onDestroy twice for the zero textures.
    
    The BindingPointer will call onDestroy when all references are removed, no
    need to do it explicitly.
    
    BUG=angleproject:3070
    
    Change-Id: Ic5dd4da8f73e204d26d9d3a3c6e1eff9fded5411
    Reviewed-on: https://chromium-review.googlesource.com/c/1409868
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit f3179a6a1763d8925b840701cdf6da6d8459bcae
Author: Xinghua Cao <xinghua.cao@intel.com>
Date:   Thu Jul 12 16:22:06 2018 +0800

    ES31: Implement bindImageTexture binds a single layer on D3D backend
    
    Dynamically generate image2D variables' declaration and function
    definition in libANGLE.
    
    Bug: angleproject:1987
    TEST=angle_end2end_tests.ComputeShaderTest.*
    
    Change-Id: Idacc756f7bd15f22eccb1d689e18e997f3e74159
    Reviewed-on: https://chromium-review.googlesource.com/c/1142885
    Commit-Queue: Xinghua Cao <xinghua.cao@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 15460e363a472cd95af44bc7f26e1e22552ff392
Author: Jeff Gilbert <jgilbert@mozilla.com>
Date:   Thu Jan 3 23:38:44 2019 -0800

    In PixelTransfer11, center offset should be 1/size, not 1/(size-1).
    
    Bug: angleproject:3039
    Change-Id: Ie97bfb5aa3cfe7cd2c4b1d22b5b4a8d82a5e5170
    Reviewed-on: https://chromium-review.googlesource.com/c/1407251
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 55f20f681bdeeea29356dc347704d7add7bc0734
Author: jchen10 <jie.a.chen@intel.com>
Date:   Mon Jan 14 15:44:25 2019 +0800

    Fix generate_loader.py
    
    The message printed by the #error macro should be enclosed in marks
    for gcc.
    
    Bug: angleproject:2995
    
    Change-Id: I5d8ebb28ef5e225eb88990642b6b58936cad4369
    Reviewed-on: https://chromium-review.googlesource.com/c/1407542
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jie A Chen <jie.a.chen@intel.com>

commit fc99468d4be0ece0a3630208964fc09def2f9496
Author: Thomas Anderson <thomasanderson@chromium.org>
Date:   Mon Jan 14 23:46:59 2019 +0000

    Revert "Fix Android ASAN tests when is_component_build=false"
    
    This reverts commit e4a52cb53f877637ffb17677396d02d9f8a907a4.
    
    Reason for revert: No longer necessary after https://chromium-review.googlesource.com/c/chromium/src/+/1409558
    
    Original change's description:
    > Fix Android ASAN tests when is_component_build=false
    >
    > Context in Chromium CL:
    > https://chromium-review.googlesource.com/c/chromium/src/+/1405277/
    >
    > This CL must be landed first.
    >
    > BUG=chromium:916973
    > R=​thakis,cwallez,fjhenigman,geofflang,jmadill,ynovikov
    >
    > Change-Id: Icde4ec98c9031a262e0dfafa5cfe2a702c4c4e3e
    > Reviewed-on: https://chromium-review.googlesource.com/c/1405908
    > Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    > Reviewed-by: Nico Weber <thakis@chromium.org>
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    > Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    
    TBR=thakis@chromium.org,ynovikov@chromium.org,fjhenigman@google.com,geofflang@chromium.org,jmadill@chromium.org,cwallez@google.com,thomasanderson@chromium.org
    
    # Not skipping CQ checks because original CL landed > 1 day ago.
    
    Bug: chromium:916973
    Change-Id: Ie9609db8e5d5f71acdc22d839b94f3e843bfe3ca
    Reviewed-on: https://chromium-review.googlesource.com/c/1410282
    Reviewed-by: Nico Weber <thakis@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Nico Weber <thakis@chromium.org>

commit 91b95ce0afbb55ebde1d39c2ed9632526ee365c5
Author: Brandon Jones <brandon1.jones@intel.com>
Date:   Tue Oct 30 12:32:25 2018 -0700

    Re-enable 2DArray Copy Texture Tests
    
    Re-enables 3 tests that were previously failing on Nvidia hardware on
    D3D11. The tests seem stable after a trybot driver update.
    
    Bug: angleproject:2896
    Change-Id: I17d76a5a67fd57ba7257ef22aa5a1371bf5ed55e
    Reviewed-on: https://chromium-review.googlesource.com/c/1308735
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit c2ee2ccbc79c851aeedffdd6db296d2b775c7e58
Author: Tim Van Patten <timvp@google.com>
Date:   Fri Jan 11 10:39:15 2019 -0700

    Vulkan: Don't support EGL_SWAP_BEHAVIOR_PRESERVED_BIT
    
    dEQP-EGL.functional.preserve_swap.preserve.no_read_before_swap#no_draw
    dEQP-EGL.functional.preserve_swap.preserve.no_read_before_swap#post_clear
    dEQP-EGL.functional.preserve_swap.preserve.no_read_before_swap#post_render
    dEQP-EGL.functional.preserve_swap.preserve.no_read_before_swap#pre_clear
    dEQP-EGL.functional.preserve_swap.preserve.no_read_before_swap#pre_clear_post_clear
    dEQP-EGL.functional.preserve_swap.preserve.no_read_before_swap#pre_clear_post_render
    dEQP-EGL.functional.preserve_swap.preserve.no_read_before_swap#pre_render
    dEQP-EGL.functional.preserve_swap.preserve.no_read_before_swap#pre_render_post_clear
    dEQP-EGL.functional.preserve_swap.preserve.no_read_before_swap#pre_render_post_render
    
    Bug: angleproject:3051 angleproject:2716
    Change-Id: I3607f45cd2f447fb0a95f91ffd9aa93000dfa18c
    Reviewed-on: https://chromium-review.googlesource.com/c/1407248
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Tim Van Patten <timvp@google.com>

commit 9567b0c5720d6f5bc9fd58410f9208bcf6c879f6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jan 14 13:45:58 2019 -0500

    Clear VAO dirty bits in NULL back-end.
    
    This is the back-end responsibility now.
    
    Bug: chromium:921338
    Change-Id: I6181210a80ec7d635382df74d842d8a899ad2894
    Reviewed-on: https://chromium-review.googlesource.com/c/1409405
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 17a50e17004b708eb2fe85ff60cb676ca624f93a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jan 10 22:05:43 2019 -0500

    Vulkan: Enable robust buffer access.
    
    This is not a complete implementation because it does not have the
    ability to disable the physical device feature. It does pass the
    current set of robust access tests. But there could be a performance
    regression on platforms that have a slower impelmentation. We would
    want the ability to support cases with bufer robustness on or off.
    
    Bug: angleproject:3062
    Change-Id: I7d6eb889debcbd32f6ed809b526677123f872726
    Reviewed-on: https://chromium-review.googlesource.com/c/1403967
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c759b8b4388b1859b80ab7495074e8e9e7eef756
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jan 3 15:16:50 2019 -0500

    Vulkan: More Vertex Array optimizations.
    
    Inlines a number of Vulkan vertex array methods.
    
    Also changes the way vertex buffers are bound. Note that Vulkan doesn't
    support NULL buffer bindings. Thus we create an emulated NULL buffer
    to work around the problem of having gaps in the bound vertex buffers.
    This allows us to use a single bind call for ranges of vertex buffers
    even when there are gaps.
    
    Also changes how vertex array dirty bits are reset. Instead of calling
    memset to clear the affected buffers we pass a mutable pointer to the
    Vertex Array sync state. This allows us to only reset the dirty bits
    that we sync. This saves on the memory clearing time.
    
    Improves perf by about 10% in the Vulkan VBO state change test.
    
    Bug: angleproject:3014
    Change-Id: Ib7b742dff7897fc891606a652ea0b64255a24c86
    Reviewed-on: https://chromium-review.googlesource.com/c/1390360
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 633d5e69ce42849ba7525e3f16352675d4c88c87
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sun Dec 23 19:58:01 2018 -0500

    Vulkan: Put viewport and scissor back in pipeline desc.
    
    Turns out this is much faster than using dynamic state. When we
    support multiple viewports it might be easier to use dynamic
    state since we won't need to make an overly large pipeline
    description. We could support both methods using a flag to
    indicate the viewport and/or scissor regions are invalid.
    Until then we can remove the pipeline and scissor dirty bits.
    
    Improves perf by about 15% in the Vulkan VBO state change test.
    
    Bug: angleproject:3013
    Change-Id: I4572250626a9a0f0ca3451b17e8f0de186416cae
    Reviewed-on: https://chromium-review.googlesource.com/c/1390359
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 5bca4fed75e6606f67f96cc312c7132d965662a2
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Jan 9 17:07:06 2019 -0500

    Vulkan: Switch to EXT_debug_utils
    
    EXT_debug_utils is a (relatively) new extension that subsumes
    EXT_debug_report and EXT_debug_marker extensions.
    
    This change uses EXT_debut_utils (if available) to receive debug
    messages, keeping EXT_debug_report as fallback.
    
    Bug: angleproject:2798
    Change-Id: Ia6767604548704e18f8150a54d2533c0b1197841
    Reviewed-on: https://chromium-review.googlesource.com/c/1403955
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 2450d8dd93e468c0285b0987001be415359fe74a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jan 11 14:41:04 2019 -0500

    Vulkan: Squash Vertex Pipeline info.
    
    Instead of using 8 bytes per vertex we can reduce the space used for
    the divisor to 8 bytes. For larger values than 255 we can emulate the
    divisor by unrolling the draw call. We will likely need to do this
    in any case for instanced draws when the instancing extension isn't
    available.
    
    The tighter packing will allow for us to move the viewport and scissor
    back into the pipeline description. It seems this is much faster than
    using dynamic state. Every state change that would pull in a new
    Pipeline would need the viewport and scissor re-applied. It seems
    these driver calls are costly.
    
    Does not improve perf significantly but enables future improvements.
    
    Bug: angleproject:3013
    Change-Id: I1a41c3acadc6fbd47c7a7b961c706e82f78de936
    Reviewed-on: https://chromium-review.googlesource.com/c/1390358
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit a3b64e867d2a78f5c0438d613618596ba89703f2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jan 11 14:07:21 2019 -0500

    Fix skip for InterleavedAttributeDataBenchmark on GL.
    
    Should be setting mSkipTest instead of calling abortTest().
    
    Bug: 921004
    Change-Id: I7bead806eef0c7825348d509a9dce7ed1bf34825
    Reviewed-on: https://chromium-review.googlesource.com/c/1407250
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 92ee1f9f3032df3b95ef0f09a6e6ece6d4fcd737
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jan 11 08:02:07 2019 -0500

    Suppress InterleavedAttributeDataBenchmark on GL.
    
    This is timing out on Intel. Would be nice to narrow the suppression
    but we don't have that check yet in perf tests.
    
    Bug: chromium:921004
    Change-Id: Icb8bf2d1222b9ff9790877dc051797a1291ad02b
    Reviewed-on: https://chromium-review.googlesource.com/c/1406892
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 18af9a5a50c69c72a08fcad31bd94b56b05b4834
Author: Tim Van Patten <timvp@google.com>
Date:   Tue Dec 4 12:24:50 2018 -0700

    ANGLE In Use Dialog Box
    
    When ANGLE is enabled for an app, show a dialog box to the user to
    indicate that ANGLE is in use.   This is useful because there are
    not (or at least shouldn't be) any visual indication that a different
    OpenGL driver is in use.
    
    Clean up some missed renaming/logging related to the "Enable ANGLE for
    all" setting.
    
    Bug: angleproject:3006
    Test: Load an app with ANGLE enabled and verify dialog box is shown.
    Test: Load an app without ANGLE and verify dialog box is not shown.
    Change-Id: I46ec89567c93efaf156a4801948cd48aabd5f4fb
    Reviewed-on: https://chromium-review.googlesource.com/c/1383374
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Commit-Queue: Tim Van Patten <timvp@google.com>

commit e4a52cb53f877637ffb17677396d02d9f8a907a4
Author: Tom Anderson <thomasanderson@chromium.org>
Date:   Thu Jan 10 11:02:50 2019 -0800

    Fix Android ASAN tests when is_component_build=false
    
    Context in Chromium CL:
    https://chromium-review.googlesource.com/c/chromium/src/+/1405277/
    
    This CL must be landed first.
    
    BUG=chromium:916973
    R=thakis,cwallez,fjhenigman,geofflang,jmadill,ynovikov
    
    Change-Id: Icde4ec98c9031a262e0dfafa5cfe2a702c4c4e3e
    Reviewed-on: https://chromium-review.googlesource.com/c/1405908
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Nico Weber <thakis@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit a3b2e71fbcf19aee3ddba9b1d4f92a26488f36ce
Author: Enrico Galli <enrico.galli@intel.com>
Date:   Sat Dec 8 16:46:48 2018 -0800

    ES31: Support for GL_BUFFER_DATA_SIZE on GL_ATOMIC_COUNTER_BUFFER in D3D
    
    This commit adds support for querying the GL_BUFFER_DATA_SIZE of
    GL_ATOMIC_COUNTER_BUFFER in the D3D renderer.
    
    Bug: angleproject:1729
    Test: angle_end2end_tests
    Change-Id: Id6aae0d92c5e0960b2b245ba7d83970b04ba4eed
    Reviewed-on: https://chromium-review.googlesource.com/c/1399143
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit b814bbb7498facdd31f0622ce2c0f2d625e5960b
Author: Ian Elliott <ianelliott@google.com>
Date:   Thu Jan 10 12:02:47 2019 -0700

    Temporarily disable calling GetSystemInfo for rules processing.
    
    A bug on Android is causing <something> to crash if the
    rules-processing code calls GetSystemInfo, which in turn calls Vulkan.
    While this is being investigated, we will temporarily disable calling
    GetSystemInfo (instead, insert dummy data that won't match any actual
    GPU), so that the rest of the rules processing will still work.
    
    Bug: angleproject:3063
    Change-Id: I9976fd57ba001099b94ebe7186739477bf0c8f79
    Reviewed-on: https://chromium-review.googlesource.com/c/1405709
    Commit-Queue: Ian Elliott <ianelliott@google.com>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 3f0c4a56e7b6eaef22cc9f36c90ea2ee4063c587
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jan 10 10:20:35 2019 -0500

    Vulkan: Faster state transitions.
    
    Implements a transition table from Pipeline Cache entry to
    state change neighbouring Pipeline Cache entries. We use
    a 64-bit mask to do a quick scan over the pipeline desc.
    This ends up being a lot faster than doing a full hash
    and memcmp over the pipeline description.
    
    Note that there could be future optimizations to this design.
    We might keep a hash map of the pipeline transitions instead
    of a list. Or use a sorted list. This could speed up the search
    when there are many transitions for cache entries. Also we could
    skip the transition table and opt to do a full hash when there
    are more than a configurable number of dirty states. This might
    be a bit faster in some cases. Likely this will be something we
    can add performance tests for in the future.
    
    Documentation is also added in a README file for the Vulkan back
    end. This will be extended over time.
    
    Improves performance about 30-35% on the VBO state change test.
    
    Bug: angleproject:3013
    Change-Id: I793f9e3efd8887acf00ad60e4ac2502a54c95dee
    Reviewed-on: https://chromium-review.googlesource.com/c/1369287
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 80766cfa26566de48142708e1d158ecbf4129cc2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jan 10 10:20:34 2019 -0500

    Vulkan: Update individual VAO attribs when dirty.
    
    This simplifies the dirty state updates in VertexArrayVk. It also lets
    us use a smaller dirty bit mask when a single attribute is marked dirty
    in a vertex array.
    
    Improves performance by about 1-2% in the VBO state change test. Will
    allow for better performance using a pipeline transition table.
    
    Bug: angleproject:3013
    Change-Id: I25c5172b3f41b7abac6b8273c8f9cd42eb46cc9f
    Reviewed-on: https://chromium-review.googlesource.com/c/1403958
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit b827f490e46e06ca4132f61ae9dc6c309e874135
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Dec 14 12:09:41 2018 -0500

    GL: Work around errors generated during query caps initialization.
    
    Nexus5X drivers generate INVLAID_ENUM errors when querying
    GL_QUERY_COUNTER_BITS.
    
    Add device detection from renderer string.
    
    BUG=angleproject:3027
    
    Change-Id: I367e20c79e1c4e53c26d94603d9a893604b51165
    Reviewed-on: https://chromium-review.googlesource.com/c/1374274
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit c05c141619a55ba72aba9a1c1694627093073d03
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Thu Jan 3 12:40:13 2019 -0700

    Add validation layers to Android apk
    
    The compressed symbol support requires explicitly listing the
    libraries, so add validation libraries.
    
    Use list of ANGLE libraries to reduce duplication
    
    Bug: angleproject:2981
    Change-Id: Ia8feb58d2a2ee66299b00bbb1fd3a4d9094c0b68
    Reviewed-on: https://chromium-review.googlesource.com/c/1394569
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit b5ba549abf2ff783a1dd59d85cffbde4385c2be3
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Jan 2 15:19:22 2019 -0500

    Vulkan: Shader path for texture copy when image is not initialized
    
    This change implements staging image/texture copies when the destination
    image is not yet fully initialized.  With this change, CPU readback for
    glCopyTex[Sub]Image2D and glCopy[Sub]TextureCHROMIUM should happen only
    if the texture formats don't allow a fragment-shader based copy.
    
    Bug: angleproject:2958
    Change-Id: I04087e14ea8fb6fbc731598c5493e44651c22c01
    Reviewed-on: https://chromium-review.googlesource.com/c/1393909
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 73397e8e86bff666fc8191b6b30a96d35908acae
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jan 9 10:33:16 2019 -0500

    Add presubmit check for GN headers and code formatting.
    
    These two checks are lifted directly from the Chromium code base. Also
    adds a presubmit check for a patch description. Also adds some checks
    to the "on commit" function so "git cl presubmit" can work.
    
    Also reformats the style of the presubmit script a bit to match the
    patterns in the Chromium presubmit.
    
    Bug: angleproject:2626
    Bug: angleproject:3054
    Change-Id: Iff29b8856cf9eb9531e893cd0b0d80c0834b7676
    Reviewed-on: https://chromium-review.googlesource.com/c/1403255
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 98a3550bce48a056cd1529d28430384ee30ae0fc
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Jan 8 22:09:39 2019 -0500

    Add a presubmit step to make sure autogenerated code is up-to-date
    
    While here, added a presubmit test for the Bug: tag too.
    
    Bug: angleproject:3046
    Change-Id: I7030685230b4ce4bfc435c14ef85324e16b76274
    Reviewed-on: https://chromium-review.googlesource.com/c/1402061
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 4f3b207d049a3d3ae25aabf280176b392fd0c533
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Jan 1 14:48:25 2019 -0500

    Vulkan: Shader path for texture-to-texture copy
    
    This change implements glCopy[Sub]TextureCHROMIUM in GPU.  As with the
    previous change implementing glCopyTex[Sub]Image2D, it currently only
    selects the shader path if the texture is already defined.
    
    Bug: angleproject:2958
    Change-Id: Ia1b5625f92e6c9f91807c9b601e5c34d2d5e5c30
    Reviewed-on: https://chromium-review.googlesource.com/c/1392394
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 29b4941737bc2ad101b0899cf18c42f0800e9ec1
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Jan 7 14:03:06 2019 -0500

    Make copy texture test more extensive
    
    By doing the copy multiple times, we exercise both paths where the
    destination is already initialized and when it's not.
    
    This adds tests for all combinations of formats and flags.
    
    Bug: angleproject:2958
    Change-Id: I56afb44496acd1b4d5a8527f4dbee29afbac9c81
    Reviewed-on: https://chromium-review.googlesource.com/c/1398643
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 988d9a068976cd893eb1cd1093299b166b58594a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jan 8 09:38:29 2019 -0500

    Use win-angle-rel on the ANGLE CQ.
    
    The new test suite doesn't run several Chromium tests.
    See https://crrev.com/c/1398562 for reference.
    
    Also sorts the CQ testers alphabetically.
    
    Bug: chromium:822310
    Change-Id: I5f4006e6f027a4666e9ccc5e5bcf981b3b979429
    Reviewed-on: https://chromium-review.googlesource.com/c/1400861
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 6344d8ea30d7a5ce14042cdd4dcf90a53107b9e5
Author: Kimmo Kinnunen <kkinnunen@nvidia.com>
Date:   Wed Jan 2 13:23:21 2019 +0200

    Fix a crash on checking NVIDIA driver version with incorrect X11 DISPLAY
    
    Check if the display was valid (non-null Display pointer) before
    querying NVCTRL X11 extension.
    
    Bug: 840249
    Change-Id: I299f87e2eb150d56649dd71c7becbe8f8abf7841
    Reviewed-on: https://chromium-review.googlesource.com/c/1392906
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit eb278cb04e970ad823ae09e9d4348f88879de6c0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jan 7 13:49:36 2019 -0500

    D3D: Log GetLastError when compiler load fails.
    
    Also use the non-unicode version of LoadLibrary explicitly.
    
    Bug: chromium:919163
    Change-Id: I4841c3eef586ff57563915da12765baaa6e0b146
    Reviewed-on: https://chromium-review.googlesource.com/c/1398642
    Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 5df1d281a992fb221f243d532c70ad0398c9410a
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Fri Jan 4 14:22:59 2019 +0800

    Add std430 support (continue)
    
    This patch enables that the interface block information can be correctly
    collected in API side for std430 layout. So we can get right offset value when
    we use glGetProgramResourceiv to query.
    
    BUG=angleproject:1920
    
    Change-Id: Ib936f6e25936c07c5bbc29f6b567d282a0f257c2
    Reviewed-on: https://chromium-review.googlesource.com/c/1345891
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>

commit 86b0868d367c03a2a94c0253d8d8ac5de1f1eed2
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Sat Jan 5 19:12:26 2019 -0500

    Enable RenderingProgramFailsWithProgramInstalled.
    
    Enable end2end test
    LinkAndRelinkTest.RenderingProgramFailsWithProgramInstalled on Vulkan.
    It works now because Vulkan was rolled and a shader with no output is
    now a warning instead of an error.
    
    BUG=angleproject:2648
    
    Change-Id: Ie92d28b53c18a9a2b74fc2d1b951923512910a33
    Reviewed-on: https://chromium-review.googlesource.com/c/1396264
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit f75e654d1966483392f2ae6cd369dc93470542c4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Jan 5 16:28:34 2019 -0500

    Add DrawElements on WGL perf test.
    
    Bug: angleproject:2995
    Change-Id: I3ed814935ba587d260502b664976322a57f32d98
    Reviewed-on: https://chromium-review.googlesource.com/c/1396502
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit dbc605cecc6419fd96181c9643c1fcc70573196a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jan 4 16:39:14 2019 -0500

    Vulkan: Optimize VBO state changes.
    
    Also has some minor optimizations for the front-end.
    
    12% improvement on the Vulkan VBO change test.
    
    Bug: angleproject:3014
    Change-Id: I38e1a8194edfc14bfe57424be348cb9688e928f4
    Reviewed-on: https://chromium-review.googlesource.com/c/1369286
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 624ce6a3534e98d8bba72a5a3b4249248983660f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jan 4 14:17:24 2019 -0500

    Pass GN header visibility check.
    
    Updates angle_util to see the loader includes even if the loader is not
    enabled. This makes the GN check happy.
    
    Bug: angleproject:3052
    Change-Id: Ifd23070385beefede4358c7b4c1823dc87b5ded8
    Reviewed-on: https://chromium-review.googlesource.com/c/1395809
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 9db8df4c3e6e8ae7ec5af3515dbeb3969a3461aa
Author: Nico Weber <thakis@chromium.org>
Date:   Fri Jan 4 14:47:27 2019 -0500

    Slightly simplify .def file use.
    
    From `gn help sources`:
    
      As a special case, a file ending in ".def" will be treated as a Windows
      module definition file. It will be appended to the link line with a
      preceding "/DEF:" string.
    
    This makes the code slightly shorter, and also gives ninja a chance of
    re-running the link when the .def file changes since it now knows about
    this file.
    
    No intended behavior change.
    
    Change-Id: I5fecb22752508880b726482f7c3da5a75180e446
    Reviewed-on: https://chromium-review.googlesource.com/c/1396499
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Nico Weber <thakis@chromium.org>

commit e4109f27136d721659e7b545aaead2815fef2918
Author: James Darpinian <jdarpinian@chromium.org>
Date:   Thu Dec 13 16:25:53 2018 -0800

    WebGL: validate texture format matches sampler type
    
    WebGL requires that drawing produces INVALID_OPERATION if a texture's
    format doesn't match the sampler type it is bound to. This is a little
    confusing because samplers have two attributes that could be called
    "type": addressing mode (2D/3D/Cube), and component format
    (float/signed/unsigned/shadow). ANGLE already handled checking the
    addressing mode; this change adds checking for the component format.
    
    Fixes WebGL conformance test
    conformance2/uniforms/incompatible-texture-type-for-sampler.html
    
    Bug: chromium:809237
    Change-Id: I52ebfecd92625e3ee10274cb5f548d7e53de72dd
    Reviewed-on: https://chromium-review.googlesource.com/c/1377611
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: James Darpinian <jdarpinian@chromium.org>

commit 225f08bf85a368f905362cdd1366e4795680452c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jan 3 15:59:29 2019 -0500

    Cleanups to StripArrayIndices.
    
    Not picked up in prior review.
    
    Bug: angleproject:3024
    Change-Id: I9dd1ea146996c8ac3569070af0cb12df65f0d815
    Reviewed-on: https://chromium-review.googlesource.com/c/1394570
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 1f56ed2a9b110be8714d272baaf6c8c7b61c0b87
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jan 3 15:24:22 2019 -0500

    Add WGLWindow and WGL test configs.
    
    WGLWindow lets us use a Windows driver's bindings instead of ANGLE.
    This only works if the underlying driver supports OpenGL ES
    compatibility.
    
    Also adds the WGL headers, WGL XML, and a specialized WGL loader.
    
    Because of a small driver issue with NVIDIA I added a retry for the WGL
    Window initialization.
    
    Bug: angleproject:2995
    Change-Id: Ie5148ece470dd03df33015f4919ad1fa79a859ec
    Reviewed-on: https://chromium-review.googlesource.com/c/1366021
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 4e712be2e1b0907b565c73b53722885bcae88038
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jan 3 13:53:59 2019 -0500

    Refactor BlockLayoutEncoder APIs for std430.
    
    This splits HLSL SSBO access into two steps.
    
    First we compute a mapping from the collected SSBO variable names to
    TField pointers. Then during tree traversal we use a block encoding
    visitor class that uses the shader names to store BlockMemberInfo
    structures for the structures and variables. Each nested structure
    is traversed separately so that the BlockMemberInfo offsets are
    relative to the structure start rather than the enclosing block. The
    array stride for a structure is the size of the struct after all the
    alignment is included.
    
    This gives the correct results for the SSBO access chain in the HLSL
    code. It also will allow us to use the same encoding and visiting logic
    for SSBOs on the API side.
    
    Bug: angleproject:3024
    Change-Id: I42b1db0e7547782ae77fe5f64a797f803f203f45
    Reviewed-on: https://chromium-review.googlesource.com/c/1352731
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit f83a28a6880a565a6fc0f46532eb0409f965a744
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Sun Dec 9 03:48:34 2018 +0100

    Vulkan: Shader path for framebuffer-to-texture copy
    
    Part 1 in a series of changes to perform image copies on the GPU.
    
    Bug: angleproject:2958
    Change-Id: I6264a880865c4738c0866f2dc71af63425fc4118
    Reviewed-on: https://chromium-review.googlesource.com/c/1370724
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d7969cdd40fa7d02c3afd5bfe9eff9364651116e
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Jan 2 11:53:18 2019 -0500

    Vulkan: optimize image layout transitions
    
    Removes dstAccessMask being redundantly set where
    `GetBasicLayoutAccessFlags()` sets the same bits.  Additionally, removes
    setting HOST_WRITE_BIT and TRANSFER_WRITE_BIT as src access mask if new
    layout is SHADER_READ_ONLY_OPTIMAL.  The correct src access mask will be
    set based on the previous layout.
    
    Additionally, specializes `GetBasicLayoutAccessFlags()` in
    `GetSrcLayoutAccessFlags()` and `GetDstLayoutAccessFlags()` where the
    access mask is set correctly (and optimally) based on whether the layout
    is the old or the new one.  This removes a few unnecessary access masks
    from src (for WAR hazards), and adds a few missing access masks to dst
    (for RAW hazards), such as VK_ACCESS_COLOR_ATTACHMENT_READ_BIT necessary
    for blending.
    
    Bug: angleproject:2958
    Change-Id: I5870bc99c755f0444332418f998032850825aca5
    Reviewed-on: https://chromium-review.googlesource.com/c/1392397
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit ad398ee8399d1d361a929fa3437ef37dd55c3751
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jan 3 13:01:08 2019 -0500

    Free OSWindow and EGLWindow through helpers.
    
    This cleans up any potential problems with allocating and freeing
    resources in different shared objects or DLLs. Previously we were
    using a dynamically linked allocation function and then calling
    the standard delete function.
    
    Also adds a base class helper for EGLWindow. Will base the WGL
    Window class on this.
    
    Needed for running ANGLE tests against native drivers.
    
    Bug: angleproject:2995
    Change-Id: Ic92b447649ebb32c547605c20086c07a601842f0
    Reviewed-on: https://chromium-review.googlesource.com/c/1393443
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 9fa54eab259042ac7040d0ff0b633bdd993ecf89
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jan 2 18:38:33 2019 -0500

    Optimize and inline more validation.
    
    Previously on each draw call we were checking both the instanced and
    non-instanced attributes for overflow. On on-instanced draw calls we
    don't need to do any special checks for instanced attributes. Also
    we can inline more into the headers. This improves draw call
    performance slightly.
    
    Bug: angleproject:2966
    Change-Id: Idf5861d2d9daf9fffd5c84f6a1ea5b23ac8ab713
    Reviewed-on: https://chromium-review.googlesource.com/c/1390357
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Markus Tavenrath <matavenrath@nvidia.com>

commit 4627b3705d590ca45564623d1d1c55f4ac8c9e01
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jan 2 18:38:32 2019 -0500

    Add gl null driver tests to DrawElements.
    
    Requires a couple tweaks to the back-end to be compatible with the
    null driver.
    
    Bug: angleproject:2966
    Change-Id: Ia83651aabb0dd14b7d6f64152c276463a8fb28fc
    Reviewed-on: https://chromium-review.googlesource.com/c/1392392
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 904bb9185767d72a63eb4d1445c94c678b767b56
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jan 2 16:00:02 2019 -0500

    Rename constants in blocklayout.h.
    
    This adds the "k" prefix.
    
    Bug: angleproject:3024
    Change-Id: I3771a8a9d90cd5edc7173f2b3817a5f1f053bdd4
    Reviewed-on: https://chromium-review.googlesource.com/c/1392399
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 48bbc53ea4d04920093ca44344abcf6edc2f0d2d
Author: Bryan Bernhart <bryan.bernhart@intel.com>
Date:   Mon Dec 3 16:17:00 2018 -0800

    ES31: Fix for reading back initialized SSBO buffers in D3D11
    
    If a SSBO is initialized with data, a staging buffer was created. When the
    data was read back, it was read from the staging buffer instead of the GPU.
    This patch fixes that by making the UAV buffer the latest buffer.
    
    Bug: angleproject:2990
    Test: angle_end2end_tests
    Change-Id: I43c8c85144c74cc9b317577b7c834e3f7e347f72
    Reviewed-on: https://chromium-review.googlesource.com/c/1359712
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Bryan Bernhart <bryan.bernhart@intel.com>
    Commit-Queue: Bryan Bernhart <bryan.bernhart@intel.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 441649f7496c3c6f455089ad35b325dad3f096b7
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Jan 2 14:09:13 2019 -0500

    Suppress flaky Linux/Intel/OpenGL test.
    
    SimpleStateChangeTestES31.DispatchImageTextureAThenTextureBThenTextureA/ES3_1_OPENGL
    
    Bug: angleproject:3044
    Change-Id: I21a4e4dadcb1dea23d3a7b2e9089e395e33dc1cd
    Reviewed-on: https://chromium-review.googlesource.com/c/1392398
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit bbdeee914aeb1fa5f6a2ea65b31c879c8af10b30
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jan 2 09:57:49 2019 -0500

    Suppress FL 9_3 failing test.
    
    RobustBufferAccessBehaviorTest.RobustBufferAccessBehaviorTest
    
    Bug: angleproject:3042
    Change-Id: I40186eeeb69ee2939844117b661209a433773db9
    Reviewed-on: https://chromium-review.googlesource.com/c/1392396
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 04ea03e4e1e1575ee576dafe1793f15fa41e5cc4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jan 1 15:14:25 2019 -0500

    Make default block member info a constant.
    
    Instead of generating a struct each time we can use a constexpr
    constructor to use a single representation.
    
    Bug: angleproject:3024
    Change-Id: I14dec65a4f6ac9ab2f7e7af444862e4ceab88d8c
    Reviewed-on: https://chromium-review.googlesource.com/c/1392395
    Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 76f66954db0350fc5b1696f79d3c66b47ed33537
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Tue Dec 18 17:59:00 2018 +0800

    ES31: Fix the bug that SSBO is active but not statically used
    
    If a SSBO is active but not statically used, there will be no UAV slot is
    bound. So we should skip this kind of block.
    
    Bug: angleproject:1951
    Change-Id: I4d813ddefcce6c31fa02701f26148eb21c00f380
    Reviewed-on: https://chromium-review.googlesource.com/c/1381847
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>

commit 0c6672158c77d0db02fa63955366a4b2807a0e74
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jan 1 14:40:36 2019 -0500

    Pass ErrorSet to ContextImpl constructor.
    
    This removes the need for the setErrorSet method.
    Also update some egl::Error TODO bugs.
    
    Bug: angleproject:2491
    Change-Id: I0aba07c4a53b579835a88c3dacae294f752e6b17
    Reviewed-on: https://chromium-review.googlesource.com/c/1392393
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit ba319ba31cae2c60a2b14e37c302d2a3a70315ca
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Dec 29 10:29:33 2018 -0500

    Re-land "Load entry points dynamically in tests and samples."
    
    Fixes the Android/ChromeOS/Fuchsia builds by using consistent EGL
    headers.
    
    This CL adds a dynamic loader generator based on XML files. It also
    refactors the entry point generation script to move the XML parsing
    into a helper class.
    
    Additionally this includes a new GLES 1.0 base header. The new
    header allows for function pointer types and hiding prototypes.
    
    All tests and samples now load ANGLE dynamically. In the future this
    will be extended to load entry points from the driver directly when
    possible. This will allow us to perform more accurate A/B testing.
    
    The new build configuration leads to some tests having more warnings
    applied. The CL includes fixes for the new warnings.
    
    Bug: angleproject:2995
    Change-Id: I5a8772f41a0f89570b3736b785f44b7de1539b57
    Reviewed-on: https://chromium-review.googlesource.com/c/1392382
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c3dc5d485771ea74f8aa84e0b560a0415bb2f4c0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sun Dec 30 12:12:04 2018 -0500

    Merge gl::Context and gl::ContextState.
    
    This reduces the number of indrections when accessing the Extensions
    or Caps structures. It will provide a small speed-up to some methods.
    It also cleans up the code.
    
    Bug: angleproject:2966
    Change-Id: Idddac70758c42c1c2b75c885d0cacc8a5c458685
    Reviewed-on: https://chromium-review.googlesource.com/c/1392391
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Markus Tavenrath <matavenrath@nvidia.com>

commit 957eb07f59bcb9fe8b6a194f61dfbd57ed711b25
Author: Markus Tavenrath <matavenrath@nvidia.com>
Date:   Tue Jan 1 12:36:48 2019 +0900

    Remove redundant masking of the bits in angle::BitSet when using ternary operators.
    
    Bug: angleproject:3040
    Change-Id: I59e69ddb27ec9c5723aff04858ac5c052e2775da
    Reviewed-on: https://chromium-review.googlesource.com/c/1392806
    Commit-Queue: Markus Tavenrath <matavenrath@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit cc37cbf201791d5c3a1c2585b63e33d91f2a7e63
Author: Markus Tavenrath <matavenrath@nvidia.com>
Date:   Sun Dec 30 23:35:25 2018 +0900

    Apply several small micro-optimizations to ValidateDrawElementsCommon
    
    * Remove indirection when getting CotextState from Context
    * Reduce number of branches from 2 to 1 when checking for an InvalidEnum in FromGLEnum<DrawElementsType>
    * Provide IndexRange constructor which doesn't initialize the member variables
    * Reduce number of branches to 1 when checking for BasicDrawStateErrors for the fast path
    * Remove a few branches and reduce math cost during the buffer range check in ValidateDrawElementsCommon
    
    Bug: angleproject:2966
    
    Change-Id: Ibdbed8a59ad9d7abce76622e9f507498e67ab997
    Reviewed-on: https://chromium-review.googlesource.com/c/1392805
    Commit-Queue: Markus Tavenrath <matavenrath@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 60a50cfcb8769ca2f903f8fac3c8d4e7ab5ffdc5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Dec 29 16:04:05 2018 -0500

    Inline Context::DrawArrays and Context::BindBuffer.
    
    This reduces the call depth of both of these two hotspots.
    Reduces time spent in the CPU overhead benchmarks by about 10%.
    
    Bug: angleproject:2966
    Change-Id: I5052e56dcc1dfb80274326a7f0891fafba7d6655
    Reviewed-on: https://chromium-review.googlesource.com/c/1392389
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Markus Tavenrath <matavenrath@nvidia.com>

commit 9f088621ebf50b2fedce8bdc47dc846b0db05042
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Sat Dec 29 20:46:15 2018 +0000

    Revert "Load entry points dynamically in tests and samples."
    
    This reverts commit 03923558a7103827ffec6a4d2a1453ed91f01c6f.
    
    Reason for revert: fails compilation on Android, ChromeOS and Fuchsia during roll https://chromium-review.googlesource.com/c/chromium/src/+/1392624
    
    Original change's description:
    > Load entry points dynamically in tests and samples.
    >
    > This CL adds a dynamic loader generator based on XML files. It also
    > refactors the entry point generation script to move the XML parsing
    > into a helper class.
    >
    > Additionally this includes a new GLES 1.0 base header. The new
    > header allows for function pointer types and hiding prototypes.
    >
    > All tests and samples now load ANGLE dynamically. In the future this
    > will be extended to load entry points from the driver directly when
    > possible. This will allow us to perform more accurate A/B testing.
    >
    > The new build configuration leads to some tests having more warnings
    > applied. The CL includes fixes for the new warnings.
    >
    > Bug: angleproject:2995
    > Change-Id: I6726d4163f7a6e54d2482f094c0a952f59702a05
    > Reviewed-on: https://chromium-review.googlesource.com/c/1359516
    > Commit-Queue: Jamie Madill <jmadill@chromium.org>
    > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    
    TBR=ynovikov@chromium.org,jmadill@chromium.org,syoussefi@chromium.org
    
    Change-Id: I902bec2d733c2b879be29c02ab52a0b7d4eaa077
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:2995
    Reviewed-on: https://chromium-review.googlesource.com/c/1392381
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 03923558a7103827ffec6a4d2a1453ed91f01c6f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Dec 29 10:29:33 2018 -0500

    Load entry points dynamically in tests and samples.
    
    This CL adds a dynamic loader generator based on XML files. It also
    refactors the entry point generation script to move the XML parsing
    into a helper class.
    
    Additionally this includes a new GLES 1.0 base header. The new
    header allows for function pointer types and hiding prototypes.
    
    All tests and samples now load ANGLE dynamically. In the future this
    will be extended to load entry points from the driver directly when
    possible. This will allow us to perform more accurate A/B testing.
    
    The new build configuration leads to some tests having more warnings
    applied. The CL includes fixes for the new warnings.
    
    Bug: angleproject:2995
    Change-Id: I6726d4163f7a6e54d2482f094c0a952f59702a05
    Reviewed-on: https://chromium-review.googlesource.com/c/1359516
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 8c78ce4bd30ce7ffe5d54e6bd28bb7c835af71bf
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sun Dec 16 19:14:58 2018 -0500

    Use visitor pattern for Shader Variable APIs.
    
    In many places in ANGLE we need to traverse a ShaderVariable tree. We
    do this to store uniform offset and other information, to flatten the
    tree of uniforms for the front-end, or to produce active variable lists
    for uniform and shader storage blocks. In each case, we would write
    separate tree traversal code.
    
    This patch introduces a shared visitor pattern for all of the shader
    variable tree traversal instances. With that get more common code. Also
    it is easier to write new variable traversals. ProgramD3D and
    ProgramLinkedResources in particular get nice simplificiations.
    
    The visitor object recieves callbacks from the traversal when entering
    structs, array elements, and new variables. The visitor can treat these
    differently depending on the use case. A common visitor that constructs
    full variable names is used as a base class in several places.
    
    Also moves the 'isRowMajorLayout' from sh::InterfaceBlockField to
    sh::ShaderVariable. This allows us to forgo using templates in several
    call sites.
    
    Bug: angleproject:3024
    Change-Id: I472d81ec775e2eee92fb3d2eb0ca83860221ba2e
    Reviewed-on: https://chromium-review.googlesource.com/c/1358722
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit e321940cb0b8bf117e719adbeabdf1c556cd138b
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Sat Dec 8 16:54:14 2018 +0100

    Vulkan: Move image clear functionality to UtilsVk
    
    DispatchUtilsVk is renamed to UtilsVk and the functionality in
    framebuffer's clearWithDraw() is moved to that class.  Eventually, more
    fragment-shader-based internal algorithms will be added to this class as
    well.
    
    Bug: angleproject:2958
    Change-Id: I4753c9cb3288b59cd1ed60fe7a57b9f189704322
    Reviewed-on: https://chromium-review.googlesource.com/c/1369284
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit af4cef51eaa7f93a2112698f157cd3fc1cdd0c92
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Dec 28 16:56:47 2018 -0500

    Improve CopyTexImageTest
    
    The test is enhanced to perform the copy multiple times.  Initially, the
    copy creates a new texture from a 16x16 framebuffer.  Then, a copy is
    made from another 16x16 framebuffer (which should not trigger the
    recreation of the texture).  Finally, a copy is made from a 32x32
    framebuffer (which should trigger the recreation of the texture).
    
    Bug: angleproject:2958
    Change-Id: Idc934d6f3d6312a2122d079309a4c2ae2608ba7f
    Reviewed-on: https://chromium-review.googlesource.com/c/1392388
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit c5117571c8b36184c3b0afc284367ea86e0f6f33
Author: Xinghua Cao <xinghua.cao@intel.com>
Date:   Fri Dec 28 15:56:41 2018 +0800

    Add test case for storage buffer
    
    When storage buffer bound is unchanged and shader writes it,
    buffer content should also be updated. Currently, this case
    cannot work normally on D3D backend.
    
    Bug: angleproject:2814
    TEST=angle_end2end_tests.ComputeShaderTest.StorageBufferBoundUnchanged
    
    Change-Id: I6f25b7eac84c44392befaca61a33bdf2457f29f9
    Reviewed-on: https://chromium-review.googlesource.com/c/1391880
    Commit-Queue: Xinghua Cao <xinghua.cao@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 3f01f53c02e8d8ddb797174b556681262c855af4
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Tue Dec 11 15:13:51 2018 +0800

    ES31: Add state change tests for image
    
    This change adds dirty bit state change tests for image textures.
    Meanwhile, syncImages related codes are removed since syncTextures will do
    all texture states sync.
    
    Bug: angleproject:3015
    
    Change-Id: I9b299c86af1d589e72c08c5d7c55ac74cc7833aa
    Reviewed-on: https://chromium-review.googlesource.com/c/1390596
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit cb9609fe58c2464aa01f70404479de91dbf80f17
Author: Markus Tavenrath <matavenrath@nvidia.com>
Date:   Wed Dec 26 00:52:44 2018 +0900

    Optimize glDrawElements performance
    
    A call to glDrawElements results in a calling depth of up to 4
    * glDrawElements
    * gl::Context::DrawElements
    * rx::ContextGL::DrawElements
    * VertexArrayGL::syncDrawState.
    
    Each function call has to save/restore a lot of registers which
    results in a stall in the prologue of rx::ContextGL::DrawElements
    due to memory bandwidth limitations.
    
    The main change is the function gl::Context::DrawElements being
    inlined to reduce the calling depth by one. In addition the call
    to ContextGL::syncDrawElementsState is now protected so that it
    gets called only if it's required. Finally a few small getter
    functions have been inlined where the calling code was bigger
    than the actual function.
    
    In total this change improves performance of the
    DrawElementsPerfBenchmark.Run/gl benchmark by 16%.
    
    Bug: angleproject:2966
    
    Change-Id: I423d18452f2f5b520ab52850fda2054e1da86991
    Reviewed-on: https://chromium-review.googlesource.com/c/1389988
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Markus Tavenrath <matavenrath@nvidia.com>

commit 7f6b3674978d1852e06263821c99403e3259d397
Author: Raul Tambre <raul@tambre.ee>
Date:   Mon Dec 24 20:09:20 2018 +0200

    Disable null pointer arithmetic warnings for GLES1 conformance tests
    
    Required for the rest of Chromium to compile with the warning enabled.
    
    Bug: chromium:766891
    Change-Id: Ie319df01599434011dc953532a30ad68d6a7c9a3
    Reviewed-on: https://chromium-review.googlesource.com/c/1390659
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 8441286093152097eda821869d2743a85759ff7b
Author: Xinghua Cao <xinghua.cao@intel.com>
Date:   Fri Dec 21 17:41:24 2018 +0800

    Set dirty for uniform on D3D backend
    
    When uniform's value had been updated, set dirty and
    update its content on D3D backend.
    
    Bug: angleproject:2814
    TEST=angle_end2end_tests.ComputeShaderTest
         .UniformDirty/ES3_1_D3D11
    dEQP.GLES31/functional_image_load_store_cube*
    dEQP.GLES31/functional_image_load_store_3d*
    dEQP.GLES31/functional_image_load_store_2d_array*
    
    Change-Id: Ic135c140559925fe33790475d03dc608afa92384
    Reviewed-on: https://chromium-review.googlesource.com/c/1387967
    Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Xinghua Cao <xinghua.cao@intel.com>

commit ae6ba9f83dd0923e38d05768a1d3ff91a462cffa
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Dec 21 23:00:04 2018 -0500

    Optimize check for active not paused XFB.
    
    Local testing showed an improved score of about 2% in the most
    sensitive CPU overhead benchmark. Likely because of improved
    caching from fewer indirections.
    
    Bug: angleproject:2966
    Change-Id: I5d9a4b4bcf624ab0b430bb696c4227e589cdb7a6
    Reviewed-on: https://chromium-review.googlesource.com/c/1359518
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 1e85326695b5150d20d404ed6596f49452bd01ff
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Dec 21 09:07:38 2018 -0500

    Cache common DrawElements states.
    
    Similar to how we cache the base common draw states. This will improve
    DrawElements performance. Several state checks are optimized into a
    single 'if' check of a cached value.
    
    Also includes a regression test for mapping the element array buffer.
    
    Bug: angleproject:2966
    Change-Id: Ia6e524a58ad6b7df2e455d67733e15d324b1b893
    Reviewed-on: https://chromium-review.googlesource.com/c/1357150
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 52f5da43184e62123d9327e2b4ebf4cc67a6a96f
Author: Ian Elliott <ianelliott@google.com>
Date:   Fri Dec 21 09:02:09 2018 -0700

    Also enable flipY for Vulkan 1.1
    
    The necessary support for flipY is included in core Vulkan 1.1
    so enable the feature if that's what's available.
    
    Bug: angleproject:2968
    Change-Id: I6808a1a0b1ace74976a7476f77d686e137a1e747
    Reviewed-on: https://chromium-review.googlesource.com/c/1387758
    Commit-Queue: Ian Elliott <ianelliott@google.com>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 899c5d264f9cffd3c305fc639d3d53c403e5efef
Author: Ian Elliott <ianelliott@google.com>
Date:   Fri Dec 21 13:12:50 2018 -0700

    Appropriately set VkApplicationInfo::apiVersion to 1.1
    
    Check if the Vulkan instance version is 1.1+, and if so, set
    VkApplicationInfo::apiVersion to 1.1 (which signals to the validation
    layers that ANGLE will use Vulkan 1.1 functionality.
    
    Bug: angleproject:2968
    Change-Id: I6808a1a0b1ace74976a7476f77d686e137a1e746
    Reviewed-on: https://chromium-review.googlesource.com/c/1387757
    Commit-Queue: Ian Elliott <ianelliott@google.com>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit d50521fd068e44413588ff692c5d4bf81d5dda4c
Author: Ian Elliott <ianelliott@google.com>
Date:   Thu Dec 20 12:05:14 2018 -0700

    Only enable VK_KHR_maintenance1 when available.
    
    This prevents an error in case ANGLE is run on an older Vulkan driver
    that does not support the VK_KHR_maintenance1 extension.
    
    Bug: angleproject:3035
    Change-Id: I7e2b74bcb88bffdfc2a525a1d332eb3ef7d23d7c
    Reviewed-on: https://chromium-review.googlesource.com/c/1387347
    Reviewed-by: Ian Elliott <ianelliott@google.com>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit 92b16ea2629009139ee581acbc9c7e38a033f3e7
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Wed Dec 12 17:06:47 2018 -0700

    Re-land: Compress symbols for libraries
    
    Reintroduce commit ffda3e2985f18f4ff6e3778af8b9715109b21ad0.
    
    Android requires system libraries to include symbols to aid
    debugging. This CL will compress and attach the symbols from the
    unstripped .so and add it to the stripped .so that goes in the apk
    when building a release build.
    
    Fix https://crbug.com/916751 introduced by Compress symbol
    support CL ffda3e2985f18f4ff6e3778af8b9715109b21ad0.
    
    Bug: angleproject:2981
    Change-Id: I8d3ef8e9f0ed44bdd24290f6cd56ba674b79f98c
    Reviewed-on: https://chromium-review.googlesource.com/c/1387344
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>

commit 2b35654dcf74aa7be1b0219444f81348388800e9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Dec 20 12:43:37 2018 -0500

    compiler: Fix const non-square matrix component mult.
    
    It seems like there weren't any dEQP tests for constant folding of
    nonsquare matrices component-wise multiplication. There were a couple
    bugs in our implementation which could lead to undefined behaviour.
    
    Fixes the code and cleans up a few style issues.
    
    Also includes a regression test.
    
    Bug: chromium:912505
    Bug: chromium:912508
    Change-Id: I7fb85d1404a32950fa9fe4c3bbba9edc9f38ddd1
    Reviewed-on: https://chromium-review.googlesource.com/c/1387065
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit bcb7890895d27c3d479aa45432f4b9c27dd119d4
Author: Ian Elliott <ianelliott@google.com>
Date:   Wed Dec 19 11:46:29 2018 -0700

    Implement eglSwapBuffersWithDamage on top of VK_KHR_incremental_present
    
    Bug: angleproject:2510
    Change-Id: I12b0877f787dbcb48e2890f54ba4bc8ebe8294b4
    Reviewed-on: https://chromium-review.googlesource.com/c/1383373
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit 96c11cc7949025b21283483eab0c1e2cc1e73e50
Author: CJ DiMeglio <lethalantidote@chromium.org>
Date:   Wed Dec 19 23:04:18 2018 +0000

    Revert "Compress symbols for libraries"
    
    This reverts commit ffda3e2985f18f4ff6e3778af8b9715109b21ad0.
    
    Reason for revert: https://crbug.com/916751
    
    Original change's description:
    > Compress symbols for libraries
    >
    > Android requires system libraries to include symbols to aid
    > debugging. This CL will compress and attach the symbols from the
    > unstripped .so and add it to the stripped .so that goes in the apk
    > when building a release build.
    >
    > Bug: angleproject:2981
    > Change-Id: I51c315627b9183e49b509c27df506bf99bf45f30
    > Reviewed-on: https://chromium-review.googlesource.com/c/1376270
    > Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
    > Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    
    TBR=ynovikov@chromium.org,jmadill@chromium.org,courtneygo@google.com
    
    Change-Id: Ifda891fc5257aa9c9b522bf5a20fda10142e82ad
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:2981
    Reviewed-on: https://chromium-review.googlesource.com/c/1385347
    Reviewed-by: CJ DiMeglio <lethalantidote@chromium.org>
    Commit-Queue: CJ DiMeglio <lethalantidote@chromium.org>

commit 6f087e9e60208be3b864160126fc4b2725f65a5c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Dec 19 16:10:49 2018 -0500

    Modify end2end_tests main to not import ANGLETest.h.
    
    This will allow for easier dependency management in the build files.
    
    Bug: angleproject:2995
    Change-Id: Ia3464bf622b861df03c3d06bcf1b34874a9a5400
    Reviewed-on: https://chromium-review.googlesource.com/c/1385025
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit ffda3e2985f18f4ff6e3778af8b9715109b21ad0
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Wed Dec 12 17:06:47 2018 -0700

    Compress symbols for libraries
    
    Android requires system libraries to include symbols to aid
    debugging. This CL will compress and attach the symbols from the
    unstripped .so and add it to the stripped .so that goes in the apk
    when building a release build.
    
    Bug: angleproject:2981
    Change-Id: I51c315627b9183e49b509c27df506bf99bf45f30
    Reviewed-on: https://chromium-review.googlesource.com/c/1376270
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 4638dc9def816e8ee86b09293b8b90519d4a5d9f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Dec 17 13:13:49 2018 -0500

    Re-land "Load correct libGLESv2 on Linux and Mac."
    
    Re-land fixes build to ensure commit_id is built before libEGL.
    
    libEGL was implicitly loading libGLESv2 on startup. This is bad
    because on platforms like Linux and Mac we could sometimes use the
    incorrect rpath. This in turn meant we needed workarounds like using
    "_angle" extensions to our shared objects to get the correct loading
    behaviour.
    
    Fix this by loading libGLESv2 dynamically in libEGL. We build the
    loader automatically from egl.xml. The loader itself is lazily
    initialized on every EGL entry point call. This is necessary because
    on Linux, etc, there is no equivalent to Windows' DLLMain.
    
    We also use an EGL.h with different generation options so we have the
    proper function pointer types. A README is included for instructions
    on how to regenerate EGL.h.
    
    The entry point generation script is refactored into a helper class
    that is used in the loader generator. Also adds the libGLESv2 versions
    of the EGL entry points in the DEF file on Windows. This allows them to
    be imported properly in 32-bit configurations.
    
    Also fixes up some errors in ANGLE's entry point definitions. Also
    includes a clang-format disable rule for the Khronos headers.
    
    This CL will help us to run ANGLE tests against native drivers.
    
    Bug: angleproject:2871
    Bug: chromium:915731
    Change-Id: I4192a938d1f4117cea1bf1399c98bda7ac25ddab
    Reviewed-on: https://chromium-review.googlesource.com/c/1380511
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 720ca449767c38f48bebfc6a8c5821e43176c26d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Dec 17 14:04:10 2018 -0500

    Pass GN header visibility check.
    
    This fixes a few things:
    
    * removes includes that weren't supposed to be present
    * scopes some compiler code into white_box_perftests
    * makes version.h/commit and angle_common id more visible
    * roll zlib to a version that passes check
    
    This should help prevent build problems from popping up in the
    downstream Chromium build. We could also potentially look at
    including gn check in our CQ recipe.
    
    Bug: chromium:915429
    Change-Id: I350f543e16de13c84eb2c43260f4966d47185114
    Reviewed-on: https://chromium-review.googlesource.com/c/1380771
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 0d218da495198e61334391c4a257fed54405386c
Author: Xinghua Cao <xinghua.cao@intel.com>
Date:   Mon Dec 17 11:53:52 2018 +0800

    Specify texture LOD in compute shader on D3D backend
    
    D3D does not define LOD in compute shader, so Sample()
    is not supported, try to use SampleLevel().
    
    Bug: angleproject:2756
    TEST=angle_end2end_tests.ComputeShaderTest
         .TextureFunction/ES3_1_D3D11
         dEQP.GLES31/functional_image_load_store_2d_store*
    
    Change-Id: I63e707d2b56e807cfe766cc21bc6b0819982ce80
    Reviewed-on: https://chromium-review.googlesource.com/c/1379672
    Commit-Queue: Xinghua Cao <xinghua.cao@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 2db5082b21df2906a9ac016d805a38d093539eda
Author: Xinghua Cao <xinghua.cao@intel.com>
Date:   Mon Dec 17 14:27:18 2018 +0800

    Add UAV format for GL_RGBA8I
    
    GL_RGBA8I is a supported image unit format, add
    its corresponding UAV format on D3D backend.
    
    Bug: angleproject:1987
    TEST=dEQP.GLES31/functional_image_load_store_2d_store_rgba8i
         dEQP.GLES31/functional_image_load_store_2d_load_store_rgba8i
    
    Change-Id: Ib759f873c8629a644f85784a57ce141d3018e0c1
    Reviewed-on: https://chromium-review.googlesource.com/c/1378888
    Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Xinghua Cao <xinghua.cao@intel.com>

commit 18017ca4b723372cc9ba98ed2c8bae62a3566703
Author: Ian Elliott <ianelliott@google.com>
Date:   Mon Dec 17 15:39:27 2018 -0700

    Add opt-in/out unit testing for API version below minimum
    
    Bug: angleproject:2794
    Change-Id: I133ebd4afb7064e8ac461f4f7174ec59af5ea0d1
    Reviewed-on: https://chromium-review.googlesource.com/c/1380716
    Reviewed-by: Ian Elliott <ianelliott@google.com>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit 5a8d0bc2884bd97e572b34fb291be399a6c1beae
Author: Ian Elliott <ianelliott@google.com>
Date:   Fri Nov 30 14:35:29 2018 -0700

    Remove version-1 API of A4A opt-in/out (a.k.a. feature-support utilities)
    
    Bug: angleproject:2794
    Change-Id: I7f41452a37536a00d772ecd9b21125ff7459a3d6
    Reviewed-on: https://chromium-review.googlesource.com/c/1357151
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit 4622905b30d17428ece05c4d6f86e2b11e9ff217
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Mon Dec 10 13:31:00 2018 +0800

    ES31: Add atomic memory functions for SSBO
    
    Due to SSBO is translated to RWByteAddressBuffer in HLSL, the corresponding
    atomic memory functions atomic* will be translated to
    RWByteAddressBuffer.Interlocked*. The translation is like below:
    
    atomicAdd(instanceName.data[0], 5u);
    // becomes
    uint _ssbo_atomicAdd_uint(RWByteAddressBuffer buffer, uint loc, uint value)
    {
        uint original_value;
        buffer.InterlockedAdd(loc, value, original_value);
        return original_value;
    }
    
    _ssbo_atomicAdd_uint(_instanceName, 0 + 16 * 0, 5);
    
    Bug: angleproject:1951
    
    Change-Id: If2af8bedb67a4135b443d2512d43c6058a78888d
    Reviewed-on: https://chromium-review.googlesource.com/c/1370676
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>

commit 175d918a1fe67d66b4df5aa89c579e9bfd1fc828
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Sun Dec 16 19:53:23 2018 +0000

    Revert "Load correct libGLESv2 on Linux and Mac."
    
    This reverts commit dd815b623e60a1e1550f328104ffcd7caf20fde1.
    
    Reason for revert: Broke https://luci-milo.appspot.com/p/chromium/builders/luci.chromium.ci/win-rel/8006
    
    Original change's description:
    > Load correct libGLESv2 on Linux and Mac.
    >
    > libEGL was implicitly loading libGLESv2 on startup. This is bad
    > because on platforms like Linux and Mac we could sometimes use the
    > incorrect rpath. This in turn meant we needed workarounds like using
    > "_angle" extensions to our shared objects to get the correct loading
    > behaviour.
    >
    > Fix this by loading libGLESv2 dynamically in libEGL. We build the
    > loader automatically from egl.xml. The loader itself is lazily
    > initialized on every EGL entry point call. This is necessary because
    > on Linux, etc, there is no equivalent to Windows' DLLMain.
    >
    > We also use an EGL.h with different generation options so we have the
    > proper function pointer types. A README is included for instructions
    > on how to regenerate EGL.h.
    >
    > The entry point generation script is refactored into a helper class
    > that is used in the loader generator. Also adds the libGLESv2 versions
    > of the EGL entry points in the DEF file on Windows. This allows them to
    > be imported properly in 32-bit configurations.
    >
    > Also fixes up some errors in ANGLE's entry point definitions. Also
    > includes a clang-format disable rule for the Khronos headers.
    >
    > This CL will help us to run ANGLE tests against native drivers.
    >
    > Bug: angleproject:2871
    > Change-Id: Id6ecf969308f17b1be4083538428c9c1a1836572
    > Reviewed-on: https://chromium-review.googlesource.com/c/1370725
    > Commit-Queue: Jamie Madill <jmadill@chromium.org>
    > Reviewed-by: Geoff Lang <geofflang@chromium.org>
    
    TBR=ynovikov@chromium.org,geofflang@chromium.org,jmadill@chromium.org
    
    Change-Id: I921b3c45435ab4f05cbc2d1c1172b4185d6257b0
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:2871
    Reviewed-on: https://chromium-review.googlesource.com/c/1378887
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit dd815b623e60a1e1550f328104ffcd7caf20fde1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Dec 15 10:39:00 2018 -0500

    Load correct libGLESv2 on Linux and Mac.
    
    libEGL was implicitly loading libGLESv2 on startup. This is bad
    because on platforms like Linux and Mac we could sometimes use the
    incorrect rpath. This in turn meant we needed workarounds like using
    "_angle" extensions to our shared objects to get the correct loading
    behaviour.
    
    Fix this by loading libGLESv2 dynamically in libEGL. We build the
    loader automatically from egl.xml. The loader itself is lazily
    initialized on every EGL entry point call. This is necessary because
    on Linux, etc, there is no equivalent to Windows' DLLMain.
    
    We also use an EGL.h with different generation options so we have the
    proper function pointer types. A README is included for instructions
    on how to regenerate EGL.h.
    
    The entry point generation script is refactored into a helper class
    that is used in the loader generator. Also adds the libGLESv2 versions
    of the EGL entry points in the DEF file on Windows. This allows them to
    be imported properly in 32-bit configurations.
    
    Also fixes up some errors in ANGLE's entry point definitions. Also
    includes a clang-format disable rule for the Khronos headers.
    
    This CL will help us to run ANGLE tests against native drivers.
    
    Bug: angleproject:2871
    Change-Id: Id6ecf969308f17b1be4083538428c9c1a1836572
    Reviewed-on: https://chromium-review.googlesource.com/c/1370725
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 7139b434210c8c168aece65022ee9196c2bf550b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Dec 14 16:57:28 2018 -0500

    Print a warning on unexpected internal errors.
    
    The error message can be dropped when converting angle::Result to egl::Error.
    This makes sure something is always printed when we get an unexpected error.
    
    BUG=914911
    
    Change-Id: Icc8b06b1c13e3ea83287da5a217f4c8bc218deec
    Reviewed-on: https://chromium-review.googlesource.com/c/1378689
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit f307584255da6268a8202291554c51e66abc0b9f
Author: Tim Van Patten <timvp@google.com>
Date:   Thu Dec 13 16:50:38 2018 -0700

    Use intent-filter to enforce that only a single ANGLE APK is present
    
    In order to support multiple ANGLE builds (Google-signed,
    AOSP unsigned, OEM-signed), we will use intent-filter to
    indicate that ANGLE is installed.   During CTS testing,
    we will verify that only a single ANGLE is installed and
    provides the necessary functionality.
    
    Bug: angleproject:3011
    Test: Verify CTS hostside tests pass.
    Change-Id: I71dc3a32a4c2bd57b4bbff30bd640e7f7704ab32
    Reviewed-on: https://chromium-review.googlesource.com/c/1377610
    Commit-Queue: Tim Van Patten <timvp@google.com>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Ian Elliott <ianelliott@google.com>

commit 9a51daf6140808b4269adce7d0a5611b1de9eff7
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Fri Dec 14 17:32:21 2018 -0500

    Fix angle_apk build
    
    Bug: angleproject:2995
    Change-Id: I277a36b58dc6e0a9268b43d89e1da46635b5e1d1
    Reviewed-on: https://chromium-review.googlesource.com/c/1378691
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit a7af56be7a6c0c1e08294a70a3e5adea87d867f7
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Dec 14 14:20:28 2018 -0500

    Vulkan: Print the device id in the renderer string.
    
    Add a end2end test that prints all strings to help debug on the bots.
    
    BUG=angleproject:3026
    
    Change-Id: Ia524a0d7dac88e55e0aa67412339e646a5564e64
    Reviewed-on: https://chromium-review.googlesource.com/c/1378686
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit e1f742af18c5da6051817f71219883c95afb523f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Dec 14 14:17:59 2018 -0500

    GL: Clean up workaround detection.
    
    Use functions instead of macros for platform detection so compilation can be
    checked from any platform.  Also makes the workaround detection more readable.
    
    BUG=angleproject:3026
    
    Change-Id: I4153f0a2a6a6d5860c7b37f7cc67561895165ed1
    Reviewed-on: https://chromium-review.googlesource.com/c/1378685
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 70fd9b5d381e08710771ff44d8a129128f83f4b2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Dec 14 10:27:33 2018 -0500

    Fix compile error in angle_white_box_perftests.
    
    This seems to have slipped through our CQ coverage.
    
    Bug: angleproject:3025
    Change-Id: I2975eed3026feaa39b0cb3b897821e3bfc112f43
    Reviewed-on: https://chromium-review.googlesource.com/c/1378385
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit dfaccbc08abb2df59c32fa7859e69a6f3f8f2b88
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Dec 13 23:43:52 2018 -0500

    Clean up Windows DEF file generation.
    
    Ordinal numbers weren't necessary. It's a legacy function from Win16.
    Also refactor the def file generator to be much simpler.
    
    Will be helpful for adding the libGLESv2 EGL entry points to the DEF
    files. This will enable loading the right GLES libs on Linux and Mac
    once we break the link dependency of libEGL on libGLESv2.
    
    Bug: angleproject:2871
    Bug: angleproject:2621
    Change-Id: Ia2585323b076446af55359d875a6b67bcdc4d6f9
    Reviewed-on: https://chromium-review.googlesource.com/c/1372378
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 828c59462fc14fb9f2a8dddc189eb5cedbd80f59
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Dec 13 23:09:05 2018 -0500

    Split angle_perftests into white and black box.
    
    The black box version tests traditional GL API features. The white box
    version is designed to test internal classes and uses a static link
    against libANGLE and libGLESv2. The black box version will also be
    extendable to test native drivers directly instead of going through
    ANGLE.
    
    Bug: angleproject:2995
    Change-Id: I0b672db37ed38f82157c7a1db70080ff539337ce
    Reviewed-on: https://chromium-review.googlesource.com/c/1359515
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 4a9f9b08b691aebbb421d2b33e5c7fbadfaffe1f
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Thu Dec 6 17:49:39 2018 +0800

    ES31: support ssbo as the operand of unary operator
    
    Bug: angleproject:1951
    
    Change-Id: I71c2cf2ca35d7b1fe5d14358a0749f47e223816b
    Reviewed-on: https://chromium-review.googlesource.com/c/1367405
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>

commit bec398774ec6d79af153bee98fcc140e17d9cb3e
Author: Tobin Ehlis <tobine@google.com>
Date:   Wed Dec 12 16:23:30 2018 -0700

    tests:Fix memory leak in MipmapTest
    
    Update createRGBInitData() to use/return std::vector instead of raw ptr
    w/ "new." This prevents potential for memory leaks.
    
    Bug: angleproject:2958
    Change-Id: I4b1bb4ee293e171f56d1221a562e607ff8eb0fb3
    Reviewed-on: https://chromium-review.googlesource.com/c/1375229
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Tobin Ehlis <tobine@google.com>

commit 91002266bd1e1aff9d0c8aeb288480be3da188e0
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Dec 12 16:05:24 2018 -0500

    Use angle::Result and pass a context pointer to TransformFeedbackImpl
    
    BUG=angleproject:3020
    
    Change-Id: Ib0877dd33f9a8c6ea57976642f1b904258cb6a86
    Reviewed-on: https://chromium-review.googlesource.com/c/1374273
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 9b02506c852b7f8118ba1bdde18c08da6c060482
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Dec 12 15:44:12 2018 -0500

    Cache valid draw modes with transform feedback.
    
    Enabling transform feedback can affect which draw modes are valid. We
    can use the exiting draw modes cache to save having to check the draw
    modes twice. We update the cached draw modes on any change to the
    transform feedback activity state. e.g. when transform feedback is
    started, or resumed.
    
    There are also spec changes that comes into effect in ES 3.2 or when
    EXT_geometry_shader is enabled. Again we cache these draw modes in the
    packed valid draw modes map.
    
    Will allow for faster validation for draw calls once the other checks
    for transform feedback are optimized. Also adds a new regression test.
    
    Bug: angleproject:2966
    Change-Id: Iab901e45aab70980b9e631ec8383fdeadbd32368
    Reviewed-on: https://chromium-review.googlesource.com/c/1357149
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit b08457df23252af7747129c02842674bd88fe226
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Dec 11 15:13:54 2018 -0500

    Vulkan: Make flushAfterVertexConversion workaround Nexus5X-specific
    
    Workaround added in 611bbaabb28cf4231ad0a138cd7bc21fe559ea02 is likely
    Nexus5X-specific.  This commit detects the phone and enables the
    workaround only on that.
    
    Bug: angleproject:2958, angleproject:3009
    Change-Id: I9ab230d4aa690fd92e3d2d84ad98c159128c1093
    Reviewed-on: https://chromium-review.googlesource.com/c/1372445
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 64f62f4a179fe937fb35fcbff7b5ca6d38a52ee7
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Wed Dec 12 11:57:35 2018 -0500

    Skip external texture ImageTest tests on Ozone
    
    Since Ozone supports external target only
    for images created with EGL_EXT_image_dma_buf_import
    
    Bug: 914146, angleproject:2507
    Change-Id: I454b26bbb7aa8ed638045dc0c9c98065c9ed76e4
    Reviewed-on: https://chromium-review.googlesource.com/c/1374269
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 88faa6967431ad1f64dc3cae0ec6cb0ed0be8efc
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Mon Dec 3 16:22:24 2018 +0800

    ES31: Add unsized array length support in SSBO
    
    Bug: angleproject:1951
    
    Change-Id: I10c798c62a741b156f5b614e0df0795c0e845108
    Reviewed-on: https://chromium-review.googlesource.com/c/1365154
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>

commit a48f26fb7a4d88f0ca60afb5441a243269fe74a6
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Tue Dec 11 16:54:51 2018 +0800

    ES31: Use deepCopy to make sure that every node being used only once
    
    This patch uses deepCopy for nodes which are used more than once in the SSBO
    traverser.
    
    Bug: angleproject:1951
    Change-Id: Ie8e03d4f595484a1e2ca0397ed30a7f484add607
    Reviewed-on: https://chromium-review.googlesource.com/c/1370678
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>

commit 3a25622879393b22b9e77f851d974643ec71af6b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Dec 8 09:56:39 2018 -0500

    Update ANGLE_multiview validation.
    
    Multiview transform feedback now passes if the transform feedback is
    paused. Also updates the relevant validation. This aligns the
    ANGLE_multiview validation with OVR_multivew and with the WebGL
    extension spec.
    
    This change allow us to combine multiple draw call validation updates
    into one update function.
    
    Bug: angleproject:3012
    Change-Id: I2ce04edc386039134198afa1792201e03cc20490
    Reviewed-on: https://chromium-review.googlesource.com/c/1357148
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 611bbaabb28cf4231ad0a138cd7bc21fe559ea02
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Dec 6 01:59:53 2018 +0100

    Vulkan: Convert vertex attributes in compute
    
    In this commit, VertexArrayVk::convertVertexBuffer() is renamed to
    VertexArrayVk::convertVertexBufferCpu() to explicitly show it does a CPU
    readback.  A new VertexArrayVk::convertVertexBuffer() function is added
    that has the same functionality in gpu (with some assumptions, where the
    CPU fallback is used should those assumptions fail).  Currently, the
    only requirement is that buffer offset/stride are divided by the
    component size.
    
    ConvertVertex.comp is the shader responsible for this conversion, and it
    implements the functionality in renderer/copyvertex.inc, minus a few
    functions that are not used in the Vulkan backend.
    
    Bug: angleproject:2958, angleproject:3009
    Change-Id: I8ec9a5f4672509bcf7b9e352cd27663970ad4653
    Reviewed-on: https://chromium-review.googlesource.com/c/1364451
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit be607ad63609429030481a8653aafedfc512ce59
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Nov 29 10:14:22 2018 -0500

    GL: Implement GL_OES_EGL_image_external and GL_OES_EGL_image_external_essl3
    
    Chrome uses external textures as part of its hardware video decode paths
    on Android.
    
    BUG=angleproject:2507
    
    Change-Id: I2af608f84a99843c99a16dcfb9fb2fa28cc8fbb6
    Reviewed-on: https://chromium-review.googlesource.com/c/1361480
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit f5c88e7e1c1aaf0acedb83c174e3d1f121973cda
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Dec 8 09:56:38 2018 -0500

    Refactor and inline DrawElements validation.
    
    This moves ValidateDrawBase into a common inline function. It also
    moves some checks in ValidateDrawElementsCommon into
    ValidateDrawElementsBase. "Base" is called from DrawElementsIndirect
    while "Common" is only called from non-indirect entry points. But this
    improves conformance because the missing checks in "Base" apply to
    DrawIndirect as well.
    
    In a follow-up patch many checks in "Base" will be cached into a single
    value. Much like what we did for ValidateDrawBase.
    
    Also inlines ValidateDrawElements which just calls through to "Common".
    
    Bug: angleproject:2966
    Change-Id: Ibe0c5db25f403dd52a50dc73373ebb50cedad003
    Reviewed-on: https://chromium-review.googlesource.com/c/1357147
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 149eb33bb49faed65a7edb3f5c1d58641fe981c0
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Sat Dec 8 14:53:49 2018 +0100

    Vulkan: add possibility to build subset of shaders
    
    As the number of internal shaders grow, it's helpful in development time
    to be able to build variations of a specific shader, instead of building
    everything every time.
    
    With this commit, one can do:
    
    $ python gen_vk_internal_shaders.py SubString
    
    which will result in compilation of shaders whose name matches the glob
    *SubString*.
    
    Bug: angleproject:2958
    Change-Id: I3b18d7e32e2ec4317531a7655eb2c6148cea177b
    Reviewed-on: https://chromium-review.googlesource.com/c/1369285
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 153e0224da45beaaee596e434b0c81e349b2ab21
Author: Austin Eng <enga@chromium.org>
Date:   Fri Dec 7 13:31:31 2018 -0800

    Add gl_DrawID emulation for ESSL3 with ANGLE_multi_draw
    
    Bug: chromium:890539
    Change-Id: I3d9a9429608afb454f076013f3ed844e115c56cc
    Reviewed-on: https://chromium-review.googlesource.com/c/1368784
    Reviewed-by: Kai Ninomiya <kainino@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Austin Eng <enga@chromium.org>

commit 19f2f9eb2503b5c500a349752f16f3b0bd2f274d
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Fri Dec 7 15:10:48 2018 +0800

    Mark variable to call 'length()' as statically used
    
    Bug: angleproject:3008
    
    Change-Id: I8779706c667f49fddb0a741f5bf31c4af54db3e7
    Reviewed-on: https://chromium-review.googlesource.com/c/1367404
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>

commit 7ef08391098c5ae8877baecde879fa0c4dfa3c86
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Dec 7 16:38:21 2018 +0100

    Vulkan: add test to verify attrib default value dirty handling
    
    Companion test to 0c2dc8c378bb288ab9ccfff078fc222d2b99b1a4.
    
    Bug: angleproject:2786
    Change-Id: Idfbd557dcf6b6bf7e62821ec554bdb3138b616ab
    Reviewed-on: https://chromium-review.googlesource.com/c/1367750
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 5c4af666930c428826d6ade0dfea1ab86f62e821
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Dec 7 06:31:00 2018 +0100

    Vulkan: unix line endings in generated shaders
    
    Bug: angleproject:3007
    Change-Id: I466caa92ae337508ae284b6fb8d38f5fa3ea1042
    Reviewed-on: https://chromium-review.googlesource.com/c/1366796
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 33484b97370c324e65ff6da17fd9a182c6aed3d3
Author: Ian Elliott <ianelliott@google.com>
Date:   Thu Dec 6 14:38:59 2018 -0700

    A4A opt-in/out: add TestRuleProcess test and use a test fixture
    
    The new TestRuleProcess test tests the full rule-processing paths.
    The test fixture reduces code duplication.
    
    Bug: angleproject:2993
    
    Change-Id: Ia07ea408fb771dfd1a21cc2fd4610e0e88f529ea
    Reviewed-on: https://chromium-review.googlesource.com/c/1366314
    Commit-Queue: Ian Elliott <ianelliott@google.com>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 0c2dc8c378bb288ab9ccfff078fc222d2b99b1a4
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Dec 7 08:00:49 2018 +0100

    Vulkan: Fix dirty default attributes handling
    
    When invalidating default attributes, the mask to invalidate was set as
    the current dirty mask, but it should have been or'ed with it.
    
    The following test triggered a validation error on Linux:
    
    dEQP.GLES2/functional_default_vertex_attrib_mat4_vertex_attrib_4fv
    
    In this test, Vertex Array Bindings and Program dirty bits would set the
    default attrib dirty mask to all the default attributes, but the
    handling of Current Values dirty bits would mistakenly remove some of
    those dirty bits.
    
    Bug: angleproject:2786
    Change-Id: Ife96621da7646102c1ce3b24e45f405e34a08b40
    Reviewed-on: https://chromium-review.googlesource.com/c/1366797
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit e14feaf5b9aaa5bbe880ab9f67e0cf3fd5201ab8
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Thu Nov 29 16:29:54 2018 +0800

    ES31: support ssbo as an argument of aggregate type
    
    BUG: angleproject:1951
    
    Change-Id: Icaab8ffd0ee88cca22ba79a9f0d4e02c9134a169
    Reviewed-on: https://chromium-review.googlesource.com/c/1349071
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 7c985f5c4f1ae2caa3629bbee08c0e27853d196d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 29 18:16:17 2018 -0500

    Make angle::Result an enum.
    
    This moves away from a class type to a value type. This should improve
    performance when using angle::Result as a return value. Previously the
    generated code would return a pointer instead of a value.
    
    Improves performance in the most targeted microbenchmark by 10%. In
    more realistic scanarios it will have a smaller improvement. Also
    simplifies the class implementation and usage.
    
    Includes some unrelated code generation changes.
    
    Bug: angleproject:2491
    Change-Id: Ifcf86870bf1c00a2f73c39ea6e4f05ca705050aa
    Reviewed-on: https://chromium-review.googlesource.com/c/1356139
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit c3e3731cd3b2a3044f1bdec906c8557cc3edae77
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Nov 30 15:25:39 2018 -0500

    Give every validation error a constant.
    
    Makes the code more consistent and organized.
    
    Also reduces binary size by about 4k.
    
    Also refactors validation for GetBufferPointerv.
    
    Bug: angleproject:2957
    Change-Id: Ib076ce936193e9840eef2499bf815489cdb48479
    Reviewed-on: https://chromium-review.googlesource.com/c/1350489
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit ec06305b8216602d503ac64096c62eaed38b7044
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Dec 6 01:58:06 2018 +0100

    Vulkan: Add dynamic vertex buffers to graph
    
    With DynamicBuffer outputting BufferHelper objects, these objects can
    participate in the command graph, i.e. record commands.  This means they
    need appropriate dependencies in the graph as well as pipeline barriers.
    
    There are a few users of DynamicBuffer for which this change should be
    applied to.  This change covers vertex attribute buffers.
    
    Bug: angleproject:2958
    Change-Id: Ic3f8e187639919aba23102bba238de9ce70e6394
    Reviewed-on: https://chromium-review.googlesource.com/c/1364450
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 132d15c217e0363626a5d789861b75122f718b5d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Nov 30 15:25:38 2018 -0500

    Clear uncleared textures as a dirty object.
    
    This removes the check for robust resource init from prepareForDraw.
    It should improve performance more when WebGL compatiblity is enabled.
    Also inlines Context::syncDirtyBits and Context::prepareForDraw.
    
    Reduces CPU overhead in all draw and dispatch calls up to 5%.
    
    Bug: angleproject:2966
    Change-Id: I7e9009a501c0331a6140bc78678aef27e38c3df2
    Reviewed-on: https://chromium-review.googlesource.com/c/1347453
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 9092bdc7a76f8f79d7fba775880fecbd3e729ea4
Author: Ian Elliott <ianelliott@google.com>
Date:   Thu Dec 6 09:38:15 2018 -0700

    Fix crash in A4A opt-in/out logic.
    
    The Device::match() method used to call the old ListOf<T>::match()
    method with ListOf<T>::front(), assuming that front() always returned
    a valid object reference.  It did not (e.g. the default rule had a
    wildcarded device that had no GPU).
    
    A new ListOf<T>::match() was created (for the GPU case) that compares
    to ListOf<T> objects.  If either/both is wildcarded, true is quickly
    returned.  If both are not wildcarded, they will have one or more T's,
    and these are iterated through (one in the new method, and one by
    calling the old method).
    
    During rule processing, it is safe to directly call the old method for
    a Rule's ListOf<{Device|Application}>, and so the old method is retained.
    
    Change-Id: Iea47075c38dc45eb32e1810c4997b8cfb2fe9ec3
    Reviewed-on: https://chromium-review.googlesource.com/c/1365678
    Commit-Queue: Ian Elliott <ianelliott@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d300548fcc2858fab34b7a744a000c48be845d06
Author: Austin Eng <enga@chromium.org>
Date:   Wed Dec 5 14:04:09 2018 -0800

    Add ANGLE_multi_draw entrypoints to proc table
    
    Bug: chromium:890539
    Change-Id: Iddd4b02d218ea11ccd77de139fd060bed4996bc2
    Reviewed-on: https://chromium-review.googlesource.com/c/1363931
    Commit-Queue: Austin Eng <enga@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 8f1b7a66a5e3182e44635f18c5740b77fa7c057f
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Nov 14 16:02:54 2018 -0500

    Vulkan: Add DispatchUtilsVK
    
    This class provides a set of compute-based internal utilities.
    Currently, buffer clear and copy are implemented.  Other possibilities
    include more efficient mip map generation, or specialized texture
    operations.
    
    VertexArrayVk::updateIndexTranslation() is updated to convert the
    GL_UNSIGNED_BYTE index buffer to a GL_UNSIGNED_SHORT one using this
    class to avoid a CPU readback.
    
    The vk::Format class is augmented with a few flags (IsInt, IsUnsigned)
    to be able to select the appropriate shader based on the format (float,
    int or uint).
    
    Bug: angleproject:2958,angleproject:3003
    Change-Id: Ie35519deb3c32a3da5ccf74080c70092c9287f0a
    Reviewed-on: https://chromium-review.googlesource.com/c/1336307
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit fdccaa3acbcefa7719746345aa0ac7f2a9b29b83
Author: Tim Van Patten <timvp@google.com>
Date:   Thu Nov 1 17:47:10 2018 -0600

    Enhance ANGLE for Android Developer Options
    
    Update ANGLE Developer Options
    
    Update ANGLE developer options to allow selecting the OpenGL driver
    (default, ANGLE, native) for each app as well as forcing ANGLE for all
    apps.
    
    Bug: angleproject:2962
    Test: Verify the default/ANGLE/native values are saved and applied and
    used by the loader.
    
    Change-Id: I6737b11bc061318cf8438c8161593ca70239590f
    Reviewed-on: https://chromium-review.googlesource.com/c/1354101
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Tim Van Patten <timvp@google.com>

commit eae081c6682aea6f754e662a48a5c75f825f6873
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Dec 3 22:32:32 2018 -0500

    Vulkan: Fix ASTC_12x12_SRGB_BLOCK support
    
    A typo in the .json file made this format unavailable.
    
    Bug: angleproject:2357
    Change-Id: I3214c6d8a00d9fa731573347b06bded8fb57a918
    Reviewed-on: https://chromium-review.googlesource.com/c/1359619
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 96bd8fdf36e58199ae3deb3c8108a55cec2d43a3
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Nov 30 14:30:18 2018 -0500

    Vulkan: Fix format properties queries
    
    When querying format properties (in vk::GetFormatProperties), the
    mandatory feature support table was consulted to check whether a number
    of texture features are present.  If so, the entry from that table was
    returned.  The goal had been to speed up initialization by not issuing
    device queries if possible.
    
    That is, when vk::GetFormatProperties was called on a format, if it
    supported that select few texture features, the VkFormatProperties entry
    from the mandatory table would be returned.
    
    However, that function found its way to other uses (such as querying
    buffer format properties, or other image properties beyond the select
    few).  As a result, when the VkFormatProperties from the mandatory table
    was returned, actual support for these other features was often not
    tested and assumed false (unless they happened to be mandatory as well).
    
    This commit reworks the format feature query functions such that the
    specific features to be tested are provided when querying the format
    properties.  The mandatory table is consulted as before, and if the
    entry doesn't contain those features, the device is queried and the
    results cached.
    
    Bug: angleproject:2958
    Change-Id: I28d046eb63c3bd5173468aa4cb3e4c63c83e67b1
    Reviewed-on: https://chromium-review.googlesource.com/c/1357152
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 81a880aaeb5757a0199d21ed4835bb1964f8ad80
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Mon Nov 12 15:53:34 2018 +0800

    ES31: support ssbo as binary operand
    
    This patch will process ssbo as compound assignment binary operand or readonly
    binary operand.
    
    BUG: angleproject:1951
    
    Change-Id: I4a0da77649d719fa08e6bf4c3d9ace58dbfb7aab
    Reviewed-on: https://chromium-review.googlesource.com/c/1349449
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 8e6364434a7328c3542bdd883d46ddb4e6823adf
Author: Cody Northrop <cnorthrop@google.com>
Date:   Fri Nov 30 16:24:11 2018 -0700

    Generate multiple Android APKs
    
    This change moves the generation of Android APKs into a template
    function so it can be called multiple times with different parameters.
    The two packages generated only differ by package name and APK name,
    but this lays the framework for easy future changes.
    
    Bug: angleproject:3004
    Change-Id: I6c27d379bfa5f5c2912bf04cb748983787e385ac
    Reviewed-on: https://chromium-review.googlesource.com/c/1361381
    Commit-Queue: Cody Northrop <cnorthrop@google.com>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Tim Van Patten <timvp@google.com>

commit 654b3c56c6a4c5a785cbd7d34a45481e7b77d5a0
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Dec 3 21:59:35 2018 -0500

    Vulkan: Fix multi-layer image readback
    
    The buffer size did not take layer count into account.
    
    angleproject: 2828
    Change-Id: I94b9294503d785d3e727422550d7e4643eed1917
    Reviewed-on: https://chromium-review.googlesource.com/c/1359618
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit e3e680ca47dc179a291915e6396b5616e9113c8a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Dec 3 17:49:08 2018 -0500

    Remove State::syncProgramTextures.
    
    Removes the concept of the program textures dirty object. Instead we
    use a set of dirty bits to represent dirty texture samples. We mark
    certain textures dirty and update state structures whenever there is
    a new Texture/Program/Sampler bound, or when Texture/Program/Sampler
    state changes.
    
    This is in preparation for making clearing the uncleared active
    textures into a dirty bit as well.
    
    Also includes new dirty bit handling for texture image units. These are
    a GLES 3.1 feature.
    
    Bug: angleproject:2966
    Change-Id: Ibb8619dd2669bb39fdbcd75e3685be9a8aeeee91
    Reviewed-on: https://chromium-review.googlesource.com/c/1346649
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit ff03e51ea25ef9d4f99d529eb39e43edb1fdcc89
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Dec 3 17:47:38 2018 -0500

    Copy PDBs in update_canary_angle.
    
    A change in Chromium's build tools caused symbol paths to become
    relative. Since copying dlls no longer links back to the build
    directory we need to copy the PDBs as well to get debuggging symbols.
    
    Bug: angleproject:3001
    Change-Id: I54d9a1d57d3c69d81d68913993653bab61fa4e65
    Reviewed-on: https://chromium-review.googlesource.com/c/1358645
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 66f0d2c1e7b521b56d4e82e6b7291266551b1186
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Nov 30 15:25:36 2018 -0500

    Make Framebuffer attachments angle::Subjects.
    
    Now that there's storage change notifications in the GL front-end we
    no longer need to give the back-end access to the angle::Subject. The
    Texture object is a special case where it has mirrored dirty bits. To
    keep the gl::Texture class notified of when the Impl has dirty bits we
    make the TextureImpl class an angle::Subject that is observed by the
    gl::Texture class.
    
    This will enable further dirty bits improvements.
    
    Bug: angleproject:2966
    Change-Id: Id22da0926f51ff4679e58af3e62903f4d7948915
    Reviewed-on: https://chromium-review.googlesource.com/c/1347670
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c10a023a66f27f1e92db8d4e76f574871b2d8a4d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Dec 3 10:13:36 2018 -0500

    Fix fuchsia build of libfeature_support.
    
    This enables the linux path for GetSystemInfo on fuchsia. Tested
    locally and fixes the build.
    
    Bug: angleproject:2996
    Change-Id: Icc8f282a66ff43ae9c74545a9dcee2d4af8a21e0
    Reviewed-on: https://chromium-review.googlesource.com/c/1358632
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit ce0a8f3c8fa7025b5836d80745068484a457cb4e
Author: Nico Weber <thakis@chromium.org>
Date:   Mon Dec 3 09:06:02 2018 -0500

    List vulkan_core.h as input of generate_vulkan_layers_json.py.
    
    Since this was missing, the layer json files didn't get regenerated on
    vulkan rolls, leading to stale generated json files, which in turn led
    to incremental builds having different files in the swarming isolate
    than full builds.
    
    To make this type of bug harder to introduce, rewrite
    generate_vulkan_layers_json.py a bit:
    
    - pass in path to vulkan_core.h as an argument
    - also pass in the input .json / .json.in files as arguments,
      so that the script re-runs if a .json or .json.in input is added
      or removed, and in the script verify that the passed-in list matches
      the glob() the script did previously (this verifies that the sources
      list in the .gn file is up-to-date with the state on disk)
    - generate outputs list in gn from sources list, to make sure they're
      in sync
    - use an expicit --icd flag instead of doing `'icd' in path`
    - fail when failing to extract vk_version instead of silently using a
      default
    - some minor python style fixes
    
    Bug: chromium:910699,chromium:869348
    Change-Id: I1e598f4566697a7f1ef56b040e52d0717f7ad075
    Reviewed-on: https://chromium-review.googlesource.com/c/1358631
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Nico Weber <thakis@chromium.org>

commit 5c317537a9fe03521467669c4d938680cf5de5b3
Author: Tom Tan <Tom.Tan@microsoft.com>
Date:   Fri Nov 30 17:01:01 2018 -0800

    Don't copy d3dcompiler_47.dll when build target is Windows ARM64
    
    Windows ARM64 was first released at 10.0.16299 which contains d3dcompiler_47.dll under %systemroot%\system32, so no need to copy it from Windows SDK. For the same reason, it is also not included as part of redistribute package for Windows ARM64.
    
    Bug: chromium:893460
    
    Change-Id: I175ce831d800ec1f19c767fc172219f6b693fec3
    Reviewed-on: https://chromium-review.googlesource.com/c/1357155
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 35cd7332ab62072a0a3d81c7e259a64ad5a61ba8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sun Dec 2 12:03:33 2018 -0500

    Refactor test shader style.
    
    This change enforces a lot more consistency. We pass const char * to
    the Compile functions instead of std::string. Also fixes the
    indentation of C++11 block comments to be more consistent.
    
    Bug: angleproject:2995
    Change-Id: Id6e5ea94055d8cbd420df4ea2e81b2d96cb5ce78
    Reviewed-on: https://chromium-review.googlesource.com/c/1357103
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 4abdf74f0afc039d9454e3c81ddb7670ebd94a99
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Nov 28 14:41:10 2018 -0500

    Vulkan: Add dynamic index buffers to graph
    
    With DynamicBuffer outputting BufferHelper objects, these objects can
    participate in the command graph, i.e. record commands.  This means they
    need appropriate dependencies in the graph as well as pipeline barriers.
    
    There are a few users of DynamicBuffer for which this change should be
    applied to.  This change covers index buffers.
    
    This commit includes a fix to BufferHelper::copyFromBuffer for WaW
    hazards.
    
    It also includes a fix for a missing pipeline barrier after
    BufferVk::copyToBuffer.
    
    Bug: angleproject:2958
    Change-Id: I3e61af56936580b2da20c28c45defece552d9a39
    Reviewed-on: https://chromium-review.googlesource.com/c/1352732
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit a9d579e8106b1e5967e8d805e226298841cb1f88
Author: Ian Elliott <ianelliott@google.com>
Date:   Wed Nov 28 11:44:48 2018 -0700

    Version-2 API of the A4A opt-in/out (a.k.a. feature-support utilities)
    
    This version-2 API splits up and renames parts of the version-1 API.
    
    Some initial unit tests were added.
    
    The code is now built and tested on Linux, Windows, and Mac (in
    addition to Android, which is where it's being used).
    
    Memory leaks were fixed and some memory/list-management TODOs were
    also dealt with (associated with an Android bug).
    
    Some review items deferred.  See: angleproject:2993
    
    Bug: angleproject:2794
    Bug: b/113346561
    Change-Id: Iff307f9347fb05a733fe96b6774fb32d36e25590
    Reviewed-on: https://chromium-review.googlesource.com/c/1291837
    Reviewed-by: Ian Elliott <ianelliott@google.com>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit 317a9ebdb019b02fda925072a5572265826676e9
Author: Tobin Ehlis <tobine@google.com>
Date:   Thu Nov 29 12:51:46 2018 -0700

    Vulkan: Roll VK deps forward
    
    Roll VK Headers/Loader/ValidationLayers forward.
    There's a build improvement as well as many new checks.
    
    Added new source file dep, convert_to_renderpass2.cpp, used by core_
    validation for added RenderPass2 checks.
    
    Also had to move glslang fwd for shader validation layer so updated
    from confusing upstream branch of glslang that's integrated with shaderc
    to the independent Khronos glslang repo.
    
    Bug: angleproject:2937
    Bug: chromium:845519
    Change-Id: Ifee911f061dc426404c09499e49c2f029b174d03
    Reviewed-on: https://chromium-review.googlesource.com/c/1355508
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Tobin Ehlis <tobine@google.com>

commit b51eb09fb5bb1d668f292735d1f9e5f4c692e443
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Nov 29 10:48:36 2018 -0500

    Vulkan: Allow bindings to compute stage
    
    Includes both binding of resources and updating push constants on the
    compute shader stage.
    
    Bug: angleproject:2958
    Change-Id: I5686cbac81e0dd83d0e938cb40f9f9ac7d2ef48a
    Reviewed-on: https://chromium-review.googlesource.com/c/1355500
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit df8c1053db71bb5c8ac3309ae6a365468ae499ba
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Nov 29 11:49:45 2018 -0500

    Vulkan: Uber-shader generated code optimization
    
    Refactors code out of generated functions into a common function and
    simplifies assertions.
    
    Bug: angleproject:2958
    Change-Id: I896c2304c3ac1e043c16f9ecf81fa8b72a6b87c0
    Reviewed-on: https://chromium-review.googlesource.com/c/1355501
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit e90d4ee966c47e2b686db79540e2c1259458453f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 28 14:04:00 2018 -0500

    Pass Context to setLabel.
    
    This is useful for triggering a dirty state notification for Textures.
    It will lead to improvements for program and texture dirty bits.
    
    Bug: angleproject:2966
    Change-Id: Iaba625da8a970a558f7d158bfa2f09c964f6761a
    Reviewed-on: https://chromium-review.googlesource.com/c/1347669
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit ef9fcd91772b141cd2eb8c7138e1898223ac8ea5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 28 14:03:59 2018 -0500

    Clear draw attachments as a dirty object.
    
    This allows us to skip 1/2 of the robust resource init check in
    Context::setupDraw. The plan is to remove the other half in a follow-up
    CL.
    
    Most of the work of this CL was already handled. We just need to add
    the right dirty object mask to the Context's draw dirty objects list.
    We can mask out this check when robust resource is not enabled.
    
    Bug: angleproject:2966
    Change-Id: I97ec2497c95e5cdf52988e1ce85f7602206935f0
    Reviewed-on: https://chromium-review.googlesource.com/c/1343140
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 2c0e06d94bcdc25e44eb0f9898e16f01f72c7e7f
Author: Cody Northrop <cnorthrop@google.com>
Date:   Thu Nov 29 09:00:08 2018 -0700

    Add temporary icon for ANGLE apk
    
    Even though we don't plan to be launchable, we need to include an
    icon for plumbing reasons.  For now I'm using a temporary
    icon pulled from our Cubey sample.  When we get something official
    we can easily swap it in, and enhance it support multiple dpis.
    
    Bug: angleproject:2991
    Change-Id: I2873d74586543c617cfc13fe6582b0b4967cbb22
    Reviewed-on: https://chromium-review.googlesource.com/c/1355505
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Cody Northrop <cnorthrop@google.com>

commit 8dc27f99b55637403bb35ccd43b1997f718c575b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 29 11:45:44 2018 -0500

    Use packed enum for DrawElementsType.
    
    The packing and unpacking take a few extra instructions. But it
    completely obviates the need for any switches in the validation code.
    Speed is slightly faster or the similar depending on the back-end.
    
    Also add gl_angle_ext.xml to GL entry point generator inputs. This was
    missing and would cause the code generation to miss certain changes.
    
    Bug: angleproject:2985
    Change-Id: I1ea41a71db71135000166ead8305ec42d22ff7b3
    Reviewed-on: https://chromium-review.googlesource.com/c/1351729
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 471358f39a6a53b97575f0074f466892babd8efc
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Nov 28 15:21:55 2018 -0500

    Vulkan: fix pipeline stages of memory barriers
    
    VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT was used for barriers, but TOP and
    BOTTOM bits can only be used for execution barriers.  These stages don't
    access memory, so they don't participate in memory barriers at all.  A
    validation error is generated as our current barriers violate this:
    
    https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VUID-vkCmdPipelineBarrier-pMemoryBarriers-01184
    
    A note from the spec (see second paragraph in particular):
    
    > An execution dependency with only VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT
    > in the destination stage mask will only prevent that stage from
    > executing in subsequently submitted commands. As this stage does not
    > perform any actual execution, this is not observable - in effect, it
    > does not delay processing of subsequent commands. Similarly an execution
    > dependency with only VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT in the source
    > stage mask will effectively not wait for any prior commands to complete.
    
    > When defining a memory dependency, using only
    > VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT or
    > VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT would never make any accesses
    > available and/or visible because these stages do not access memory.
    
    > VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT and
    > VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT are useful for accomplishing layout
    > transitions and queue ownership operations when the required execution
    > dependency is satisfied by other means - for example, semaphore
    > operations between queues.
    
    Bug: angleproject:2958
    Change-Id: Ic616dcad7583db6b386d7d01a774b3ebd71a7081
    Reviewed-on: https://chromium-review.googlesource.com/c/1352733
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit f7f8c518199177810e3f5decc14b82ccec5913e5
Author: Markus Tavenrath <matavenrath@nvidia.com>
Date:   Sun Nov 18 15:56:45 2018 +0100

    Optimize State::syncDirtyObjects
    
    Create a function table for State::syncDirtyObjects to avoid the
    costly switch and inline calls along the Context::syncDirtyObjects
    calling hierarchy.
    
    Bug: angleproject:2975
    
    Change-Id: I1ec797452af41bc767578e4017c8eccb7d83628b
    Reviewed-on: https://chromium-review.googlesource.com/c/1340222
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit a1442ecdf5142b40cab85caf9f472b6bece9bf5f
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Nov 26 12:48:10 2018 -0500

    Vulkan: Uber-shader support
    
    For each internal shader, there is now possibly a companion .json file
    that defines shader variations.  The variations consist of a set of
    flags and a set of enums.  Each enum defines a variation that takes one
    of a few values.  Flags are shorthands for 2-value enums.
    
    In the shader code, #if can be used to change the shader based on
    variations derived from flags and enums.  On the C++ side, those
    variations are combined into an index and the appropriate shader is
    retrieved from a table.
    
    Bug: angleproject:2958
    Change-Id: Ic4fc7061adb20c047c26624305285e3005092aab
    Reviewed-on: https://chromium-review.googlesource.com/c/1351117
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 5f01324fb627a502823d9e359d243c3430920258
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Nov 26 12:41:12 2018 -0500

    Vulkan: Allow descriptor pool to allocate different types
    
    The internal shaders know exactly what mix of resources they use, so
    with this change they can make one allocation of multiple types.
    
    Bug: angleproject:2958
    Change-Id: Ia6f03672b95af4be9618a2f5eeb41ef1c027e810
    Reviewed-on: https://chromium-review.googlesource.com/c/1351116
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 7310da33bc7a6fcd9c5cacf0d28db7b3d424c757
Author: Yizhou Jiang <yizhou.jiang@intel.com>
Date:   Mon Nov 5 14:40:01 2018 +0800

    Implement GetMultismaplefvANGLE and SampleMaskiANGLE of texture multisample extension
    
    This patch adds GetMultismaplefvANGLE and SampleMaskiANGLE api.
    
    TEST=TextureMultisampleTest.CheckSamplePositions*
    TEST=NegativeTextureMultisampleTest.Negtive*
    
    BUG=angleproject:2275
    
    Change-Id: Ib1e8b856059229bbe88328a28cf2a892f4673214
    Reviewed-on: https://chromium-review.googlesource.com/c/1319252
    Commit-Queue: Yizhou Jiang <yizhou.jiang@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 2c0d6a9404cdede73b257d91347eaef0449350ed
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 28 14:03:58 2018 -0500

    WebGL: Fix DrawElements test and remove size check.
    
    Also optimizes the DrawElements validation to remove redundant tests.
    Also make some more validation WebGL-specific.
    
    Bug: angleproject:2979
    Change-Id: I2d5c3094ed86ebadbc572e46b8ae105431f7ae68
    Reviewed-on: https://chromium-review.googlesource.com/c/1343139
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 5829c03d383e16c0e6dbea9b6754e011e1395321
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Nov 28 10:39:41 2018 -0500

    Vulkan: fix ProgramVk never releasing uniform buffers
    
    Bug: angleproject:2958
    Change-Id: I7fd50e8b2029aad59a35050f401e1cf70d047444
    Reviewed-on: https://chromium-review.googlesource.com/c/1354098
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 254b32cb9bf753842459c6719ce98ae8b049cd78
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Nov 26 11:58:03 2018 -0500

    Vulkan: Make DynamicBuffer use BufferHelper
    
    This is so that the resulting buffers can be written to by the GPU.
    
    Additionally, the class is given the ability to create host-visible or
    device-local buffers, making map()-on-init() optional.
    
    This is in preparation for vertex/index transformations in compute.
    
    Bug: angleproject:2958
    Change-Id: Ib8f5829e33a1e49fa8f80c70dbde74f313ae49ec
    Reviewed-on: https://chromium-review.googlesource.com/c/1351113
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit b29fccfe2a3091d36bbad596cf68c5c0e45b0f8f
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Wed Nov 28 10:09:39 2018 -0500

    Rearrange Android lib deps
    
    Vulkan backend was missing dependency on NativeWindow.
    
    Bug: angleproject:2314
    
    Change-Id: I66675af6f885b57bdb0524a0626dfec0256a21d3
    Reviewed-on: https://chromium-review.googlesource.com/c/1354100
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit c4e0a1e511fca7996710d1204e968fa0b493d5a0
Author: Tim Van Patten <timvp@google.com>
Date:   Wed Nov 28 16:08:11 2018 +0000

    Revert "Enhance ANGLE for Android Developer Options"
    
    This reverts commit fdbdb2b247ffa4cf66bc2cd3a5bb45a056bd88a3.
    
    Reason for revert:
    I didn't mean to land this quite yet, since we are still working on the Android side of things.   It seems doing CQ+2 merges it while I was trying for just a dry run while replying to Jamie's comments with updates (after checking with Boulder folks, I want CQ+1 next time).
    
    Once the Android changes are ready, I'll work on getting this landed again.
    
    Original change's description:
    > Enhance ANGLE for Android Developer Options
    >
    > Update ANGLE Developer Options
    >
    > Update ANGLE developer options to allow selecting the OpenGL driver
    > (default, ANGLE, native) for each app as well as forcing ANGLE for all
    > apps.
    >
    > Bug: angleproject:2962
    > Test: Verify the default/ANGLE/native values are saved and applied and
    > used by the loader.
    >
    > Change-Id: I6041e7e49ca5cc65f90fc8ae6f1b084e4639d769
    > Reviewed-on: https://chromium-review.googlesource.com/c/1330315
    > Commit-Queue: Tim Van Patten <timvp@google.com>
    > Reviewed-by: Geoff Lang <geofflang@chromium.org>
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    
    TBR=ynovikov@chromium.org,geofflang@chromium.org,jmadill@chromium.org,cnorthrop@google.com,tobine@google.com,courtneygo@google.com,ianelliott@google.com,timvp@google.com
    
    Change-Id: If3a4e917973c56b858244a0ca7f1b164143524f5
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:2962
    Reviewed-on: https://chromium-review.googlesource.com/c/1354099
    Reviewed-by: Tim Van Patten <timvp@google.com>
    Commit-Queue: Tim Van Patten <timvp@google.com>

commit 83b2f0e8a2e09ae469fe1afd05842ee5dcfb38c2
Author: James Darpinian <jdarpinian@chromium.org>
Date:   Tue Nov 27 15:56:01 2018 -0800

    WebGL: Forbid GenerateMipmap on zero-size textures
    
    This is a WebGL spec change:
    https://github.com/KhronosGroup/WebGL/commit/bfbe124a7bb92eed34ea7cc18694167ed66b1030
    
    Fixes conformance2/textures/misc/tex-mipmap-levels.html
    
    Bug: chromium:898351
    Change-Id: Ib20409e10bec598611be273577115a380a63b523
    Reviewed-on: https://chromium-review.googlesource.com/c/1352385
    Commit-Queue: James Darpinian <jdarpinian@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 3b7c9d099b0da0e70ebe9a0d73cfa644ee1c4901
Author: Austin Eng <enga@chromium.org>
Date:   Wed Nov 21 18:09:05 2018 -0800

    Change offsets in MultiDrawElements* entrypoints to match glMultiDrawElements
    
    This patch changes arguments for MultiDrawElements and
    MultiDrawElementsInstanced from from GLsizei *offsets to
    const* GLvoid* indices.
    
    Bug: chromium:890539
    
    Change-Id: I2124cf2daeaa6af0f889f3c46aa2b8c77be200a6
    Reviewed-on: https://chromium-review.googlesource.com/c/1352591
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kai Ninomiya <kainino@chromium.org>
    Commit-Queue: Austin Eng <enga@chromium.org>

commit 4f6592fa4ce9534b7ec66c13f6f21dbd6a1c234a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 27 16:37:45 2018 -0500

    Remove gl::Error.
    
    Removes several TODOs. Only egl::Error remains.
    
    Also slightly decreases binary size.
    
    Bug: angleproject:2491
    Change-Id: I3a9d1c22eb0884ca9e37362463fddd0083faf826
    Reviewed-on: https://chromium-review.googlesource.com/c/1337462
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit fdbdb2b247ffa4cf66bc2cd3a5bb45a056bd88a3
Author: Tim Van Patten <timvp@google.com>
Date:   Thu Nov 1 17:47:10 2018 -0600

    Enhance ANGLE for Android Developer Options
    
    Update ANGLE Developer Options
    
    Update ANGLE developer options to allow selecting the OpenGL driver
    (default, ANGLE, native) for each app as well as forcing ANGLE for all
    apps.
    
    Bug: angleproject:2962
    Test: Verify the default/ANGLE/native values are saved and applied and
    used by the loader.
    
    Change-Id: I6041e7e49ca5cc65f90fc8ae6f1b084e4639d769
    Reviewed-on: https://chromium-review.googlesource.com/c/1330315
    Commit-Queue: Tim Van Patten <timvp@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit e0472f3d52a4b55c010ac5bfc6d7c345c3314f7a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 27 16:32:45 2018 -0500

    Slight refactor to ErrorStrings.h.
    
    Allows for better readability. Also sort the error strings by ID.
    
    Bug: angleproject:2957
    Change-Id: Ib3900a4c90507ac84496fd5ff916417eb768667b
    Reviewed-on: https://chromium-review.googlesource.com/c/1337461
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 752d220a5f31c68ecba0fc845493dcc36bc40eb4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 27 13:29:48 2018 -0500

    Use flat enum for PrimitiveMode.
    
    The GLenum was already mostly packed. There were just a few missing
    values because of the exclusion of things like GL_QUADS and GL_POLYGON
    from GLES.
    
    Also update the PackedEnumMap initialization to take an intializer.
    The initializer is a list of key/values which is much more robust to
    changes in the packed map.
    
    Improves draw call speed slightly as there is no conversion needed any
    more for the mode enum.
    
    Bug: angleproject:2966
    Change-Id: Icae658272c6234f29335f6a57a63cf341cf5b2a0
    Reviewed-on: https://chromium-review.googlesource.com/c/1346529
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 11bfe6faa2996d051a46e8e7d1e7a098c4515450
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Nov 27 13:24:22 2018 -0500

    Supress RobustResourceInitTestES3.MaskedStencilClearBuffer on Linux OpenGL
    
    This test flakes on many platforms.
    
    BUG=angleproject:2408
    BUG=angleproject:2407
    
    Change-Id: I9e8ff8aedc02962656c1a336c3f34191920ae8c7
    Reviewed-on: https://chromium-review.googlesource.com/c/1352222
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit b980c5630eb5a9a95d79a17c7902fab480745120
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 27 11:34:27 2018 -0500

    Reformat all cpp and h files.
    
    This applies git cl format --full to all ANGLE sources.
    
    Bug: angleproject:2986
    Change-Id: Ib504e618c1589332a37e97696cdc3515d739308f
    Reviewed-on: https://chromium-review.googlesource.com/c/1351367
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 4f2b94cb9a6bb640110ea65a7637872b83acbba8
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Nov 26 11:38:02 2018 -0500

    Expose EXT_color_buffer_half_float if RGBA16F is renderable.
    
    The EXT_color_buffer_half_float extension spec issue #2 states that none
    of the added color buffer formats are required to be renderable and the
    client must check for framebuffer completeness for using them.  Chrome
    exposes the extension if at least RGBA16F is renderable for WebGL.
    
    Replicate Chrome's behaviour by loosening our requirements to only
    expose this extension if an explicit check for RGBA16F renderability
    succeeds.
    
    BUG=angleproject:2984
    
    Change-Id: Id97f3043ebf3fd11b5e9e2d505e57b76baba9716
    Reviewed-on: https://chromium-review.googlesource.com/c/1351350
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 6494c41515f0135c780d1d59f3db016828089477
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Mon Nov 5 15:46:04 2018 +0800

    ES31: Add swizzle support in SSBO (Part 1)
    
    This patch adds the swizzle process if the swizzle node is the last node in
    ssbo access chain.
    
    Bug: angleproject:1951
    
    Change-Id: Iecc95baa45e8cc40be9111a15398c7e858bfb99e
    Reviewed-on: https://chromium-review.googlesource.com/c/1341234
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 471b8d4c7383298792e185eaae59347be9ae8601
Author: James Darpinian <jdarpinian@chromium.org>
Date:   Wed Nov 21 15:37:47 2018 -0800

    WebGL, D3D: Forbid multiple TF outputs in one buffer
    
    Implementing a WebGL spec change:
    https://github.com/KhronosGroup/WebGL/pull/2658
    Fixes WebGL 2 conformance test:
    conformance2/transform_feedback/same-buffer-two-binding-points.html
    
    Also applying the change to D3D backends because they can't support
    multiple transform feedback outputs in one buffer.
    
    Bug: chromium:866089
    Change-Id: I8d7eda14225c13efb7ca1ed974239332be4e79a6
    Reviewed-on: https://chromium-review.googlesource.com/c/1347749
    Commit-Queue: James Darpinian <jdarpinian@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 5552cdf032dd81697de38683293a0a93752e16c7
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Nov 26 12:19:26 2018 -0500

    Vulkan: Create buffer view for BufferHelper
    
    Bug: angleproject:2958
    Change-Id: Ifa40537bc6003486b37d5d2ac9a2b7f1f5c3d1c2
    Reviewed-on: https://chromium-review.googlesource.com/c/1351115
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 1b17f90b3f110d9160e247953b09dd3e041c86fb
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Nov 26 14:02:02 2018 -0500

    Vulkan: Implement ANGLE_translated_shader_source
    
    BUG=angleproject:2909
    
    Change-Id: Ie59c1206e2ce4940e27fed7887dbee665721049b
    Reviewed-on: https://chromium-review.googlesource.com/c/1351354
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit bc8cc5af38d3a94ace3c8d14b8b23ac828014cd6
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Nov 26 12:15:14 2018 -0500

    Vulkan: Implement vk::BufferView
    
    Bug: angleproject:2958
    Change-Id: I3f77e694638b4dc060d20a149c3f9c8aed3692d1
    Reviewed-on: https://chromium-review.googlesource.com/c/1351114
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 7fa8824b15725cf9c5dab7ec7516c2ed3f8224da
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Nov 26 13:22:57 2018 -0500

    Update clang-format settings.
    
    To allow for extern "C" declarations to not break on a brace. This
    preserves the current code style.
    
    Also add indented preprocessor definitions. This makes the formatting
    of "platform.h" much nicer.
    
    Bug: angleproject:2971
    Change-Id: I392babe0c8d67539a8e026a36a023a7404bb63c2
    Reviewed-on: https://chromium-review.googlesource.com/c/1347452
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 7198ebc48c7c05d73d0e6ea1783e6c259f110775
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Nov 22 14:36:06 2018 -0500

    GL: Work around Qualcomm sRGB ReadPixels driver bug.
    
    When calling glReadPixels on unsized sRGB textures, the data returned is
    not linearized.  Using sized sRGB formats works around this problem.
    
    Fix SRGBTextureTest assuming that unsized SRGB formats work in ES3.
    
    BUG=angleproject:2977
    
    Change-Id: I413c888ca0c3564ecdc364f3ea693e75ed4f8d6d
    Reviewed-on: https://chromium-review.googlesource.com/c/1343138
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 617103ed0efb5b869e9065ed8f629f2868eefd7b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Nov 22 13:18:05 2018 -0500

    GL: Implement GL_NV_fence on top of GLsync objects.
    
    When ANGLE exposes an ES2 context, there is often no way to create fence
    objects because GL_NV_fence is not available.
    
    BUG=882580
    
    Change-Id: Ic18539e0243317a188545f3945f6b33d3401f1a8
    Reviewed-on: https://chromium-review.googlesource.com/c/1348769
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 0d665139fe51e2976f2688175232425107a61515
Author: Markus Tavenrath <matavenrath@nvidia.com>
Date:   Sun Nov 18 15:47:02 2018 +0100

    Don't generate TypeInfo objects as static objects within GetTypeInfo function
    
    Generating static objects within a function results in multithread safe
    code. This code generates the static objects upon the first execution of the
    line which declares the object. This results in high runtime cost for
    synchronization and a bigger code size.
    
    Instead introduce a new function uint32_t GetPackedTypeInfo(GLenum type)
    which returns a packed representation for the Type class. This
    representation is usually returned in a register on the assembly level.
    As a result we save constant storage for the TypeInfo object and one
    indirection when reading any value from this object. The Type constructor
    accepts the packed representation and unpacks it an inline function. For
    fields which are not used the compiler also applies dead code
    elimination which reduces the cost furthermore.
    
    As a result of this change the cost of GetTypeInfo is reduced by a
    factor of 4-5.
    
    Bug: angleproject:2974
    Change-Id: I8ed0bf2f09d087fa4cffa04f82e3b7f8c183fe30
    Reviewed-on: https://chromium-review.googlesource.com/c/1340221
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 573f76b3eebf38cefb144781bfd90418e2c7df37
Author: Tobin Ehlis <tobine@google.com>
Date:   Thu May 3 11:10:44 2018 -0600

    Debug: Add Systrace Markers
    
    Update ScopedPerfEventHelper class to add systrace markers by default.
    This change unifies ANGLE EVENT* macro system so that at the base level
    in LoggingAnnotator class, systrace markers will be added by default.
    
    Modify the base DebugLogger to use char* by default and move any
    conversions to wchar_t to the Windows specializations where wchar is
    used. This limits type conversions to only where they're needed.
    
    This change also includes some new TRACE_EVENT() calls in the VK
    backend which will result in systrace markers for those calls on the
    Android platform.
    
    The new build flag "angle_enable_trace" is added to enable the tracing
    calls.
    
    Bug: angleproject:2528
    Change-Id: Icefc197d4407e1cd31338710e37865abae6a0b15
    Reviewed-on: https://chromium-review.googlesource.com/c/1042785
    Commit-Queue: Tobin Ehlis <tobine@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 15992bef28d84b59c1a815483519347896f185c8
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Thu Nov 22 09:35:49 2018 +0800

    Update deqp31 test expectations
    
    Below deqp cases already pass:
    dEQP-GLES31.functional.layout_binding.ubo.*
    dEQP-GLES31.functional.shaders.builtin_functions.*compute*
    
    BUG=angleproject:1951, angleproject:2759, angleproject:2619
    
    Change-Id: I5541840462b792e83b4745c50e3c3d2c94db7745
    Reviewed-on: https://chromium-review.googlesource.com/c/1347750
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>

commit 823d897350caa163f3f104759ccc434dd30421b5
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Nov 13 10:52:40 2018 -0500

    Vulkan: Internal Compute support
    
    While this is not exposed to the front end yet, this commit adds support
    for creating Compute pipelines for internal usage.
    
    Bug: angleproject:2959
    Change-Id: I976eae1ce0f736c257b7b4ae0d1c3b2d9f4da5bb
    Reviewed-on: https://chromium-review.googlesource.com/c/1333972
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit df066e9cded23c3d076d40cb36cf7aaf2dbe2583
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Nov 13 15:39:47 2018 -0500

    Vulkan: Remove vk::ShaderType
    
    Use gl::ShaderType instead.  For now, only GLES2 shaders are supported
    in ProgramVk.
    
    Bug: angleproject:2522
    Change-Id: I17bc9afddb6d39cf45fb4dd37f34c7263a3ed515
    Reviewed-on: https://chromium-review.googlesource.com/c/1333970
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit efe061bd4f9de0f8da3135bcabff7f40e05e91f7
Author: jchen10 <jie.a.chen@intel.com>
Date:   Tue Nov 13 16:44:40 2018 +0800

    Optimize HLSL zero initializer
    
    Currently we initialize a variable using zero initializer. Take the
    below variable for example:
        uint var[4];
    We translate it to:
        uint var[4] = { 0, 0, 0, 0};
    If the array size is large, we have to use very long zero initializer.
    The problem is that it's very slow for D3D drivers to compile.
    
    This CL uses the 'static' trick below to solve the problem:
        static uint _ANGLE_ZEROS_[256];
        ...
        uint var[516] = {_ANGLE_ZEROS_, _ANGLE_ZEROS_, 0, 0, 0, 0};
    
    For 'static', if the declaration does not include an initializer, the
    value is set to zero.
    https://docs.microsoft.com/en-us/windows/desktop/direct3dhlsl/dx-graphics-hlsl-variable-syntax
    
    Bug: chromium:898030
    
    Change-Id: Ia3f6574b5ddaffa94bf971140eba95835ee105ee
    Reviewed-on: https://chromium-review.googlesource.com/c/1332805
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jie A Chen <jie.a.chen@intel.com>

commit 610640fabee984fdf70d3dbf20a3b24fcda3dcdd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 21 17:28:41 2018 -0500

    Don't use gl::Error in validation.
    
    Instead pass error code and error message directly to the Context. As
    a side effect every validation error has an associated message now.
    
    Reduces binary size by almost 100k.
    
    Bug: angleproject:2957
    Change-Id: I045e8ab57f8f9d787654a32f6f037011fe3a9f24
    Reviewed-on: https://chromium-review.googlesource.com/c/1335890
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit dc65c5bd8452dc4bad07dd8d803b726a13ec7138
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 21 11:07:26 2018 -0500

    Vulkan: Cache pipelines with Shader Programs.
    
    This allows for a few nice things. First and foremost it reduces the
    size of the PipelineDesc, which is now 232 bytes. It also allows us
    to completely forego pipeline caches for compute shaders.
    
    We also allow sharing vertex and fragment shaders among multiple
    programs for internal shaders. This is good for memory savings. To
    allow this we keep the shaders as ref counted objects.
    
    Bug: angleproject:2522
    Change-Id: I2322be5061979d9669a0b25c152359561eeb80ee
    Reviewed-on: https://chromium-review.googlesource.com/c/1344449
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 9f379f493cd7a020b9feb09b1ddd1db1f89f9f61
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Wed Nov 14 11:46:42 2018 -0700

    Revert "Fix AndroidManifest package name"
    
    This reverts commit 89652a35ebc4fb0d6a9e5138353d085f35b9c581.
    Turns out we will need two versions of this APK, one for
    integration which will be signed and called com.google.android.angle
    and an unsigned apk put into AOSP that will be com.android.angle.
    We'll start by restoring the name of this APK to
    com.google.android.angle.
    
    Change-Id: I1cbdaa5281a28947ef1ca6a98a88cdef9df7153a
    Reviewed-on: https://chromium-review.googlesource.com/c/1335896
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>

commit 6aab06e0e5d43907861063b3a652603cdc7f986e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Nov 20 14:04:11 2018 -0500

    Don't allow unary operators on void types.
    
    BUG=900058
    
    Change-Id: Ice8976ddd9cbc9c90162cf7fae2b8f91ddcfcef3
    Reviewed-on: https://chromium-review.googlesource.com/c/1344590
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 836674c28b1ec3ac1e28a4435594b5258cdd3a69
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Nov 19 11:45:18 2018 -0500

    Expose GL_CHROMIUM_compressed_texture_etc on top of ES drivers.
    
    This allows Chrome to expose the ETC texture formats in WebGL on top of ANGLE.
    
    BUG=angleproject:1552
    
    Change-Id: I6a6c3912791e121826b2083421e37df7c0dc38e7
    Reviewed-on: https://chromium-review.googlesource.com/c/1342420
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Kai Ninomiya <kainino@chromium.org>

commit ab130438e6adbf163181233709bfcfa3eedf4b13
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Nov 20 14:09:50 2018 -0500

    Skip SetUp and TearDown in VulkanCommandBufferPerfTest if its flaky.
    
    BUG=angleproject:2923
    
    Change-Id: Id201efa09bcc67d4e40154e2362bf4b78ffd5652
    Reviewed-on: https://chromium-review.googlesource.com/c/1344591
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 1d46f89a53e551b8162b80d77cee4b6a71b976d0
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Nov 20 13:33:14 2018 -0500

    Fix typo in OWNERS file email address.
    
    BUG=angleproject:2274
    
    Change-Id: I5fb5d182ae21c05cd3aedf6f94e2dd7a30d11723
    Reviewed-on: https://chromium-review.googlesource.com/c/1344589
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 35fd30638bf100497f287ac2ac22eb5eb8b4f7ec
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 20 10:02:48 2018 -0500

    Use xxHash for faster hash map lookups.
    
    This most strongly affects the Vulkan back-end which uses a hash map
    to cache VkPipelines. It also should speed up some parts of the D3D11
    back-end.
    
    Bug: angleproject:2522
    Change-Id: I10801654f043abce17339c30d7bf62bc8644e49c
    Reviewed-on: https://chromium-review.googlesource.com/c/1316889
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 0e604f9f11071c862b21c2c871c03dc7932d53d9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Nov 19 21:33:25 2018 -0500

    ANGLE Perf Test fixes.
    
    Includes the following fixes:
    
    * Removes obsolete global variable.
    * Disables trace event collection when trace events disabled.
    * Fixes calibrated steps getting stuck after first test.
    * Scale calibrated steps with actual time after glFinish.
    
    Should fix a few crashes and timeouts with the perf tests.
    
    Bug: angleproject:2923
    Change-Id: I9ba1c042dee31cf2400ccbeedca0d497ed52fb12
    Reviewed-on: https://chromium-review.googlesource.com/c/1343677
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit b81ff9e6c518b2e89437122107f37645052bd48f
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Fri Oct 26 17:20:50 2018 +0800

    ES31: Add std430 encoder.
    
    Bug: angleproject:1951
    Change-Id: I5e469ee5f13604102b0ee268d5bf9f5ac4809ecd
    Reviewed-on: https://chromium-review.googlesource.com/c/1278098
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit ffdbfa393fcc5185672276f8fb5690e5f423b791
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Mon Nov 19 12:04:17 2018 -0500

    Vulkan: warn on VK_ERROR_DEVICE_LOST
    
    Bug: angleproject:2657
    Change-Id: I076f9d3b8e532fefa614483a822600a9636f7a37
    Reviewed-on: https://chromium-review.googlesource.com/c/1342423
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 8a0fb48a56d668d9473dfead811e1e0d1bbc5f0c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Nov 19 11:53:36 2018 -0500

    Vulkan: Suppress functional.shaders.invariance.* on NV.
    
    Bug: angleproject:2976
    Change-Id: If38669ca13297b17d55c03c977f4028cb03f6f34
    Reviewed-on: https://chromium-review.googlesource.com/c/1342421
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 774fe563c66393a4f8047eaa2cddb86b455cb3a1
Author: Markus Tavenrath <matavenrath@nvidia.com>
Date:   Sun Nov 18 14:14:49 2018 +0100

    Make all single line getter functions in State class inline functions.
    
    Having getter functions in the State class non-inline results in more generated code to call the function than it'd take to just fetch the value from the class. For those cases inline the getter functions to reduce calling overhead and binary size.
    
    Bug: angleproject:2973
    
    Change-Id: Iddd14fd836ee89de69cdabfd58b95bcedc7e9e4e
    Reviewed-on: https://chromium-review.googlesource.com/c/1340220
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit fde74c078f77f434963f763a4715136b4ed6baaf
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sun Nov 18 16:12:02 2018 -0500

    Vulkan: Apply point size clamping workaround in NV.
    
    It seems to be a regression in recent drivers. Olli contributed this
    workaround for the GL back-end some time ago. This CL enables it for
    Vulkan as well on the affected drivers.
    
    Bug: angleproject:2970
    Change-Id: I37f0caf8d9db073cb880aa1500d1ff7a1eee9d34
    Reviewed-on: https://chromium-review.googlesource.com/c/1341108
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 1c6b26a70f935c14d7294f1eaee74c231b17fc5d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sun Nov 18 17:03:19 2018 -0500

    Roll Chromium deps.
    
    This should fix a problem where our vs_toolchain.py was out-of-date
    with a recipe change.
    
    See crrev.com/c/1339101 and crrev.com/c/1330185 .
    
    Bug: angleproject:2971
    Change-Id: Ic6998942bd7a9cff34c17b0f521fc3856ca3ee2f
    Reviewed-on: https://chromium-review.googlesource.com/c/1341109
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 778bf09deea44363f5b9aa5a8795e264936099c3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 14 09:54:36 2018 -0500

    Auto-generate validation headers.
    
    This will make them easier to maintain. Add to add new features.
    
    Bug: angleproject:2964
    Change-Id: I8c1f92e0d0ca15fc4f555f6c537fa9311320ef7d
    Reviewed-on: https://chromium-review.googlesource.com/c/1334429
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 0116a99c25efb6cc6a4a1a0fb3b698ba09ce68f8
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Nov 9 14:51:46 2018 -0500

    Vulkan: Emulate Luminance/Alpha with R8G8B8A8
    
    TextureVk::copySubTextureImpl uses the format's pixelReadFunction and
    pixelWriteFunction and was using the angle format (i.e. the format the
    texture was created with) instead of the texture format (i.e. the actual
    format used by the backend) to read and write pixels.  This was
    specifically to make Luminance/Alpha formats work.  However, this was
    incorrect for any emulated format.
    
    This commit fixes the function to use the texture format.  To avoid
    issues with Luminance/Alpha, this commit patches the pixel read/write
    changes for these formats before using them.
    
    Bug: angleproject:2913
    Change-Id: I8981882b98502d869156a879bb7b5994943ecd8e
    Reviewed-on: https://chromium-review.googlesource.com/c/1330261
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit e4634a13a74de80a9fd3cddee38082846d1955df
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 14 09:54:35 2018 -0500

    Apply code formatting.
    
    Several files were formatted by the code generation script.
    
    Bug: angleproject:2957
    Change-Id: I8a5cbf2c17297a3644686004a8981ab2305c1ada
    Reviewed-on: https://chromium-review.googlesource.com/c/1334428
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit b56ddbb771ccc1ff507c1bae16ef72da50096d4d
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Fri Nov 2 16:53:18 2018 -0400

    Vulkan: Handle VK_ERROR_DEVICE_LOST
    
    By notifying egl::Display that the device is lost,
    which marks all gl::Context as lost,
    turning all future GL commands to no-ops.
    
    Also clear CommandGraph and destroy in flight resources,
    making sure no more commands are executed on the lost device.
    
    Bug: angleproject:2657
    
    Change-Id: I3a1e3646c8ebb37faff507a3c5cec7582a7e05fc
    Reviewed-on: https://chromium-review.googlesource.com/c/1323849
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 526392dd96e59da3e59f7b547356e3c39da5be17
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Nov 16 09:35:14 2018 -0500

    Use angle::Result in front-end (Part 9)
    
    This removes the ANGLE_TRY_HANDLE macro. Also the internal uses of
    gl::ErrorStreamBase. There are remaining uses in the validation code.
    
    Further progress will be blocked on removing egl::Error and the use
    of gl::Error in the validation layer.
    
    Also reduces binary size by up to 4k.
    
    Bug: angleproject:2491
    Change-Id: I3e0481f99738f9f24256c10e73f3efcce9826a35
    Reviewed-on: https://chromium-review.googlesource.com/c/1334427
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 417ac91cdb062fcadbeeeae2c0e1ba9bad426c3d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Nov 16 07:32:02 2018 -0500

    Fix typo in perf_test_runner.py.
    
    Bug: angleproject:2923
    Change-Id: I2e961e18373cc1c317700f2f6b64a0b9bf32e4a2
    Reviewed-on: https://chromium-review.googlesource.com/c/1340200
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 9e63a81378604506e75479343863d57c35e3a2bb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Nov 16 12:30:04 2018 +0000

    Revert "Minor inlining optimization to Context draw calls."
    
    This reverts commit d9ee8bf9620748a65df8f97ae89879eef676caff.
    
    Reason for revert: Slightly regresses tests that have dirty objects.
    
    See https://chromeperf.appspot.com/report?sid=abdb797da7149beffa29dc8a0869c15d96794749eff50bcb36c07d85fe509096
    
    Original change's description:
    > Minor inlining optimization to Context draw calls.
    >
    > Reduces draw call overhead by up to 3%.
    >
    > Bug: angleproject:2966
    > Change-Id: Ie7ddb61b905fefe59a06a1528f0a3fde4accaf74
    > Reviewed-on: https://chromium-review.googlesource.com/c/1333608
    > Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    > Reviewed-by: Geoff Lang <geofflang@chromium.org>
    > Commit-Queue: Jamie Madill <jmadill@chromium.org>
    
    TBR=ynovikov@chromium.org,geofflang@chromium.org,jmadill@chromium.org
    
    Change-Id: I6fdd34880a711ecc89d407ae90f3991584f65272
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:2966
    Reviewed-on: https://chromium-review.googlesource.com/c/1340199
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c30f45d3f9c144503080ff45859db29e9ad71042
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Nov 12 16:37:59 2018 -0500

    Vulkan: Rename PipelineDesc/Cache to Graphics&
    
    PipelineDesc describes a Vertex-Fragment pipeline and PipelineCache (not
    to be confused with vk::PipelineCache) implements a cache of such
    pipeline objects.
    
    In preparation for Compute support, these data structures are prefixed
    with Graphics.
    
    Bug: angleproject:2959
    Change-Id: I9181586fb946b787216ca0b2ad6340f90c3ab55f
    Reviewed-on: https://chromium-review.googlesource.com/c/1333971
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit d9ee8bf9620748a65df8f97ae89879eef676caff
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Nov 12 20:04:20 2018 -0500

    Minor inlining optimization to Context draw calls.
    
    Reduces draw call overhead by up to 3%.
    
    Bug: angleproject:2966
    Change-Id: Ie7ddb61b905fefe59a06a1528f0a3fde4accaf74
    Reviewed-on: https://chromium-review.googlesource.com/c/1333608
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 3e92206b4a9d3ce9a85952d3005aac2649ec790c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Nov 15 11:26:29 2018 -0500

    Allow querying of all draw buffer states on the default framebuffer.
    
    Because the default framebuffer isn't tied to a specific context, its
    drawbuffer state vector was only of size 1.  It is still valid to query up to
    GL_MAX_DRAW_BUFFERS through so a special case is added when the drawbuffer
    is larger than the state vector.
    
    BUG=angleproject:2965
    
    Change-Id: Ib49570df67e59e93932a7e916fe72f2e71c29939
    Reviewed-on: https://chromium-review.googlesource.com/c/1337453
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 872f6ebdaad666a9fec0cdfd3b089125a192c72c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Nov 15 13:47:37 2018 -0500

    GL: Put commas between vendor and renderer strings.
    
    This allows ANGLE's GL backend's renderer string to be parseable.
    
    BUG=882580
    
    Change-Id: I834dc236b1b72edcbc5285bcca4a1962f95f490d
    Reviewed-on: https://chromium-review.googlesource.com/c/1337463
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit b77884b78bcbaa5bdec41a250b79771c0aa95345
Author: Brandon Jones <brandon1.jones@intel.com>
Date:   Wed Oct 10 09:07:12 2018 -0700

    Autogenerate Repeated Portions of Blit11
    
    Introduces a script to generate Blit11's
    BlitShaderType enum and shader mapping functions.
    
    Bug: angleproject:2870
    Change-Id: I5b704f55bdde1706614a519ecb0ee3756f7799e0
    Reviewed-on: https://chromium-review.googlesource.com/c/1273725
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 666818eacf793d23b2ef9eaaf8507ee6beb9358a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 14 09:54:33 2018 -0500

    Use angle::Result in front-end (Part 8)
    
    Refactors the gl::Texture class and a few related methods. Also reduces
    binary size by up to 4k.
    
    Bug: angleproject:2491
    Change-Id: Ib9a69d7f507b0dce35abb17b90532f812bf43214
    Reviewed-on: https://chromium-review.googlesource.com/c/1291845
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit f3acb8c133fa825d5f25159eaf4ebf303bfef7a6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 14 16:24:25 2018 -0500

    Retool perf test running.
    
    This change does a few things involving the way we run the perf tests:
    
    - Perf test runner can capture different metrics
    
    Useful for capturing the new "nanoSecPerIteration" metric.
    
    - Removes the "score" metric
    
    We'll move to the new time-based metrics. These new metrics are scaled
    correctly with iteration counts.
    
    - Runs three trials per perf test
    
    This gives more measurements per test. Each trial is approximately one
    second. First the perf tests set a fixed number of iterations after
    calibrating the number of steps that we can run in one second. After
    that the three trials are run. This should give more stable results.
    
    - Apply more CPU stabilization on Windows
    
    Use SetPriorityClass to apply more CPU priority. Also upgrade
    SetThreadPriority to the highest level.
    
    - Always build the Vulkan command buffer test
    
    This catches build regressions more easily. We still skip the test on
    non-Android platforms.
    
    Bug: angleproject:2923
    Change-Id: I7da234c5af07775ba4a232bb8d65e0138ee7073f
    Reviewed-on: https://chromium-review.googlesource.com/c/1330262
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 1934b786149db8fa93a28f78e70908fc2abc1599
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Fri Nov 9 17:21:42 2018 -0500

    Refactor instancing tests.
    
    Replace a lot of code with one function that can do all the tests and
    do them with any divisor and number of instances.
    
    BUG=angleproject:2672
    
    Change-Id: I4f7f59d17dad234c524e485d9baa3117fcbb57bd
    Reviewed-on: https://chromium-review.googlesource.com/c/1330309
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit ccad5e333472572ecda3c0ec80a702c7dcc5e95f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Nov 14 11:01:16 2018 -0500

    GL: Work around driver returning negative GL_MAX_SERVER_WAIT_TIMEOUT
    
    GL_MAX_SERVER_WAIT_TIMEOUT is only allowed to be positive, ensure that with
    a std::max.
    
    BUG=angleproject:2961
    
    Change-Id: I8dd66df24d35c8ae81038d6d9cd0bad0d51f1a80
    Reviewed-on: https://chromium-review.googlesource.com/c/1335889
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit f87bd3dc97c76dab625bdd209e9419a519a420f8
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Nov 8 00:30:30 2018 -0500

    Vulkan: Implement EXT_texture_filter_anisotropic
    
    Bug: angleproject:2901
    Change-Id: If05b4a5270ac1c0bebc3fc854b2aff710e554ce1
    Reviewed-on: https://chromium-review.googlesource.com/c/1325730
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit fca8fd6201901e372ef544a847284b0ea02cd1b1
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Nov 13 13:55:48 2018 -0500

    Vulkan: Refix cleanup race condition on Context destroy
    
    This partially reverts commit 905ee08219faed8ea50e194be0d76ad69faf1026
    due to regression caused on startup time.
    
    Instead of calling finish before destroying the context, the objects in
    the Vulkan backend are `release()`ed instead of `destroy()`ed, so they
    will be kept alive for the duration of current work.
    
    Bug: 904846
    Change-Id: Ia774470666c4c0d4c1ddc348f685d621243de204
    Reviewed-on: https://chromium-review.googlesource.com/c/1333969
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 092481ada01c98321d3fd9cdbeb7f3856624a069
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Nov 8 00:25:50 2018 -0500

    Vulkan: prepare for ES3
    
    This makes ES3_VULKAN() pass the instantiability test, allowing it to be
    specified in end2end tests.
    
    Bug: angleproject:2950
    Change-Id: Ife70a22fb8193f9eebe64bec491a24b47bc76939
    Reviewed-on: https://chromium-review.googlesource.com/c/1325729
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit d1a55e393e65601ba26e2d76bd46a12fc6bc4e3e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 13 17:00:25 2018 -0500

    Expand dEQP-GLES3 suppressions.
    
    These were missing a few suppressions for prior bugs. Going to run this
    config on the CQ.
    
    Bug: chromium:822310
    Change-Id: I758d8823ff8b1ab347212426d73c6dad1bb6de39
    Reviewed-on: https://chromium-review.googlesource.com/c/1334431
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit f9143725470b92c9a1836ed677bca236a190aebb
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Nov 13 10:10:58 2018 -0500

    Only use CompositorNativeWindow11 when the window is non-null.
    
    SurfaceD3D always instantiates a NativeWindow object even for pbuffers.
    A null window pointer now creates a CompositorNativeWindow11 instead of
    a NativeWindow11Win32 which instantiates an RoHelper in the constructor.
    This is expensive for some use cases that create a pbuffer surface every
    frame.
    
    BUG=angleproject:2956
    
    Change-Id: If43930d4960c2510b6b96291aab971e3f3abf665
    Reviewed-on: https://chromium-review.googlesource.com/c/1333967
    Reviewed-by: James Clarke <james.clarke@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 2778029563f218ab744adfae263fe81c8638f8f1
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Fri Nov 9 11:19:49 2018 -0500

    Vulkan: refactor WrappedObject descendants
    
    Methods receive VkDevice instead of Context
    and return VkResult instead of angle::Result now.
    
    Bug: angleproject:2657
    Change-Id: I3eca8692ad0b3b6e96e31fd433ed14e04384990e
    Reviewed-on: https://chromium-review.googlesource.com/c/1330105
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 0864a7ac638c80d3af2010a3976ff4cff1d4a79a
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Nov 7 15:50:15 2018 -0500

    Vulkan: Enable end2end tests for ES2_VULKAN everywhere
    
    Used a script to find test files that have more ES2_OPENGL() invocations
    than ES2_VULKAN(), and added ES2_VULKAN() to those.  There may be false
    negatives.
    
    Bug: angleproject:1578
    Change-Id: I938eb3571c909879e9276b355a9f1d324880f99a
    Reviewed-on: https://chromium-review.googlesource.com/c/1324350
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit cd47a379f9606a2ff47c047acabaeea73eeeaaef
Author: jchen10 <jie.a.chen@intel.com>
Date:   Sun Nov 11 11:08:16 2018 +0800

    Add SH_INIT_SHARED_VARIABLES flag
    
    This option is used to initialize shared variables to zero at the
    beginning of shader execution to avoid compute shaders being able to
    read undefined values that could be coming from another webpage or
    application.
    It's implemented by declaring variables with initial value for HLSL.
    For GLSL, it's not allowed to use declaraction initializer for shared
    variables, so we need to explicitly assign them to zero at the
    beginning of main(). This implementation is only for HLSL.
    
    Bug: chromium:898030
    
    Change-Id: Ic5906500bf4a35cd9a071923f82f32c5e2991be3
    Reviewed-on: https://chromium-review.googlesource.com/c/1330310
    Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 298436280db3a654568effa57bbb10687e54dc42
Author: Tim Van Patten <timvp@google.com>
Date:   Thu Nov 1 17:26:51 2018 -0600

    Fix failing dEQP EGL tests.
    
    dEQP-EGL.functional.query_surface.simple.pbuffer#rgb888_depth_stencil
    dEQP-EGL.functional.query_surface.simple.pbuffer#rgb888_depth_stencil
    dEQP-EGL.functional.query_surface.simple.pbuffer#rgb888_depth_no_stencil
    dEQP-EGL.functional.query_surface.simple.pbuffer#rgb888_no_depth_no_stencil
    dEQP-EGL.functional.query_surface.simple.pbuffer#rgb565_depth_stencil
    dEQP-EGL.functional.query_surface.simple.pbuffer#rgb565_depth_no_stencil
    dEQP-EGL.functional.query_surface.simple.pbuffer#rgb565_no_depth_no_stencil
    dEQP-EGL.functional.query_surface.simple.pbuffer#rgba8888_no_depth_no_stencil
    dEQP-EGL.functional.query_surface.simple.pbuffer#rgba8888_depth_no_stencil
    dEQP-EGL.functional.query_surface.simple.pbuffer#rgba8888_depth_stencil
    dEQP-EGL.functional.negative_api#choose_config
    dEQP-EGL.functional.negative_api#swap_interval
    
    Bug: angleproject:2546
    
    Change-Id: Ie80e3ee3c65f330d2030b4d7da59cb964e4ea0a5
    Reviewed-on: https://chromium-review.googlesource.com/c/1313233
    Commit-Queue: Tim Van Patten <timvp@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit a31b747cfa1b663701c9008f0a4cf0b0516d5d16
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Nov 12 17:48:03 2018 -0500

    Whitespace change to cq.cfg.
    
    Pick up the correct config after refs.cfg was added.
    
    Bug: 833848
    Change-Id: I472f2ca56598ef2ddf030b28ef87f3f52829b610
    Reviewed-on: https://chromium-review.googlesource.com/c/1332530
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 5da0d5c4fac9bbeb65d882aebf86d11ff3bc66d0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Nov 12 17:46:25 2018 -0500

    Add missing refs.cfg.
    
    This is necessary for CQ/Luci operation.
    
    Bug: 833848
    Change-Id: Ib42216d3a2ee58e819f42fc9535fa91797f55200
    Reviewed-on: https://chromium-review.googlesource.com/c/1332529
    Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>

commit 0ec2ba2137ce8867c05fe22c97a7b9ba87148f7f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Nov 12 17:42:41 2018 -0500

    Whitespace change to cq.cfg.
    
    This should trigger luci-config. Also updates OWNERS which were missed
    from the last commit.
    
    Tbr: tandrii@chromium.org
    Bug: chromium:833848
    Change-Id: I23e1583d760acd4addd10f8b224518c702d8745f
    Reviewed-on: https://chromium-review.googlesource.com/c/1332528
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 0b18583285cb2863f19522067bce9123b0eeb7be
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Nov 12 11:52:16 2018 -0500

    Copy configs from infra/config branch.
    
    Also adds some documentation and updates OWNERS.
    
    Bug: 833848
    Change-Id: I1e9adf9b84a776efceb5a529a73310f515e50c70
    Reviewed-on: https://chromium-review.googlesource.com/c/1330681
    Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>

commit 03d1a5ed6cc8ba6a32ffc6fb6d67a3c2da05a6d1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Nov 12 11:34:24 2018 -0500

    Vulkan: Use global buffer barriers.
    
    This switches from using resource barriers for buffers to using global
    barriers. This matches the general advised best practice. It also
    allows us to combine multiple barriers into one. On a draw we might
    combine all the vertex and index barriers into a single barrier call.
    
    We implement this using a bit of extra state tracking in BufferHelper.
    
    Bug: angleproject:2828
    Change-Id: I196b368804ff50e60d085687a643e5566ba1c5b6
    Reviewed-on: https://chromium-review.googlesource.com/c/1309977
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 48f63f90f6f325d0454b00ec2ae553adc508c159
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Fri Oct 26 17:20:50 2018 +0800

    ES31: add row major matrix support (part 2)
    
    This patch implements read/write vector data in matrix or matrix data directly
    in a shader storage block with row_major qualifier.
    
    Bug: angleproject:1951
    Change-Id: Id7847e2245b09414709361412a95c4dd84b9ee97
    Reviewed-on: https://chromium-review.googlesource.com/c/1304019
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>

commit 50bf0429394d3c1c191922cd45489db442785f75
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Nov 1 23:43:52 2018 -0400

    Vulkan: add depth-only or stencil-only tests
    
    These tests make sure that a depth- or stencil-only format that is
    emulated with a depth/stencil one does not affect clear/draw in such a
    way that it would expose the hidden aspect.
    
    By nature of the emulation, it's not trivial to read back the hidden
    aspect.  This test simply makes sure the hidden aspect doesn't affect
    rendering, but is not a definitive test of correctness.
    
    Bug: angleproject:2815
    Change-Id: I158937faa019487f6fa08154406c152753a1934b
    Reviewed-on: https://chromium-review.googlesource.com/c/1314188
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 5d2dfa46c05c8c661304922ce1e1e7d7b045a342
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Sat Nov 3 09:28:17 2018 +0800

    ES31: Add array of arrays support in SSBO
    
    Bug: angleproject:1951
    
    Change-Id: I5e92b75a59a3ab24a34b827ae6f968961b8bea49
    Reviewed-on: https://chromium-review.googlesource.com/c/1317376
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>

commit 2fa2147f4cb802a461492f4446d48162b355c1e1
Author: Yizhou Jiang <yizhou.jiang@intel.com>
Date:   Tue Nov 6 15:52:33 2018 +0800

    Enable texture multisample extension on ES3 D3D
    
    Update maxIntegerSamples, maxDepthTextureSamples and maxColorTextureSamples
    if the extension is enabled on ES 3.0.
    
    TEST=TextureMultisampleTest.*
    TEST=NegativeTextureMultisampleTest.Negtive*
    
    BUG=angleproject:2275
    
    Change-Id: I8c215f990ff5d93611b1bc89de9a43f3d392e8d4
    Reviewed-on: https://chromium-review.googlesource.com/c/1319251
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
    Commit-Queue: Yizhou Jiang <yizhou.jiang@intel.com>

commit d856ca48f4256c13c29d53a74d19a3c7b1d053de
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Oct 31 16:55:12 2018 -0400

    Vulkan: add clear test for emulated stencil or depth formats
    
    S8_UINT and D24_UNORM_X8_UINT are the only formats currently that are
    single-aspect and are possibly emulated with a packed depth-stencil
    format if it's not supported.  A flag to FeaturesVk has been added as a
    way to force this behavior for the sake of testing.
    
    This test is added to ensure the correct clear algorithm is used for
    this case.  Additionally, this case is detected and the other aspect is
    forcefully cleared to 0 whenever the original aspect is cleared.
    
    Bug: angleproject:2815
    Change-Id: Ief3039d66bbf46468213b9e3224f7cc7541c3a2e
    Reviewed-on: https://chromium-review.googlesource.com/c/1312453
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 743899de3f2d04826d33c0886bac8132f7d58610
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Fri Oct 19 13:53:28 2018 +0800

    ES31: Implement MAX_SHADER_STORAGE_BLOCK_SIZE
    
    Bug: angleproject:1951
    
    Change-Id: I6353e6ed10a8b441bfbebc10fa6a07cde1cae7d8
    Reviewed-on: https://chromium-review.googlesource.com/c/1317377
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>

commit 905ee08219faed8ea50e194be0d76ad69faf1026
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Oct 26 16:16:34 2018 -0400

    Vulkan: Fix cleanup race condition on Context destroy
    
    In Context::onDestroy(), e7b3fe21866454bd3ea983acede162d34ae03dd8 had
    moved surface deletion first which down the line caused
    RendererVk::finish() to be called.
    
    bf7b95db6b6f039f6c8797f1f4b930d46a761828 however made surface deletion
    unnecessary, which means finish was never called.
    
    This commit adds an explicit finish in Context::onDestroy().  In truth,
    the wait is only necessary until all command buffers submitted for this
    particular context have finished.  This optimization is deferred to a
    possible future work.
    
    Bug: angleproject:2811
    Change-Id: I56e6c88d3b4a6ec73f70d80d7775a0c85be651ea
    Reviewed-on: https://chromium-review.googlesource.com/c/1302838
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 448b99f1a580964eafea6338ff3ce6b904029d16
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 7 15:16:00 2018 -0500

    Add WebKit bounds checking to Chrome credits.
    
    We were not respecting the terms of the license that this piece
    of code requests for redistribution.
    
    I noticed this when investigating adding a new third_party library
    and wanted to display its license in about:credits. This change
    adds a special file that the licnese check in Chrome uses and
    fixes the naming of the README for this script.
    
    Bug: None
    Change-Id: Ib33e9fe4a4e5b2968780bb6d8d6b39119b0361a7
    Reviewed-on: https://chromium-review.googlesource.com/c/1323855
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 1bf18ce9e2caca7067b4439373f4fb04a5cd7d21
Author: Austin Eng <enga@chromium.org>
Date:   Fri Oct 19 15:34:02 2018 -0700

    Implement GL_ANGLE_multi_draw
    
    This patch adds entrypoints glMultiDrawArraysANGLE,
    glMultiDrawElementsANGLE, glMultiDrawArraysInstancedANGLE,
    annd glMultiDrawElementsInstancedANGLE
    
    Bug: chromium:890539
    
    Change-Id: Ic9c374c53892460f44ca6e73a253b78473ac2dff
    Reviewed-on: https://chromium-review.googlesource.com/c/1282268
    Reviewed-by: Kai Ninomiya <kainino@chromium.org>
    Commit-Queue: Austin Eng <enga@chromium.org>

commit bc5834cdadbd5c278c57024c15bbf70d9a224262
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 6 11:13:50 2018 -0500

    Vulkan: Use dynamic state for Viewport and Scissor.
    
    This reduces the size of the pipeline cache descriptor under 256 bytes.
    Further improves the speed of cache query. Has the minor cost of
    needing more state application during a new command buffer or render
    pass.
    
    Bug: angleproject:2522
    Change-Id: I3d71e457a36084ac4748d04fe3c9bab4caad503c
    Reviewed-on: https://chromium-review.googlesource.com/c/1316888
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 77b2436e28f432bd23cd84b409c3ba87abda9b00
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Nov 5 22:39:29 2018 -0500

    Vulkan: Reduce PipelineDesc size.
    
    This packs the desc into 288 bytes. Down from over 400. The hashing and
    memcmp functions are sped up considerably.
    
    Improves performance in the VulkanPipelineCachePerf test by 50% and
    also improves performance in the state changing draw call test by 20%.
    
    Bug: angleproject:2522
    Change-Id: I72ed191a93721b875684f647f806c09be4e66821
    Reviewed-on: https://chromium-review.googlesource.com/c/1308460
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 3d86e89bce7abacff20285c0d6e8525d9ef0ce60
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Nov 2 16:29:44 2018 -0400

    Vulkan: properly handle 0-width or 0-height framebuffers
    
    The test for whether 0-width or 0-height is not given was doing
    
        width != 0 || height != 0
    
    which mistakenly used || instead of &&.
    
    Bug: angleproject:2910
    Change-Id: Iaa41edffcfe1f8553e8fbefb9bc3b12a7f33a5a6
    Reviewed-on: https://chromium-review.googlesource.com/c/1316028
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 37297a4f14406f49031b6855d2d8fa7ad881fd1b
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Fri Nov 2 17:04:26 2018 -0400

    Don't build VulkanCommandBufferPerfTest on Linux
    
    Since it's flaky
    
    Bug: angleproject:2945
    Change-Id: Iac7b465ae1ebefbde3b23267c6974209de664362
    Reviewed-on: https://chromium-review.googlesource.com/c/1315836
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 1590fcc4d3eeeb5033f3289bfe398deccc6fd59f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Nov 1 12:44:39 2018 -0400

    Add a spec and tests for GL_ANGLE_memory_size.
    
    Change the data type of buffer memory sizes to 64 bit integers.
    
    BUG=892288
    
    Change-Id: I10e07b86f2ccc0cb61c8d7ee0d439e00d5eb8d3a
    Reviewed-on: https://chromium-review.googlesource.com/c/1312244
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 1c0f151e043ec7e3929e02bf5d9fcd1bb78ce7fc
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Oct 29 15:57:25 2018 -0400

    Implement missing posix utils
    
    Bug: angleproject:2923
    Change-Id: I35fee6303f07c7b3a931f876a8d9d4ba54c91630
    Reviewed-on: https://chromium-review.googlesource.com/c/1315607
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 6ba22ee1376836e2bae478448770882b72be4b06
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Oct 26 16:15:40 2018 -0400

    GL: Implement EGL_ANDROID_get_frame_timestamps.
    
    BUG=angleproject:2936
    
    Change-Id: I758d797d185b2de330cce3401bfeef76c7df590e
    Reviewed-on: https://chromium-review.googlesource.com/c/1302836
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 99d0463cd940a1b6c10faf90e28f2eb7703c9951
Author: James Clarke <james.clarke@microsoft.com>
Date:   Thu Sep 20 12:12:43 2018 -0700

    Windows: add support for SpriteVisuals as a native window type.
    
    Enable SpriteVisuals to work along side HWNDs so that Angle rendered content can be
    hosted with Windows::UI::Composition APIs or XamlIslands in desktop Win32 applications.
    
    Includes a whitebox test, verified Win7 compatibility
    
    For more info see:
    https://docs.google.com/document/d/1ggv6H-aK1a3pXNMTtMF6h0Bv0rulIeBpBxBBCJYR6Zs/edit?usp=sharing
    
    Bug: angleproject:2947
    Change-Id: Id005739553be2a6268cd4543f1b07aaf89760422
    Reviewed-on: https://chromium-review.googlesource.com/c/1236844
    Commit-Queue: James Clarke <james.clarke@microsoft.com>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit a6e8a0c5fee5dcb0d68a96793025e2c5c6fe686e
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Fri Nov 2 15:11:50 2018 +0800

    ES31: Simplify IsInShaderStorageBlock function
    
    Bug: angleproject:1951
    Change-Id: I0501502fa2201953a3dad4b18103ff5ae20db1bf
    Reviewed-on: https://chromium-review.googlesource.com/c/1314298
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit caeb1e895d7bec7e56ed537f2cbddbad5fa16d0c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 1 18:13:22 2018 -0400

    Vulkan: Allow unlimited simultaneous descriptor sets.
    
    This changes the fixed array into a STL vector. Instead of storing
    Descriptor Pools by value we now store them by pointer. This allows the
    vector to resize without changing the address of the Descriptor Pool.
    
    Also enables some more Vulkan perf tests that were crashing before.
    
    Bug: angleproject:2938
    Change-Id: I8a88d5315b941c4f54205a9957e2834fe02ada84
    Reviewed-on: https://chromium-review.googlesource.com/c/1311395
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit c0b6c639b109e97d9af37a3fca2f1f9a7c35cb51
Author: Yizhou Jiang <yizhou.jiang@intel.com>
Date:   Thu Sep 6 15:02:04 2018 +0800

    Implement GetTexLevelParameter api of texture multisample extension
    
    This patch adds GetTexLevelParameterivANGLE and GetTexLevelParameterfvANGLE.
    
    TEST=TextureMultisampleTest.GetTexLevelParameter*
    TEST=NegativeTextureMultisampleTest.Negtive*
    
    BUG=angleproject:2275
    
    Change-Id: Id702ba31df36ab65f46b697d480b5bf01b87e360
    Reviewed-on: https://chromium-review.googlesource.com/c/1295830
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yizhou Jiang <yizhou.jiang@intel.com>

commit 502d2e215556c56fc0661885f93899c0f6e56eb2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 1 11:06:23 2018 -0400

    Vulkan: Crunch RenderPassDesc.
    
    This reduces the size of the RenderPass desc from 64 to 12 bytes.
    
    Bug: angleproject:2522
    Change-Id: Iff2df87ba65be0bd976bba81c76c285cb0fa1ceb
    Reviewed-on: https://chromium-review.googlesource.com/c/1308459
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 2197dc5290522549f5c9421b48d4eb547f4068e2
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Oct 30 11:29:58 2018 -0400

    Vulkan: Implement masked depth & stencil clear
    
    This commit also adds tests for clearing depth and stencil with
    mask/scissor.
    
    Bug: angleproject:2540
    Change-Id: I30dd840afd6cdd4e3a38c50fcba4c8623513ceb0
    Reviewed-on: https://chromium-review.googlesource.com/c/1307585
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 580baf379673dcc6a8d71dbf5feeab436f79111b
Author: Brandon Jones <brandon1.jones@intel.com>
Date:   Wed Oct 24 10:15:18 2018 -0700

    Recompile D3D11 Blit Shaders
    
    Recompile Blit11 shaders with Microsoft HLSL Shader Compiler
    9.29.952.3111.
    
    Bug: angleproject:2870
    Change-Id: I688e5b2ce23ef157c1bb879d5adc49fbecb4dd21
    Reviewed-on: https://chromium-review.googlesource.com/c/1298003
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Brandon1 Jones <brandon1.jones@intel.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 6bf09284a3a9ed89f4c563bc0220f3cb40452d0d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Oct 31 13:45:32 2018 -0400

    Scale down a slow index buffer perf test.
    
    This test was slow enough that running 20k iterations might have been
    causing a timeout on the Nexus 5.
    
    Bug: angleproject:2923
    Change-Id: I03f6e95135d8c521e6ef3e81bc9a4b0dfd7f19df
    Reviewed-on: https://chromium-review.googlesource.com/c/1310693
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 5ca3e5a0b285cbd2a4ba77a1082d62cf0cbea9fb
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Wed Oct 31 11:13:29 2018 -0400

    Fix ShaderStorageBlockOutputHLSL::writeEOpIndexDirectOrIndirectOutput
    
    https://chromium-review.googlesource.com/c/1304017 removed str()
    wrapping values passed to TInfoSinkBase::operator<<().
    
    This broke ANGLE roll
    https://chromium-review.googlesource.com/c/chromium/src/+/1309331
    failing compile on linux-libfuzzer-asan-rel bot.
    
    Looks like libfuzzer compiler has a bug, not being able to find
    sh::BlockLayoutEncoder::BytesPerComponent.
    Wrapping it in str() works around this.
    
    Bug: angleproject:1951
    Change-Id: I2deb573667dc1e88d352bad1933c269ec36cf398
    Reviewed-on: https://chromium-review.googlesource.com/c/1309975
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit d60e42f8e79e6ca02e1f1af7a7b96daa766c3362
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Thu Oct 25 16:33:16 2018 +0800

    ES31: add row major matrix support (part 1)
    
    This is the first patch to enable row major matrix suppot in series. This patch
    ensures that we can get correct location when we load/store data from matrix.
    Currently, only scalar data load/store works well.
    
    mat2x3 data
    The location of data[x][y] will be:
    data.offset + x * scalarStride + y * matrixStride  //row_major
    data.offset + x * matrixStride + y * scalarStride  //column_major
    
    Bug: angleproject:1951
    Change-Id: I5bd7bad7d293219ba610f18eeafc56e70e36de43
    Reviewed-on: https://chromium-review.googlesource.com/c/1304017
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>

commit 193a284d34d268cb106da5e7a697a66f8880cd37
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Oct 30 17:28:41 2018 -0400

    Vulkan: Split vk::CommandGraphResource.
    
    This adds two subclasses: RecordableGraphResource and
    QueryGraphResource. Each specializes for Buffer/Image/Frambuffer use
    cases and Query use cases respectively. No virtual functions are added
    to keep best performance.
    
    We also change the CommandGraph API slightly to optimize away the check
    for a barrier resource. This requires exposing the set current barrier
    API on the CommandGraph.
    
    Bug: angleproject:2828
    Change-Id: I1c23f52bfe04cc682a00b245d63c3ac9a651615d
    Reviewed-on: https://chromium-review.googlesource.com/c/1305994
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 557a1ee4f457b568801d3c86792c610b0ac10bfe
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Oct 30 17:26:24 2018 -0400

    Make perf tests faster in correctness-only mode.
    
    When running with "--one-frame-only" we can also skip the test warmup.
    Also we can reduce the internal iteration count to 1 to make the tests
    as fast as possible.
    
    Bug: angleproject:2923
    Change-Id: I2f82ae0dd237767ea7b15074e459ed1094ba9943
    Reviewed-on: https://chromium-review.googlesource.com/c/1308737
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 9a79c8893bfc2905e14d51e8256660aba853ff7b
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Mon Oct 29 17:08:42 2018 -0400

    Run DifferentStencilMasks tests
    
    This test was added and referenced, but was actually never added to the
    list of files to be compiled.  The most recent validation work has been
    regarding WebGL.
    
    This test verifies the behavior when different stencil masks are set for
    front and back faces, which is unsupported in D3D and disallowed in
    WebGL.  In the interest of running the test on all back ends, and that
    the validation was modified last to improve WebGL support, the test runs
    in WebGL compatibility mode.
    
    Bug: chromium:806557
    Change-Id: I7615b9fc18d4203ed342e23881bea6bdd9b3864c
    Reviewed-on: https://chromium-review.googlesource.com/c/1306256
    Reviewed-by: Kai Ninomiya <kainino@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 3402d523098e6f3c024ed88e64bb265d667419fd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Oct 30 15:14:52 2018 -0400

    Try to reduce variance in angle_perftests.
    
    This change does a few things:
    
    - make perf test runner script print % variation instead of stddev
    
    This makes it a bit more clear how much variance there is.
    
    - stabilize CPU in the render perf tests
    
    Setting a thread affinity and priority should stop from switching cores
    during the run. Hopefully can prevent background noise from changing
    the test results.
    
    - warm up the benchmark with a few iterations
    
    This should hopefully make the test results a bit more stable.
    
    - output a new normalized perf result value
    
    The new result is normalized against the number of iterations. So it
    should hopefully be stable even if the number of iterations is changed.
    
    - increases the iteration count in the draw call perf tests.
    
    These tests were completely dominated by SwapBuffers time. Increasing
    the iterations per step means we actually are bottlenecked on CPU time
    instead.
    
    Bug: angleproject:2923
    Change-Id: I5ee347cf93df239ac33b83dc5effe4c21e066736
    Reviewed-on: https://chromium-review.googlesource.com/c/1303679
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 0ea962107a8de6ffe4001c600fe59ab3ab8e73db
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Oct 30 15:14:51 2018 -0400

    Vulkan: Enable more perf tests.
    
    Also fixes the check for the correct UINT index extension that wasn't
    available on Vulkan. Also includes a workaround for the mock ICD not
    implementing buffer state for index ranges.
    
    Bug: angleproject:2923
    Change-Id: Iab35809d15f890525a9e658d4148272c46cf1320
    Reviewed-on: https://chromium-review.googlesource.com/c/1308733
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 763cec0707ceb5a8df9f5deb37ad77c86d82cdbf
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 26 14:19:54 2018 -0400

    Vulkan: Add warnings for cache struct packing.
    
    This adds diagnostic warnings for packed cache structures. It ensures
    the packed versions of the structures don't have any unexpected
    misalignments or inserted members. This gives us consistent
    behaviour and ensures all memory is initialized.
    
    Implemented for Clang/GCC/MSVC.
    
    Bug: angleproject:2522
    Change-Id: I6ec453a40d292e4a498319ffa767988a502d225e
    Reviewed-on: https://chromium-review.googlesource.com/c/1302533
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit af9dd60801883fb385eb825fb972ab62b2781db2
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Mon Oct 29 22:58:56 2018 -0400

    Fix UpdateAttribBindingByVertexAttribDivisor test.
    
    Test should clear before drawing.  With the clears added it became
    apparent the second draw wasn't working because an attrib was left in
    instanced mode after the first draw.
    
    BUG=angleproject:2672
    
    Change-Id: I6c3ee7302d24babb80a9b9affcf357145bb03dcb
    Reviewed-on: https://chromium-review.googlesource.com/c/1306822
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit 7cba6be85a1468b113f64c5a8beff4dde4ae8217
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Tue Oct 30 15:37:52 2018 +0000

    Revert "Vulkan: Roll VK deps forward"
    
    This reverts commit d00a9a1447d48299800ac62b8955c861cd362d10.
    
    Reason for revert: Suspect for breaking Debug bots.
    Original change's description:
    > Vulkan: Roll VK deps forward
    >
    > Roll VK Headers/Tools/Loader/ValidationLayers forward.
    > There's a build improvement as well as many new checks.
    >
    > Added new source file dep, convert_to_renderpass2.cpp, used by core_
    > validation for added RenderPass2 checks.
    >
    > Bug: angleproject:2937
    > Bug: chromium:845519
    > Change-Id: Id5c30c5bfc684c365a8ad97c3289bccc02afb3b3
    > Reviewed-on: https://chromium-review.googlesource.com/c/1305673
    > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    > Commit-Queue: Tobin Ehlis <tobine@google.com>
    
    TBR=ynovikov@chromium.org,jmadill@chromium.org,cnorthrop@google.com,tobine@google.com,syoussefi@chromium.org
    
    Change-Id: I5c48315dd8c80510e7dea54cb384c08dce5b6bcb
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:2937, chromium:845519
    Reviewed-on: https://chromium-review.googlesource.com/c/1307695
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 3420dcb0cff13ac7aef8f512ca5becc9679aeb76
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Mon Oct 29 20:49:38 2018 +0000

    Revert "Roll DEQP version forward"
    
    This reverts commit 1f056becd76b7733b78d65f5ca12b8c84f2e749d.
    
    Reason for revert: The roll didn't run any tests, so they started failing on the bots.
    
    Original change's description:
    > Roll DEQP version forward
    >
    > Bug: angleproject:2937
    > Change-Id: I1157b0f3fcdf19ea0b381d9ae4327929a2459267
    > Reviewed-on: https://chromium-review.googlesource.com/c/1304993
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    > Commit-Queue: Tobin Ehlis <tobine@google.com>
    
    TBR=ynovikov@chromium.org,jmadill@chromium.org,tobine@google.com,timvp@google.com
    
    Change-Id: I4864153685c5dfe339bb704013d9379844a8692d
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:2937
    Reviewed-on: https://chromium-review.googlesource.com/c/1306254
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 749589f8b3738693e45cc439e7635edb869fc214
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Oct 25 12:48:49 2018 -0400

    Vulkan: Remaining disjoint timer query functions
    
    The following features where missing in c2b576d9e:
    
    - glGetIntegerv with GL_GPU_DISJOINT_EXT: this is currently impossible
      to query in Vulkan, so 0 is always returned.
    - glGetIntegerv with GL_TIMESTAMP_EXT: this is a way to query GPU
      timestamp without performing flushes or waiting for the GPU to finish.
      There is no direct correspondance in Vulkan; it's implemented by
      making a small submission, with no dependency to other submissions, in
      which there is only a timestamp query.
    
    Bug: angleproject:2885
    Change-Id: I2341bd610db9084c26b6421c6f8949950ffa4de8
    Reviewed-on: https://chromium-review.googlesource.com/c/1299873
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 77abad8d9cbf4def5372e2461ed103a5dd1c3ab0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 25 17:03:48 2018 -0400

    Remove Context::gatherParams.
    
    This won't be used in the future. It saves a few instructions on each
    entry point.
    
    Also refactors a bit of touched code. Also adds in a missed entry
    point: "glTexStorage2DMultisampleANGLE".
    
    Removes related code and moves remaining helper code in params.h into a
    new file entry_point_utils.h.
    
    In total this patch series reduces overhead by up to 5%.
    
    Bug: angleproject:2933
    Change-Id: Ifb49564597cde6ba82dfc3e185227619fdc62612
    Reviewed-on: https://chromium-review.googlesource.com/c/1299478
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 1f056becd76b7733b78d65f5ca12b8c84f2e749d
Author: Tobin Ehlis <tobine@google.com>
Date:   Mon Oct 29 09:48:05 2018 -0600

    Roll DEQP version forward
    
    Bug: angleproject:2937
    Change-Id: I1157b0f3fcdf19ea0b381d9ae4327929a2459267
    Reviewed-on: https://chromium-review.googlesource.com/c/1304993
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Tobin Ehlis <tobine@google.com>

commit d00a9a1447d48299800ac62b8955c861cd362d10
Author: Tobin Ehlis <tobine@google.com>
Date:   Mon Oct 29 10:23:30 2018 -0600

    Vulkan: Roll VK deps forward
    
    Roll VK Headers/Tools/Loader/ValidationLayers forward.
    There's a build improvement as well as many new checks.
    
    Added new source file dep, convert_to_renderpass2.cpp, used by core_
    validation for added RenderPass2 checks.
    
    Bug: angleproject:2937
    Bug: chromium:845519
    Change-Id: Id5c30c5bfc684c365a8ad97c3289bccc02afb3b3
    Reviewed-on: https://chromium-review.googlesource.com/c/1305673
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Tobin Ehlis <tobine@google.com>

commit 0da64b5e1009a8d1b011fbb3c31ca52cecc71899
Author: Tobin Ehlis <tobine@google.com>
Date:   Mon Oct 29 08:54:59 2018 -0600

    Add build-id to tests for Android
    
    This allows Android Studio to correctly match debug symbols.
    
    Change-Id: I2bd15e11162d57a3c2cee4434afe6d4831581c25
    Reviewed-on: https://chromium-review.googlesource.com/c/1304135
    Commit-Queue: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 25224e786ffea77e8993daa8e8b9b236428cd6eb
Author: Shahbaz Youssefi <syoussefi@google.com>
Date:   Mon Oct 22 11:56:02 2018 -0400

    Vulkan: add GPU trace events
    
    RendererVk now tries, as best as it can, to match the CPU and GPU timers
    on init as well as every finish().  A clock-sync event is generated for
    each such synchronization point.
    
    RendererVk::traceGpuEvent() is a new function that, given a command
    buffer, performs timestamp queries corresponding to GPU events.  These
    queries are read back when done, without incurring GPU bubbles, at which
    point an event is generated with that timestamp.
    
    Bug: angleproject:2908
    Change-Id: I08d7d11ff9f8ad6c9f9a9899767c9cd746d0623e
    Reviewed-on: https://chromium-review.googlesource.com/c/1296954
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 4a22f4b04619fd92138f4b37f861eebc2b0bfc6b
Author: Brandon Jones <brandon1.jones@intel.com>
Date:   Tue Oct 23 14:36:47 2018 -0700

    ES31: Add atomic_uint support to HLSL translator
    
    This is the first commit in a series to enable atomic counter buffers.
    
    Adds support for atomic counters to the GLSL->HLSL translator using
    RWByteAddressBuffer.
    
    Bug: angleproject:1729
    Test: angle_end2end_tests
    
    Change-Id: I3b7e08f9256dc9bdbcc02ad8910040f2bc14aeac
    Reviewed-on: https://chromium-review.googlesource.com/c/1291329
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit df73a8e5ffdb12e11286d29d149751314631a7f5
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Thu Oct 25 16:11:20 2018 +0800

    ES31: Use std::map<const TField *, BlockMemberInfo> to save ssbo info
    
    Bug: angleproject:1951
    Change-Id: I9d6a19c0d63065db69985845a1cd68cfd4b99d1f
    Reviewed-on: https://chromium-review.googlesource.com/c/1298913
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit bfe31c42e15e600d1cd873846459f40886ce59dc
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 25 17:03:47 2018 -0400

    Remove uses of DrawCallParams.
    
    Packing and referencing this structure was causing unnecessary draw
    call overhead. This improves performance on all the back-ends. Impacts
    the GL back-end the most.
    
    In total this patch series reduces overhead by up to 5%.
    
    Bug: angleproject:2933
    Change-Id: Ief416ab874e481baf960d02965978a311214a146
    Reviewed-on: https://chromium-review.googlesource.com/c/1299477
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 8edb718892c86a2520ff8d0891fac72571793b23
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Wed Oct 10 15:54:23 2018 +0800

    ES31: Add structure field member support in SSBO
    
    This patch adds the structure field member support in SSBO. To support it,
    below things are done:
    1. Calculate the offset and arrayStride in SSBO structure.
    2. Support array of arrays translation.
    
    Bug: angleproject:1951
    
    Change-Id: If8f233e6388d5bb905e78c39a85112d394298138
    Reviewed-on: https://chromium-review.googlesource.com/c/1278097
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit c1fd7376111231c8cbad85e3793084a596107cfc
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 26 22:48:39 2018 -0400

    Move index range calculations into VertexArray.
    
    This is in preparation for removing the entire DrawCallParams struct.
    This struct was big enough to cause a performance hit on draw call perf
    tests just by virtue of initializing the fields. Also dereferencing the
    struct members is slower than reading function parameters since it adds
    an indirection.
    
    Also includes some error refactoring to enable moving code to a shared
    location.
    
    In total this patch series reduces overhead by up to 5%.
    
    Bug: angleproject:2933
    Change-Id: Ib663f2538c14ac30d4c31fd10d6350be469626e2
    Reviewed-on: https://chromium-review.googlesource.com/c/1298380
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit fefaba5bfd6aef40d11c2cdb3f855a64987c1093
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Oct 26 16:16:53 2018 -0400

    Regenerate hashes for the builtin symbol table.
    
    BUG=chromium:890539
    
    Change-Id: Ia5bdf652dc37a466560071b4fe2cdc7d89ff941f
    Reviewed-on: https://chromium-review.googlesource.com/c/1302837
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Austin Eng <enga@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 7cf9cd2423b8891953377df41b56505c17b65f02
Author: Austin Eng <enga@chromium.org>
Date:   Tue Oct 9 15:27:32 2018 -0700

    Add flags to shader translator to emulate gl_DrawID
    
    Adds support for translating gl_DrawID for implementation of
    GL_ANGLE_multi_draw.
    
    Currently the change only supports and allows emulation of the
    draw id using a uniform variable named `gl_DrawID`. This uniform is
    mapped in the translated shader to a hashed name that does not
    use the gl_ namespace
    
    Bug: chromium:890539
    
    Change-Id: I08a246ca911e88e733ccdf22f1ed69dcae948e05
    Reviewed-on: https://chromium-review.googlesource.com/c/1271957
    Commit-Queue: Austin Eng <enga@chromium.org>
    Reviewed-by: Kai Ninomiya <kainino@chromium.org>

commit e357535f7f45f0afd5d6895d27edb09983c023b5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 26 15:08:56 2018 -0400

    Fix entry points.
    
    A race broke the ANGLE tree due to an entry point formatting change.
    
    Bug: angleproject:2890
    Bug: angleproject:2928
    Change-Id: I08cc4e13c9d5bd1888c0d891113d3042759d43dc
    Reviewed-on: https://chromium-review.googlesource.com/c/1302534
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit b854363004b29a6c7dd6d69cd30f79e747b0ca18
Author: Till Rathmann <till.rathmann@gmx.de>
Date:   Tue Oct 2 19:46:14 2018 +0200

    Support GL_OES_texture_border_clamp
    
    Added support for GL_TEXTURE_BORDER_COLOR and GL_CLAMP_TO_BORDER in
    OpenGL/OpenGLES, Direct3D9 and Direct3D11 backends.
    For integer textures in OpenGLES3 contexts these additional entry points
    are available now:
    
    void glTexParameterIivOES(enum target, enum pname, const int *params);
    void glTexParameterIuivOES(enum target, enum pname, const uint *params);
    
    void glGetTexParameterIivOES(enum target, enum pname, int *params);
    void glGetTexParameterIuivOES(enum target, enum pname, uint *params);
    
    void glSamplerParameterIivOES(uint sampler, enum pname, const int *params);
    void glSamplerParameterIuivOES(uint sampler, enum pname, const uint *params);
    
    void glGetSamplerParameterIivOES(uint sampler, enum pname, int *params);
    void glGetSamplerParameterIuivOES(uint sampler, enum pname, uint *params);
    
    BUG=angleproject:2890
    TEST=angle_end2end_tests.TextureBorderClamp*
    
    Change-Id: Iee3eeb399d8d7851b3b30694ad8f21a2111f5828
    Reviewed-on: https://chromium-review.googlesource.com/c/1257824
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 20dc1c9baed853effdd9a715e47477ef436382ac
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 26 13:13:32 2018 -0400

    Vulkan: Make layers not depend on libvulkan.
    
    On Android the layers were adding a dependency on libvulkan. This
    isn't necessary. We can move this dependency up the change to
    libANGLE.
    
    Bug: angleproject:2935
    Change-Id: I63460c05ca99c5afb6e863af9d6142576aa910b9
    Reviewed-on: https://chromium-review.googlesource.com/c/1301721
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a390ebd9e78dca3ca28c54b927a5d951aa2712d3
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Oct 18 13:04:40 2018 -0400

    Add compiler printf attribute to relevant functions
    
    Relands 27a472c60 with reinterpret_cast changed to C-style cast to
    support types that are pointers on some platforms and integers on
    others.
    
    This commit includes fixes to undefined behavior caught by this
    attribute.  The following changes have been made:
    
    - 0x%0.8p is changed to %016 PRIxPTR. Both 0 and . have undefined
      behavior with p.  Additionally, %p already prints 0x with both gcc and
      clang.  This results in a small output change:
    
        void *x = (void *)0x1234;
        void *y = (void *)0x1234567890abcdef;
    
        printf("|%0.8p|\n", x);
        printf("|%0.8p|\n", y);
    
        printf("|%016" PRIxPTR "|\n", (uintptr_t)x);
        printf("|%016" PRIxPTR "|\n", (uintptr_t)y);
    
      prints:
    
        |0x00001234|
        |0x1234567890abcdef|
        |0x0000000000001234|
        |0x1234567890abcdef|
    
    - %d used for GLintptr, GLsizeiptr, EGLTime and EGLnsecsANDROID is
      changed to %llu and the relevant argument is cast to unsigned long
      long.  This is due to these types being typedefs to unknown types (on
      Linux for example, these are unsigned long, and my guess would be
      unsigned long long on Windows where long is 32 bits).
    - %llu is used for GLuint64, which could be unsigned long (as is on
      Linux).  Those arguments are cast to unsigned long long.
    - %p is used for some EGLNative types, but those types may not be a
      pointer.  Those arguments are cast to uintptr_t and printed as above.
    
    Bug: angleproject:2928
    Change-Id: Idf9f705c3d00f69e41e7603453016276a2e13a64
    Reviewed-on: https://chromium-review.googlesource.com/c/1300913
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit ad8fe588dc5395700276c8f13931851ec9190af5
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Oct 26 13:06:42 2018 -0400

    Don't set native blob cache callbacks if the driver doesn't support it.
    
    BUG=angleproject:2516
    
    Change-Id: I147705e22a7c694d1f22088a9270c579b0941c7d
    Reviewed-on: https://chromium-review.googlesource.com/c/1302113
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 3ce69ba3eb600c6565bff26f6dd4ab13fdfffc04
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 26 11:25:32 2018 -0400

    Fix Win32Timer's Frequency init.
    
    This could cause some problems on the perf bots.
    
    Bug: angleproject:2908
    Change-Id: If12e5939ba80b3fd0b9609e7b76df6045e60cb94
    Reviewed-on: https://chromium-review.googlesource.com/c/1301849
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit e9503ae90a9db7b80fb1219c37e1570dd92c158b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 25 17:55:04 2018 +0000

    Revert "Add compiler printf attribute to relevant functions"
    
    This reverts commit 27a472c601aa542f48ca5944fb769e2971a0594f.
    
    Reason for revert: Causing failures on 32-bit Linux configs:
    
    https://logs.chromium.org/logs/chromium/buildbucket/cr-buildbucket.appspot.com/8931673733828416640/+/steps/compile/0/stdout
    
    ../../third_party/angle/src/libGLESv2/entry_points_egl.cpp:257:11: error: reinterpret_cast from 'EGLNativeWindowType' (aka 'unsigned long') to 'uintptr_t' (aka 'unsigned int') is not allowed
              reinterpret_cast<uintptr_t>(win), reinterpret_cast<uintptr_t>(attrib_list));
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ../../third_party/angle/src/common/debug.h:230:112: note: expanded from macro 'EVENT'
    #define EVENT(message, ...) gl::ScopedPerfEventHelper scopedPerfEventHelper("%s" message "\n", __FUNCTION__, ##__VA_ARGS__);
                                                                                                                   ^~~~~~~~~~~
    ../../third_party/angle/src/libGLESv2/entry_points_egl.cpp:314:11: error: reinterpret_cast from 'EGLNativePixmapType' (aka 'unsigned long') to 'uintptr_t' (aka 'unsigned int') is not allowed
              reinterpret_cast<uintptr_t>(pixmap), reinterpret_cast<uintptr_t>(attrib_list));
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    Original change's description:
    > Add compiler printf attribute to relevant functions
    >
    > This commit includes fixes to undefined behavior caught by this
    > attribute.  The following changes have been made:
    >
    > - 0x%0.8p is changed to %016 PRIxPTR. Both 0 and . have undefined behavior with
    >   p.  Additionally, %p already prints 0x with both gcc and clang.  This
    >   results in a small output change:
    >
    >     void *x = (void *)0x1234;
    >     void *y = (void *)0x1234567890abcdef;
    >
    >     printf("|%0.8p|\n", x);
    >     printf("|%0.8p|\n", y);
    >
    >     printf("|%016" PRIxPTR "|\n", reinterpret_cast<uintptr_t>(x));
    >     printf("|%016" PRIxPTR "|\n", reinterpret_cast<uintptr_t>(y));
    >
    >   prints:
    >
    >     |0x00001234|
    >     |0x1234567890abcdef|
    >     |0x0000000000001234|
    >     |0x1234567890abcdef|
    >
    > - %d used for GLintptr, GLsizeiptr, EGLTime and EGLnsecsANDROID is
    >   changed to %llu and the relevant argument is cast to unsigned long
    >   long.  This is due to these types being typedefs to unknown types (on
    >   Linux for example, these are unsigned long, and my guess would be
    >   unsigned long long on Windows where long is 32 bits).
    > - %llu is used for GLuint64, which could be unsigned long (as is on
    >   Linux).  Those arguments are cast to unsigned long long.
    > - %p is used for some EGLNative types, but those types may not be a
    >   pointer.  Those arguments are cast to uintptr_t and printed as above.
    >
    > Bug: angleproject:2928
    > Change-Id: I63e9e998c72701ce8582f1ebf25d6374be9090e4
    > Reviewed-on: https://chromium-review.googlesource.com/c/1289232
    > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    > Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    
    TBR=ynovikov@chromium.org,jmadill@chromium.org,syoussefi@chromium.org
    
    Change-Id: I4f3cea64977bee9f889db6c995371bd2bbc6d81b
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:2928
    Reviewed-on: https://chromium-review.googlesource.com/c/1299480
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 479918ded785f0579783cad246e863878e631dc4
Author: Shahbaz Youssefi <syoussefi@google.com>
Date:   Mon Oct 22 11:53:51 2018 -0400

    Get absolute time from timers
    
    Independent of start()/stop()/getElapsedTime() functionality,
    getAbsoluteTime() is added to return the time regardless of whether the
    timer is running.
    
    Bug: angleproject:2908
    Change-Id: I056aeb6eddfba8757a139934c1cf68e00e860de6
    Reviewed-on: https://chromium-review.googlesource.com/c/1296952
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 6165602f9e02fd85242501c39f5a83624cd5befa
Author: Shahbaz Youssefi <syoussefi@google.com>
Date:   Wed Oct 24 15:00:50 2018 -0400

    Vulkan: Throttle CPU to avoid excessive frame queuing
    
    Unthrottled, the CPU can generate and queue an increasingly large number
    of frames with the GPU lagging behind, especially with vsync enabled.
    
    Assuming N swapchain images, this commit adds a wait on fence for the
    Nth previous frame before submitting new work, that is the CPU is
    always at most N frames ahead of the GPU.
    
    Bug: angleproject:2908
    Change-Id: Ieb2bf20168bfe9bc9d8e2219f682b01347c21dec
    Reviewed-on: https://chromium-review.googlesource.com/c/1296953
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 7992734468f3194d8bca7900f07c92d633a6a50b
Author: Shahbaz Youssefi <syoussefi@google.com>
Date:   Mon Oct 22 11:41:43 2018 -0400

    Vulkan: add wrapper for vkEvent
    
    Bug: angleproject:2908
    Change-Id: Id6c9326f85f9ff17b963078f82bcf486bae66a83
    Reviewed-on: https://chromium-review.googlesource.com/c/1296951
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 27a472c601aa542f48ca5944fb769e2971a0594f
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Oct 18 13:04:40 2018 -0400

    Add compiler printf attribute to relevant functions
    
    This commit includes fixes to undefined behavior caught by this
    attribute.  The following changes have been made:
    
    - 0x%0.8p is changed to %016 PRIxPTR. Both 0 and . have undefined behavior with
      p.  Additionally, %p already prints 0x with both gcc and clang.  This
      results in a small output change:
    
        void *x = (void *)0x1234;
        void *y = (void *)0x1234567890abcdef;
    
        printf("|%0.8p|\n", x);
        printf("|%0.8p|\n", y);
    
        printf("|%016" PRIxPTR "|\n", reinterpret_cast<uintptr_t>(x));
        printf("|%016" PRIxPTR "|\n", reinterpret_cast<uintptr_t>(y));
    
      prints:
    
        |0x00001234|
        |0x1234567890abcdef|
        |0x0000000000001234|
        |0x1234567890abcdef|
    
    - %d used for GLintptr, GLsizeiptr, EGLTime and EGLnsecsANDROID is
      changed to %llu and the relevant argument is cast to unsigned long
      long.  This is due to these types being typedefs to unknown types (on
      Linux for example, these are unsigned long, and my guess would be
      unsigned long long on Windows where long is 32 bits).
    - %llu is used for GLuint64, which could be unsigned long (as is on
      Linux).  Those arguments are cast to unsigned long long.
    - %p is used for some EGLNative types, but those types may not be a
      pointer.  Those arguments are cast to uintptr_t and printed as above.
    
    Bug: angleproject:2928
    Change-Id: I63e9e998c72701ce8582f1ebf25d6374be9090e4
    Reviewed-on: https://chromium-review.googlesource.com/c/1289232
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 683bb0130ca2c9a06fd02141861ac97ca859b9c1
Author: Shahbaz Youssefi <syoussefi@google.com>
Date:   Mon Oct 22 11:33:22 2018 -0400

    Roll Vulkan-Tools
    
    Includes a fix to mock-icd where vkGetEventStatus returned VK_SUCCESS
    which is not a valid return value.
    
    Bug: angleproject:2908
    Change-Id: I65a6e30099b9168408a874b8632c4c46e8ef7f57
    Reviewed-on: https://chromium-review.googlesource.com/c/1296950
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 672267fcc74feff4693eee1a72d1d20edda84d2d
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Fri Oct 19 17:01:17 2018 +0800

    ES31: Fix that asuint can't accept bool value
    
    This change fixes below errors:
    error X3013: 'asuint': no matching 1 parameter intrinsic function
    error X3013: Possible intrinsic functions are:
    error X3013:     asuint(double, out uint x, out uint y)
    error X3013:     asuint(float|half|int|uint)
    
    When we store a boolean value, we should cast it to uint firstly. Then do the
    store.
    
    Bug: angleproject:1951
    
    Change-Id: I8931e540d701ef72bb82846496c698acef1ba1fb
    Reviewed-on: https://chromium-review.googlesource.com/c/1295831
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit fbc5c555976f639017c58a40b24f0040a2a21106
Author: Scott Graham <scottmg@chromium.org>
Date:   Wed Oct 24 15:11:40 2018 -0700

    fuchsia: Disable GL
    
    I think we'll only need Vulkan. But in any case, the GL code doesn't
    build, so disable it for now.
    
    Bug: chromium:808287
    Change-Id: I08f8cd09e67d91c08b7632e54bbdc6a11ee57014
    Reviewed-on: https://chromium-review.googlesource.com/c/1298381
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Scott Graham <scottmg@chromium.org>

commit c3ee7ec01dda6f04aa91f37a5524955b362207bf
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Sep 21 16:15:03 2018 -0400

    Implement EGL_ANDROID_image_native_buffer.
    
    BUG=angleproject:2508
    
    Change-Id: I8ef2ce8320edeb336727905055f47bb299dec2ea
    Reviewed-on: https://chromium-review.googlesource.com/c/1238886
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 19603b9e7b2088c1dc9cef106a5ac478cbafa045
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Thu Oct 18 17:25:33 2018 +0800

    ES31: Allow function call, unary, ternary operators in SSBO
    
    When we meet function call, unary or ternary operator in SSBO access chain,
    we should transfer the process of them to OutputHLSL.
    
    Bug: angleproject:1951
    
    Change-Id: I740940ac4eee4c5ed52239f14b1d32b1f9cf9385
    Reviewed-on: https://chromium-review.googlesource.com/c/1290470
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>

commit 5a206950149026a5c6fc0ca89a9d20b2fb124aed
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 22 09:58:25 2018 -0400

    GL: Move draw functions from Renderer to Context.
    
    This avoids one more function call + register pushing/popping. Slight
    improvement in the command_buffer_perftests.
    
    Bug: angleproject:2877
    Change-Id: Ia50a330e62f0bd32266c9f0999810243cbaa41e0
    Reviewed-on: https://chromium-review.googlesource.com/c/1293630
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit f38cb6d39af183239f42b2b0c8a44fa10bcb113e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 22 11:53:40 2018 -0400

    StateManagerGL: Optimize state application.
    
    There are two main optimizations:
    
    1. Inline setDraw*State and maskOutInactiveOutputDrawBuffers.
    2. Remove Multiview dirty bits.
    
    The first change is a refactoring only. It moves the code around a bit
    so we can hit a fast path and never have to push/pop registers. The
    second change is also a no-op since the multiview dirty bits were made
    redundant.
    
    Improves performance in the command buffer perftests by 1-5%.
    
    Bug: angleproject:2877
    Change-Id: I1632a838371ec8b85c2e06b3b86f08727ca9dacf
    Reviewed-on: https://chromium-review.googlesource.com/c/1293629
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 7818a85c33d39291248f8f76da78ea13d94c328f
Author: Yizhou Jiang <yizhou.jiang@intel.com>
Date:   Thu Sep 6 15:02:04 2018 +0800

    Implement GL_ANGLE_texture_multisample API part
    
    Support GL_ANGLE_texture_multisample extension.
    This patch adds enums of multisampled texture and texStorage2DMultisampleANGLE
    API.
    
    TEST=angle_end2end_tests.exe --gtest_filter=TextureMultisampleTest*
    TEST=angle_end2end_tests.exe --gtest_filter=NegativeTextureMultisampleTest.Negtive*
    
    BUG=angleproject:2275
    
    Change-Id: I2cab997edc33aa2d0be6082381545335423f64e0
    Reviewed-on: https://chromium-review.googlesource.com/c/804613
    Commit-Queue: Yizhou Jiang <yizhou.jiang@intel.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 0cc11c684b5465b73ff107f7935ae72ca1dbbcff
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 12 18:07:18 2018 -0400

    StateManagerGL: Remove setGenericShaderState.
    
    We can mutate the BitSetIterator as it clears dirty bits. This removes
    the risk of doing a double state update. Improves the proformance of
    the GL back-end state update.
    
    Also do an early-out before calling syncDrawArraysState.
    
    Bug: angleproject:2763
    Change-Id: Idd25bdd67a6aceff05529a533260b661b07c2928
    Reviewed-on: https://chromium-review.googlesource.com/c/1262740
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit d4f07760e9eeb5d24a8d231007a64b46b1048245
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 19 19:24:07 2018 -0400

    GL: Apply dirty bit mask on sync state.
    
    This prevents us from updating some dirty bits in some operations.
    It can prevent us from doing things like updating the Program when
    we don't use it in a GPU operation.
    
    Also adds Framebuffer dirty bits to TexImage to work around a bug
    on the Windows Intel OpenGL driver.
    
    Bug: angleproject:2763
    Bug: angleproject:2906
    Change-Id: I9f69775fb930a9bbcbd40d0f9012d62a9381c9f8
    Reviewed-on: https://chromium-review.googlesource.com/c/1292610
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit b8eec4a4ab5357ce616b7c226beabb52bfef94fd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 18 17:34:38 2018 -0400

    Use angle::Result in front-end (Part 7)
    
    Refactors the gl::FenceNV and gl::Sync classes.
    
    Bug: angleproject:2491
    Change-Id: I0fe73d1ccf5407f460e173a3061735b330a88511
    Reviewed-on: https://chromium-review.googlesource.com/c/1289712
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit f4a789f98d4ab717b738f7c0bd400ec08c502a67
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 18 16:56:20 2018 -0400

    Use angle::Result in front-end (Part 6)
    
    Refactors the gl::Program, gl::Compiler and gl::Query classes.
    
    Bug: angleproject:2491
    Change-Id: I96acecdc6af301a89201bd7f5222a180433e5eb2
    Reviewed-on: https://chromium-review.googlesource.com/c/1289711
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit ae108bd10b732b0cbf1da2f1bec5474fe5b8a08a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 18 15:00:38 2018 -0400

    Use angle::Result in front-end (Part 5)
    
    Refactors gl::Buffer and implementation.
    
    Bug: angleproject:2491
    Change-Id: Ic6860dac2faf33067965e7117ea8e98dc6a8dc7a
    Reviewed-on: https://chromium-review.googlesource.com/c/1283310
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c2328a15cb84adab15a7c003609619145c43631e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 18 15:00:29 2018 -0400

    Use angle::Result in front-end (Part 4)
    
    Handles the gl::Renderbuffer class and its implementation.
    
    Bug: angleproject:2491
    Change-Id: I3ef718b492dc39ba640c8f68ed80b536f89ff378
    Reviewed-on: https://chromium-review.googlesource.com/c/1283309
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 64b7c4ff4f724c01b89d46da40e90c73b1170020
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 19 11:38:04 2018 -0400

    Use angle::Result in front-end (Part 3)
    
    Handles the gl::Framebuffer class and its implementation.
    
    Bug: angleproject:2491
    Change-Id: I3b9c0609e9277264ccdb370596500562df3b7d15
    Reviewed-on: https://chromium-review.googlesource.com/c/1280743
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 32643cea231981bc81f49e914a6619685377112c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 19 11:38:03 2018 -0400

    Use angle::Result in front-end (Part 2)
    
    Handles the gl::Context class and its implementation.
    
    Bug: angleproject:2491
    Change-Id: I7b7eb0897d131a194f6b563b7e01756fd7adb7e1
    Reviewed-on: https://chromium-review.googlesource.com/c/1280742
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit bc6f52f36d5f1a4046f93182522b65cec43bcae3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 18 18:41:57 2018 -0400

    Make BindingPointer::set non-virtual.
    
    This should give more potential for inlining the function. Makes the
    non-parameterized set and assign private in OffsetBindingPointer to
    prevent user errors.
    
    Bug: angleproject:2891
    Change-Id: I0d581a96154c0cd33a93b06ef4a3c162809a8208
    Reviewed-on: https://chromium-review.googlesource.com/c/1286378
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit cd0a0a3c90d72f4a300346c92c9e957328d39d43
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 18 18:41:57 2018 -0400

    Introduce SubjectBindingPointer.
    
    We can share the same pointer for the subject binding and the binding
    pointer. This further allows us to optimize buffer re-binding. The
    shared memory increases cache coherency and reduces the number of
    instructions needed.
    
    Bug: angleproject:2891
    Change-Id: Id3162fa79de203f75989e7289ea02cb2ea1bec73
    Reviewed-on: https://chromium-review.googlesource.com/c/1270217
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit 472ddc8246724831c680d203a788b3b2de94d279
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 18 18:41:56 2018 -0400

    Make gl::Buffer an angle::Subject.
    
    This will allow us to share the BindingPointer and ObserverBinding. It
    also cleans up the code a little bit.
    
    Bug: angleproject:2891
    Change-Id: Ib8e2c34ccd379dc5b5648bac324fa4ff22a5a1a0
    Reviewed-on: https://chromium-review.googlesource.com/c/1270216
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit ca8eda41197a344dff8be6fa02e3fc64fbd9e988
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 18 18:41:56 2018 -0400

    Use dispatch table to optimize buffer binding.
    
    Using a table of function pointers is faster than using a switch
    followed by a function call. Also more aggressively inline binding
    methods.
    
    Based on contribution by mtavenrath@nvidia.com.
    
    In total this patch sequence improves the performance of a buffer
    binding perf test by up to 27%.
    
    Test: BindingsBenchmark.Run/gl_100_objects_allocated_at_initialization
    Bug: angleproject:2891
    Change-Id: Iaab1e2a135b635bd72736d7d1d4271562c3a4ece
    Reviewed-on: https://chromium-review.googlesource.com/c/1281783
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit e4c64c3dc862eaff1239cc0378f8eb5cc8103cda
Author: Ian Elliott <ianelliott@google.com>
Date:   Wed Oct 17 14:53:39 2018 -0600

    Implement new API/interface for the ANGLE feature-support utility.
    
    The original API is designated as version 0.  The new API is
    designated as version 1.  A new function is provided for determing the
    version of the API that can be used.
    
    Bug: angleproject:2794
    Change-Id: I8205b462522cbc34d31643ea14815e187497abed
    Reviewed-on: https://chromium-review.googlesource.com/c/1278836
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit 2b73d6251f92c15bf3998375e44827914a08aa8e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 18 14:26:33 2018 -0400

    Remove SpvPostProcess.h from glslang's BUILD.gn.
    
    Reported by bratell@opera.com.
    
    Bug: angleproject:2727
    Change-Id: I92750c11fc7d811fa627c8691f6f047023086239
    Reviewed-on: https://chromium-review.googlesource.com/c/1289235
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit acd39d189990138e81b33da68f4d2708a08d93f5
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Oct 18 14:45:21 2018 -0400

    Vulkan: Enable 16bpp texture tests
    
    Possibly fixed in 6c6be2cef6c1a8d7a37712aa36d2ef5a1c3990c0.
    
    Bug: angleproject:2649
    Bug: angleproject:2656
    Change-Id: I0ab97e2d828b6b8643a68ab9b28fc0ccd8f08c48
    Reviewed-on: https://chromium-review.googlesource.com/c/1289350
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit c2b576d9e7e655b9dfdb7d4d652b3a9359484a3e
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Oct 12 14:45:34 2018 -0400

    Vulkan: Implement GL_EXT_disjoint_timer_query
    
    - QueryVk::queryCounter() and relevant utils are implemented for the
    sake of Timestamp queries.
    - TimeElapsed queries are implemented using two Timestamp queries.
    
    Bug: angleproject:2885
    Change-Id: Id181bd97f5a24e7e96b3ea1b819483227e64daf0
    Reviewed-on: https://chromium-review.googlesource.com/c/1276806
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit c4765aa782676fd7afb47dff626f57f69534e76f
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Oct 12 14:40:29 2018 -0400

    Vulkan: fix glGetQueryObject not flushing
    
    glGetQueryObject* requires forward progress in the queue regardless of
    whether we are waiting on the result or busy-looping over whether the
    results are available.  This commit calls flush() if the query has
    pending work.
    
    Additionally, this fixes a race condition where glGetQueryObject* may be
    accessing a query whose corresponding batch has been submitted but not
    yet executed.  In such a case, the GPU may not have already reset the
    query, so we have to wait on the fence of that batch to make sure the
    query results are reliably available.
    
    Bug: angleproject:2855
    Change-Id: I977909c6526c0778a13722a8b8b73e54ad0202f6
    Reviewed-on: https://chromium-review.googlesource.com/c/1279125
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 4163c0146ccfaa31c5fb331c149950ffb9e36af9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 18 10:25:25 2018 -0400

    Skip Texture2DArrayCopy.UnsignedByteFormats on D3D11.
    
    This test appears to be flaky.
    
    Bug: angleproject:2896
    Change-Id: Ib0c0ac9ab170edf0f31506f847307bee9b78f770
    Reviewed-on: https://chromium-review.googlesource.com/c/1286913
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 945dea36ab8ac7a6ad6b057eb83901c17bf72388
Author: Joonatan Saarhelo <jsaarhelo@nvidia.com>
Date:   Wed Oct 17 20:49:06 2018 +0300

    Clamp glClearDepthf and glDepthRangef
    
    BUG=angleproject:2884
    
    Change-Id: Ib1867fbd4c2ea3c3b29d2f987d384762f5851e8f
    Reviewed-on: https://chromium-review.googlesource.com/c/1276585
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 25843dd6518157dd84403d2a7f9c148e6723f852
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Tue Oct 16 17:30:48 2018 -0400

    Align memory access in Copy32FixedTo32FVertexData
    
    Bug: angleproject:2895
    
    Change-Id: Idfe379e34c4f165b91babcb1990df28fa151d807
    Reviewed-on: https://chromium-review.googlesource.com/c/1286373
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 4024e2179e08110d02136522812dce65648e5304
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Oct 17 14:53:29 2018 -0400

    perftests: Record trace events to JSON file.
    
    This allows us to view the timeline of events in the trace event
    browser. We can extend this to do GPU timestamp queries and analyze
    when work is actually in flight.
    
    The trace is enabled in standalone ANGLE only using the flag
    --enable-trace with angle_perftests. You can also optionally specify
    the trace output file with --trace-file <blah>. The default file is
    ANGLETrace.json.
    
    Bug: angleproject:2781
    Change-Id: I871f28545d9bf18220b55aaf69e9554dcb4c834d
    Reviewed-on: https://chromium-review.googlesource.com/c/1259763
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 3a482179dedbe515fc4fb59dd42bf3dd29f10afd
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Oct 11 10:34:44 2018 -0400

    Vulkan: Implement glFlush
    
    A semaphore pool is implemented to allow dynamic allocation of
    semaphores as needed when breaking up a frame with flushes.  The pool is
    used both for acquiring the next image and for chaining mid-frame
    submissions.
    
    RendererVk::flush() is changed so that instead of taking the wait/signal
    semaphores as parameters, it would use the last known signaled semaphore
    as wait semaphore and allocates a semaphore for signaling.  It would
    additionally wait for any extra semaphore provided externally (i.e. the
    surface's image acquire semaphore).
    
    Bug: angleproject:2504
    Change-Id: Iecd2d5535230c48b26a6b7d078710af8730121da
    Reviewed-on: https://chromium-review.googlesource.com/c/1276805
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 6f1dc51bd9a9217b7761bce02e807f73df80be5d
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Oct 4 14:36:04 2018 -0400

    Vulkan: Use a specialized macro for wrapped vulkan calls
    
    Vulkan wrapper functions are fairly straightforward.  They call the
    Vulkan function and return immediately.  The specialized macros
    introduced in this commit take care of the final return for brevity of
    the warpper.
    
    Additionally, this commit gets rid of ANGLE_EMPTY_STATEMENT in favor of
    the more robust macro definition using do {} while (0).
    
    Bug: none
    Change-Id: Ia7c68962d1aeee2c06ef210122b345b1a2e54f08
    Reviewed-on: https://chromium-review.googlesource.com/c/1262020
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 957e9b82227b4cd03988585602776e7d1bbcf52a
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Fri Oct 5 11:00:50 2018 -0400

    Roll clang and other chromium deps
    
    A bug in clang is preventing the use of link time optimization.
    
    Bug: angleproject:2892
    Change-Id: Ibe845e82f0db48233f8590189163fd8a5a8df634
    Reviewed-on: https://chromium-review.googlesource.com/c/1263905
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit c20ead32ad6d97a87ea64f7350f778959be91075
Author: Takuto Ikuta <tikuta@chromium.org>
Date:   Wed Oct 17 16:27:32 2018 +0900

    Remove unused lambda capture
    
    This is a preparation CL to remove -Wno-unused-lambda-capture warning suppression.
    
    Bug: chromium:681136
    Change-Id: Ib5c1c4eeeed3b7406ede2dea33066c54e5fc3da0
    Reviewed-on: https://chromium-review.googlesource.com/c/1286172
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 78bcd2bec37187fd5d0e2ca69d1d583923e2f196
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Oct 16 15:05:20 2018 -0400

    Vulkan: Fix deleting in-use descriptor sets.
    
    Sequences of many frames with uniform updates could lead to a bug where
    we attempt to delete descriptor sets that are still in use. To trigger
    the bug we need to write enough uniform data to trigger a descriptor
    set to be freed. This would correctly trigger refresh sets in the
    Program. But if there was a second program idle in the background that
    also allocated descriptors from the old pool, the bug would manifest.
    
    Fix this by storing a shared handle to the descriptor pool in the
    Program. The dynamic descriptor pool won't recycle descriptor pools
    internally unless there are zero outstanding references to the pool.
    
    We could also improve this in a resource sharing situation by keeping
    a single shared dynamic descriptor pool per share group.
    
    Includes a contribution from tobine@google.com that adds a test to
    cover the bug.
    
    Bug: angleproject:2863
    Change-Id: Id585b85f33f8cfa3772ceff3af512d1e4fb0b75a
    Reviewed-on: https://chromium-review.googlesource.com/c/1271919
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 1d8a783c9db2b7ab999933447f015d7acae42639
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Tue Oct 9 13:59:56 2018 +0800

    Re-land: "ES31: Add vector and matrix support in SSBO for D3D"
    
    Re-land skips ProgramInterfaceTestES31.GetProgramInterface/ES3_1_D3D11 to pass
    the bots. In fact, ProgramInterfaceTestES31.GetProgramInterface/ES3_1_D3D11 is
    not a regression. The reverted CL added more SSBO features and triggered the
    failure. To enable ProgramInterfaceTestES31.GetProgramInterface/ES3_1_D3D11,
    we should support SSBO in render pipeline. This needs to bind SSBO to UAV
    registers in link time instead of compile time since output variables also
    occupies the UAVs. Let's enable this test when we support SSBO in render
    pipeline. Currently, we shouldn't block the SSBO implementation in some common
    features.
    
    Bug: angleproject:1951
    Change-Id: Ic339e8327e79335e6db1d86bedf0072635976f5f
    Reviewed-on: https://chromium-review.googlesource.com/c/1282277
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>

commit a8a25d1746c0350b39e95cc1bc5dd252ba6f7f4d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Oct 16 15:06:08 2018 -0400

    Vulkan: Update Android expectations.
    
    Bug: angleproject:2606
    Bug: angleproject:2609
    Bug: angleproject:2895
    Change-Id: Iab71cfff2317d7283db69c3f8c82db8d94f7cafc
    Reviewed-on: https://chromium-review.googlesource.com/c/1283854
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit d633b1569a21050c5bf392a724e3ead71e4d8b07
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Thu Oct 4 23:34:31 2018 -0400

    Get rid of VertexFormatType.
    
    The enum VertexFormatType is redundant with angle::FormatID.  The Vulkan
    back end has already eschewed VertexFormatType, this change updates the
    D3D back ends.
    
    BUG=angleproject:2531
    
    Change-Id: I67ea2203ca80be828f4c757a37810fe67a279364
    Reviewed-on: https://chromium-review.googlesource.com/c/1263899
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit 6eba3c6104f25fe39d55ff495e06e7178d2aed9f
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Thu Oct 11 14:00:08 2018 -0400

    Vulkan: Distinguish query operations in GraphViz output
    
    The query nodes now output BeginQuery or EndQuery based on the node's
    function, instead of just Query.
    
    Bug: angleproject:2379
    Change-Id: I6ba38031c40b88e8927b31cdf14e4fdc2474624e
    Reviewed-on: https://chromium-review.googlesource.com/c/1277485
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit a1ac3fe80647c3a4d6bdaaaff5aaeb2962e755fe
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Wed Oct 10 12:29:31 2018 +0800

    ES31: Support textureGather[Offset] on int/uint formats on D3D11
    
    This patch implements the translation of textureGather[Offset] on
    integer and unsigned integer format textures on D3D11.
    
    According to MSDN, Gather[Red|Green|Blue|Alpha] can be used on integer
    and unsigned integer format textures with float texture coordinates:
    https://docs.microsoft.com/en-us/windows/desktop/direct3dhlsl/dx-graphics-hlsl-to-gather
    
    Currently the dEQP tests on TextureGather[Offset] on cube map textures
    in integer or unsigned formats still cannot pass. This issue is under
    investigation.
    
    Bug: angleproject:2826
    Test: dEQP-GLES31.functional.texture.gather.basic.2d.*
          dEQP-GLES31.functional.texture.gather.basic.2d_array.*
          dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d.*
          dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d_array.*
          dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.*
          dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.*
    
    Change-Id: If049dc395fb17cd34dec902630e3a1154e5d4806
    Reviewed-on: https://chromium-review.googlesource.com/c/1271926
    Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit bbd532d164f028554b61508df25765d3ba681c63
Author: Joonatan Saarhelo <jsaarhelo@nvidia.com>
Date:   Wed Oct 10 17:40:26 2018 +0300

    Fix querying large vertex attrib divisors
    
    glGetVertexAttribIuiv previously returned an incorrect value
    for GL_VERTEX_ATTRIB_ARRAY_DIVISOR, because the divisor was
    treated as an integer even though it is an unsigned integer.
    
    BUG=angleproject:2281
    
    Change-Id: I4d1c9df15244db855c6a000fc8fb6cc786bfcb85
    Reviewed-on: https://chromium-review.googlesource.com/c/1273300
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 79b914075cc5b30ba7c59a5ee875beb7517b320a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Oct 4 15:11:30 2018 -0400

    Add an extension for querying esimated GPU memory size of resources.
    
    BUG=892288
    
    Change-Id: I56fc3ab00c06d711e1a21eb1ad4b2224126730dc
    Reviewed-on: https://chromium-review.googlesource.com/c/1262021
    Reviewed-by: Yuly Novikov <ynovikov@google.com>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit c97e3f6684c71b3eeb799837106c1588fc36282b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 12 15:49:06 2018 +0000

    Revert "ES31: Add vector and matrix support in SSBO for D3D"
    
    This reverts commit 671809e62e807eb0f890a5d53eee1f8cb5fb825e.
    
    Reason for revert: Regresses angle_end2end_test:
    
    ProgramInterfaceTestES31.GetProgramInterface/ES3_1_D3D11
    
    Warning: compileToBinary(232):
    C:\fakepath(36,21-40): error X4509: UAV registers live in the same name space as outputs, so they must be bound to at least u1, manual bind to slot u0 failed
    
    The new test and this CL landed at nearly the same time. This CL breaks the test but it wasn't run on the CQ.
    
    Failure link:
    
    https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Win10%20FYI%20Release%20%28NVIDIA%29/2717
    
    Original change's description:
    > ES31: Add vector and matrix support in SSBO for D3D
    >
    > Bug: angleproject:1951
    >
    > Change-Id: I19d4218b28770464e4cb38027cce694e2a817b5b
    > Reviewed-on: https://chromium-review.googlesource.com/c/1269827
    > Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
    > Reviewed-by: Geoff Lang <geofflang@chromium.org>
    
    TBR=geofflang@chromium.org,jmadill@chromium.org,cwallez@chromium.org,jiajia.qin@intel.com
    
    Change-Id: I54cda962e1361372f06e9e3bd667fa9c0ecf38dc
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:1951
    Reviewed-on: https://chromium-review.googlesource.com/c/1278102
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 671809e62e807eb0f890a5d53eee1f8cb5fb825e
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Tue Oct 9 13:59:56 2018 +0800

    ES31: Add vector and matrix support in SSBO for D3D
    
    Bug: angleproject:1951
    
    Change-Id: I19d4218b28770464e4cb38027cce694e2a817b5b
    Reviewed-on: https://chromium-review.googlesource.com/c/1269827
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 3026f1152e5064c1c4bc2dbd7ffe61faa31134f2
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Tue Oct 9 12:13:38 2018 +0800

    ES31: Collect shader storage blocks info for d3d.
    
    This change collects shader storage blocks info for d3d backend. With this
    change, program interface APIs can get correct SSBO information for D3D.
    
    Bug: angleproject:1920
    
    Change-Id: I6e2414494d0e8240bcb1d0ddc3d9a292eb7158ee
    Reviewed-on: https://chromium-review.googlesource.com/c/1269824
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>

commit c4533eae082ffd41da27963932345ebf344a66e0
Author: Yizhou Jiang <yizhou.jiang@intel.com>
Date:   Wed Sep 19 15:23:29 2018 +0800

    Enable ANGLE_texture_multisample in glsl in es 3.0
    
    Enable gsampler2dMS, texelFetch, textureSize in glslang in
    es 3.0 if ANGLE_texture_multisample is supported.
    
    Bug: angleproject:2275
    TEST=SamplerMultisampleEXTTest.TextureMultisampleEXTEnabled
    
    Change-Id: Ibfa367970db3ae790f3822e57eb50090843dc6db
    Reviewed-on: https://chromium-review.googlesource.com/c/867521
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Yizhou Jiang <yizhou.jiang@intel.com>

commit f2ed299569c0075e83c8f42e44345ffada9231b9
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Oct 4 13:54:42 2018 +0300

    Add support for EXT_texture_compression_bptc
    
    After validation, the enums are simply forwarded to the native
    drivers. The BPTC formats are supported on both OpenGL and D3D.
    
    The included test coverage covers the API quite well, but only has
    basic coverage for correct decoding of texture data. More coverage for
    texture data could be added later.
    
    BUG=angleproject:2869
    TEST=angle_end2end_tests
    
    Change-Id: I3de37972dcf13c6fa3fc1bc429a2627523a4a082
    Reviewed-on: https://chromium-review.googlesource.com/c/1261675
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 956ab4d9fab36be9929e63829475d4d69b2c681c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Oct 10 16:13:03 2018 -0400

    Optimize several functions for the Program perf test.
    
    This gives the same or slightly better performance in the ProgramDraw
    perf test. Also only set the Program object as dirty when there are
    dirty bits set in the Program itself.
    
    Bug: angleproject:2877
    Change-Id: I07b428b40d3e3c24e0a42c970524756b6dc3a30e
    Reviewed-on: https://chromium-review.googlesource.com/c/1271475
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a139f01ab888847dab43b8d477d972841f76f99b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Oct 10 16:13:03 2018 -0400

    Inline ValidateBindBuffer.
    
    This method is only called in one place. Inlining reduces the need to
    make a jump and push/pop variables from the stack.
    
    It also adds a specialized error handler for validation errors. This
    reduces the amount of code generated for errors. The prior method
    generates a lot of code when dealing with string streams.
    
    Improves performance of the binding performance test.
    
    Bug: angleproject:2763
    Change-Id: I52af7046b398072975bf5bda583efac9a9b9a8cb
    Reviewed-on: https://chromium-review.googlesource.com/c/1270219
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 1c7f08c3e21de8566392959b9c4dacbfc74f9acb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Oct 10 16:13:02 2018 -0400

    Inline RefCountObject::release.
    
    Also don't return errors from the object release methods. Not returning
    errors reduces the amount of code generated. Also we shouldn't be
    exiting early from destructor type functions.
    
    Increases object binding performance.
    
    Bug: angleproject:2877
    Change-Id: Ieb8120d885b946915e355419825e1f52f31d7b49
    Reviewed-on: https://chromium-review.googlesource.com/c/1270218
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit f955bdac1ce66ace8c31499dbcb17877c60775ee
Author: Shahbaz Youssefi <syoussefi@google.com>
Date:   Tue Oct 9 22:54:18 2018 -0400

    Fix vulkan_null perftests on Linux
    
    //build/config/gcc:rpath_for_built_shared_libraries was supposed to be
    used to add . to rpath (which affected only release.  I didn't
    investigate how it was affecting debug).  This resulted in
    libVkICD_mock_icd.so not being found and vulkan_null tests being
    ignored.
    
    Change-Id: I71fb8578f873e4bed602b2c3dcf6d93240dcf30e
    Reviewed-on: https://chromium-review.googlesource.com/c/1272496
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 9d0bb3d4d5c012d3b68bbf47adc910e66009bd5c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Oct 9 20:29:13 2018 -0400

    Pass bit mask to ContextImpl::syncState.
    
    This can be used to mask out inappropriate local dirty bits.
    
    Bug: angleproject:2763
    Change-Id: Ie46e464df0dc719c963ff9f7066d42eb5a028262
    Reviewed-on: https://chromium-review.googlesource.com/c/1264062
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@google.com>

commit 3209937075cbeb4037b8ae52a0939764b4b6f2ea
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Mon Oct 8 15:42:23 2018 +0800

    ES31: Enable dEQP cases on texture gathering on swizzled 2d array textures
    
    The following dEQP cases can pass with
    https://chromium-review.googlesource.com/c/1207216:
    
    dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8.texture_swizzle.*
    dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8.texture_swizzle.*
    
    Bug: angleproject:2826
    Test: dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8.texture_swizzle.*
          dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8.texture_swizzle.*
    
    Change-Id: Iaf6c4ca5abff1a7ae97d47a0d323bead38a7d8c1
    Reviewed-on: https://chromium-review.googlesource.com/c/1267659
    Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>

commit ac66f9822f3cd0f001852eaec86530d577b16418
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Oct 9 18:30:01 2018 -0400

    Optimize ValidateBindTexture type check.
    
    This switch can be cached in a very fast packed map. The map contents
    only change if different extensions are exposed. This reduces the
    number of instructions we hit in ValidateBindTexture.
    
    Bug: angleproject:2763
    Change-Id: I6ba8a4124d85e4c193d0dee3e03e50713d51b1f4
    Reviewed-on: https://chromium-review.googlesource.com/c/1262739
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@google.com>

commit 31116738adbd12fec9ebb3adc28540e62dd903b4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Oct 9 18:30:01 2018 -0400

    Inline many more hotspots for the Texture draw test.
    
    Bug: angleproject:2763
    Change-Id: Ib8193e7ff5ee7763b92f4775fb7e9adaa51c9305
    Reviewed-on: https://chromium-review.googlesource.com/c/1262738
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@google.com>

commit fcf10b62f76a6e75c8265667735b91212a303170
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Wed Sep 19 12:53:18 2018 +0800

    Fix the regression bug for ComputeBoids
    
    The old implementation missed considering compute program would also enter
    into applyActiveAttribLocationsMask. However, there was no bindVertexArray
    before updateAttribEnabled which resulted the previous VAO state was modified
    in unknown. And that's why ComputeBoids example wouldn't work correctly.
    
    This change adds a checking to not enter propagateProgramToVAO if it's a
    compute program since compute shader doesn't have vertex attributes. And
    an ASSERT is added to make sure that the right VAO is bound when
    updateAttribEnabled is called in applyActiveAttribLocationsMask.
    
    Bug: angleproject:2810
    
    Change-Id: I6e77853498a527ef3b755bbb1da5826a9134b164
    Reviewed-on: https://chromium-review.googlesource.com/c/1226227
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>

commit 6f755b210f3515c44af8f0c963965ff7d4ce3213
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Oct 9 12:48:54 2018 -0400

    Use angle::Result in front-end. (Part 1)
    
    This covers most of the hot paths used in draw calls. Gives in the
    order of a 5% reduction in draw call overhead.
    
    Bug: angleproject:2491
    Change-Id: I2d53afb1163eaceed61fb9cd9ce6c1267c85c0fa
    Reviewed-on: https://chromium-review.googlesource.com/c/1258149
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit abfbc0fe4e5a3e73a86d6b4f3299cde394cc42fb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Oct 9 12:48:52 2018 -0400

    Use angle::Result in allocation and math check macros.
    
    Replace these with ANGLE_CHECK_*_ALLOC and ANGLE_CHECK_*_MATH depending
    on the specific error type.
    
    Bug: angleproject:2491
    Change-Id: Ic4395101fe701c563ae2b92aa2c55c93b934a7de
    Reviewed-on: https://chromium-review.googlesource.com/c/1262737
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 7d81ae7177f06bdab6a4e742e5e0f3cdd441e510
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Mon Oct 8 19:25:19 2018 -0600

    Put feature utility into it's own library
    
    To minimize system impact, have feature configuration utility
    live in it's own library.
    
    Bug=angleproject:2418
    
    Change-Id: Ic8e3862965e515ded7e1a6078a7b9f8b92878818
    Reviewed-on: https://chromium-review.googlesource.com/c/1269822
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@google.com>
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>

commit 563fbaa0466fa1a2fa34328f5e2509193d12763c
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Oct 2 11:22:01 2018 -0400

    Vulkan: Implement occlusion queries
    
    Begin and end queries insert an execution barrier in the command graph
    to ensure the commands around them are not reordered w.r.t to the query.
    
    Also, these commands cannot be recorded in separate secondary command
    buffers.  Therefore, special-function nodes are created to perform the
    begin and end query calls on the final primary command buffer.
    
    Bug: angleproject:2855
    Change-Id: Ie216dfdd6a2009deaaf744fd15d2db6899dd93e9
    Reviewed-on: https://chromium-review.googlesource.com/c/1259762
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 120b13f89467dcd72c0f4bf06f33a9419522f835
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Oct 9 07:58:39 2018 -0400

    Add more draw buffer related tests.
    
    Some of these are targeting our workaround for a mac bug. The bug was
    that the driver was somehow modifying output attachments that the
    program wasn't writing to. A new test shows a bug where we wouldn't
    re-sync the state properly after a clear.
    
    Also adds more pretty printing for GLColor.
    
    Bug: angleproject:2872
    Change-Id: I5485893b5f1b269c5407678db27978a789f7acc6
    Reviewed-on: https://chromium-review.googlesource.com/c/1269255
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit e7ece9e22c87ee0cadcf24da3a8b430eb9d1491f
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Mon Oct 8 16:43:43 2018 -0600

    Do not include ALOGV in release builds
    
    To match behavior of ALOGV in Android system code, disable output
    in release builds.
    
    Bug=angleproject:2418
    
    Change-Id: I657ec366249f9d5defe9b05fe298099c47389580
    Reviewed-on: https://chromium-review.googlesource.com/c/1269819
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Ian Elliott <ianelliott@google.com>
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>

commit 3f21fcb9bd26d469996d59d2f70c711799c227e3
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Mon Sep 17 17:21:44 2018 -0600

    Set ANGLE default backend to Vulkan
    
    If the Vulkan backend is available, use it on Android.
    This way ANGLE built for the ANGLE apk always uses Vulkan.
    ANGLE built for use in Chrome keeps GL. At least for now.
    
    Bug=angleproject:2418
    
    Change-Id: Ic7796c74821a44b856a596d31b3de09e7ca47ede
    Reviewed-on: https://chromium-review.googlesource.com/c/1265504
    Reviewed-by: Ian Elliott <ianelliott@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@google.com>
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>

commit 6f591c9706e6b0031bbeeb784a1ca29bb52655fa
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Sep 21 11:20:47 2018 +0300

    Clean up TCompiler members and style
    
    Some dead code and duplicate data are cleaned up from the compiler.
    Several parameters can be accessed directly from ShBuiltInResources
    instead of creating a copy in TCompiler.
    
    This also encapsulates some TCompiler member functions as private and
    changes the remaining unprefixed TCompiler member variable names to
    start with the m prefix.
    
    BUG=angleproject:2068
    TEST=angle_unittests
    
    Change-Id: I6690aaf538b17e0f45460660272a21f82f1808a0
    Reviewed-on: https://chromium-review.googlesource.com/c/1267503
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 6d765b07f86f189db4164be0171e36fd7ddf5f3a
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Fri Sep 28 14:16:06 2018 +0800

    ES31: Fix some bugs in ShaderStorageBlockOutputHLSL
    
    When EOpIndexDirect/EOpIndexIndirect/EOpIndexDirectStruct/TIntermSwizzle
    appear in [] in ssbo access chain, we should transfer the process of them to
    OutputHLSL.
    
    For example:
        instance.v[gl_GlobalInvocationID.x] = data;
        // becomes
        float_Store(dx_instance, 0 + 16 * gl_GlobalInvocationID.x, _data);
    
        instance.v[s.index[0].x] = data;
        // becomes
        float_Store(dx_instance, 0 + 16 * _s.index[0].x, _data);
    
    Bug: angleproject:1951
    Change-Id: I333e238400a10a799a6294f8759cf9c4ef2451c8
    Reviewed-on: https://chromium-review.googlesource.com/c/1250661
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>

commit 19b51d298334ece4c986c385083fc60eefb7a888
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Wed Sep 19 15:14:45 2018 +0800

    ES31: Support textureGather[Offset] on shadow samplers
    
    This patch implements translating textureGather[Offset] into HLSL
    when the sampler is a shadow sampler. The related HLSL function
    should be GatherCmp().
    
    According to the definition of textureGatherOffset():
    ([ESSL 3.1] Chapter 8.9.3 Page 138)
    - gvec4 textureGatherOffset(gsampler2D sampler, vec2 P,
      ivec2 offset, [,int comp])
    - vec4 textureGatherOffset(sampler2DShadow sampler, vec2 P,
      float refZ, ivec2 offset)
    We need to add parameter "refZ" before "offset" when the sampler
    is a shadow sampler.
    
    Bug: angleproject:2826
    Test: dEQP-GLES31.functional.texture.gather.basic.2d.depth32f.*
         dEQP-GLES31.functional.texture.gather.basic.2d_array.depth32f.*
         dEQP-GLES31.functional.texture.gather.basic.cube.depth32f.*
         dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d.depth32f.*
         dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d_array.depth32f.*
         dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.depth32f.*
         dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.depth32f.*
    
    Change-Id: I9a7d095dd3cfa41aaefd14d012ed1f309abfc6d5
    Reviewed-on: https://chromium-review.googlesource.com/c/1244081
    Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
    Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 450bf36f7918d18f3186be8ce570d9eac63b309d
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Fri Oct 5 12:44:37 2018 -0400

    Workaround Adreno driver not supporting unsized EXT_texture_rg formats
    
    Bug: angleproject:2567
    
    Change-Id: Ia7dfa54f7201866b9d7c0ce5d9cccae06c785542
    Reviewed-on: https://chromium-review.googlesource.com/c/1265500
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@google.com>
    Commit-Queue: Yuly Novikov <ynovikov@google.com>

commit 78df3362ac219aab600a15b29290f39d36337bc4
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Oct 5 16:43:27 2018 +0300

    Fix clearing out-of-range default FB drawbuffer
    
    The default framebuffer is initialized with just one drawbuffer slot
    so the number of drawbuffers needs to be validated before checking if
    a buffer is attached.
    
    BUG=angleproject:2831
    TEST=angle_end2end_tests
    
    Change-Id: I960c39357853d1cd4575b06a992cff33223ab3df
    Reviewed-on: https://chromium-review.googlesource.com/c/1264518
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 8efa341839a6525eca02f1d719cc4d53b443327b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Oct 5 10:24:07 2018 -0400

    Suppress EXTBlendFuncExtendedDrawTestES3.FragmentArrayOutputLocationsAP on MacOS
    
    Example failure:
    https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Mac%20FYI%20Experimental%20Retina%20Release%20(NVIDIA)/2115
    
    BUG=angleproject:1085
    
    Change-Id: Ifc07282b7ca586bd6346831e08cee963c9eaab54
    Reviewed-on: https://chromium-review.googlesource.com/c/1263903
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit e39e8f46c31f017d829444ed384292f1db00968e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 5 08:17:38 2018 -0400

    GL back-end error refactor.
    
    Adds explicit error handling to a few scoped state handler classes.
    Otherwise mostly mechanical refactoring.
    
    Bug: angleproject:2753
    Change-Id: I2bf969a68f45880902b6e7902297c1340a76a1c4
    Reviewed-on: https://chromium-review.googlesource.com/c/1255647
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 06270c9eac5a68b1b8e17aebbd8384c1196c6fdc
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Wed Oct 3 17:00:25 2018 -0400

    Vulkan: Safer struct initialization
    
    Using x = {}; before filling out each field, we can be sure any missing
    field is 0 initialized.  This in turn helps us not have to specify
    certain fields that are generally unused (at the moment), such
    as pNext.
    
    Bug: angleproject:2860
    Change-Id: Ia1fa2db3ecfb316673a02ac0c5e13e47e055a19f
    Reviewed-on: https://chromium-review.googlesource.com/c/1259764
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 5476e805a321d786f8b6a003ab95b1bee0c30964
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Oct 5 13:23:03 2018 +0300

    Fix constructing void array zero nodes
    
    Correctly sized void arrays can be needed after parsing has recovered
    from an error and the code is trying to evaluate the constant value of
    a node. Since now we just have a generic EOpConstruct op instead of
    different ops for different types, we can simply remove the special
    handling for void arrays in CreateZeroNode to create the arrays in the
    correct size.
    
    BUG=chromium:890581
    TEST=angle_unittests
    
    Change-Id: I48d96c9ef1d695cd8583a845fd4bd24a7aaf535c
    Reviewed-on: https://chromium-review.googlesource.com/c/1264515
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 2343836c4210777100dbb476b738f46a224b236a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 4 17:42:00 2018 -0400

    Remove gl::ErrorOrResult.
    
    Bug: angleproject:2491
    Change-Id: Ief728b9c50ee2e1925a9b286c52c8ccda6b14fd2
    Reviewed-on: https://chromium-review.googlesource.com/c/1255646
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@google.com>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit 785e8a0b7db3de4330b3682c8a2b5183ed73fdee
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 4 17:42:00 2018 -0400

    Remove gl::LinkResult.
    
    Instead of returning a small struct from LinkProgram calls we use
    angle::Result. Linking can have 3 cases:
    
    - the link was successful -> angle::Result::Continue
    - the link failed -> angle::Result::Incomplete
    - there was an internal error -> angle::Result::Stop
    
    Note that any unexpected Incomplete is still an error. Each function
    that accepts Incomplete must check explicitly.
    
    This is the last user of ErrorOrResult.
    
    Bug: angleproject:2491
    Change-Id: Idba23be27efe4b561720a4bdd8fe486b40779497
    Reviewed-on: https://chromium-review.googlesource.com/c/1255645
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@google.com>

commit 0ca09753392d43fb30f689a2f037b609c49472c8
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Sep 24 11:00:50 2018 +0300

    Add GLES3 support for EXT_blend_func_extended
    
    This adds GLES3 API support for EXT_blend_func_extended. The patch
    includes the API entrypoints, validation and also implementation on
    the desktop GL backend.
    
    Instead of having built-in fragment color variables, ESSL 3.00 has
    custom output variables, which can now be bound to either primary or
    secondary output color locations. The "index" set to a custom output
    variable determines whether it's used a primary or secondary blending
    source color.
    
    The shader layout qualifier takes precedence over the bind call. This
    is not specified in the EXT spec, but is specified in desktop OpenGL
    specs.
    
    BUG=angleproject:1085
    TEST=angle_end2end_tests
    
    Change-Id: Ia24e8e5dadcc165e5e8fbd7c653c7fab6217db88
    Reviewed-on: https://chromium-review.googlesource.com/c/1249361
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 14246813a110fe2f67ed01dfb2102b6d72cc7ec4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Oct 3 17:51:16 2018 -0400

    Update sampler directly on Texture change.
    
    This saves a lot of extra work when updating a Texture.
    
    Bug: angleproject:2763
    Change-Id: I87e310ef4f847713123bd24711e1166949ff95d2
    Reviewed-on: https://chromium-review.googlesource.com/c/1254043
    Reviewed-by: Yuly Novikov <ynovikov@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit e3bb6b796f8e031b4d6f2e6b7a8d4915e547b4e7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Oct 3 17:51:15 2018 -0400

    Update Textures immediately on program change.
    
    Instead of deferring this work, we can process it immediately. We have
    access to the information we need in the prior and current states so
    can optimize the update more effectively.
    
    Bug: angleproject:2763
    Change-Id: I77482b0ea490fddf403ccc4a4f32665301fd6e7a
    Reviewed-on: https://chromium-review.googlesource.com/c/1254042
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 49b0f6eb413bf2cfc059b41726c73597912d8fa3
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Wed Oct 3 23:15:29 2018 -0400

    Vulkan: read pixel buffer alignment must be 4.
    
    BUG=angleproject:2867
    
    Change-Id: Ie14848bb464eea7f84d0ce523dff2cddf7a185d4
    Reviewed-on: https://chromium-review.googlesource.com/c/1260256
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit b4ead90b037359a14e90d78a935b426f862cbc36
Author: Shahbaz Youssefi <syoussefi@chromium.org>
Date:   Tue Oct 2 17:08:04 2018 -0400

    Roll VK and SPIR-V deps forward
    
    An incorrect validation is preventing work on queries:
    
    https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/269
    
    Bug: angleproject:2855
    Change-Id: I0454b74f714e69efcfa56e42ff751ffffacaf78c
    Reviewed-on: https://chromium-review.googlesource.com/c/1258085
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 76dd2d6f9f5eebac4f11f7f80b80c587a2542323
Author: Brandon Jones <brandon1.jones@intel.com>
Date:   Thu Oct 4 09:35:08 2018 -0700

    Change capitilization mismatch in 2D array shaders to fix clang error
    
    In CL #1207216, the #include in blit11 and shader file name had
    capitilization mismatches, which caused a clang error. This fixes the
    issue.
    
    Bug: angleproject:2762
    Change-Id: I4760843beedaabfb83228e40289efaa6a767dec3
    Reviewed-on: https://chromium-review.googlesource.com/c/1262017
    Commit-Queue: Brandon1 Jones <brandon1.jones@intel.com>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 4e6f2aeac25a50cd86137a4386792f5832dcdd63
Author: Brandon Jones <brandon1.jones@intel.com>
Date:   Wed Sep 19 11:09:51 2018 -0700

    Implement ANGLE_copy_texture_3d Extension
    
    Adds copyTexture3DANGLE and copySubTexture3DANGLE that adds copy
    operations on volumetric textures.
    
    Bug: angleproject:2762
    Test: angle_end2end_tests
    
    Change-Id: I0076989c2b7ed69abfc73143c325065bdb06a360
    Reviewed-on: https://chromium-review.googlesource.com/c/1207216
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 5541a6c86a64a21a49e7f8fa1a87754c2b2f8f77
Author: Ian Elliott <ianelliott@google.com>
Date:   Wed Oct 3 15:31:18 2018 -0600

    Change A4A opt-in/out log messages from DEBUG to VERBOSE.
    
    DEBUG was useful for developing and turning on the code, but it's too
    verbose to be used with the Android Q release.
    
    Bug: angleproject:2794
    Change-Id: I092567c25414cbba7f36ab94e191b1dcfe39fbcb
    Reviewed-on: https://chromium-review.googlesource.com/c/1260102
    Commit-Queue: Ian Elliott <ianelliott@google.com>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>

commit 1395134c343867d63458f2c55a9bf3fce66803b9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sun Sep 30 15:24:28 2018 -0400

    Remove more uses of gl::ErrorOrResult.
    
    Only gl::LinkResult remains.
    
    Bug: angleproject:2753
    Change-Id: I5e9c68c11453e8ab9db4908451957d7b3db0b110
    Reviewed-on: https://chromium-review.googlesource.com/c/1254044
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 4d422c290779afe1262ef16cbff497b48e29b49c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Oct 2 09:31:40 2018 -0400

    Vulkan: Move blit mipmap init to ImageHelper.
    
    This hides the logic for manipulating the current layout and barriers
    into the image helper. This will make it easier to implement implicit
    pipeline barriers. It allows us to remove the updateLayout() hack.
    
    Bug: angleproject:2828
    Change-Id: I3e59872e66064e6b105c1f398b4212fb3a6be1a7
    Reviewed-on: https://chromium-review.googlesource.com/1255506
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit c2116cd3af9ff11f783aaf80e8a48c3f089ae8ea
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Oct 2 09:31:40 2018 -0400

    Vulkan: Update pipeline barrier interface.
    
    This makes the vk::CommandBuffer class closer to an auto-generated
    wrapper class.
    
    Bug: angleproject:2828
    Change-Id: I91ba03914a60d5612707dd240fcda25b86cf2c46
    Reviewed-on: https://chromium-review.googlesource.com/1255505
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit c3bef3e7b0280aa367187921fdecf059796e7b65
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Oct 3 07:35:09 2018 -0400

    Allow 'defined' in define in non-WebGL.
    
    This is needed to pass dEQP conformance. Several of the harder dEQP
    tests around this behaviour are excluded from the mustpass list. This
    is presumably because the behaviours weren't implemented portably.
    Nevertheless we need to support conformant behaviour for GLES 2.0
    Contexts for the most simple uses.
    
    This also leaves the error behaviour intact for WebGL specs.
    
    Bug: angleproject:1335
    Change-Id: Ia80b4f71475efa928488ee6c2ee35c566d4602d4
    Reviewed-on: https://chromium-review.googlesource.com/c/1242013
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 607f907d47b04e9d61afafbe7af3b5e5612c5bf4
Author: Tobin Ehlis <tobine@google.com>
Date:   Tue Oct 2 14:39:20 2018 -0600

    Vulkan: Add 565 configs for Android
    
    Generate GL_RGB565 internal format configs for Android VK. This allows
    apps requesting such formats to map to the appropriate corresponding
    Android internal pixel format.
    
    Bug: angleproject:2863
    Change-Id: I18f119d6554a601037a40db27234bf33e0ada438
    Reviewed-on: https://chromium-review.googlesource.com/c/1258083
    Commit-Queue: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 44a6fbfd95dd36761ddbf705684683b41cb7c6b1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Oct 2 13:38:56 2018 -0400

    Optimize resolveLink.
    
    This changes the program query to resolve the link if required. If the
    validation layer is skipped the link is resolved in the gl::Context.
    Resolving the link on program query allows us to avoid resolving the
    link on most of the gl::Program query APIs.
    
    This improves inlining and particularly affects uniform update. It
    fixes a performance regression introduced by the parallel shader
    linking extension. Gives a 17% increased score on a uniform benchmark.
    
    Also fixes two missing cases of checking for the extension in our
    validation code.
    
    Note that some bugs might still exist when the validation layer is
    disabled.
    
    Bug: angleproject:2851
    Change-Id: I5d725eede3fa147cedf2ce0129791b3412a97a61
    Reviewed-on: https://chromium-review.googlesource.com/1255509
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@google.com>

commit df836ff8f17d31daae08660b4f2aa15a6edfbc8b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 1 10:36:24 2018 -0400

    Call onProgramExecutableChange in useProgram.
    
    This cleans up the code slightly and removes a few if checks.
    Also fixes a potential edge case with ProgramBinary called on a program
    that is in-use.
    
    Bug: angleproject:2763
    Change-Id: Ibe0ab20ed44f593bb6c2b0612871680a7df1a15f
    Reviewed-on: https://chromium-review.googlesource.com/1254041
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 0da73fedd90022e1dd9d4611e44e6307eeedaa13
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Oct 2 09:31:39 2018 -0400

    Vulkan: Add dumping of the command graph to GraphViz.
    
    Dot files are a graph format that can be visualized with GraphViz.
    Giving a small visualization output can help diagnose problems with
    the graph. For example extra edges or incorrect dependencies.
    
    Bug: angleproject:2379
    Change-Id: I544cba11c5e33579b06fef2fb41bad60066a64e4
    Reviewed-on: https://chromium-review.googlesource.com/1254383
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tobin Ehlis <tobine@google.com>

commit 38f24ee666e1db9d2566e1d0d94a6e90db3549d1
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Oct 1 13:04:59 2018 -0400

    Fix missing query for GL_NUM_REQUESTABLE_EXTENSIONS_ANGLE.
    
    This enum was validated but not implemented.
    
    TEST=RequestExtensionTest.Queries
    
    BUG=890689
    
    Change-Id: I7285e45cef53b197d61cd0dfa9d2bacb70e23e64
    Reviewed-on: https://chromium-review.googlesource.com/1255142
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@google.com>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit d082819ca2ad1cadafc2cb261212ee064124a8cc
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Fri Jun 15 15:51:07 2018 -0400

    Fix format support conditions
    
    This fixes format support tables in formatutils.cpp and formatutilsgl.cpp
    to conform to the core and extension GLES specs,
    for a large portion of the formats.
    ExtsOnly SupportRequirement was enhanced to accept multiple sets of extensions.
    Format is supported if all the extensions in one of the sets are available.
    
    Also fixes determining support for extensions based on those formats.
    
    And some fixes to tests which fail due to more strict format support.
    
    Bug: angleproject:2567
    
    Change-Id: I6050fff9c597f658fdcea2477bff59a603cdb7e8
    Reviewed-on: https://chromium-review.googlesource.com/1105612
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@google.com>

commit 5dc0a6f9f6a7d640d6260aa154413aa1afa1cf4f
Author: jchen10 <jie.a.chen@intel.com>
Date:   Thu Sep 20 14:30:45 2018 +0800

    Vulkan: Vertex buffer should be format aligned.
    
    The address of each attribute in a vertex buffer must be aligned
    according to its format. See section 20.3 of vkspec.
    
    Currently we don't handle this when using DynamicBuffer as vertex
    input buffer. This loosely fixes the issue by using max alignment for
    all formats.
    
    BUG=angleproject:2797,angleproject:2405
    
    Change-Id: I2b27950dacc8fda75dcb646ef4b4d66ff27d629a
    Reviewed-on: https://chromium-review.googlesource.com/1234281
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 0f57d2e3950d0df32a63e629fd0b1c735942703f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Oct 1 15:38:28 2018 -0400

    Vulkan: Expose the unimplemented GL_EXT_occlusion_query_boolean extension.
    
    Chrome needs this extension to be exposed to load the query entry points,
    even for emulated query types.
    
    BUG=angleproject:2855
    
    Change-Id: I09dbb45c391df64d67858f9131c45b164947a707
    Reviewed-on: https://chromium-review.googlesource.com/1255507
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit a8a9e12f0a0a541c9898771c20c889dfa266e72f
Author: Jeff Gilbert <jgilbert@mozilla.com>
Date:   Tue Sep 25 14:18:35 2018 -0700

    Stream support for R16*_UNORM and P010/P016.
    
    Bug: angleproject:2850
    Change-Id: Ib23b3012b5244c8e3edbdfa05d9b4e4869bbfed8
    Reviewed-on: https://chromium-review.googlesource.com/1244080
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 1ffad843be53a4d1707b3cd7e948f50e8927c0c3
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Mon Sep 24 23:40:45 2018 -0400

    Remove PixelPackState from PackPixelsParams.
    
    Only one flag ("reverseRowOrder") from PixelPackState was being used,
    so instead of including the entire struct in PackPixelsParams, just
    include the one flag.
    
    BUG=angleproject:2718
    
    Change-Id: I32e8b30383d198ecba9bf1719c32dda0938fc969
    Reviewed-on: https://chromium-review.googlesource.com/1242210
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@google.com>

commit 1dfd8ae2e0e6e8044603529642157f1ff9c4ddcc
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Oct 1 15:59:59 2018 +0300

    Improve test coverage of constant folding
    
    Clean up some TODOs in the code as well as add tests to make sure that
    ANGLE treats expressions indexing into constant arrays as constant
    expressions in different contexts. This complements the existing tests
    in ConstantFoldingTest.
    
    BUG=angleproject:2298
    TEST=angle_unittests
    
    Change-Id: I779bf03891f7d06f14d293e69101c05d7dbf57b6
    Reviewed-on: https://chromium-review.googlesource.com/1254067
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 624fbdcf55b017215693a1817d89d3e9f1ea5af1
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Oct 1 11:54:05 2018 +0300

    Refactor CompileProgram utility
    
    Tests often need to call gl functions to set up program related state
    after glCreateProgram has been called but prior to glLinkProgram is
    called. Add a callback function to the CompileProgram utility function
    to fulfill this need. This reduces code duplication considerably in
    several tests.
    
    An alternative way to improve CompileProgram would be to split it into
    several different utility functions. This might be slightly easier to
    read, but would also be a larger refactoring and require more checks
    at the call site.
    
    This will make it easier to implement EXT_blend_func_extended tests,
    which need to bind fragment outputs to different slots.
    
    BUG=angleproject:1085
    TEST=angle_end2end_tests
    
    Change-Id: I3ac8b7bdc21c6a1f14517bc7df0cf6f35abd7612
    Reviewed-on: https://chromium-review.googlesource.com/1254062
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 079a6bc36042abbda6d3ac89ca40e2d70fcb7f1d
Author: Nico Weber <thakis@chromium.org>
Date:   Mon Oct 1 14:30:09 2018 -0400

    Remove an exit-time destructor from a frequently-included header.
    
    Bug: angleproject:1459
    Change-Id: I2bfd7a34ef8ca6d367af7e1d9dd740c4e93727ac
    Reviewed-on: https://chromium-review.googlesource.com/1255382
    Commit-Queue: Nico Weber <thakis@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 2fe5e1d3e64643d10e727ce1984f60b1fb97a8f0
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Aug 28 14:00:24 2018 -0400

    Vulkan: Implement robustness extensions.
    
    Device recovery is not possible but device loss can be tracked.
    
    BUG=angleproject:2787
    
    Change-Id: Ib94dd557b6b005a560b7a64275b176f7b1777211
    Reviewed-on: https://chromium-review.googlesource.com/1194458
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 16c20140e05e28cd0be6950bd8a2f368fb1fd3c2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 1 13:58:19 2018 -0400

    Vulkan: Record blit commands inside blit methods.
    
    Instead of starting recording blit commands immediately we can
    record them closer to where we write to the Image directly. This makes
    it a bit easier to move towards hiding the command buffers. And easier
    to move to using implicitly generated barriers.
    
    Bug: angleproject:2828
    Change-Id: Ida7d4081dd41c8ee19c7dc3fb234df1bb065794d
    Reviewed-on: https://chromium-review.googlesource.com/1254382
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit def1ba96cba46bfeda6add05c14d6b8f2c8fc82b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Sep 28 13:43:41 2018 +0000

    Reland "D3D11: Resolve multisampled EGL surfaces at eglSwapBuffers"
    
    This reverts commit 799da6d18c5ac490e0cdfe9d4dedda26e10f6864.
    
    Reason for revert:Crashes have slowed down but there were two changes around the same time that may have caused it.  Relanding this to see if things improve.
    
    Original change's description:
    > Revert "D3D11: Resolve multisampled EGL surfaces at eglSwapBuffers"
    >
    > An increased crash rate in rx::NativeWindow11Win32::createSwapChain has been
    > seen around the same time as this patch landed.  Speculatively reverting.
    >
    > BUG=887403
    >
    > This reverts commit a49f60fee74dfa1caed41ca2e010bc273a6c12cd.
    >
    > Change-Id: Id1b08efbf47196f17f4a5e509a29f7d628b07b49
    > Reviewed-on: https://chromium-review.googlesource.com/1238884
    > Reviewed-by: Geoff Lang <geofflang@chromium.org>
    > Commit-Queue: Geoff Lang <geofflang@chromium.org>
    
    TBR=geofflang@chromium.org
    
    # Not skipping CQ checks because original CL landed > 1 day ago.
    
    Bug: 887403
    Change-Id: Id862fbb1c0e764470f0b7f6bdb97bf6bab95d26b
    Reviewed-on: https://chromium-review.googlesource.com/1251701
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 9d597f8a3a1e60a685aa305b1ab6394f33ec9021
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 1 10:15:36 2018 -0400

    Vulkan: Use copyImageDataToBuffer in Texture mipmap gen.
    
    There were two code paths using nearly identical code. Fix this by
    generalizing the helper method slightly.
    
    Refactoring change only.
    
    Bug: angleproject:2828
    Change-Id: I39caccfaad4880e566e995483b8e8fb46d67d3da
    Reviewed-on: https://chromium-review.googlesource.com/1249563
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 996628a4a1fd2b53db83b08281a57e3ab32f0f42
Author: Shahbaz Youssefi <syoussefi@google.com>
Date:   Mon Sep 24 16:39:26 2018 -0400

    Vulkan: Add support for VkPipelineCache
    
    The cache is initialized from the application's blob cache and is
    occasionally written back to it for disk storage.
    
    Bug: angleproject:2516
    Change-Id: I4cba4b00a7b9641c2983ef07159bc62cd10a5519
    Reviewed-on: https://chromium-review.googlesource.com/1241373
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@google.com>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 5ddbdbf70c50068b9682750454d9fd339ed805c2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 1 10:15:37 2018 -0400

    Vulkan: Fix bugs in glGenerateMipmaps.
    
    We had two separate minor bugs. 1) missing a flush of the image data
    and 2) missing an initial barrier to set the image to TRANSFER_DST.
    
    Bug: angleproject:2652
    Bug: angleproject:2653
    Change-Id: I485aafc5c9055b5efb101cb2bc3ebab0588d2639
    Reviewed-on: https://chromium-review.googlesource.com/1249564
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit a78092cb25571077685b99570797beb56abf76a7
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Sep 26 14:16:13 2018 +0300

    Support ESSL 3.00 EXT_blend_func_extended shaders
    
    This adds support for the index layout qualifier that's used in
    EXT_blend_func_extended to set whether a fragment output should be
    bound to the primary or secondary blend source color.
    
    Output locations are now validated correctly so that two outputs can
    have the same location as long as they have a different index. Some
    tests are fixed to allow this.
    
    BUG=angleproject:1085
    TEST=angle_unittests
    
    Change-Id: I1de3ad1406398952287791eca367562bed59d380
    Reviewed-on: https://chromium-review.googlesource.com/1245982
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 79207e6e11df06880ff0a9071479b2903d46d1b1
Author: Yuly Novikov <ynovikov@google.com>
Date:   Fri Sep 28 16:09:26 2018 -0400

    Skip tests failing on Pixel XL
    
    RobustBufferAccessBehaviorTest.NoBufferData/ES2_OPENGLES
    RobustBufferAccessBehaviorTest.NoBufferData/ES3_OPENGLES
    RobustBufferAccessBehaviorTest.NoBufferData/ES3_1_OPENGLES
    ClearTest.ChangeFramebufferAttachmentFromRGBAtoRGB/ES2_OPENGLES
    ClearTest.ChangeFramebufferAttachmentFromRGBAtoRGB/ES3_OPENGLES
    WebGLGLSLTest.InitUninitializedGlobals/ES2_OPENGLES
    
    Bug: angleproject:2861,angleproject:2689,angleproject:2862
    Change-Id: I142594c952b6e7de24057784794b5725f3486212
    Reviewed-on: https://chromium-review.googlesource.com/1252701
    Reviewed-by: Yuly Novikov <ynovikov@google.com>
    Commit-Queue: Yuly Novikov <ynovikov@google.com>

commit af0f31d3a909935376ba8153c35896a5d5804325
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Thu Sep 27 15:42:31 2018 +0800

    Enable several end2end tests on Windows Intel drivers
    
    Bug: angleproject:1388
         angleproject:1706
    
    Change-Id: Ic6c62b0a85756bf36b6d345610a77ffd5c4665e3
    Reviewed-on: https://chromium-review.googlesource.com/1248442
    Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
    Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit c0b82333ab279be7efc4752fd24f9c87b00310b5
Author: Jeff Gilbert <jgilbert@mozilla.com>
Date:   Wed Sep 26 18:04:05 2018 -0700

    Polyfill BitCount for ARM/ARM64 on MSVC.
    
    Also _WIN64 implies _WIN32.
    
    Bug: angleproject:2858
    Change-Id: I63e2ffd2e9e304171ea6adb99836733981cc1813
    Reviewed-on: https://chromium-review.googlesource.com/1248441
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit e8dd07969872491eeb18cedae67ec892433aa5ca
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 27 15:04:27 2018 -0400

    Vulkan: Make vk::FramebufferHelper the graph resource.
    
    It seems conceptually easier to understand that a vk::Framebuffer is
    the resource used in graph. Rather than making the GraphResource be
    integrated into the FramebufferVk class itself. This means that the
    only objects that are graph resources are Vulkan objects: Images,
    Buffers, and Framebuffers.
    
    Refactoring change only.
    
    Bug: angleproject:2828
    Change-Id: I59d60643182287d4b1fcf9730a3c3a0da5b65973
    Reviewed-on: https://chromium-review.googlesource.com/1249561
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit 2d03ff4a1fae8d7fc10b1b0f793c9166a658cd1c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 27 15:04:26 2018 -0400

    Vulkan: Make Buffer/Image be CommandGraphResources.
    
    Don't make TextureVk/RenderbufferVk/SurfaceVk/BufferVk own the
    manipulation of the command graph. Instead put the operations close to
    the buffers and images used to render.
    
    This will lead towards implementing implicit barriers on the command
    graph resources.
    
    Bug: angleproject:2828
    Change-Id: I07b742b6792c60285b280d6454f90e963d667e0e
    Reviewed-on: https://chromium-review.googlesource.com/1246983
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 50e6eaaee6f77014e7f2265ea6d6b628694009e2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 27 08:24:32 2018 -0400

    Vulkan: Move LineLoopHelper graph work into BufferVk.
    
    Bug: angleproject:2828
    Change-Id: Ie6bcdd10e2de415615db2bfb0b6fa17c392455b0
    Reviewed-on: https://chromium-review.googlesource.com/1235655
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit beb0c946de6dec6c40bb438c5843e47fdb67aa6c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Sep 27 11:22:23 2018 -0400

    Vulkan: Make sure the default uniform info arrays match indices.
    
    When inserting uniform layout info into the default uniform block, the array
    sizes need to match but insertion was skipped when the uniform was a sampler.
    
    This caused heap corruption when uniform data was written to the wrong offset
    in the buffer.
    
    BUG=angleproject:2859
    
    Change-Id: Ia58a68870e2a4805391266dfe73fe8c8d238931d
    Reviewed-on: https://chromium-review.googlesource.com/1249562
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 122919bddd98eef1d7bb522bda9429d6dcf1c99e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 6 15:52:59 2018 -0400

    Update docs on building ANGLE inside Chromium.
    
    Bug: angleproject:1944
    Change-Id: If05cdf39bd4f88995ed9ea97a13bca661f826884
    Reviewed-on: https://chromium-review.googlesource.com/1211782
    Reviewed-by: Tobin Ehlis <tobine@google.com>

commit 115e8a2625f5d81bb4e6fa4b687c0c5e5b56ca73
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 26 07:51:30 2018 -0400

    Vulkan: Store "is packed" in buffer formats.
    
    This more easily allows us to compute the format alignment for use with
    the vertex input stage.
    
    Bug: angleproject:2797
    Change-Id: If15281ce18fbed743b6a0c843cece4626bc4ce72
    Reviewed-on: https://chromium-review.googlesource.com/1245841
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Jie A Chen <jie.a.chen@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit af8b73c9e6320524ac7bc0aa43dc8d1b47257bc1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 26 11:36:16 2018 -0400

    Roll dEQP (September 2018)
    
    Bug: angleproject:2854
    Change-Id: Ib9f229aa579699e90759bacd88d13953c0a7d311
    Reviewed-on: https://chromium-review.googlesource.com/1245846
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 3ddd642037eb62519d1c62b081bac1afce595294
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Sep 26 11:10:51 2018 -0400

    Vulkan: Expose EXT_debug_marker and stub out the implementation.
    
    This extension is used by Chrome.
    
    BUG=angleproject:2853
    
    Change-Id: Ie8d4ba07857c581a4ec3f90faabdf747b6b52445
    Reviewed-on: https://chromium-review.googlesource.com/1246263
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit c84510f4a31366aee6602cbdb60b50e1425e8f37
Author: Eric Stevenson <estevenson@chromium.org>
Date:   Tue Sep 25 19:22:55 2018 -0400

    Angle: Remove obsolete requires_sdk_api_level_23 from BUILD.gn.
    
    Will be removed upstream.
    
    BUG=chromium:688465
    Change-Id: If50ac3624a5f692755797eaabcc0c7d6e7408655
    Reviewed-on: https://chromium-review.googlesource.com/1244079
    Reviewed-by: Yuly Novikov <ynovikov@google.com>
    Commit-Queue: Yuly Novikov <ynovikov@google.com>

commit a602f9064b3eb0f8f2594e314892f6ec718fcc94
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Tue Sep 11 14:40:24 2018 +0800

    ES31: Support shader storage buffer in D3D-API side.
    
    Bug: angleproject:1951
    Test: angle_end2end_tests
    
    Change-Id: I0d8a4f8cf00fc7fd2d85315138e2b7457fd0b90c
    Reviewed-on: https://chromium-review.googlesource.com/1242846
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 547edfe22ccabdd8056766e86b0abe8365cec56c
Author: jchen10 <jie.a.chen@intel.com>
Date:   Tue Sep 25 21:17:56 2018 +0800

    Fix angle::Format::ID in gen_dxgi_format_table.py
    
    The dxgi_format_map_autogen.cpp was updated, but the generating script
    was missed to submit in https://crrev.com/c/1142299.
    
    Bug: angleproject:2729
    
    Change-Id: I8d726854581d27881a737f12457482ac955e6312
    Reviewed-on: https://chromium-review.googlesource.com/1242853
    Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit cf8ad760955d35884c3b5d3b52a16cdb17f2d2bb
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Fri Sep 21 09:11:35 2018 +0800

    ES31: Support translating textureGatherOffset into HLSL
    
    This patch implements the translation from GLSL texture function
    textureGatherOffset into HLSL by using the optional "offset"
    parameter of Texture2D.Gather[Red|Green|Blue|Alpha].
    
    This patch also defines the implementation-dependent limit
    MIN_PROGRAM_TEXTURE_GATHER_OFFSET and MAX_PROGRAM_TEXTURE_GATHER_OFFSET
    on D3D11. According to MSDN, the valid range of "offset" used in
    Gather should be [-32, 31].
    https://docs.microsoft.com/en-us/windows/desktop/direct3dhlsl/gather4-po--sm5---asm-
    
    This patch also refactors OutputTextureGatherFunctionBody() so that
    some redundant code can be removed.
    
    BUG=angleproject:2826
    TEST=dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d.rgba8.*
         dEQP-GLES31.functional.texture.gather.offset.min_required_offset.2d_array.rgba8.*
         dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d.rgba8.*
         dEQP-GLES31.functional.texture.gather.offset.implementation_offset.2d_array.rgba8.*
         (without texture_swizzle)
    
    Change-Id: Id0f411257b64c8a97428f16b1a86950ec6d36e2f
    Reviewed-on: https://chromium-review.googlesource.com/1237303
    Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>

commit 219ef05b22e856b0ce2f003505ec84767199b241
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 25 20:16:37 2018 -0400

    Skip NoBufferData test on NVIDIA Shield TV.
    
    Bug: chromium:889303
    Change-Id: Ie06ea7ff27e64d8b149a2200efd159f3a09780b7
    Reviewed-on: https://chromium-review.googlesource.com/1244001
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 95bba6e59fe83de89cbd0b4196bb1d3220f3160c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Aug 29 11:02:49 2018 -0400

    Vulkan: Use automatic row length and image height for texture copies.
    
    CopyTextureChromium sometimes failed because of incorrect image dimensions
    being used in the image copy command.  Simply use 0, the images are all
    tightly packed.
    
    BUG=angleproject:2723
    
    Change-Id: I2332561bdc9ee70ba07101bcf2db7ea9f2355844
    Reviewed-on: https://chromium-review.googlesource.com/1194907
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit a883dd0653f461886245f31afa780743a3818faa
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Aug 3 18:11:46 2018 +0200

    Use SPIRV-Tools' BUILD.gn files
    
    This adds build_overrides/spirv_tools.gni to tell it where to find its
    dependencies.
    
    BUG=chromium:870747
    Change-Id: Id1d9fb836e74597860a4411df0a4fd0651840f57
    Reviewed-on: https://chromium-review.googlesource.com/1162240
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 8b57fae57908d5be0b0c3882d6f1c40b97b3cb56
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Sep 20 12:48:29 2018 -0400

    Roll EGL headers.
    
    BUG=angleproject:2508
    
    Change-Id: I28782e488495a31da885f35e9c37b0dd22d951a3
    Reviewed-on: https://chromium-review.googlesource.com/1236754
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 299bdfe75173549470981d70e88dd55c02123abb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 25 11:44:19 2018 -0400

    Vulkan: Update AMD suppressions.
    
    Bug: angleproject:2463
    Bug: angleproject:2847
    Bug: angleproject:2848
    Change-Id: I4036363c517dbe293566bb9d51a2470685d41ac2
    Reviewed-on: https://chromium-review.googlesource.com/1240108
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit b36a4816a5460120249e89258af3c5741301de40
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 25 10:15:11 2018 -0400

    Vulkan: Add OpenGL line segment rasterization.
    
    Line rasterization rules are implemented using a shader patch. The
    patch does a small test and discards pixels that are outside of the
    OpenGL line region.
    
    The feature is disabled on Android until we can determine the root
    cause of the test failures.
    
    Bug: angleproject:2598
    Change-Id: Ic76c5e40fa3ceff7643e735e66f5a9050240c80b
    Reviewed-on: https://chromium-review.googlesource.com/1120153
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit beb669dac125ab630253ff92ed040860eebebd39
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Fri Sep 21 16:25:52 2018 -0400

    Vulkan: work around vkCmdCopyBuffer bug.
    
    It seems that vkCmdCopyBuffer on Windows with Intel GPU neglects
    the last region when given more than one.  Work around that in
    LineLoopHelper::getIndexBufferForElementArrayBuffer() by adding an
    unused region.  Enable corresponding test.
    
    BUG=angleproject:2838
    
    Change-Id: I8847c7b2cfdb94526d4d28ba5bf1f162da3a1ed4
    Reviewed-on: https://chromium-review.googlesource.com/1238887
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit 74c179bb9bb9a6ab71a52caf080bdda9882a43c4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Sep 24 10:53:23 2018 -0400

    Vulkan: Refresh descriptor sets on driver uniform change.
    
    In some state change scenarios the driver uniforms would be updated but
    not reapplied to the current state. Fix this by setting the descriptor
    sets dirty when we dirty the driver uniforms.
    
    Includes a test using gl_DepthRange. Also fixes a bug with the upcoming
    line segment rasterization emulation.
    
    Bug: angleproject:2598
    Bug: angleproject:2845
    Change-Id: Ia66f3c86f9770ceb145069eec879fd8725111a76
    Reviewed-on: https://chromium-review.googlesource.com/1240413
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 4ebd8f3d9999ca4cd1ec769fe4c4aaa2fceda431
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Sep 20 11:12:46 2018 +0300

    Fix issues with clearing deleted attachments
    
    Deleting an object that was acting as a framebuffer color attachment
    in the current framebuffer didn't previously update all of the
    framebuffer state correctly. Fix this by going through the usual
    resetAttachment path when any framebuffer attachment is deleted
    instead of having custom code that only updated part of the state.
    
    Also early out from clearbuffer calls in case of a missing color
    buffer - even now that the draw buffer mask is being updated correctly,
    some backend code doesn't take it into account. One example is
    querying attachment format when the SRGB clear for linear framebuffer
    attachments workaround is active.
    
    BUG=angleproject:2831
    TEST=angle_end2end_tests
    
    Change-Id: I1071a60dc0251946fed00e88e43a244fe59f4863
    Reviewed-on: https://chromium-review.googlesource.com/1235656
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 7620c7391cc430d9ede62c9960abc6a7841b4ea5
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Sep 24 11:45:55 2018 +0300

    Prevent crash in robust access mode when buffer has no data
    
    This fixes a crash appearing in robust access mode when a buffer has
    no data by stopping the draw call.
    
    A better fix would be to ensure that fetches from an empty buffer
    result in zero, but this fix requires a lot more effort. This is not
    necessarily warranted since the client is either way doing something
    incorrect in this case.
    
    BUG=angleproject:2840
    TEST=angle_end2end_tests
    
    Change-Id: Ie4ef5b1ca7c0091d7d26f91678d6e4768cc0c650
    Reviewed-on: https://chromium-review.googlesource.com/1238622
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 85c4b43e6db185bd06d8df5cf0143d42dea6df80
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Wed Sep 19 23:35:00 2018 -0400

    Vulkan: Translate line loop indices from buffer.
    
    When a line loop is drawn with byte indices from a buffer, translate
    to short.  Enable test.
    
    BUG=angleproject:2802
    
    Change-Id: Ie178ec866387be85b91291c28e1978db0a09c20a
    Reviewed-on: https://chromium-review.googlesource.com/1237293
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit f5aad06313b23bc81714bce958c71d0908df672e
Author: Tobin Ehlis <tobine@google.com>
Date:   Wed Sep 19 14:39:00 2018 -0600

    Avoid flush/invalidate of host-coherent memory
    
    For DynamicBuffer avoid calling vkFlushMappedMemoryRanges() or
    vkInvalidateMappedMemoryRanges() if the underlying memory is host-
    coherent. These calls are not required for host-coherent memory and
    may negatively impact performance.
    
    When currently allocating HOST_VISIBLE memory it's possible to also get
    HOST_COHERENT memory even though it's not explicitly requested. Because
    of this, the change updates the memory allocaiton interfaces through
    the stack to pass back the actual allocated memory properties so that
    it can be checked to see if it's host-coherent.
    
    Bug: angleproject:2804
    Change-Id: Ife95c4b98115b16d16c087dd72dba7d9661fdb46
    Reviewed-on: https://chromium-review.googlesource.com/1234276
    Commit-Queue: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit e2d2270a6f7544dde5057dc958bc0f4e8cdcd34b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 19 08:11:48 2018 -0400

    Vulkan: Merge append/beginWriteResource.
    
    The new API is named 'recordCommands'.
    
    These two APIs were basically doing the same thing. We don't need to
    have an understanding of creating a new graph node to know that we
    want to record some Vulkan commands to a command buffer. The prior
    design was actually masking a bug where we would allow appending
    commands to a command graph node that had already started a render
    pass. Fix this by adding a render pass check to recordCommands.
    
    Also removes 'hasStartedWriteResource' since this method wasn't used
    anywhere.
    
    Also renames 'onResourceChanged' to 'finishCurrentCommands'.
    
    Bug: angleproject:2828
    Change-Id: I00bd5b893fcfc37172b6c1706cb2f5fc57e79f54
    Reviewed-on: https://chromium-review.googlesource.com/1235654
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 5272a543705e062c74678ce4a756dd0cae548abf
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Sep 24 13:09:09 2018 -0400

    Vulkan: Skip BufferDataTest.RepeatedDrawDynamicBug on Win/Intel.
    
    Bug: angleproject:2843
    Change-Id: If86ed33f7fbc70e4f10580d2b52ff04454e95f52
    Reviewed-on: https://chromium-review.googlesource.com/1240416
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit f668a4b5fb72c7d0aa70c5e3da7c2d1a63943b0d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sun Sep 23 17:01:20 2018 -0400

    Skip Texture::syncState when no dirty bits.
    
    We sometimes generate local dirty bits in TextureGL. To make sure the local
    dirty bits don't get skipped we use a Subject/Observer pattern between the
    TextureGL and gl::Texture. This allows us to skip syncState in the hot path.
    
    Also inlines a couple of other texture functions. And fixes a stray header
    in EGLBlobCacheTest.
    
    Bug: angleproject:2763
    Change-Id: Ie1d8a5865deaf2a563a358c31ae28bef6b2458b1
    Reviewed-on: https://chromium-review.googlesource.com/1228374
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 77db6f4af19f47cb81359d84f8e3eca8168dc3d6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sun Sep 23 17:28:55 2018 -0400

    Use global Context lookup in single-threaded cases.
    
    In single-threaded cases we don't need to use a TLS lookup for the
    current Context.
    
    Assume a global context has 3 states: unset, set, and multi-threaded:
    
    * global context unset -> set the global context
    * global context set, matches TLS context -> set the global context
    * global context set, doesn't match TLS -> set multi-threaded
    * global context multi-threaded -> leave it
    
    This also inlines the global context/TLS check into global_state.h.
    Increases performance of the binding perf overhead test by up to 25%
    and the draw call perf test by up to 3%.
    
    Bug: angleproject:2824
    Change-Id: Ib95953ca918f2408fe72ca83061f4e2d1bd1adad
    Reviewed-on: https://chromium-review.googlesource.com/1231993
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 55e57f96fbf84a7d42e807d25a304362b76da917
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 18 11:32:43 2018 -0400

    Remove some redundant dirty bits notifications.
    
    These were already being signaled in the front end.
    
    Bug: angleproject:2763
    Change-Id: Id78d3d764e80e687c29c08395b59048d314bfbe2
    Reviewed-on: https://chromium-review.googlesource.com/1204490
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c55aefe33fa2fb498c2b3b530af8012096eada5b
Author: Bryan Bernhart <bryan.bernhart@intel.com>
Date:   Tue Aug 28 19:59:00 2018 -0700

    ES31: Support atomic functions on D3D11 - Part III
    
    This patch is the third one to support atomic functions on D3D11.
    
    In this patch we enable support for atomic function returns outside of
    assignments (e.g. part of arithmetic operations or to index into arrays) and
    when used directly initialize a variable.
    
    Note that we are still missing the functionality to be tag loops with
    [allow_uav_condition] as required by InterlockedCompareExchange.
    
    BUG=angleproject:2682
    TEST=angle_end2end_tests
    
    Change-Id: Ia409ebb10621fd5c514cf6c76f366a320a9d9fc1
    Reviewed-on: https://chromium-review.googlesource.com/1208317
    Reviewed-by: Bryan Bernhart <bryan.bernhart@intel.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 799da6d18c5ac490e0cdfe9d4dedda26e10f6864
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Sep 21 15:10:57 2018 -0400

    Revert "D3D11: Resolve multisampled EGL surfaces at eglSwapBuffers"
    
    An increased crash rate in rx::NativeWindow11Win32::createSwapChain has been
    seen around the same time as this patch landed.  Speculatively reverting.
    
    BUG=887403
    
    This reverts commit a49f60fee74dfa1caed41ca2e010bc273a6c12cd.
    
    Change-Id: Id1b08efbf47196f17f4a5e509a29f7d628b07b49
    Reviewed-on: https://chromium-review.googlesource.com/1238884
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 9d84ccbaf233a0872867779fbc58e1dd6654003c
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Wed Sep 12 18:09:02 2018 -0400

    Vulkan: renderer->finish() before reading buffers.
    
    Have to call renderer->finish() before reading a buffer otherwise you can
    get stale data.
    Enable IndexBufferOffsetTest.UInt8Index/ES2_VULKAN which now works.
    Disable LineLoopTest.LineLoopUShortIndexBuffer/ES2_VULKAN which stopped
    working on Windows with Intel GPU.
    
    BUG=angleproject:2659
    
    Change-Id: I1e21b0e1dacd3368923caf18e767e34ab696eef6
    Reviewed-on: https://chromium-review.googlesource.com/1227032
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit ab5fb5edb186ac86ac6570a36cab66578ec7503c
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Sep 18 17:23:28 2018 +0300

    Reland "Support EXT_blend_func_extended in the GLES2 context"
    
    This re-lands EXT_blend_func_extended implementation. A lot of the
    implementation has been rewritten on top of changes that have been
    done since the last attempt.
    
    For now we only expose the extension on desktop GL. To support GLES,
    we'd need to investigate what's the most robust way to handle the
    compiler output and make the binding of the fragment outputs
    conditional.
    
    The extension is disabled on AMD and Intel because of test failures.
    
    BUG=angleproject:1085
    TEST=angle_end2end_tests
    
    Change-Id: I619ae3162769b90aad095ddec158ce6c57a114a8
    Reviewed-on: https://chromium-review.googlesource.com/1233713
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 38fe68403b0badd2c8bc92d6396df28b028a64c1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 19 07:20:00 2018 -0400

    Remove secondary Texture rendering loop check.
    
    This check was not used. It applied only to rendering Feedback Loops.
    The behaviour is undefined in non-WebGL and for WebGL we have a
    separate validation check.
    
    Also update the feedback loop tests to ignore the current GL states.
    This change is based on feedback from the OpenGL ES working group.
    
    Bug: angleproject:2763
    Bug: chromium:763695
    Change-Id: I9882b4f9af2d43fc7b5604ff36dadcc79dfd378f
    Reviewed-on: https://chromium-review.googlesource.com/1228373
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 0131ff40185bf5868b5ce2e84766d122b12f006b
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Sep 20 13:20:50 2018 +0300

    Fix using a large vertex attrib divisor on D3D11
    
    A divisor >= 256 used to trigger an assert on the D3D11 backend since
    it couldn't fit into the input layout cache. Increase the space
    reserved for the divisor in the input layout cache to make sure that
    the correct input layout will get used and to fix the assert.
    
    BUG=angleproject:2832
    TEST=angle_end2end_tests
    
    Change-Id: I34eead6c4e8c4fea379bbafc8670b4e32a5b633b
    Reviewed-on: https://chromium-review.googlesource.com/1236293
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit e25b8006115bb495ff800d7bdd0d386231db4160
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 20 13:39:49 2018 -0400

    Move sampler sync out of syncProgramTextures.
    
    We only need to call the syncState for samplers when they are dirty.
    Also includes changes to refactor out the sampler sync in GL. Adds
    observer bindings so sampler sync is handled correctly in resource
    sharing scenarios.
    
    Bug: angleproject:2763
    Change-Id: I762f0738ee7572ae29ce6bd5384a30aa9588c848
    Reviewed-on: https://chromium-review.googlesource.com/1227797
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a977acc857696a83f43b22968c99ff8318a547dd
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Wed Sep 19 12:46:05 2018 +0800

    ES31: Support translating textureGather into HLSL - Part I
    
    This patch is the first one in the series of supporting GLSL texture
    function textureGather/textureGatherOffset on D3D11.
    
    According to ESSL 3.1 SPEC (Chapter 8.9.3, Page 130), the definition
    of textureGather on sampler2D is:
        gvec4 textureGather (gsampler2D sampler, vec2 P[, int comp])
    
    The parameter "comp" is optional, and if it is specified, the value
    of "comp" must be a constant integer expression with a value of 0, 1,
    2, or 3, identifying the x, y, z, or w postswizzled component of the
    four-component vector lookup result for each texel, respectively. If
    comp is not specified, it is treated as 0.
    
    According to the definition above, textureGather is equivalent to
    Texture2D.Gather[Red|Green|Blue|Alpha] in HLSL, where we can use a
    switch-case expression to choose the right HLSL texture function.
    
    The features listed here will be implemented in the following patches:
    1. Support textureGatherOffset
    2. Support textureGather[Offset] on isamplers and usamplers
    3. Support textureGather[Offset] on textures when swizzle is on
    4. Support textureGather[Offset] on shadow samplers
    
    BUG=angleproject:2826
    TEST=dEQP-GLES31.functional.texture.gather.basic.2d.rgba8.*
         dEQP-GLES31.functional.texture.gather.basic.cube.rgba8.*
         (without texture_swizzle)
         dEQP-GLES31.functional.texture.gather.basic.2d_array.rgba8.*
         (without texture_swizzle)
    
    Change-Id: Iff2ed4f8b65dad613cb0bafdfd19f8f0528e832c
    Reviewed-on: https://chromium-review.googlesource.com/1232980
    Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 4ce287e042018470122eeecd89524c9b110f955b
Author: Ian Elliott <ianelliott@google.com>
Date:   Thu Sep 20 13:20:31 2018 -0600

    Change the name of the opt'ed-in app from maps to cubey.
    
    Since this is about to be used for the Q release, and we haven't
    receieved permission from the maps team to opt-in their app, we'll
    switch to our team's test app.
    
    Bug: angleproject:2794
    Change-Id: Idbda050b1130c359cda68066f187aadeb8e949b5
    Reviewed-on: https://chromium-review.googlesource.com/1236658
    Commit-Queue: Ian Elliott <ianelliott@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 52ea49706fd701108b4ce5e6062160fbb0b98724
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 19 08:58:58 2018 -0400

    Vulkan: Enable a few BufferDataTests.
    
    These are already passing.
    
    Bug: angleproject:2644
    Change-Id: Iac3452547e319a709e010431eb8a45f5523bb5f7
    Reviewed-on: https://chromium-review.googlesource.com/1235653
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit d511948b9f824afd9c481443e12c2da407019eb8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 18 11:32:42 2018 -0400

    Use FastVector in angle::Subject.
    
    This improves object binding performance. We no longer need to check
    two containers when manipulating the bound subjects/observers.
    
    Bug: angleproject:2763
    Change-Id: I0ccb2e76be47bd8a28fba5a0c3eff857aa166bb7
    Reviewed-on: https://chromium-review.googlesource.com/1227795
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 20c01390cb7f676d65e0cfd91be6300d0fb278de
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 19 15:43:28 2018 -0400

    Fix FastVector::resize when count < size.
    
    Also update a test to trigger the bug.
    
    Bug: angleproject:2763
    Change-Id: I8e6735320a34dcc4cc8beee1b7a22b768912f24f
    Reviewed-on: https://chromium-review.googlesource.com/1234338
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit dbce1f890a8a4b529f67850f8878fe816d7b7f69
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Sep 19 15:32:17 2018 +0300

    Fix trying to clear nonexistent FBO attachments
    
    The D3D11 backend used to crash to a null pointer dereference if a
    glClearBuffer call was done on a nonexistent depth or stencil
    attachment. Validate for these conditions so that the backend can't
    crash in this case.
    
    BUG=angleproject:2827
    TEST=angle_end2end_tests
    
    Change-Id: Iecee78d213d11d492d52f246b4b068e8b6f34244
    Reviewed-on: https://chromium-review.googlesource.com/1233675
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit bf7cfbea4b926add90ed892b06b5ec2e37c655f6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 19 03:56:20 2018 -0400

    Re-land "Add FastVector for simple dynamic vector cases."
    
    Re-land fixes memory leak and adds inline to a few more methods.
    
    This optimized vector keeps an initial fixed size storage but has
    unbounded growth like a normal std::vector. It operates like a
    FixedVector initially but then switches the storage to an allocated
    pool when the element count exceeds the array limit.
    
    This gives fast performance in the small case since no dynamic
    allocation is needed. It also handles the "slow" big case.
    
    Bug: angleproject:2763
    Change-Id: Ib3cc7b652a14ed346528bf15820023ab0b5317ce
    Reviewed-on: https://chromium-review.googlesource.com/1233453
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 2ec817bb6bd953d818a3510388000439813b16e7
Author: Tobin Ehlis <tobine@google.com>
Date:   Wed Sep 19 07:55:38 2018 -0600

    Remove writeResource down readPixels path
    
    This is not needed and results in creating an empty command buffer.
    
    Bug: angleproject:2818
    Change-Id: I06e5542cb3cd819c18758c909b8fcb624b074874
    Reviewed-on: https://chromium-review.googlesource.com/1232981
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Tobin Ehlis <tobine@google.com>

commit 2c8f0845431dbbb8e712ad92a6f409c00de1e681
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Sep 12 14:44:55 2018 +0300

    Add ANGLE_multiview_multisample
    
    We add a novel multiview multisampling extension that includes the
    requirement to explicitly resolve the multisampled framebuffer. The
    explicit resolve is much more straightforward to implement on top of
    OpenGL and D3D11 than implicit resolve found in the native extension
    OVR_multiview_multisampled_render_to_texture. It also has predictable
    performance characteristics.
    
    The extension allows multiview drawing to 2D multisample texture
    arrays and is now enabled on both the GL backend and the D3D11
    backend. The implementation is fairly simple, as it involves just
    small changes in validation to allow multisampled framebuffer
    attachments. The multiview rendering logic is exactly the same
    regardless of whether multisampling is enabled.
    
    For the most part the same tests are used to test both multisampled
    and non-multisampled rendering. The tests will use a different
    framebuffer setup depending on the test param. They resolve the
    multisampled framebuffer to a non-multisampled framebuffer prior to
    any readbacks from the framebuffer.
    
    Some of the tests are adjusted so that they have the correct sub-pixel
    positioning of multisampled quads, so there won't be any pixels that
    would be just partially covered.
    
    The tests don't have any tolerance for partially covered pixels - if
    we find any platforms where the tests run into a sub-pixel positioning
    corner case, tolerance may need to be added later.
    
    BUG=angleproject:2775
    TEST=angle_end2end_tests
    
    Change-Id: I590d7f300a92ea5439f2720d9db14a7976db2e1d
    Reviewed-on: https://chromium-review.googlesource.com/1221214
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 5c72f28d1a3f35f85b36c79d37bedad97df9a61d
Author: Jeff Gilbert <jgilbert@mozilla.com>
Date:   Tue Sep 18 17:03:59 2018 -0700

    Remove unused include global_state.h from validationEGL.cpp.
    
    Bug: angleproject:2825
    Change-Id: I34a7c520d31cf0a9321d5599046159ef9bf58be5
    Reviewed-on: https://chromium-review.googlesource.com/1232973
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit dc8fb9374e0ae4579e9345387cc3bed48281e663
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Wed Sep 19 01:35:59 2018 +0000

    Revert "Add FastVector for simple dynamic vector cases."
    
    This reverts commit 4d45e7dc7553b071b0c2a054bdb59bfd844012fe.
    
    Reason for revert: Memory leak detected during roll in https://ci.chromium.org/p/chromium/builders/luci.chromium.try/linux_chromium_asan_rel_ng/101750
    
    Original change's description:
    > Add FastVector for simple dynamic vector cases.
    >
    > This optimized vector keeps an initial fixed size storage but has
    > unbounded growth like a normal std::vector. It operates like a
    > FixedVector initially but then switches the storage to an allocated
    > pool when the element count exceeds the array limit.
    >
    > This gives fast performance in the small case since no dynamic
    > allocation is needed. It also handles the "slow" big case.
    >
    > Bug: angleproject:2763
    > Change-Id: I9c002b205bd4ac9fc171d1fdc42bc8ea5fe8dabe
    > Reviewed-on: https://chromium-review.googlesource.com/1227794
    > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    > Commit-Queue: Jamie Madill <jmadill@chromium.org>
    
    TBR=ynovikov@chromium.org,jmadill@chromium.org,syoussefi@chromium.org
    
    Change-Id: Iaec76244cc736a8469b80bfc8534fb0fd6c49e11
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:2763
    Reviewed-on: https://chromium-review.googlesource.com/1232978
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 99118c1c1df8d2f5723d2b1db099a2a707a25515
Author: jchen10 <jie.a.chen@intel.com>
Date:   Mon Sep 10 16:28:51 2018 +0800

    Improve dirtybits for compute
    
    For D3D11 backend, dirtybits are used to sync and update state
    for compute.
    For GL backend, mProgramUniformBuffersDirty,
    mProgramAtomicCounterBuffersDirty, mProgramImagesDirty are newly
    applied.
    
    Bug: angleproject:2814
    
    Change-Id: Ia459ca26705b7c685179d64e0c934535bf16741f
    Reviewed-on: https://chromium-review.googlesource.com/1215245
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jie A Chen <jie.a.chen@intel.com>

commit a155bacf99fb6cb21a3963bbffa8fc7a9a756f62
Author: jchen10 <jie.a.chen@intel.com>
Date:   Thu Aug 16 15:26:39 2018 +0800

    ParallelCompile: Parallelize shader translation
    
    This changes to construct a new ShHandle of compiler for each Shader,
    and use it to translate the shader source in a background thread.
    
    Bug: chromium:849576
    
    Change-Id: Ib49952c7292321ee6aa1c5996f8f7927f40d8f04
    Reviewed-on: https://chromium-review.googlesource.com/1177195
    Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 4d45e7dc7553b071b0c2a054bdb59bfd844012fe
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 18 11:32:41 2018 -0400

    Add FastVector for simple dynamic vector cases.
    
    This optimized vector keeps an initial fixed size storage but has
    unbounded growth like a normal std::vector. It operates like a
    FixedVector initially but then switches the storage to an allocated
    pool when the element count exceeds the array limit.
    
    This gives fast performance in the small case since no dynamic
    allocation is needed. It also handles the "slow" big case.
    
    Bug: angleproject:2763
    Change-Id: I9c002b205bd4ac9fc171d1fdc42bc8ea5fe8dabe
    Reviewed-on: https://chromium-review.googlesource.com/1227794
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 80efe08d4dd6aece1a7a5905f8baebcf3f90dd7e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 18 06:38:07 2018 -0400

    Log Renderer string on Android displays.
    
    This adds a custom logging step to DisplayAndroid and DisplayVkAndroid.
    It's easiest to add to these two classes since we have no common info
    logging code and other platforms may not want startup spam. It would
    also be possible to put this into debug info hooks.
    
    Bug: angleproject:2823
    Change-Id: I12a1ea9e27880648d8a73a9e3faa56f318620cbe
    Reviewed-on: https://chromium-review.googlesource.com/1230273
    Reviewed-by: Ian Elliott <ianelliott@google.com>
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Commit-Queue: Cody Northrop <cnorthrop@google.com>

commit fcfd3382d4abfebd07371d5f35609d26f79cb6b7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Sep 15 22:30:50 2018 -0400

    More binding inlining.
    
    Slight performance increase in binding related tests.
    
    Bug: angleproject:2763
    Change-Id: I4d14177adab678d596cd34b8f1b99f5309f017f0
    Reviewed-on: https://chromium-review.googlesource.com/1227793
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>

commit 0fdb956d9c241f67bfab8a81256147020d9a93f9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Sep 17 17:18:43 2018 -0400

    Re-land "Inline and micro-optimize more for perf tests.""
    
    Re-land fixes memory leaks.
    
    Using a custom array instead of std::vector speeds up the resource
    manager. One reason is because calls to size() are implemented in many
    implementations as a difference between two pointers. This sub size
    implementations are slower than storing a simple size variable in a
    custom class.
    
    Also includes more inlining of hot spots functions.
    
    Also includes a small unit test class for ResourceMap. And an unrelated
    but small test fix for TextureLimisTest. Also a small unrelated fix for
    a Transform Feedback test.
    
    Increase the scores of the draw call perf test with texture and buffer
    bindings and the buffer binding perf test.
    
    Bug: angleproject:2763
    Change-Id: Ic2f0f689107b2bf05c63da2ed6bbc9f0feea63f7
    Reviewed-on: https://chromium-review.googlesource.com/1229033
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 95277a300f52bf89b7a8c14ada10e4dd3c5962b5
Author: jchen10 <jie.a.chen@intel.com>
Date:   Thu Sep 6 20:12:56 2018 +0800

    ES31: Add DispatchComputeIndirect support for D3D11
    
    BUG=angleproject:2270
    TEST=angle_end2end_tests.ComputeShaderTest.DispatchComputeIndirect/ES3_1_D3D11
    
    Change-Id: I29bd888ce1e7e3e09b5635699a36164cd97cd7de
    Reviewed-on: https://chromium-review.googlesource.com/1209563
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jie A Chen <jie.a.chen@intel.com>

commit 89652a35ebc4fb0d6a9e5138353d085f35b9c581
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Mon Sep 17 17:18:30 2018 -0600

    Fix AndroidManifest package name
    
    Cannot have package name with 'google' in it, it is not dependent
    on Google, ANGLE is an open source project.
    
    Bug=angleproject:2418
    
    Change-Id: If69be10b2d60789d0cce30b631249927026c5c0e
    Reviewed-on: https://chromium-review.googlesource.com/1229434
    Reviewed-by: Cody Northrop <cnorthrop@google.com>
    Commit-Queue: Cody Northrop <cnorthrop@google.com>

commit 98a3e078c094b12a0b81cfbbdf7eb30c132a906d
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Mon Sep 17 19:40:04 2018 +0000

    Revert "Inline and micro-optimize more for perf tests."
    
    This reverts commit 57ff6f95f143bd65a0c3d12d64773f274b9935f4.
    
    Reason for revert: Memory leaks detected during roll in https://ci.chromium.org/p/chromium/builders/luci.chromium.try/linux_chromium_asan_rel_ng/100284
    
    Original change's description:
    > Inline and micro-optimize more for perf tests.
    >
    > Using a custom array instead of std::vector speeds up the resource
    > manager. One reason is because calls to size() are implemented in many
    > implementations as a difference between two pointers. This sub size
    > implementations are slower than storing a simple size variable in a
    > custom class.
    >
    > Also includes more inlining of hot spots functions.
    >
    > Also includes a small unit test class for ResourceMap. And an unrelated
    > but small test fix for TextureLimisTest. Also a small unrelated fix for
    > a Transform Feedback test.
    >
    > Increase the scores of the draw call perf test with texture and buffer
    > bindings and the buffer binding perf test.
    >
    > Bug: angleproject:2763
    > Change-Id: I41c327987db27ac45e6a62579f01e1cdc22e396c
    > Reviewed-on: https://chromium-review.googlesource.com/1171510
    > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    > Commit-Queue: Jamie Madill <jmadill@chromium.org>
    
    TBR=fjhenigman@chromium.org,ynovikov@chromium.org,jmadill@chromium.org,syoussefi@chromium.org
    
    Change-Id: Ie047289c9bf23a842c3cbb9692c811da0534991c
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:2763
    Reviewed-on: https://chromium-review.googlesource.com/1228893
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit a49f60fee74dfa1caed41ca2e010bc273a6c12cd
Author: Till Rathmann <till.rathmann@gmx.de>
Date:   Mon Aug 20 16:03:06 2018 +0200

    D3D11: Resolve multisampled EGL surfaces at eglSwapBuffers
    
    Support for multisampled EGL surfaces was added in
    151d5de (2017-04-13, "Enable MSAA for texture client buffers")
    but the resolve step was missing because it was not needed for
    EGL_ANGLE_d3d_texture_client_buffer. However, when using MSAA
    with a regular EGL surface then resolving is required to get
    an antialiased image.
    Please note that the new test case CreateSurfaceWithMSAA does
    actually not test the newly added resolve step because the
    resolve is performed by the glReadPixels() call there.
    So it is rather a general test if MSAA works for EGL surfaces.
    
    TEST=angle_end2end_tests.EGLSurfaceTest.CreateSurfaceWithMSAA
    
    Change-Id: Ieafd6877fa510d5e16c0d9c6872c31fa73efa86c
    Reviewed-on: https://chromium-review.googlesource.com/1181138
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 57ff6f95f143bd65a0c3d12d64773f274b9935f4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Sep 14 12:44:52 2018 -0400

    Inline and micro-optimize more for perf tests.
    
    Using a custom array instead of std::vector speeds up the resource
    manager. One reason is because calls to size() are implemented in many
    implementations as a difference between two pointers. This sub size
    implementations are slower than storing a simple size variable in a
    custom class.
    
    Also includes more inlining of hot spots functions.
    
    Also includes a small unit test class for ResourceMap. And an unrelated
    but small test fix for TextureLimisTest. Also a small unrelated fix for
    a Transform Feedback test.
    
    Increase the scores of the draw call perf test with texture and buffer
    bindings and the buffer binding perf test.
    
    Bug: angleproject:2763
    Change-Id: I41c327987db27ac45e6a62579f01e1cdc22e396c
    Reviewed-on: https://chromium-review.googlesource.com/1171510
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit bb2f2c43dc21ac3ae105d536d35f82e2770ce730
Author: jchen10 <jie.a.chen@intel.com>
Date:   Sun Sep 16 09:47:38 2018 +0800

    Squash State dirty bits for CHROMIUM_path_rendering
    
    Currently we limit the maximum of State bits to 64 for performance
    consideration. To accommodate new ES31 states, we have to pick and
    squash some existing bits which are less hot.
    
    Bug: angleproject:2814
    
    Change-Id: I8fc19286bbf8d8273949da8d986a8b1587fa105e
    Reviewed-on: https://chromium-review.googlesource.com/1227069
    Reviewed-by: Jie A Chen <jie.a.chen@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jie A Chen <jie.a.chen@intel.com>

commit 017bda429667caecd508f5a24c6c7701acb67c43
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Fri Sep 14 18:11:50 2018 +0800

    Fix the ASSERT error
    
    This change adds shader type checking before entering
    initializeOutputVariables.
    
    BUG: angleproject:2821
    Change-Id: Ib931031f2fc187f1f2a1821a09664bbe172a5e90
    Reviewed-on: https://chromium-review.googlesource.com/1226229
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 62114aae85503437bb4ee1b1efe0d497242f06c4
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Tue Aug 28 09:36:46 2018 -0600

    glBufferSubData: Exit early if size is zero
    
    glBufferSubData is calling vkMapMemory with a size of zero is invalid.
    Check for that and exit early if found.
    
    Bug: angleproject:2790
    
    Change-Id: I965badeb3aa2cec1adc24dd7ff5695f8aa3e553d
    Reviewed-on: https://chromium-review.googlesource.com/1194610
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 4230d4847fdc921ed2de02a8e673d30932d5d157
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Sep 14 10:14:45 2018 -0400

    Finish fixing EGL enums.
    
    This removes the temporary defines now that Chromium is up-to-date.
    
    Bug: angleproject:2806
    Change-Id: I8e3308d6b80e49c2b2a7a698ee5d8ad40f442475
    Reviewed-on: https://chromium-review.googlesource.com/1227031
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 3f3b358f0cf72c60e93a268fdbed0c32f9b75f28
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Sep 14 10:38:44 2018 -0400

    Vulkan: Fix cube map attachment clears and readpixels.
    
    These were both missing the correct layer offset. Cache the layer
    inside the RenderTargetVk for easy access.
    
    Bug: angleproject:2470
    Change-Id: I690dbf0702d7ec52f44ba0a9429b6ef0e51baf6b
    Reviewed-on: https://chromium-review.googlesource.com/1225910
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 7f2329398fe8a8b57fa16ec222127a55a457968d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 12 11:03:06 2018 -0400

    Run git cl format on several files.
    
    Bug: angleproject:2763
    Change-Id: Idcb8a714a6dccdff3dd953679e17a7314866a37d
    Reviewed-on: https://chromium-review.googlesource.com/1214206
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit 8a5619147adbbcc659eb14389a17498c9511bd3c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 12 11:03:06 2018 -0400

    Pack SamplerState into small struct.
    
    Is much faster for completeness cache checks in syncProgramTextures.
    
    Bug: angleproject:2763
    Change-Id: Iffdacbb8a4f6640caa5051643c379a7b4c3311b6
    Reviewed-on: https://chromium-review.googlesource.com/1171508
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 097d3c0cb19ffa5da4d1ec1db45cecdc303a4f85
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 12 11:03:05 2018 -0400

    Make SamplerState a contained class.
    
    This will more easily allow us to use a cached completeness comparison
    value. The cached value only gets updated on certain setters.
    
    Bug: angleproject:2763
    Change-Id: Ib80db8517560617087ae8360f7af69d6c2392b76
    Reviewed-on: https://chromium-review.googlesource.com/1171507
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit f0d258c32b044201b8d0a81c11c8a2be96c2ae98
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Tue Sep 11 09:37:48 2018 -0600

    Vulkan: Emulate eglSwapBuffersWithDamage with full swap
    
    Android expects to use eglSwapBuffersWithDamage so implement that
    for Vulkan backend.
    
    BUG=angleproject:2464
    
    Change-Id: I8d599e70e6c8fee92b530d472dc97e3996630458
    Reviewed-on: https://chromium-review.googlesource.com/1220066
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit f4d429c1cbc1351ea9f1ac74e0f22b085d275179
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 13 11:20:52 2018 -0400

    Fix EGL enum allocation.
    
    The following enums had a small typo causing them to be takend from an
    unused block:
    
    EGL_CONTEXT_WEBGL_COMPATIBILITY_ANGLE
    EGL_CONTEXT_BIND_GENERATES_RESOURCE_CHROMIUM
    EGL_DISPLAY_TEXTURE_SHARE_GROUP_ANGLE
    
    Fix this by temporarily defining a secondary enum. Once Chromium is
    fixed upstream we can remove the temporary enum.
    
    Reported by dan.glastonbury@gmail.com.
    
    Bug: angleproject:2806
    Change-Id: I2ce1dec0a30d5e83f2bec0ae243fd860cbcea4fc
    Reviewed-on: https://chromium-review.googlesource.com/1220371
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 17dff6d2f9217cf28dd3bab9d60bc5d03c01ea71
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 13 12:03:51 2018 -0400

    Vulkan: Update LineLoopTest expectations.
    
    One test was working but the suppression was not lifted. The other test
    had no issue filed.
    
    Bug: angleproject:2802
    Change-Id: I88cd082b2edeca30ec4a8406809af749bb6ce152
    Reviewed-on: https://chromium-review.googlesource.com/1200367
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 16e28fd3f2cd30dee917eacf6b542abbb8f08907
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 12 11:03:05 2018 -0400

    More micro-optimization for draw call validation.
    
    Mostly inlining checks on the hot draw call path.
    Slight increase in draw call validation performance. (Up to 13%)
    
    Bug: angleproject:2747
    Change-Id: I34c4d7f412c3bca5e559e9bfb5689c0618bb7536
    Reviewed-on: https://chromium-review.googlesource.com/1171506
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 526a6f6b9f4662c2f3df4999ac93228d4d4cd9fa
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 12 11:03:05 2018 -0400

    Cache valid draw modes for draw calls.
    
    This optimizes some of our dynamic switching. It uses packed enum maps.
    
    Bug: angleproject:2747
    Change-Id: Ibd2f9306d066f2fd9eb64c99a25668b7ba5c009c
    Reviewed-on: https://chromium-review.googlesource.com/1171505
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit daab00149ee53f1f01a68ccfc2b7cbb9ef8eeb61
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Sep 13 14:56:28 2018 +0300

    Test and fix robust resource init for multisampled textures
    
    New test coverage for robust initialization of multisampled textures
    is added in angle_end2end_tests. Some missing functionality that was
    affecting the initialization of multisampled 2D array textures is now
    fixed.
    
    BUG=angleproject:2775
    TEST=angle_end2end_tests
    
    Change-Id: I1d9d3cd154ca2910159941fe8b1bef4ae6320bdd
    Reviewed-on: https://chromium-review.googlesource.com/1224530
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 44286dc870e3b5bf614cd482333a9a2080ec748d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 12 11:03:05 2018 -0400

    Allow an extra slot in PackedEnumMap.
    
    This can be used for fast lookups with InvalidEnum. Will be useful
    for optimizing valid primitive mode lookups.
    
    Bug: angleproject:2747
    Change-Id: I5d668863eb23d3c1eb85a775b3e9e46f25a0a335
    Reviewed-on: https://chromium-review.googlesource.com/1171504
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 71bb0267bd39b9d61f4cb6541a9ffaca2b3c3c4b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 12 11:09:42 2018 -0400

    Vulkan: Implement cube map render targets.
    
    Each TextureVk now stores vectors of RenderTargetVks and ImageViews
    associated with the image faces. They are initialized lazily when the
    RenderTarget is queried in getAttachmentRenderTarget.
    
    There's still one missing edge case for handling clear with the
    Framebuffer when using cube maps. Also one additional test failure on
    Android.
    
    Bug: angleproject:2470
    Change-Id: Ib959a3434a992cef010a11940cf2ee49e118ac17
    Reviewed-on: https://chromium-review.googlesource.com/1220727
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 0226041b238bd8ec122b2be7d8d5780a020651ff
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Wed Sep 12 18:10:25 2018 -0400

    Disable some deqp depth stencil on Android vulkan.
    
    These are suspected of causing an out-of-memory failure.
    
    BUG=angleproject:2655,angleproject:2549
    
    Change-Id: I92bb4290c79ae8d7b572034666ec181c50c2a587
    Reviewed-on: https://chromium-review.googlesource.com/1222370
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit efbabde2a8350eeb43bbfed47ea903e81281367c
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Aug 29 14:37:36 2018 +0300

    Support multisample array textures on D3D11
    
    This implements complete support for multisample array textures on the
    D3D11 backend. There's a specialized TextureD3D class as well as a
    TextureStorage11 class for multisample array textures that have the
    bulk of the functionality.
    
    BUG=angleproject:2775
    TEST=angle_end2end_tests, angle_deqp_gles31_tests
    
    Change-Id: I68116635c01cef0e48c089fd9da05a844ef2d802
    Reviewed-on: https://chromium-review.googlesource.com/1216003
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 85d8ee8c1fbf596a60f43af6854d9f146ffd67ab
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Wed Sep 12 17:36:57 2018 +0000

    Revert "DEPS: Remove the need for angle_root."
    
    This reverts commit e1777558143c6a9b14a113d7528d5e2693b0c6d9.
    
    Reason for revert: Seems to break ANGLE roll for some reason. Reverting while it is investigated.
    
    Bug: chromium:883135
    
    Original change's description:
    > DEPS: Remove the need for angle_root.
    >
    > BUG=
    >
    > Change-Id: I8cd41a3a9c2199bec54b022abc9694835afd1b2f
    > Reviewed-on: https://chromium-review.googlesource.com/1219547
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    > Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    
    TBR=ynovikov@chromium.org,jmadill@chromium.org,cwallez@chromium.org
    
    # Not skipping CQ checks because original CL landed > 1 day ago.
    
    Change-Id: I1330b216be34ce9dd9236b8e51a7a6cc578562d7
    Reviewed-on: https://chromium-review.googlesource.com/1222366
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 6c6be2cef6c1a8d7a37712aa36d2ef5a1c3990c0
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Mon Sep 10 14:23:57 2018 -0400

    Vulkan: add S8_UINT texture fallbacks.
    
    Add two fallbacks for S8_UINT.  Enable tests.
    
    BUG=angleproject:2655
    
    Change-Id: If7df23745a8de8a01d86ab6efa3bca67b5227d76
    Reviewed-on: https://chromium-review.googlesource.com/1217282
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit 8370e6bcb369c40038e8ab4db1e281231ba114eb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 11 17:56:23 2018 -0400

    Rename constant to kCubeFaceCount.
    
    This corrects the naming style for this constant variable. Also updates
    many usages in TextureD3D.cpp and TextureGL.cpp.
    
    Bug: angleproject:2470
    Change-Id: I029dd98e925cabf23a4bb26467a62afe6c5bb6e0
    Reviewed-on: https://chromium-review.googlesource.com/1220726
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 3b1fe64f21ac13f7b602e55456d2e579cffd12c8
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Tue Sep 4 13:15:35 2018 -0400

    Vulkan: allow a list of fallback formats.
    
    Allow a list of fallback formats as well as a single one in the format
    map.  The first supported format is used.  No functional change.
    
    BUG=angleproject:2655
    
    Change-Id: Ica312b7899471a7a65184a6921713b79da056f31
    Reviewed-on: https://chromium-review.googlesource.com/1214847
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit a59ae05b86e4a179b1b27f6c3160bfb8a2cbec0e
Author: Ian Elliott <ianelliott@google.com>
Date:   Tue Sep 11 12:48:16 2018 -0600

    Fix compilation error and memory leak
    
    Bug: angleproject:2794
    Change-Id: Iaedf83aabef6813c023b97387b35510165cb831c
    Reviewed-on: https://chromium-review.googlesource.com/1220370
    Commit-Queue: Ian Elliott <ianelliott@google.com>
    Reviewed-by: Ian Elliott <ianelliott@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 2da04538b4ffa04c74f7c4a51840c5c268c1fb59
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Aug 24 13:59:44 2018 +0300

    Add sampler2DMSArray support to HLSL output
    
    This is done with small adjustments to TextureFunctionHLSL. Most of
    the functionality was already in place before.
    
    This changes the categorization of sampler types in BasicTypes.h
    helper functions: 2D array samplers are no longer treated as 2D
    samplers, but the two categories are now entirely disjoint. This
    makes TextureFunctionHLSL a little bit simpler.
    
    BUG=angleproject:2775
    TEST=angle_unittests, angle_end2end_tests
    
    Change-Id: I84d9b56c37b1aaa01ee5921b6f17f8a78698fce2
    Reviewed-on: https://chromium-review.googlesource.com/1188562
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit e1777558143c6a9b14a113d7528d5e2693b0c6d9
Author: Corentin Wallez <chrome-bot@chromium.org>
Date:   Tue Sep 11 14:09:37 2018 +0200

    DEPS: Remove the need for angle_root.
    
    BUG=
    
    Change-Id: I8cd41a3a9c2199bec54b022abc9694835afd1b2f
    Reviewed-on: https://chromium-review.googlesource.com/1219547
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 0d0fb43f34eeea20bf78089ca2a4e1f2831cffe5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Sep 7 17:43:32 2018 -0400

    Pass unpack buffer as explicit parameter to texSubImage.
    
    This allows us to override it in the incomplete texture init. Any
    back-end that used incomplete textures was vulnerable to a bug where
    the unpack buffer would be used to initialize the incomplete texture.
    
    Bug: chromium:880906
    Change-Id: Ica558e4a4d81de9212f0bc6619ccd812a048ad45
    Reviewed-on: https://chromium-review.googlesource.com/1214207
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 63aa0e5b7001affb6a564049cf5b09e21083e332
Author: Will Harris <wfh@chromium.org>
Date:   Wed Sep 5 16:15:46 2018 -0700

    Fix 64-bit -> 32-bit implicit conversions in libangle.
    
    ../../third_party/angle/src/libANGLE/renderer/gl/StateManagerGL.cpp(910,63):  warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long long') to 'GLuint' (aka 'unsigned int') [-Wshorten-64-to-32]
            const gl::ImageUnit &imageUnit = glState.getImageUnit(imageUnitIndex);
                                                     ~~~~~~~~~~~~ ^~~~~~~~~~~~~~
    ../../third_party/angle/src/libANGLE/renderer/gl/StateManagerGL.cpp(914,30):  warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long long') to 'GLuint' (aka 'unsigned int') [-Wshorten-64-to-32]
                bindImageTexture(imageUnitIndex, textureGL->getTextureID(), imageUnit.level,
                ~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~
    ../../third_party/angle/src/libANGLE/renderer/gl/StateManagerGL.cpp(920,30):  warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long long') to 'GLuint' (aka 'unsigned int') [-Wshorten-64-to-32]
                bindImageTexture(imageUnitIndex, 0, imageUnit.level, imageUnit.layered, imageUnit.layer,
                ~~~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~
    
    ../../third_party/angle/src/tests/gl_tests/VertexAttributeTest.cpp(1080,66):  warning: implicit conversion loses integer precision: 'GLsizeiptr' (aka 'long long') to 'GLuint' (aka 'unsigned int') [-Wshorten-64-to-32]
            glVertexAttribFormat(mTestAttrib, 1, GL_FLOAT, GL_FALSE, inputRelativeOffset);
            ~~~~~~~~~~~~~~~~~~~~                                     ^~~~~~~~~~~~~~~~~~~
    
    BUG=chromium:879657
    
    Change-Id: Ic6e8e5ebc0dc5fd38c15a48a936ceafd5407bba8
    Reviewed-on: https://chromium-review.googlesource.com/1208315
    Commit-Queue: Will Harris <wfh@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 8e9d23405644d408fdb2bde5a75db375d1cbda70
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Sep 10 13:29:37 2018 -0400

    Vulkan: Fix FragCoord scaling when a viewport is applied.
    
    We were using the pivot based on the viewport dimensions which is
    only valid if the viewport is the size of the framebuffer. The more
    correct pivot size is actually based on the Framebuffer height.
    
    Also updates the driver uniforms block to be a bit simpler.
    
    Bug: angleproject:2598
    Change-Id: I1cb500cded7141d10e8db6862b6ed29758cc7fb4
    Reviewed-on: https://chromium-review.googlesource.com/1214205
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit 480edb8c1d7d62ee4d809db7bedc5816f477b7ab
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Aug 30 18:25:43 2018 +0300

    Clean up TextureStorage11_2DMultisample
    
    This de-duplicates functionality from TextureStorage11_EGLImage and
    TextureStorage11_2DMultisample. Neither of those supports changing the
    associated images or image access in shaders.
    
    Multisampled textures also cannot be compressed, so the size doesn't
    need to be adjusted according to block size.
    
    BUG=angleproject:2275
    TEST=angle_end2end_tests
    
    Change-Id: I45bc573584065bf4f528f883435fadfbd7281077
    Reviewed-on: https://chromium-review.googlesource.com/1216002
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit a735ee2f6df8ec7ef55207e7fdffcbac87b900af
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Fri May 18 13:29:09 2018 +0800

    ES31: Support shader storage block in D3D11 compiler - Part1
    
    This patch is the first step to implement a basic skeleton to translate
    shader storage block to HLSL RWByteAddressBuffer.
    
    In GLSL each shader storage block is just one structured block and in API side
    it corresponds to a buffer range where stores the whole structure.
    RWStructuredBuffer is an array-like object and can have many structured
    elements. The structured element doesn't support unsized array and also have
    a small limitation on the element size. So we choose RWByteAddressBuffer as
    the counterpart of shader storage block in HLSL.
    
    Due to RWByteAddressBuffer does not support using an index to reference a
    specific location, we must use Load and Store to process the read/write
    operation of a buffer variable. Moreover, in the compiler tree, since we
    can't use variable name to get the resource value in RWByteAddressBuffer,
    we have to calculate the offset of buffer variable in a shader storage block,
    then call the corresponding wrapper function to get the right value.
    
    In this patch, we only process below situations:
        assign_to_ssbo := ssbo_access_chain = expr_no_ssbo;
        assign_from_ssbo := lvalue_no_ssbo = ssbo_access_chain;
    
    The translation is like below:
        // GLSL
        #version 310 es
        layout(local_size_x=8) in;
        layout(std140, binding = 0) buffer blockA {
            float f[8];
        } instanceA;
        layout(std140, binding = 1) buffer blockB {
            float f[8];
        };
        void main()
        {
            float data = instanceA.f[gl_LocalInvocationIndex];
            f[gl_LocalInvocationIndex] = data;
        }
    
        // HLSL
        RWByteAddressBuffer _instanceA: register(u0);
        RWByteAddressBuffer _blockB: register(u1);
        float float_Load(RWByteAddressBuffer buffer, uint loc)
        {
            float result = asfloat(buffer.Load(loc));
            return result;
        }
    
        void float_Store(RWByteAddressBuffer buffer, uint loc, float value)
        {
            buffer.Store(loc, asuint(value));
        }
    
        void gl_main()
        {
        float _data = float_Load(_instanceA, 0 + 16 * gl_LocalInvocationIndex);
        float_Store(_blockB, 0 + 16 * gl_LocalInvocationIndex, _data);
        }
    
    We will do below things in the following patches:
    1. Modify the intermediate tree to flatten all ssbo usages to:
        assign_to_ssbo := ssbo_access_chain = expr_no_ssbo;
        assign_from_ssbo := lvalue_no_ssbo = ssbo_access_chain;
    e.g.
        intanceA.a +=1;
      ->tmp = intanceA.a;
        intanceA.a = tmp + 1;
    
        while(++instanceA.a < 16) {
        }
      ->
        int PreIncrement(out int a)
        {
            a += 1;
            return a;
        }
        tmp = instanceA.a;
        while(PreIncrement(tmp) < 16) {
            instanceA.a = tmp
        }
    
    2. Add offset calculation for structure and array of arrays.
    TODOs have been marked in the corresponding places in this patch.
    
    3. Improve helper functions so that they can process all possible types.
    TODOs have been marked in the corresponding places in this patch.
    
    4. Process the swizzle situation.
    TODOs have been marked in the corresponding places in this patch.
    A possible method is to extend current helper functions like below:
        *_Load(RWByteAddressBuffer buffer, uint loc, bool isSwizzle, uint4 swizzleOffset)
    
    Bug: angleproject:1951
    Test: angle_end2end_tests
    
    Change-Id: I68ae68d5bb77d0d5627c8272627a7f689b8dc38b
    Reviewed-on: https://chromium-review.googlesource.com/848215
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>

commit 1cee042197da9fdccbf8649e73bf636d93df9c23
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Sun Sep 9 17:00:21 2018 -0400

    Suppress ...shaders.builtin_variable.fragcoord_w.
    
    Suppress dEQP-GLES2.functional.shaders.builtin_variable.fragcoord_w on
    Android Vulkan.
    
    BUG=angleproject:2808
    
    Change-Id: Ib2dcb83bef97352e6a169c0531e2316217d9149e
    Reviewed-on: https://chromium-review.googlesource.com/1215382
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit 3b9680534909944560e4a12e0cce6be5943cc3e8
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Wed Sep 5 14:46:25 2018 -0400

    Clean up state in EGLDebugTest.
    
    Reset the EGL error callback for the benefit of following tests.
    
    BUG=chromium:880495
    
    Change-Id: Idd94fe032b89b8a0fe829cb4656e4204d9d71b53
    Reviewed-on: https://chromium-review.googlesource.com/1208310
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit ef6023ea6e684376ad77b0470fa6a171c9922e24
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 6 16:24:38 2018 -0400

    Vulkan: Make ContextVk driver uniforms a dirty bit.
    
    This makes the update lazier and won't trigger as many times during
    state changes. It also makes a command buffer available during the
    update so we can use barriers if necessary.
    
    Bug: angleproject:2598
    Bug: angleproject:2727
    Change-Id: I23ac91c84f6b1f4bad14b3354d19402e5978791e
    Reviewed-on: https://chromium-review.googlesource.com/1211730
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit fb19e08490e1ae09544cfc856f4ca8dda57407ad
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 6 15:39:09 2018 -0400

    Vulkan: Correct gl_FragCoord with default FBO.
    
    The viewport flipping we use would give incorrect values. Correct
    them using the same logic we do for gl_PointCoord.
    
    Also corrects the viewport scale driver uniform. It was not being
    updated after the draw framebuffer setting was adjusted.
    
    Also corrects the naming of the replaced builtin variables so it
    can't possibly conflict with a user variable.
    
    This was affecting the OpenGL line raster emulation.
    
    Bug: angleproject:2598
    Change-Id: I843b5ac7b02160a5ec81a6f8ed2d937b0937198b
    Reviewed-on: https://chromium-review.googlesource.com/1208515
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 55b03d0e76a3254f3b75965d592b9a7d638ed56e
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Fri Sep 7 00:15:46 2018 -0400

    Fix ClearTest.RGB8WithMaskFramebuffer.
    
    Clear all channels to known state before clearing with one masked,
    so we know what to expect in the masked one.
    
    BUG=angleproject:2674
    
    Change-Id: Icbe58615c68e2b282a27d8f29c2f2a48fb8b1c3e
    Reviewed-on: https://chromium-review.googlesource.com/1212822
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit d84b6737fa10f9222c70b44655c382e942c5ffe6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 6 15:54:35 2018 -0400

    Cache ValidateDrawStates.
    
    This improves performance of all draw call validation. The error that
    should be generated on the draw call is cached in the Context. The
    cache is updated in several places.
    
    Bug: angleproject:2747
    Change-Id: I178617623731608e2e7166b53ab6489d8b742ff5
    Reviewed-on: https://chromium-review.googlesource.com/1158612
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 801719235b132b3bd53af35fba36dfe9238cf14f
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Wed Sep 5 13:50:35 2018 -0600

    Add rules file for ANGLE apk
    
    Provide rules as an asset to the ANGLE apk.
    Rules determine the conditions when ANGLE will be used by
    Android applications.
    
    Bug=angleproject:2418
    
    Change-Id: I3b8f0c51dc12e039e8c67acbace249abd15ae961
    Reviewed-on: https://chromium-review.googlesource.com/1211764
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Ian Elliott <ianelliott@google.com>

commit 4d42ef39658b9808f4e18c077b10202a7b50b33b
Author: Ian Elliott <ianelliott@google.com>
Date:   Thu Sep 6 10:38:50 2018 -0400

    Add A4A opt-in/out logic
    
    This version of the code #ifdef's out the JSON-parsing code (which
    dependency was not yet found).  Instead, 2 in-code rules are created
    and used (default and run Maps).
    
    Bug: angleproject:2794
    Change-Id: I9d8c00459d5e674035f4073ccb839fac8d4d7aa5
    Reviewed-on: https://chromium-review.googlesource.com/1200375
    Commit-Queue: Ian Elliott <ianelliott@google.com>
    Reviewed-by: Ian Elliott <ianelliott@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 7ada46c90d2171f7eccb1817bff4bd758735e3fa
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 6 10:58:26 2018 -0400

    Fix JSON cpp DEPS.
    
    We need two repos to get jsoncpp working. First is the Chromium tree
    mirror and second is the jsoncpp source itself. The Chromium version
    includes only the build files and some source file overrides.
    
    Bug: angleproject:2794
    Change-Id: I0e1acaf783c5ae3935803eacdf93ffbe01f9fe4d
    Reviewed-on: https://chromium-review.googlesource.com/1210562
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit dff32a0da1de065b013c39411ce5ee6b56d42a7b
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Aug 28 14:35:50 2018 +0300

    Support multisample arrays in shader programs
    
    The added tests check that using textureSize() and texelFetch() on
    textures with a fixed point format return expected results. texelFetch
    is also covered for integer format textures.
    
    dEQP GLES 3.1 tests also cover a variety of multisampled array texture
    formats.
    
    BUG=angleproject:2775
    TEST=angle_end2end_tests, angle_deqp_gles31_tests
    
    Change-Id: I99b422e24b39e3563ed72f0fb85c9c1907df807d
    Reviewed-on: https://chromium-review.googlesource.com/1196521
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 155bfd11e9f049c956073629cc1a38b94b8277b4
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Fri Aug 31 17:27:10 2018 +0800

    Fix that same resource is bound on SRV and UAV simultaneously
    
    This change makes sure that resource being set to UnorderedAccessView slot is
    not bound on ShaderResourceView and resource being set to shader resource slot
    is not bound on UnorderedAccessView.
    
    Bug: angleproject:2768
    
    Change-Id: I52fc5bf5e76ccf8be61c59b2195459728f95e536
    Reviewed-on: https://chromium-review.googlesource.com/1201324
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>

commit 7359954301e131a2b1f326ef391669dbd7562d0d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 5 16:16:54 2018 -0400

    Update update_canary_angle script.
    
    Make it search in any output directory.
    
    Bug: None
    Change-Id: I4ea3ee70bbf051e534e97a972fcb6bbcb5ceeecc
    Reviewed-on: https://chromium-review.googlesource.com/1208512
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 4ab19079ccc7be0a864a2efbd1e042285b9f6e8c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 5 15:19:45 2018 -0400

    Update jsoncpp DEPS.
    
    This points to a mirror of the Chromium jsoncpp folder. The
    Chromium version includes a BUILD.gn that we can use.
    
    Bug: angleproject:2794
    Change-Id: I08f34e693d547cd01caefdeddaf43ce4b4bbc29d
    Reviewed-on: https://chromium-review.googlesource.com/1208510
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 79ec21c5d4cf77fd25b94ee42b77bb49871540ad
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 5 12:44:19 2018 -0400

    Small style guide amendments.
    
    Bug: angleproject:1944
    Change-Id: I682fa8a421bd69cfbd2a662bcc8dc9706262a0c6
    Reviewed-on: https://chromium-review.googlesource.com/1207551
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 750e508722a9405278dfb1809f7ce667a3681072
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 5 12:32:56 2018 -0400

    Update style guide.
    
    Mention enums and static members can use CamelCase.
    
    Bug: angleproject:1944
    Change-Id: I7294418e9118d9d690f8f9c61adad9f5b819cc16
    Reviewed-on: https://chromium-review.googlesource.com/1207550
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit cc0466301999b9872f52288cab0795c130731f4d
Author: Tobin Ehlis <tobine@google.com>
Date:   Tue Sep 4 11:58:14 2018 -0600

    Use chromium mirror for jsoncpp
    
    Chromium has a jsoncpp mirror that matches github and has a ninja build
    config so use that instead of Android mirror.
    
    Bug: angleproject:2794
    Change-Id: I48423818817f439f3a43f5edee557deae24bf028
    Reviewed-on: https://chromium-review.googlesource.com/1203940
    Reviewed-by: Ian Elliott <ianelliott@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit 3d61ac27ae8f7c3854658d3329c23abb6759ac8f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 28 16:58:55 2018 -0400

    Vulkan: More micro-optimizations.
    
    Inlining more methods into headers.
    
    In total the patch series improves performance by about 60-70% in the
    Vulkan draw call overhead test.
    
    Bug: angleproject:2786
    Change-Id: I70913ac6b3d5836c17c13e249950987df362f203
    Reviewed-on: https://chromium-review.googlesource.com/1194883
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit 9137adeafbfb8ac0c7797b0d8b3a796168442fbc
Author: Shahbaz Youssefi <syoussefi@google.com>
Date:   Mon Aug 27 14:22:37 2018 -0400

    Add support for EGL_ANDROID_blob_cache
    
    The functionality of MemoryProgramCache is divided up in two.  BlobCache
    is now a generic binary cache, which interfaces with the callbacks from
    EGL_ANDROID_blob_cache.  MemoryProgramCache handles program
    [de]serialization and interacts with BlobCache.
    
    Bug: angleproject:2516
    Change-Id: Ie4328a2e56a26338e033d84f4e53a1103411937d
    Reviewed-on: https://chromium-review.googlesource.com/1194285
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 913ff54db05006fd11df61e3bab99c12a6ee468f
Author: Xinghua Cao <xinghua.cao@intel.com>
Date:   Tue Aug 7 15:14:05 2018 +0800

    ES31: support compute shader uniform buffer on D3D backend
    
    BUG=angleproject:2759
    TEST=angle_end2end_tests.ComputeShaderTest.UniformBuffer/ES3_1_D3D11
    
    Change-Id: I92326c3a84f13b364aed0daf567b68f8a411ed2b
    Reviewed-on: https://chromium-review.googlesource.com/1164843
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Xinghua Cao <xinghua.cao@intel.com>

commit 3e29cf318258bd6a56f85b1a6d73c5a65fb7d860
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 31 17:19:17 2018 -0400

    Vulkan: Fix redefining TexStorage after TexImage.
    
    This can be easily implemented via a release call.
    
    Bug: angleproject:2651
    Change-Id: I0adb3ed385284c6342716cd7c347de9966a81bab
    Reviewed-on: https://chromium-review.googlesource.com/1200368
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a792193e17c4f6c4f94a3da75d47b7805d207bb2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 31 17:19:18 2018 -0400

    Vulkan: Enable StateChangeTest.DisablingBufferedVertexAttribute.
    
    This was likely fixed with default vertex attribute support.
    
    Bug: angleproject:2650
    Change-Id: Ibbc19013ed8227c6fe32ae186b0fa88e5c837589
    Reviewed-on: https://chromium-review.googlesource.com/1200369
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 2b858c2f96b19c126f7c5952d8635dc88358217c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Sep 3 13:58:14 2018 -0400

    Vulkan: More micro-optimizations to setupDraw.
    
    Still a hotspot but much improved.
    
    Bug: angleproject:2786
    Change-Id: Ie68ff314e6c952f281b48f6d9af37b5dcd194d6a
    Reviewed-on: https://chromium-review.googlesource.com/1194882
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit a153eddb7473efe47aaa45215d314ad3aa1e9251
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 31 17:19:19 2018 -0400

    Vulkan: Enable UniformTest.Sampler.
    
    This test was fixed quite some time ago.
    
    Bug: angleproject:2462
    Change-Id: I49714dd08a5e477d72337147f83b80945a8486ee
    Reviewed-on: https://chromium-review.googlesource.com/1200370
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit fda46aa50ecb4e88af36bb2fe3baa61f047a44e1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 31 17:19:15 2018 -0400

    Vulkan: Enable GLSLTest.ScopedStructsOrderBug.
    
    This was fixed upstream in glslang.
    
    Bug: None
    Change-Id: I21751dba101fe39f94c91de6e73853ee9ad8c8f2
    Reviewed-on: https://chromium-review.googlesource.com/1200366
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit bf4dc15637674103be162ceb0d57def812bd93d0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 31 17:19:15 2018 -0400

    Vulkan: Enable BindUniformLocationTest.Compositor.
    
    This was probably fixed some time ago. Possibly due to matrix uniform
    support.
    
    Bug: angleproject:2642
    Change-Id: Ic4b9524d82e6770dcba117f5c155c413074ec172
    Reviewed-on: https://chromium-review.googlesource.com/1200365
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 44558e374a3507c0788699a9726ace9115db9b14
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 31 17:19:14 2018 -0400

    Vulkan: Enable TextureLimitsTest.
    
    Seems to pass possibly because of a prior bug fix.
    
    Bug: angleproject:2654
    Change-Id: I53e67bfa28e5429c51720fa71d9168d2f1cf1ece
    Reviewed-on: https://chromium-review.googlesource.com/1199928
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 73d15ba4300b52e05f5480b5f9308fd2414578c1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 31 17:19:13 2018 -0400

    Vulkan: Enable a dEQP point raster test.
    
    This passes on the bots. It fails on 5x but passes on Pixel 2.
    
    Bug: angleproject:2599
    Change-Id: Ib71dcaf6adff104d7f70d1d6fe800e78c6778e66
    Reviewed-on: https://chromium-review.googlesource.com/1199725
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit d1249de0494b7185dcdd964b28ede6cd858d64b0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 28 16:58:53 2018 -0400

    Vulkan: Optimize ContextVk::setupDraw.
    
    This improves performance significantly in the Vulkan CPU overhead
    test.
    
    Bug: angleproject:2786
    Change-Id: I911bc66a6b2d11dd3848ffa90927b314aeadfc24
    Reviewed-on: https://chromium-review.googlesource.com/1194301
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit 30b5d84ce25f9b6405f5f445c9edb78b3ad042b3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 31 17:19:12 2018 -0400

    Vulkan: Fix line width caps.
    
    We would need to enable the wide lines feature to support non-unit line
    widths. For now just disable the caps.
    
    Bug: angleproject:2598
    Bug: angleproject:2706
    Change-Id: I0dd228fc2c357bdd9442c3d841be769987a53f72
    Reviewed-on: https://chromium-review.googlesource.com/1127303
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 0a17e484912d9a5f69ed19f524e3109aef674dbb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 31 17:19:11 2018 -0400

    Vulkan: Fix sync of initially disabled attributes.
    
    If an attribute was never enabled or disabled the default state was not
    properly synced in our implementation. This wasn't caught by currently
    enabled tests. Those tests are now enabled in VertexAttributeTest.
    
    Bug: angleproject:2800
    Change-Id: I97c063651911379e16de4ee557d9840782114c54
    Reviewed-on: https://chromium-review.googlesource.com/1199724
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 9808d38c032a49476dcb4ce3891d6b8bd2128803
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Fri Aug 31 13:12:14 2018 +0800

    Fix that image texture works incorrectly when loading from program
    binary
    
    This bug is introduced when we implement image texture robust
    initialization, where we forgot to update active image units mask in program
    cache.
    
    Bug: angleproject:2766
    Change-Id: I01de02803173f2cf5b7b9ff740175a4d7cbee4ba
    Reviewed-on: https://chromium-review.googlesource.com/1198683
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>

commit ef3b9b463476e4c1cb886885ffe30130052121e7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Aug 30 16:18:38 2018 -0400

    Vulkan: Add ContextVk dirty bits.
    
    These dirty bits mostly track state needed for the command buffer. It
    should speed up ContextVk::setupDraw by skipping unset dirty bits
    instead of using boolean checks.
    
    Improves perf slightly on the Vulkan null draw call test.
    
    Bug: angleproject:2786
    Change-Id: I071ce558c522732a17ad101d097ee4d10740abf1
    Reviewed-on: https://chromium-review.googlesource.com/1194300
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit 37386b0205f40a2f562e757283b0eed94e6313f4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Aug 30 16:18:37 2018 -0400

    Vulkan: Cache object pointers in ContextVk.
    
    Small performance optimization.
    
    Bug: angleproject:2786
    Change-Id: Ib01c1762d438ffb72ec25bf05135a7d3271d6aee
    Reviewed-on: https://chromium-review.googlesource.com/1188954
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit 88fc6da3e28c9abb47b5329e4f241dc3cb8e84d7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Aug 30 16:18:36 2018 -0400

    Vulkan: Mega-refactor to VertexArrayVk.
    
    This moves a lot of the code in VertexArrayVk into ContextVk. Having
    the code in a centralized place makes the code a bit more organized
    since the Context is reponsible for binding state to the command
    buffers. It also makes it easier to use dirty bits to track the command
    buffer state.
    
    Bug: angleproject:2786
    Change-Id: I5cefbb14028e8f3fe651f26e997ca88f8f1c7628
    Reviewed-on: https://chromium-review.googlesource.com/1188953
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 253038d8d13b3fcf818d7730cf05192670549759
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Aug 30 16:18:35 2018 -0400

    Vulkan: Refactor VertexArrayVk::streamIndexData.
    
    This enables us to use the same code for streaming client side index
    arrays and for translating buffers.
    
    Also includes a few more code cleanups.
    
    Bug: angleproject:2786
    Change-Id: Ic615d87cb50fd0acd8ab6b63ed334da4b1c40eff
    Reviewed-on: https://chromium-review.googlesource.com/1188952
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit 2eb54074af3d79bc7612b9244377958badde2ff7
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Wed Aug 22 16:41:26 2018 -0400

    Fix EGLImage pixel format validation
    
    This fixes the scenario when EGLImage source and target have different types.
    For example, a texture is created with unsigned format using glTexImage2D,
    it is used as a source of EGLImage with eglCreateImageKHR,
    and then the EGLImage is used to create a renderbuffer target with
    glEGLImageTargetRenderbufferStorageOES.
    
    OES_EGL_image doesn't specify what should happen in this case,
    but GL implementations (Nexus 5X) seem to allow using this renderbuffer in
    glFramebufferRenderbuffer and the resulting framebuffer is complete.
    Thus, in this case, instead of checking whether the renderbuffer format
    can be used in glFramebufferRenderbuffer, we need to check whether the
    original texture can be used in glFramebufferTexture2D.
    Similarly in reverse direction.
    
    Also, for the case of source renderbuffer and target texture,
    presume that glEGLImageTargetTexture2DOES will succeed regardless of
    renderbuffer format.
    
    1. Add isRenderable and isTexturable checks to egl::Image class,
       and perform different checks depending on source type.
    2. Add isRenderable check to FramebufferAttachment and delegate EGLImage
       attachments check to egl::Image.
    3. Use these checks in validation of EGLImageTargetTexture2D,
       EGLImageTargetRenderbufferStorage and when checking attachment completeness
    
    Bug: angleproject:2567
    
    Change-Id: I8e9f4a2930a4075a4d8464f62582c6825270187e
    Reviewed-on: https://chromium-review.googlesource.com/1192585
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit abcb2b3b3662618fd39007f15649e647d82fd02b
Author: Ian Elliott <ianelliott@google.com>
Date:   Wed Aug 29 17:04:15 2018 -0600

    Add stubs for A4A opt-in library.
    
    Bug: angleproject:2794
    Change-Id: I9ba8abf5fdac4a1bae24bc78ece62337d24e903b
    Reviewed-on: https://chromium-review.googlesource.com/1196043
    Commit-Queue: Ian Elliott <ianelliott@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 97dbf436117f592048bf899d8d0aa735e87378a8
Author: Yunchao He <yunchao.he@intel.com>
Date:   Wed Jan 10 21:28:00 2018 +0800

    Add specification for ANGLE_texture_multisample.
    
    The patch adds the specification for the ANGLE_texture_multisample
    extension, which enables the functionality of multisample texture.
    
    This extension is also the basis to expose multisample texture to
    web via a webgl extension.
    
    BUG=angleproject:2275
    BUG=angleproject:2775
    
    Change-Id: I21771ac1d7d3e2fad8bf5d5e0a5c5e082c8fe7a2
    Reviewed-on: https://chromium-review.googlesource.com/859917
    Commit-Queue: Yunchao He <yunchao.he@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 3a181e3e53bee44614b832dc6a711b9d78b94ca2
Author: Tobin Ehlis <tobine@google.com>
Date:   Wed Aug 29 15:17:05 2018 -0600

    Roll VK deps forward as of 8/31/2018
    
    Roll Vulkan ANGLE dependencies forward as of 8/31/2018. This grabs some
    new validation checks including point-related checks that may be
    interesting for bug 2727.
    
    One of these checks, related to PointSize, is firing so I've added some
    code in the VK debug callback to suppress those error messages for now
    and filed a separate bug (2796) to fix that issue in the renderer.
    
    Had to overhaul the json gen script as validation changed how these are
    generated. They now use a base template with some strings replaced to
    account for platform and Vulkan header version. Offloaded all of that
    work to our existing json generate script which was previously more of
    an intelligent copy but now had some further intelligence for
    transforming from input template into final json files.
    
    Had to also roll glslang forward to meet shader validation dependency.
    
    Bug: angleproject:2727
    Change-Id: I929619cd258cddd6bc9c6743600e072c46736f5c
    Reviewed-on: https://chromium-review.googlesource.com/1194617
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Tobin Ehlis <tobine@google.com>

commit 89e829793028cd6d3e160ebb51c8c2212633b84e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Aug 28 11:32:53 2018 -0400

    Vulkan: Allow gaps in vertex attributes by packing them.
    
    Work around restrictions with setting null vertex buffers on command buffers
    by binding ranges of non-null buffers.
    
    Enable VertexAttributeTest on ES2/Vulkan
    
    BUG=angleproject:2792
    BUG=angleproject:2797
    
    Change-Id: Ief9db1e60c8c9045a4101abe859302d529decbcb
    Reviewed-on: https://chromium-review.googlesource.com/1194282
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit b02fc662fa75f6276b1c259d985ac5af2b92d735
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Aug 21 09:48:01 2018 -0400

    Lock around all EGL and GL calls with a global mutex.
    
    BUG=angleproject:2464
    
    Change-Id: I0231cc84777272f9cf26298c6a137f1ad3fd51d6
    Reviewed-on: https://chromium-review.googlesource.com/1183441
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 86792f442f0c29fcc37da9ff21cafb5b92653c7d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Aug 30 16:18:34 2018 -0400

    Vulkan: Optimize ContextVk::updateDefaultAttributes.
    
    This function was getting called every time because the dirty bit mask
    included dirty bits for unused program attributes. Fix this by making
    sure we never have dirty bits set for inactive attributes.
    
    Bug: angleproject:2786
    Change-Id: Icf72dadd8a853d3a448abb303119b7b71f6c8193
    Reviewed-on: https://chromium-review.googlesource.com/1188951
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a064c27c74d72d3d8816ac8b2c28cf2c173e671b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Aug 30 16:18:34 2018 -0400

    Vulkan: Refactor VertexArrayVk::streamVertexData.
    
    Merges duplicated code in convertVertexBuffer with streamVertexData.
    Refactoring change only.
    
    Bug: angleproject:2786
    Change-Id: I32baaad42d74918cfb17f04970d3c7e9b88362e7
    Reviewed-on: https://chromium-review.googlesource.com/1188950
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 70a4ef103e13851624bd6c4558067615a1296a5d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Aug 30 15:55:41 2018 -0400

    Vulkan: Fix depth range scaling.
    
    We were using a formula that didn't work for some of the clipping
    tests.
    
    Bug: angleproject:2601
    Change-Id: I60d965c2701656ad590c3b250c2cc777fb432421
    Reviewed-on: https://chromium-review.googlesource.com/1194919
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 161a89b1be6cf3b9cbc89efcfae91b0529b9f3b6
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Aug 31 10:12:38 2018 -0400

    Skip DrawElementsIndexOutOfRangeWithStaticDraw on NVIDIA D3D11 FL9.3.
    
    This test started consistantly failing after changing the shard count on
    this test suite.
    
    BUG=angleproject:2799
    
    Change-Id: I75769b08f9d4dda1d436facc34a8292193b4538e
    Reviewed-on: https://chromium-review.googlesource.com/1199723
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 064458a8f818a34b07035780a547c50e07610df3
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Aug 30 14:02:02 2018 +0300

    Remove separate ANGLE_texture_multisample_array
    
    We can just expose OES_texture_storage_multisample_2d_array instead.
    The compiler was already changed to accept
    OES_texture_storage_multisample_2d_array, and now the change is made
    also at the API level.
    
    Out-of-bounds access guarantees provided by ANGLE were the only big
    difference between the ANGLE spec and the OES spec, so it's simpler
    to just expose the native extension. Safe out-of-bounds accesses can
    be guaranteed without having them in the extension spec.
    
    This also adds missing texStorage3DMultisample entry point to the proc
    table, which will enable running dEQP tests.
    
    BUG=angleproject:2775
    TEST=angle_end2end_tests
    
    Change-Id: Idf376ee877a3374a33de177df023f0531ec8f01d
    Reviewed-on: https://chromium-review.googlesource.com/1196722
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit fd1621076a74a080c8f2f3e707d8f8d1fef0f49f
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Aug 27 16:14:57 2018 +0300

    Support multisample arrays as framebuffer attachments
    
    This contains tests for framebuffer completeness when layers of
    multisample array textures are attached.
    
    Simple clearing of a layer of a multisample color texture array and
    blitting the result to a non-multisampled texture is also covered.
    
    BUG=angleproject:2775
    TEST=angle_end2end_tests
    
    Change-Id: Idf383cab69587dbd8157ab9a2b7c47e5a90b3cf7
    Reviewed-on: https://chromium-review.googlesource.com/1190184
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 1bf963b6292913d998cc2fd7dbccecbeb9f77305
Author: Tobin Ehlis <tobine@google.com>
Date:   Thu Jul 19 14:56:37 2018 -0600

    Clean up PlatformMethods attribute enum
    
    Centralize definition of EGL_PLATFORM_ANGLE_PLATFORM_METHODS_ANGLEX
    in Platform.h.
    
    Bug: angleproject:2528
    Change-Id: Id2b022c4ea08d2e98cbd6c3b248b58d096c20dfb
    Reviewed-on: https://chromium-review.googlesource.com/1144265
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 44b2c0b1d349a28ee06fe6f2bbedc6980f3f20b6
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Wed Aug 29 17:31:27 2018 -0400

    Avoid rebase_path() in BUILD.gn.
    
    Adjust source paths so we don't need to use rebase_path() on all of them.
    
    BUG=angleproject:1569
    
    Change-Id: I687dbb9378b1f054eb5664320c662fe4c882a82f
    Reviewed-on: https://chromium-review.googlesource.com/1194619
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit e1037e9be37749becf4514efe5fd5e41170c073c
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Wed Aug 29 20:49:49 2018 -0400

    Avoid rebase_path() in tests/BUILD.gn.
    
    Adjust source paths so we don't need to use rebase_path() on all of them.
    
    BUG=angleproject:1569
    
    Change-Id: I1af7678dd8961405446fec49731eba5294bcb586
    Reviewed-on: https://chromium-review.googlesource.com/1196046
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 5fdc38cf171b269393fff3385961975430256d8c
Author: Tobin Ehlis <tobine@google.com>
Date:   Tue Aug 28 09:20:57 2018 -0600

    Add jsoncpp as third_party dep
    
    Adding jsoncpp in third_party/jsoncpp dir. This is a C++ library to
    parse json files.
    
    Bug: angleproject:2785
    Change-Id: I12f467ef87c8d4801815c79f211fc57a3a9f4b49
    Reviewed-on: https://chromium-review.googlesource.com/1194840
    Reviewed-by: Ian Elliott <ianelliott@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit 0c5a9e226b37770dfa2d5e89372286f030bb0194
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Aug 27 14:36:23 2018 +0300

    Implement TexStorage3DMultisample on the GL backend
    
    BUG=angleproject:2775
    TEST=angle_end2end_tests
    
    Change-Id: Ic980d86cd787bcf29f622e68b0c38b0eb6ca5688
    Reviewed-on: https://chromium-review.googlesource.com/1190182
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 80aa5592d9dda85fe1198623de62d0a667e5131f
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Aug 29 15:50:39 2018 +0300

    Clean up TextureD3D_2DMultisample
    
    This removes some duplicate unreachable calls from TextureD3D_External
    and TextureD3D_2DMultisample. There will be further use for this once
    TextureD3D_2DMultisampleArray is implemented.
    
    This also cleans up some no-ops from TextureD3D_2DMultisample and sets
    it correctly as immutable.
    
    BUG=angleproject:2775
    TEST=angle_end2end_tests
    
    Change-Id: Ia253a1ed6f418a24bb0c4a4e61654b1c061dba97
    Reviewed-on: https://chromium-review.googlesource.com/1193950
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit f0d0408a355e9f24c18cb36d9b530f6df6ec0db3
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Aug 28 16:02:13 2018 +0300

    Use OES_texture_storage_multisample_2d_array
    
    There's an OES extension for multisample texture arrays,
    OES_texture_storage_multisample_2d_array. Change references from
    ANGLE_texture_multisample_array to the native extension in the shader
    compiler.
    
    ANGLE still needs to have robust behavior for out-of-range texel
    fetches that's not found in the original extension, but this does not
    need to be spelled out in the extension spec.
    
    BUG=angleproject:2775
    TEST=angle_unittests
    
    Change-Id: Ie80ae767cc92ccaf7389af28789f45547f86978f
    Reviewed-on: https://chromium-review.googlesource.com/1193266
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit ddc41208c15ffd9aae99e3ac6c9d59a09df914d9
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Thu Aug 23 22:11:55 2018 -0400

    Rename .gypi -> .gni.
    
    Rename and reformat all gyp files.  They were previously converted to
    gn but not renamed to preserve continuity in git.  This rename completes
    the removal of all traces of gyp.
    
    BUG=angleproject:1569
    
    Change-Id: I50123105d8881583184ffc564bed65d9fbe4d41c
    Reviewed-on: https://chromium-review.googlesource.com/1187885
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit ae6c2b887cb3560de5d7c80ad8f880d6f06dfe7e
Author: Ian Elliott <ianelliott@google.com>
Date:   Wed Aug 29 13:05:23 2018 -0600

    Fixes found while turning on A4A opt-in/out code.
    
    Bug: angleproject:2789
    Change-Id: If9d83dd94d392103ed5200ba471d47dc907cf3ca
    Reviewed-on: https://chromium-review.googlesource.com/1194612
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit a7f97a27eb21b10ab3f1191b8e210707a8d9675d
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Tue Aug 21 00:04:05 2018 -0400

    Gyp is dead.  Long live gn.
    
    Remove the gyp build.  The .gypi files were not renamed so that diff and
    rebase would work on this change.  They will be renamed in a separate
    change.
    
    BUG=angleproject:1569
    
    Change-Id: If8a217027633293664b820104f91a4ca5889b24e
    Reviewed-on: https://chromium-review.googlesource.com/1187380
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 4c3108319e4233f8e7140f274d25d565a0701f21
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Aug 29 13:43:17 2018 -0400

    Vulkan: Return VkDeviceSize from DynamicBuffer.
    
    This obviates many static_casts. More closely represents what Vulkan
    is doing. One cast remains where we are using uint32_t for dynamic
    offsets with uniform buffers.
    
    Bug: angleproject:2786
    Change-Id: I043ebb5d965f46ee6ebbfcb91d75a58508cacfe3
    Reviewed-on: https://chromium-review.googlesource.com/1188949
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 3e217f65044d6d6c6bca789231f9f7866f7ca1ed
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Tue Aug 28 16:55:20 2018 +0800

    Rename UniformHLSL to ResourcesHLSL
    
    In future, atomic counter and shader storage block will be added into UniformHLSL since
    they all need the UAV register. So this change renames UniformHLSL to ResourcesHLSL.
    
    Bug: angleproject:1951
    Change-Id: Ie9eda090763fbb516468c138e65e111eb12fe514
    Reviewed-on: https://chromium-review.googlesource.com/1193322
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit d310a4342cf5abc63976b3926a752f202ca6556a
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Aug 24 15:40:23 2018 +0300

    Add validation and negative tests for multisample arrays
    
    This adds errors for binding and allocating multisample array
    textures. New tests in TextureMultisampleTest.cpp check that the
    errors are generated as specified.
    
    Tests for querying supported sample counts are also improved and
    extended for multisample array textures.
    
    BUG=angleproject:2775
    TEST=angle_end2end_tests
    
    Change-Id: I6a0fe7ae04bb3d0072f6cbe09026b05e2bc47325
    Reviewed-on: https://chromium-review.googlesource.com/1188576
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 1e1b731a98955fb4fe9cd5a17887e2abcdb283d5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 28 13:27:23 2018 -0400

    Vulkan: Clean up point coord translation.
    
    Use - 0.5 instead of + -0.5 in FlipGLPointCoord.
    
    Bug: angleproject:2673
    Change-Id: I819dcc45f9098ea64085eb71af8920fe99b67c62
    Reviewed-on: https://chromium-review.googlesource.com/1194454
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 47f6dd0d4a21564350d845720d5cf14b158dba12
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Fri Aug 10 13:36:32 2018 +0800

    Implement robust initialization for image texture
    
    This change fixes a bug that the image texture initialization time is not
    correct. It happens when we use compute shader to write data to an
    uninitialized texture, then use readPixels to read the result which
    results that texture initialization falls behind image store and
    covers the real result.
    
    Bug: angleproject:2766
    
    Change-Id: I4e986972096857afc975c40dfa4d559a2f31194c
    Reviewed-on: https://chromium-review.googlesource.com/1170569
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 4e877ad3ed4d5c687736b3fd497c58c05047aefc
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 28 00:18:47 2018 -0400

    Suppress TransformFeedbackNegativeAPI test on Mac AMD.
    
    Seems to be failing on Mac Pro FYI Release (AMD). Unclear exactly the
    scope of the problem so suppress it on all Mac AMD for now.
    
    Bug: angleproject:2747
    Change-Id: I7a5da00b9056839f3ed01fc4c83fa7993019bda7
    Reviewed-on: https://chromium-review.googlesource.com/1192550
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 6dfdca836806b661cd0d0e090ef2cf1dc06a2e6a
Author: Xinghua Cao <xinghua.cao@intel.com>
Date:   Fri Aug 3 17:10:55 2018 +0800

    ES31: support compute shader sampling on D3D backend
    
    BUG=angleproject:2756
    TEST=angle_end2end_tests.ComputeShaderTest.SamplingAndImageReadWrite/ES3_1_D3D11
    
    Change-Id: I8f112227c5703fcaafffbd2262e6a039f869c483
    Reviewed-on: https://chromium-review.googlesource.com/1161754
    Commit-Queue: Xinghua Cao <xinghua.cao@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 24507bc7fd5c7c64dbd1462efbfea2e8894edf16
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 27 20:43:33 2018 -0400

    Add Windows MSVC x64 builders to CQ.
    
    These are now up and running. This will prevent a common source of
    compile regression.
    
    Bug: angleproject:2740
    Change-Id: I0c66a61338c831e21cab0b30cfa9334da54c4ca5
    Reviewed-on: https://chromium-review.googlesource.com/1192543
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 33dab025ada1edced1a684e66d196a3ca7d3ced3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 24 10:00:16 2018 -0400

    Add test for transform feedback state change validation.
    
    This test covers several validation edge cases with detecting feedback
    loops and buffers bound to multiple types of binding.
    
    Bug: angleproject:2747
    Change-Id: I612a4fcf1870667a821ebcba2d3948695b3cabd5
    Reviewed-on: https://chromium-review.googlesource.com/1174094
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 7b2f027471f1e5d87fb2a51eaff915090fc8c83d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 27 10:16:08 2018 -0400

    Inline more buffer binding calls.
    
    This splits checkObjectAllocation into the inline part and the
    slow part. It uses ANGLE_INLINE to force the former to be inlined.
    
    Also inlines and optimizes a few other buffer binding related checks.
    
    Improves performance in a bindings performance test by about 20%.
    
    Includes contributions from matavenrath@nvidia.com.
    
    Test: Bindings_gl_100_objects_allocated_at_initialization
    Bug: angleproject:2777
    Change-Id: I71b07d72a8e81db7a90140ef84eca599a29239ed
    Reviewed-on: https://chromium-review.googlesource.com/1190442
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 22f7aafb44b7fbb817fe0ebca43fb39df3723781
Author: Bryan Bernhart <bryan.bernhart@intel.com>
Date:   Thu Aug 23 14:13:51 2018 -0700

    Add webgl checks in GetActiveUniformsiv.
    
    Add validation that disallows GL_UNIFORM_NAME_LENGTH from being used.
    
    BUG=angleproject:1523
    TEST=angle_end2end_tests
    
    Change-Id: Id70e25ab79fd93ae4eb8b8343819458a4a0e4a71
    Reviewed-on: https://chromium-review.googlesource.com/1187511
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Bryan Bernhart <bryan.bernhart@intel.com>
    Commit-Queue: Bryan Bernhart <bryan.bernhart@intel.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c14ab2a7aaf244ec6b96b61f91d5251accf54605
Author: Shahbaz Youssefi <syoussefi@google.com>
Date:   Fri Aug 24 13:57:55 2018 -0400

    Fix dEQP_GLES3.functional.negative_api.shader.program_binary
    
    The frontend was not taking into account the fact that some drivers do
    not support program binaries.  The fix is that now
    
        glGetProgramiv(GL_PROGRAM_BINARY_LENGTH)
    
    returns 0 under such circumstances.
    
    Bug: angleproject:2780
    
    Change-Id: I4ea2cda6bb4612e69dbd7e00b3d43b97ee3b3c3d
    Reviewed-on: https://chromium-review.googlesource.com/1188768
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit 89664843c656a97b82f8c71781bf8d451f7f8ec3
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Aug 24 14:45:36 2018 +0300

    Add glTexStorage3DMultisampleANGLE entry point
    
    This adds the entry point but does not implement it yet.
    
    The entry point and enums are also added to the gl2ext_angle.h
    header file.
    
    BUG=angleproject:2775
    TEST=angle_end2end_tests
    
    Change-Id: I24c231c52e7cbb13637880b21044e655935b51e8
    Reviewed-on: https://chromium-review.googlesource.com/1188575
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 8707af516c46f42b38af0c5761b936dd98c81f1f
Author: Shahbaz Youssefi <syoussefi@google.com>
Date:   Thu Aug 23 15:49:14 2018 -0400

    Add a test case for enabled-but-inactive vertex attributes
    
    Bug: angleproject:2138
    
    Change-Id: Ia5331845d34f60a31280e6da041d13dc3da29232
    Reviewed-on: https://chromium-review.googlesource.com/1187364
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 337bd698407850d17522a61a2ed3bb881a563e5c
Author: Shahbaz Youssefi <syoussefi@google.com>
Date:   Wed Aug 22 16:16:38 2018 -0400

    Disable vertex attributes if not active in program
    
    Even if explicitly enabled.
    
    Bug: angleproject:2138
    Change-Id: I598d21296bb6843e05cdeab146c1ff3da3a1174b
    Reviewed-on: https://chromium-review.googlesource.com/1185743
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit dc248f7168224c676d95a29120de882c852388a7
Author: Shahbaz Youssefi <syoussefi@google.com>
Date:   Fri Aug 24 10:12:27 2018 -0400

    Re-enable dEQP_GLES3.functional.negative_api.texture.bindtexture
    
    The test no longer fails on any platform
    
    Bug=angleproject:2779
    
    Change-Id: I1b184b41be23a25fb01a54587eda88fac470b7de
    Reviewed-on: https://chromium-review.googlesource.com/1188604
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 8ca60805916f3ca953f357dde91bfe6336b39159
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Aug 23 14:10:02 2018 +0300

    Add 2D MS array sampler support to compiler
    
    This also places textureSize(gsampler2DMS) correctly in the ESSL 3.10
    builtins instead of ESSL 3.00 builtins.
    
    BUG=angleproject:2775
    TEST=angle_unittests
    
    Change-Id: Ieb0f7a7424a5558a5569af6d4fcbcc9b12ec9840
    Reviewed-on: https://chromium-review.googlesource.com/1186466
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 4285647bdd444065fc677634eac83aba661f5e17
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Aug 23 11:16:15 2018 +0300

    Draft ANGLE_texture_multisample_array spec
    
    This is needed for antialiased multiview rendering.
    
    The extension is written against OpenGL ES 3.1. To add support for it
    in OpenGL ES 3.0, an extension for exposing non-array multisample
    textures will also be required (ANGLE_texture_multisample). This has
    been previously proposed though not yet submitted to ANGLE.
    
    The extension spec provides robustness guarantees for sampling
    multisample textures. It still needs to be tested whether native
    implementations follow these guarantees or if the spec needs to be
    adjusted to allow for clamping coordinates. The native
    KHR_robust_buffer_access_behavior is not very explicit about whether
    the texel fetch robustness applies also to multisample textures.
    
    BUG=angleproject:2775
    
    Change-Id: I1bd721008a10bee29f8e2e06edca19370a9932a7
    Reviewed-on: https://chromium-review.googlesource.com/1186336
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit d6781dce3d251dfdbaa8d2e3f54be2740c4202b1
Author: jchen10 <jie.a.chen@intel.com>
Date:   Thu Aug 23 10:51:06 2018 +0800

    Extend LinkProgramPerfTest to support compile only
    
    Add an option for "compie_only" and "compile_and_link".
    
    Bug: chromium:849576
    
    Change-Id: Id796ebb85ad5aff1a5272173f11ce2ff42685dce
    Reviewed-on: https://chromium-review.googlesource.com/1186159
    Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 221fa26170ae91edcde605bce392a2905e86d1d9
Author: Shahbaz Youssefi <syoussefi@google.com>
Date:   Thu Aug 23 10:12:09 2018 -0400

    Re-enable BlitFramebuffer tests
    
    Accidentally disabled in 265811130, which intended to disable tests
    requiring GL_ANGLE_framebuffer_blit, but also disabled glBlitFramebuffer
    tests.  glBlitFramebuffer is core, but was conditioned to
    EXT_framebuffer_blit.
    
    Bug: angleproject:2773
    Change-Id: I0468af8874dc8676a4eb6214b111c08aadc0e2fc
    Reviewed-on: https://chromium-review.googlesource.com/1186543
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>

commit c0edff6670c78a66c1007c104e6462e3384388ee
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Wed Aug 22 20:08:47 2018 -0400

    Roll chromium DEPS.
    
    Roll to get versions of build and tools/clang don't require gyp in our DEPS,
    so we can to remove gyp from our DEPS.
    
    BUG=angleproject:1569
    
    Change-Id: I2d1639bb5d576e62aff2a8aa993542b0ac777be6
    Reviewed-on: https://chromium-review.googlesource.com/1185756
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit b42162fb0407eeb0d2818af1da894e4396c1bde7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 20 12:58:37 2018 -0400

    Optimize ValidateDrawStates.
    
    Apparently returning a small struct was slow enough to make a 2-3%
    difference in benchmark scores. Very visible on the MSVC sampling
    profiler.
    
    Bug: angleproject:2747
    Change-Id: I459a127f3f2a0fc3a08db15c37257a67f63f20ce
    Reviewed-on: https://chromium-review.googlesource.com/1181465
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit eef9de68064287b8eeb11151ba6654c9cb53ad5d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Aug 23 11:03:22 2018 -0400

    Add validation state change test for draw framebuffer.
    
    This test covers feedback loops and invalid component types.
    
    Bug: angleproject:2747
    Change-Id: I3e3c762c5457afef59311f7c5843e464fa386cd6
    Reviewed-on: https://chromium-review.googlesource.com/1174093
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit c40974417610afb020c0b99a6b038f81257435cd
Author: Shahbaz Youssefi <syoussefi@google.com>
Date:   Wed Aug 22 12:14:52 2018 -0400

    Fix x64 visual studio build errors
    
    Bug: angleproject:2740
    
    Change-Id: I44fd2a1daf3dca764e2eef73e437feb32b36dbaa
    Reviewed-on: https://chromium-review.googlesource.com/1185234
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 9259fd0d4f4ca335d2b0f99edb2a9e47ec053944
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Aug 22 12:12:00 2018 +0300

    Clean and enable NoLeakingFragments multiview test
    
    Use helper to create multiview backing textures in NoLeakingFragments
    test instead of doing FBO attachments twice.
    
    The test seems to pass on Windows after the recent fixes that have
    been done to the tests, or possibly due to other earlier fixes.
    
    BUG=angleproject:2687
    TEST=angle_end2end_tests
    
    Change-Id: I6015a5b44fdd06faf7b9375bad501355be8d7732
    Reviewed-on: https://chromium-review.googlesource.com/1184713
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit a7b35c336ea3531f7346ff812be1a999b58a5f3d
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Aug 21 16:32:24 2018 +0300

    Add helpers for multiview framebuffer init
    
    Multiview tests now use common helpers to create textures for
    multiview framebuffers and often also to attach the textures to the
    framebuffers.
    
    The tests now rely on uploaded texture data to initialize the buffers
    instead of clearing the framebuffers with glClear.
    
    BUG=angleproject:2765
    TEST=angle_end2end_tests
    
    Change-Id: I7d6d63add5943cab610ab888045d5b0f8ba29215
    Reviewed-on: https://chromium-review.googlesource.com/1184712
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 5fea1b769d1317a7f106bb7cc000636d2395c4cd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Aug 22 10:05:07 2018 -0400

    Add state change test for uniform buffer validation.
    
    Bug: angleproject:2747
    Change-Id: Ia808e26a48ecf432cc29ebd8514f265ff3e15ce8
    Reviewed-on: https://chromium-review.googlesource.com/1169825
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 4b4197afdd121cfd8db7711649ceae652d4e9317
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Aug 22 15:24:41 2018 +0300

    Ignore D3D11 debug layer messages in multiview tests
    
    This is better than skipping the tests entirely. The debug layer
    messages appear incorrect and may be specific to Windows 7 and
    Windows Server 2008.
    
    BUG=angleproject:2778
    TEST=angle_end2end_tests on Windows Server 2008
    
    Change-Id: Ief81fbe22f518c393a37a0969c8987ed9500fbed
    Reviewed-on: https://chromium-review.googlesource.com/1184918
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 121d6c31a11520fd4dbdde6d9d3bce8a10042f95
Author: Corentin Wallez <chrome-bot@chromium.org>
Date:   Wed Aug 22 13:48:28 2018 +0200

    Remove cq_name from cq.cfg at tandrii@chromium's request.
    
    BUG=
    
    Change-Id: Iffcbace5f2165718c1db617b83692eb82c48d057
    Reviewed-on: https://chromium-review.googlesource.com/1184907
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 02cd15266a7137887e442052826420c87990f427
Author: Corentin Wallez <chrome-bot@chromium.org>
Date:   Wed Aug 22 13:46:21 2018 +0200

    Temporarily suppress multiview test failure due to debug layers
    
    On example of the debug layer warnings:
    
      [ RUN      ] MultiviewRenderTest.ProgramRelinkUpdatesAttribDivisor/ES3_D3D11_force_geom_shader_side_by_side
      Message 0: ID3D11DeviceContext::DrawInstanced: Vertex Buffer at the input vertex slot 1 is not big enough for what the Draw*() call expects to traverse. This is OK, as reading off the end of the Buffer is defined to return 0. However the developer probably did not intend to make use of this behavior.
    
    BUG=angleproject:2765
    
    Change-Id: Ic7f45d7965162640d41d27c4b746e1048de59e15
    Reviewed-on: https://chromium-review.googlesource.com/1184906
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 44ae899ae9cee32787dd17f58659217c6319d1d4
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Aug 20 15:37:09 2018 +0300

    Fix resource init/teardown in multiview tests
    
    This calls TearDown functions properly in MultiviewDrawTest test
    classes.
    
    GL RAII objects can't be used as test class members since the GL
    objects need to be deleted before the test class TearDown is called.
    
    Since now the tests call ANGLETestTearDown, this causes D3D debug
    layer messages to be checked. It turns out that there are some
    seemingly incorrect debug layer messages generated on AMD bots, so
    the failing tests are now disabled on AMD/Windows.
    
    BUG=angleproject:2765
    TEST=angle_end2end_tests
    
    Change-Id: Ifa0fe4d19b76aa84bb3b6b18c8f66a8ab6bd893e
    Reviewed-on: https://chromium-review.googlesource.com/1179839
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 87498164675dde4c3fb4179a8adab74b4980fcaf
Author: jchen10 <jie.a.chen@intel.com>
Date:   Tue Aug 21 21:57:22 2018 +0800

    Make some Program methods inlined
    
    These methods are very hot in the DrawCall/gl_null bechmark. With this
    CL applied, the score can improve about 10% on Linux.
    
    This also removes a few unnecessary resolveLink calls.
    
    Bug: chromium:873724
    
    Change-Id: I6034f29eeeebe8341dae3988c38196123687a44f
    Reviewed-on: https://chromium-review.googlesource.com/1183522
    Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 6d32cefd84bcb57f397b8f4e1a04af5c11b7d545
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 14 02:34:28 2018 -0400

    Use Observer pattern for Buffers in front-end.
    
    This will allow us to react to state change notifications for validation
    caching. It also cleans up some of the logic in the D3D11 State Manager.
    
    Bug: angleproject:2747
    Change-Id: I85ed6404206c2b9bf504d552cf5751be56e62146
    Reviewed-on: https://chromium-review.googlesource.com/1172086
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 70aeda4942f5624d1b3de0998210ee51f01e456e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 20 12:17:40 2018 -0400

    Add gl::Program::syncState and dirty bits.
    
    Currently this handles uniform block bindings. Cleans up some logic in D3D.
    
    Bug: angleproject:2747
    Change-Id: I8c2989738d50a77d6f6d90a9ff11dceab6d3129c
    Reviewed-on: https://chromium-review.googlesource.com/1172085
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit bf5177d33af82595eb1c7983293adc6da36b5883
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 21 12:58:20 2018 -0400

    Optimize element array binding.
    
    This inlines some methods and code that was regressing binding
    performance. Improves the score of a bindings benchmark by 15%.
    
    Based on contributions by matavenrath@nvidia.com.
    
    Test: bindings_gl_100_objects_allocated_at_initialization
    Bug: angleproject:2777
    Change-Id: Ied5fdbc67ced862a36c5145fff5ac94f93b40c21
    Reviewed-on: https://chromium-review.googlesource.com/1181865
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a4e40b72dbba7a0008332c4f2c412ca2348b6def
Author: Tobin Ehlis <tobine@google.com>
Date:   Tue Aug 21 17:19:40 2018 +0000

    Revert "Expect pass on pointcoord test on Pixel 2"
    
    This reverts commit d710fee3861a6afcd01a993090cb70a535b2f73f.
    
    Reason for revert: pointcoord test still failing on Pixel 2 bot
    
    Original change's description:
    > Expect pass on pointcoord test on Pixel 2
    >
    > Just ran this locally and it passed so re-enabling.
    >
    > Bug: angleproject:2727
    > Change-Id: I10368664dc68f360474dda8534e1fd28875ff4e8
    > Reviewed-on: https://chromium-review.googlesource.com/1183528
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    > Commit-Queue: Tobin Ehlis <tobine@google.com>
    
    TBR=ynovikov@chromium.org,jmadill@chromium.org,tobine@google.com
    
    Change-Id: If7a3e5dfb12c7b392ae91c477ad9fd9169912f90
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:2727
    Reviewed-on: https://chromium-review.googlesource.com/1183503
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit ac6d90ea47907242341c9782601d770ed95fe629
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 21 13:10:36 2018 -0400

    Add more test param documentation to perf tests.
    
    Also add links from other pages.
    
    Bug: angleproject:1944
    Change-Id: I344ce075973bd45942d52b819385cb74a5a073ca
    Reviewed-on: https://chromium-review.googlesource.com/1183629
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit de8d4cb0d496e783c4fa2245028af45e674c15bc
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 21 12:58:19 2018 -0400

    Optimize BindingsBenchmark::drawBenchmark.
    
    Fix contributed by matavenrath@nvidia.com.
    
    This fixes BindingsBenchmark::drawBenchmark to take only 3% instead of
    15% of the time spent in
    BindingsBenchmark.Run/gl_100_objects_allocated_at_initialization.
    
    Bug: angleproject:2777
    Change-Id: I5b5b6f167289b947767b40e7761d90cf06c49816
    Reviewed-on: https://chromium-review.googlesource.com/1181868
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit d710fee3861a6afcd01a993090cb70a535b2f73f
Author: Tobin Ehlis <tobine@google.com>
Date:   Tue Aug 21 08:29:33 2018 -0600

    Expect pass on pointcoord test on Pixel 2
    
    Just ran this locally and it passed so re-enabling.
    
    Bug: angleproject:2727
    Change-Id: I10368664dc68f360474dda8534e1fd28875ff4e8
    Reviewed-on: https://chromium-review.googlesource.com/1183528
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Tobin Ehlis <tobine@google.com>

commit 4bcaf9987acf0581284f332a4717f6e07c279d82
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Aug 17 17:18:28 2018 +0300

    Inherit MultiViewProgramGenerationTest from MultiviewTest
    
    It doesn't need to inherit from MultiviewRenderTest since it doesn't
    need a framebuffer.
    
    BUG=angleproject:2765
    TEST=angle_end2end_tests
    
    Change-Id: I77b232a907afcae7f2f93cbf9da47ca7bd93c959
    Reviewed-on: https://chromium-review.googlesource.com/1179881
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 7a4f6b8c7d5eafe55158e999bd3d8d424c570ead
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Aug 17 11:38:11 2018 +0300

    Fix resource init/teardown in FramebufferMultiviewTest
    
    GL RAII classes can't be used as test class members since the GL
    objects need to be deleted before the test class TearDown is called.
    
    BUG=angleproject:2765
    TEST=angle_end2end_tests
    
    Change-Id: If19d33bd044c9e74e46f35183e8ca1bc6a96d6cf
    Reviewed-on: https://chromium-review.googlesource.com/1179159
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 4836acc518abe344f119b1856f4da02e47e4eab0
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Aug 20 15:23:18 2018 +0300

    Rename and reorganize MultiviewRenderTestBase
    
    MultiviewRenderTestBase is renamed to MultiviewFramebufferTestBase
    since the functionality it has is mostly to set up a framebuffer.
    
    This cleans up the test class without including functional changes to
    ease diagnosis of issues with resource init/teardown.
    
    BUG=angleproject:2765
    TEST=angle_end2end_tests
    
    Change-Id: I0debd6a7a53a2e6bff7100d07b29313d66a79cb5
    Reviewed-on: https://chromium-review.googlesource.com/1181052
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit d20e80b840e4c668d3acf7e1271b0d0fb14f841f
Author: Tobin Ehlis <tobine@google.com>
Date:   Fri Aug 17 10:02:24 2018 -0600

    More EGL validation refactor
    
    Added separate Validate* functions for CopyBuffers(), BindTexImage(),
    ReleaseTexImage(), SwapInterval(), and BindAPI().
    For ValidateBindTexImage() the textureObject is set by validation when
    appropriate and then used in the core function to prevent replicating
    the textureObject look-up code.
    
    Bug: angleproject:798
    Change-Id: Ia32076a10aa0b044c2bdc8e2e24dd36d002c5022
    Reviewed-on: https://chromium-review.googlesource.com/1180090
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Tobin Ehlis <tobine@google.com>

commit f26b27e2953513bb16d002ba3c742cab7f94bd71
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Aug 17 11:01:19 2018 +0300

    Add some shared utilities for multiview tests
    
    This prepares for fixing multiview test resource init/teardown order.
    
    BUG=angleproject:2765
    TEST=angle_end2end_tests
    
    Change-Id: I841327416fa76ac682310ef1b2309f5bb4e9fbac
    Reviewed-on: https://chromium-review.googlesource.com/1179155
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 5055fba5692f8b3904207ec47ab0a8e340341063
Author: jchen10 <jie.a.chen@intel.com>
Date:   Fri Aug 17 09:57:07 2018 +0800

    Optimize Program::resolveLink
    
    The method has to be extremely fast as it's very frequently called. It
    contributes about 2% cpu time in the DrawCall/gl_null benchmark. With
    this optimization it can be decreased to less than 1%.
    
    Bug: chromium:873724
    
    Change-Id: I7fb376db73452dbdf6cb44c92815848e860867c9
    Reviewed-on: https://chromium-review.googlesource.com/1179369
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jie A Chen <jie.a.chen@intel.com>

commit 458c654bff0a51b569e0d290ee119dc44173daa0
Author: jchen10 <jie.a.chen@intel.com>
Date:   Fri Aug 17 10:38:44 2018 +0800

    Fix type cast errors in GLES1State
    
    Bug: angleproject:2306
    
    Change-Id: Ic63de75d12b76395450517c99b742b8a5807cf9b
    Reviewed-on: https://chromium-review.googlesource.com/1179373
    Reviewed-by: Lingfeng Yang <lfy@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jie A Chen <jie.a.chen@intel.com>

commit d731ff82e5a89a393e2b1afb42df50463800e108
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Mon Aug 13 18:18:51 2018 -0400

    Vulkan: support depth offset.
    
    Update pipeline description with depth offset state.  Enable test.
    
    BUG=angleproject:2353
    
    Change-Id: Ib087bbff8e145b0e6e862eb6616a4943a989a7b2
    Reviewed-on: https://chromium-review.googlesource.com/1173447
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 43a2762db19acae2594e32d0cae4825e328745ba
Author: Tobin Ehlis <tobine@google.com>
Date:   Thu Aug 16 14:23:00 2018 -0600

    Refactoring EGL validation
    
    Migrating much of EGL validation to use existing macros.
    
    Added new Validate* functions for eglDestroySurface(),
    eglDestroyContext(), eglWaitNative() functions.
    
    This continues the EGL validation refactor begun with SwapBuffers.
    Following similar pattern used there, but putting this out as an
    intermediate change to verify that code looks good and is going in the
    desired direction.
    
    Bug: angleproject:798
    Change-Id: Id7309b9686543c20b20e273b35df1f8b9010fcd3
    Reviewed-on: https://chromium-review.googlesource.com/1178750
    Commit-Queue: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 3394a73db973081e6ab86ba51c6eccc7ee9826d0
Author: Tobin Ehlis <tobine@google.com>
Date:   Thu Jul 26 09:56:07 2018 -0600

    Refactor of EGL SwapBuffers validation
    
    Move the Validation checks for SwapBuffers into new ValidateSwapBuffers
    function instead of in-line.
    
    This is a first commit for refactor of EGL validation. I'll continue
    the refactor in a similar fashion to this.
    
    Bug: angleproject:798
    Change-Id: Icb308d66c93528c9e440ae68abe85e44f98ede82
    Reviewed-on: https://chromium-review.googlesource.com/1151538
    Commit-Queue: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 6e5bf36ff50f7976463c3c32151ece044e802284
Author: Lingfeng Yang <lfy@google.com>
Date:   Wed Aug 15 09:53:17 2018 -0700

    GLES1: Fixes for Gets() test
    
    - Fixed wrong face parameter for glGetMaterial*.
    - Enabled GL_LINE_SMOOTH capability in state only (no rendering yet)
    - Enabled logical operation capability in state only (no rendering yet)
    - Fixed wrong handling of GL_RGB/ALPHA_SCALE and
    GL_POINT_COORD_REPLACE_OES
    
    Test: Enable and pass Gets() GLES1 conformance test
    
    BUG=angleproject:2306
    
    Change-Id: Ib5c50a2055129b76ad24053baf0dac24dcc00761
    Reviewed-on: https://chromium-review.googlesource.com/1176161
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Lingfeng Yang <lfy@google.com>

commit f0e3c19a0c0284e726b03292ff5fbfb1f7850734
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Aug 15 13:37:21 2018 +0300

    Add error messages for BlitFramebuffer related errors
    
    These are particularly helpful when debugging multiview rendering that
    requires a framebuffer blit.
    
    Existing blitFramebuffer error message strings are moved to
    ErrorStrings.h.
    
    BUG=angleproject:1617
    TEST=angle_end2end_tests
    
    Change-Id: I6e8b45355045d80abf044714ac4b9d818c53bf46
    Reviewed-on: https://chromium-review.googlesource.com/1175125
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 3fd614d06e50fb98d1434fabf31e8583516ad5c1
Author: jchen10 <jie.a.chen@intel.com>
Date:   Mon Aug 13 12:21:58 2018 +0800

    Refactor Context dependency for resolveCompile
    
    The context parameter of Shader::resolveCompile method causes a bad
    impact that many methods in Shader, Program etc. have to have a same
    context parameter. By removing it, these methods can be decoupled
    from Context.
    
    BUG=chromium:849576
    
    Change-Id: Ia5545ee9dce45794550f6086bc0e6c4707e1276e
    Reviewed-on: https://chromium-review.googlesource.com/1172202
    Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 156da4c911bab669fca25f95790791ab11746c57
Author: jchen10 <jie.a.chen@intel.com>
Date:   Wed Aug 15 13:22:24 2018 +0800

    ParallelCompile: Make resource tracking thread-safe
    
    ResourceManger11 tracks the total resource count and memoery size.
    Such tracking can be concurrently updated from both main thread and
    background thread. It can be thread-safe by using std::atomic types
    instead.
    Also ShaderCache in d3d9 adds a std::mutex to be safe.
    
    Bug: angleproject:2771
    
    Change-Id: Ia7cdcc7fd04579839a5d43e4a02adafb09e6078d
    Reviewed-on: https://chromium-review.googlesource.com/1175547
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jie A Chen <jie.a.chen@intel.com>

commit c1551dc2a7dcee0fd1309996e670342472ae7c56
Author: Till Rathmann <till.rathmann@gmx.de>
Date:   Wed Aug 15 17:04:49 2018 +0200

    D3D11 fix: Mipmapping was used although disabled via Sampler
    
    When using a sampler the texture was created as if it has mipmaps,
    regardless what you specified in GL_TEXTURE_MIN_FILTER via
    glSamplerParameteri() -- mistakenly the default value
    GL_NEAREST_MIPMAP_LINEAR or the value set via glTexParameteri() was
    evaluated.
    If you didn't provide mipmaps and didn't let the driver generate them
    this led to not sampling your texture data when minification occurred.
    
    BUG=angleproject:2772
    TEST=angle_end2end_tests.Texture2DTestES3.MinificationWithSamplerNoMipmapping
    
    Change-Id: I195147e208129c6fa8686bb0d9aea6931b2f20b1
    Reviewed-on: https://chromium-review.googlesource.com/1175910
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 21e5e85a4976de15e252167936fd3adb876bb7da
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Tue Aug 14 15:58:12 2018 -0400

    builtools: Roll GN.
    
    Pick up a version of GN which works around crbug.com/791295.
    Now we get VS projects that don't hit the ninja bug described there.
    
    BUG=angleproject:1569
    
    Change-Id: I8758c63459640314a4c76b0d590d388c37ab3125
    Reviewed-on: https://chromium-review.googlesource.com/1175035
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit 2363356f52f6f0d01f174b4a859561f1159f7e15
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jul 17 15:02:36 2018 -0400

    Make sure index ranges outside of the GLint range are handled correctly.
    
    IndexRange uses size_t values but DrawCallParams::mFirstVertex is a GLint. This
    makes sure all casting is safe.
    
    BUG=864528
    
    Change-Id: Iaa95019615af4d3f79b12bbcb0df13b44cb54339
    Reviewed-on: https://chromium-review.googlesource.com/1140898
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 35bc74d6d139192dc0e70f9247d82c338da997ab
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Fri Aug 3 14:07:59 2018 +0800

    ES31: Support atomic functions on D3D11 - Part II
    
    This patch adds the support of translating atomicExchange and
    atomicCompSwap without return value on D3D11 back-ends.
    
    As the last parameter of the HLSL intrinsic functions
    InterlockedExchange and InterlockedCompareExchange is not optional,
    when there is a call of either atomicExchange or atomicCompSwap
    without return value, we add a temporary variable for it, so that
    we can directly translate all of such calls in outputHLSL.cpp.
    
    BUG=angleproject:2682
    TEST=angle_end2end_tests
    
    Change-Id: I7e9c6d3c7d1846c865909b2f5a26592846c82582
    Reviewed-on: https://chromium-review.googlesource.com/1161744
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>

commit 90f466a6cfabdb923bc897bbefce94fcf4e0154a
Author: jchen10 <jie.a.chen@intel.com>
Date:   Mon Aug 13 15:05:25 2018 +0800

    Suppress cast warnings for active textures mask
    
    Bug: angleproject:2747
    Bug: angleproject:2763
    
    Change-Id: I19f9e5ba760d3b5baf3997284523ee1db6bb8166
    Reviewed-on: https://chromium-review.googlesource.com/1172206
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jie A Chen <jie.a.chen@intel.com>

commit a43d7306d87a9f43ef9399e9c43f7db6d698e9c0
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Aug 9 12:43:06 2018 +0300

    Clean up varying linkage in D3D
    
    D3D10+ has stricter rules on linking shader inputs with outputs than
    the previous comments in the code indicated. Add comments and checks
    related to this and structure the code in a way that makes it a bit
    less prone to errors.
    
    This page is intended to document the rules though it is somewhat
    vague:
    https://docs.microsoft.com/en-us/windows/desktop/direct3dhlsl/dx-graphics-hlsl-signatures
    
    BUG=angleproject:2767
    TEST=angle_end2end_tests
    
    Change-Id: I236ec4cd5cbf3889fd2c97947ee81a6c5ae6a787
    Reviewed-on: https://chromium-review.googlesource.com/1169818
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 7ae70d8fb360a3defe4d6734687748a786d565ae
Author: jchen10 <jie.a.chen@intel.com>
Date:   Fri Jul 6 13:47:01 2018 +0800

    ParallelCompile: Parallelize D3D linking
    
    This adds a new linking state to Program. If a Program is in linking
    state, on the one hand the foreground thread may continue issuing more
    GL calls, and on the other hand the background linking threads may be
    accessing Program internally too. Without a proper constraint there
    must be conflicts between them. For this purpose, we block any further
    GL calls to Program until it's actually linked. In addition, we
    prohibit parallel linking an active program, so that ProgramD3D does
    not have to worry about such similar conflicts.
    
    Also changes the WorkerThread to support limiting the number of
    concurrently running worker threads.
    
    BUG=chromium:849576
    
    Change-Id: I52618647539323f8bf27201320bdf7301c4982e6
    Reviewed-on: https://chromium-review.googlesource.com/1127495
    Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit ea926a362b7748679d72bd56780d29c2ff20fd27
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 10 15:22:30 2018 -0400

    Add angle_perftests README file.
    
    Bug: angleproject:1944
    Change-Id: I93f363dc5fb6096baec01584bbd2fb525a84909c
    Reviewed-on: https://chromium-review.googlesource.com/1171502
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit ec1fe5b743599d4e19da511e20f44c286f4118a0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 10 10:05:52 2018 -0400

    D3D: Use angle::Result error pattern.
    
    This completes the refactor for the D3D9/D3D11 back-ends.
    
    Bug: angleproject:2752
    Change-Id: Ie35a925f75c902d8f9fdab6bc33b3bb9c937f85b
    Reviewed-on: https://chromium-review.googlesource.com/1167209
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit b0c8be858f9c04f1daa66a5dcf6b089b58e04fd4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 10 14:36:39 2018 -0400

    Fix AMD detection in angle_end2end_tests.
    
    Some Radeon cards in D3D11 would not report AMD or ATI in the
    Renderer string. Fix this by also checking for 'Radeon'.
    
    Bug: angleproject:2572
    Change-Id: I866c3042e35448deff627efdb8e94fcbc68abf01
    Reviewed-on: https://chromium-review.googlesource.com/1171363
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 077cd858b2d4ca7632a585a27846fd6db1752969
Author: Omar El Sheikh <theoking@google.com>
Date:   Mon Aug 6 10:46:22 2018 -0600

    Vulkan: Introduce Command Buffer Perf Test
    
    Implemented command buffer performance test based on
    LunarG samples. Includes a lot of utility functions and
    should build/run on Linux, Android
    
    Bug: angleproject:2758
    Change-Id: I8606802fb3e8e0621856860c45ef50ba836c26f8
    Reviewed-on: https://chromium-review.googlesource.com/1162119
    Commit-Queue: Omar El Sheikh <theoking@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 04c084dd3cf4140cdd8073ae8975b2aa15bfe50a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Aug 8 15:49:28 2018 -0400

    Extend MultiviewDrawValidationTest.
    
    These tests need to use a valid program for some operations. Also make
    them run in a D3D11 config since the OpenGL extension doesn't seem to
    be available on the GPU config we run on the ANGLE CQ.
    
    Also add tests that cover various subtle state change validation cache
    bugs.
    
    Bug: angleproject:2747
    Change-Id: Idbd1d66854f2e3ca67b59836a370928e1fe8c3b3
    Reviewed-on: https://chromium-review.googlesource.com/1167980
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 9b6a3f92603260e8b324fa3e0e2936f4bf5ae414
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Aug 9 16:22:20 2018 -0400

    D3D: Speculative fix for VertexBuffer crash.
    
    It's possible we were triggering a null pointer dereference in some
    cases of lost device recovery. I was unable to reproduce this in a test
    so this fix is speculative.
    
    Bug: chromium:871178
    Change-Id: I55b7790eabb81c25489bdfd105b5f2cbeedcc8db
    Reviewed-on: https://chromium-review.googlesource.com/1169955
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 6c43a01a57857a63807106bd336ace0993b0c591
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Aug 8 15:49:27 2018 -0400

    Make Context handle dirty texture events.
    
    Moving from State to Context allows the Context to update the State
    Cache class directly. It also calls through to the State class to
    update the Texture cache. This consolidates notification events into
    the Context class. This is also in line with how we handle state event
    updates in other gl classes.
    
    Bug: angleproject:2747
    Bug: angleproject:2763
    Change-Id: Iff7dc7e46ee8768819235ebd151707cd2a03dfc9
    Reviewed-on: https://chromium-review.googlesource.com/1166143
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit f2c6faf5f28e6d89e3246535beda7034490b5c1e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Aug 9 10:54:08 2018 -0400

    Remove some Vulkan perftest configs.
    
    We don't support ES 3.0 or ES 3.1 in Vulkan yet. Remove Vulkan configs
    from tests that don't support the higher features levels. We can
    re-add them once we improve Vulkan support.
    
    Bug: angleproject:2604
    Change-Id: Icca57b5ec696aaeb2a571b79cd1a7869f806c176
    Reviewed-on: https://chromium-review.googlesource.com/1169306
    Reviewed-by: Omar El Sheikh <theoking@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 4787d70ba4d7a655505c9d3ee809331a18d4cc04
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Aug 8 15:49:26 2018 -0400

    Use active textures mask in GL and Vulkan.
    
    This also inlines a few accessors and changes the type of the texture
    cache.
    
    Bug: angleproject:2763
    Change-Id: I82f3c508613f6284d835e8cb64808cfe26a56161
    Reviewed-on: https://chromium-review.googlesource.com/1166142
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 7e4eff11604c62c8c69f2d1d7614f99099773008
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Aug 8 15:49:26 2018 -0400

    Program: Add cache samplers and type masks.
    
    This mask cleans up some of the iteration logic in
    State::syncProgramTextures. It will make it easier to optimize this
    function in the future. This will also make it easier to recompute
    the sampler type validation.
    
    Leads to a 5% improvement in State::syncProgramTextures.
    
    Bug: angleproject:2747
    Bug: angleproject:2763
    Change-Id: Ic9a555df843ad23b4c562e6e4a2d425bee58a856
    Reviewed-on: https://chromium-review.googlesource.com/1164306
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 468484201532b92bdddc3194a66a49aee8cc4a80
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Aug 9 10:46:06 2018 -0400

    Vulkan: Fix perftests null driver.
    
    We needed to set the CWD for the mock ICD as well.
    
    Bug: angleproject:2604
    Change-Id: I1d285c478030056360fd2dceca78e231ac321219
    Reviewed-on: https://chromium-review.googlesource.com/1169426
    Reviewed-by: Omar El Sheikh <theoking@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c43cdad25851a5602698fedbf1a96bf5673d69a2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Aug 8 15:49:25 2018 -0400

    StateCache: Make external API easier to understand.
    
    Instead of updating the cache directly we use event notifier functions.
    For example instead of calling updateActiveAttribsMask in
    Context::linkProgram we call onProgramExecutableChange. This makes the
    code more self-documenting and easier to maintain.
    
    Bug: angleproject:2747
    Change-Id: Id27b58f646f6924db4c16e28609d6baf6b51c78e
    Reviewed-on: https://chromium-review.googlesource.com/1164066
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 03cb526681cd2dcb9af912bffce10c842fa694a7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Aug 8 15:49:24 2018 -0400

    Validate transform feedback conflicts on zero draw.
    
    This conflict should be validated even if the draw call would result in
    no work being done on the GPU.
    
    Bug: angleproject:2747
    Change-Id: I6b32a07ff8a8598dd865270a3a935060f050a68f
    Reviewed-on: https://chromium-review.googlesource.com/1162507
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit e7d80f333c5572f73cc3c0e05ef94bde14127e58
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Aug 8 15:49:23 2018 -0400

    Refactor ValidateDrawBase.
    
    Split the parameter-dependent and parameter-independent validation.
    This will more easily let us cache independent validation in Context.
    
    Bug: angleproject:2747
    Change-Id: I78a12798cd03a398392ca213bf51e2079295b97e
    Reviewed-on: https://chromium-review.googlesource.com/1158610
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit cc1dc5ee4ce57e38dd35743beaab70ebf8353654
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 7 15:27:49 2018 -0400

    Add a perf test for draw calls with texture changes.
    
    This perf test highlights the performance hotspots with
    State::syncProgramTextures.
    
    Also includes a fix to the perf test runner script.
    
    Bug: angleproject:2763
    Change-Id: I69ffa0cc0d5e023944495b7a1c844770a54f7ddc
    Reviewed-on: https://chromium-review.googlesource.com/1166041
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 88602e6e767bd43d324fec2478b5c54c24289dd7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Aug 8 12:49:30 2018 -0400

    Fix vertex array element limit condition.
    
    Certain overflows wouldn't be detected when the attribute size was less
    than the attribute size and we were drawing a small number of vertices.
    
    Fix this and also set the sentinel value for an integer overflow to be
    negative maxint instead of -1 to more effectily distinguish the cases.
    
    Bug: angleproject:1391
    Change-Id: I970d5e2a630c0a84c2c02ac0ac41ab1a395819fe
    Reviewed-on: https://chromium-review.googlesource.com/1162264
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 7cc1e5568ceff689b708b962afac8ee978169a2e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Aug 8 11:21:06 2018 -0400

    Don't use ErrorOrResult in VertexBuffer.h.
    
    This enables the error refactor for D3D.
    
    Bug: angleproject:2752
    Change-Id: I7bb293d6c271d0bffb4d00b55029426b6cd0a42e
    Reviewed-on: https://chromium-review.googlesource.com/1167208
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c86c8b0cecf0656763564fc60c761979333f43df
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Aug 8 09:16:00 2018 -0400

    D3D9: Use angle::Result error pattern.
    
    Bug: angleproject:2752
    Change-Id: Ica77969c6e4b8d61d491396a4fd56b0864e4803c
    Reviewed-on: https://chromium-review.googlesource.com/1163320
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit c93eeaab15269253593e929abce8cdfea52242ef
Author: Takuto Ikuta <tikuta@chromium.org>
Date:   Tue Aug 7 16:25:42 2018 +0900

    Make angle's commit.h depend on git head
    
    This is for reproducible build of angle related libraries.
    
    Bug: 828669
    Change-Id: I807c8fb01b976f6e7a71477ee934b9e0b0cdc684
    Reviewed-on: https://chromium-review.googlesource.com/1164814
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit b983a4b28b8317faa289406f78a236ff54d26590
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Aug 1 11:34:51 2018 -0400

    Pass Context to Framebuffer::invalidateCompletenessCache.
    
    This will be useful for validation state caching.
    
    Bug: angleproject:2747
    Change-Id: I0737adca7406f79b9e15429f30ae22e1299cd7e4
    Reviewed-on: https://chromium-review.googlesource.com/1158611
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 43da7c4a9e9084eff5f25fbffa78444525ca5964
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Aug 1 11:34:49 2018 -0400

    Remove excess gl:: prefixing in validationES.cpp.
    
    Refactor only.
    
    Bug: angleproject:2747
    Change-Id: I0ef7186daec54cd867ec2816f86f7205d836fd91
    Reviewed-on: https://chromium-review.googlesource.com/1158609
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 1bd4bfb0c2d876ab29a7fef9bd89df72593817a0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 3 14:24:22 2018 -0400

    Add draw call perf tests that use the driver.
    
    Also moves some code to the cpp.
    
    Bug: angleproject:2747
    Change-Id: I38468e6276d52d11d5751df6917c66f15ae61246
    Reviewed-on: https://chromium-review.googlesource.com/1163822
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit 6ba9754f4a5668936976ca7d8f5ec69de30f9aee
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Aug 6 10:44:00 2018 -0400

    Refactor index range calculation in DrawCallParams.
    
    BUG=864528
    
    Change-Id: Iac418054ae56a2d9dd277d0474019997aeaa834b
    Reviewed-on: https://chromium-review.googlesource.com/1163633
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit a6d34af67286abac36ab142c5a5b55b59a231158
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jul 31 13:16:47 2018 -0400

    StateManagerGL: Use arrays to store texture and sampler bindings.
    
    The improved cache locality improves performance by 5-10% on
    command_buffer_perftests.
    
    BUG=angleproject:2188
    
    Change-Id: I6cce95481e2b1ce2605bce19b0a29d56718613a1
    Reviewed-on: https://chromium-review.googlesource.com/1156853
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit b8430dd749b044210ea53f54d5aaa8915430e8c5
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Aug 1 15:27:18 2018 -0400

    Use FixedVector for storing textures referenced by a framebuffer.
    
    This improves the performance of Framebuffer::hasTextureAttachment 3X.
    
    BUG=angleproject:2188
    
    Change-Id: I6acc7f4440fe0232438182274d7bba6075530f38
    Reviewed-on: https://chromium-review.googlesource.com/1159171
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit d69a5f124d9b19908edd85f95faf4594b36108b0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Aug 1 11:34:48 2018 -0400

    Cache VertexArray::hasMappedBuffer.
    
    This can be updated in several places. Also adds a test which covers
    some of the paths.
    
    Bug: angleproject:2746
    Change-Id: Id119e527fd0064998d7ad5011a9d8376e7b9dab0
    Reviewed-on: https://chromium-review.googlesource.com/1153569
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 81f891d043cb735e54af0e588c61461192ef057e
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Aug 2 15:54:55 2018 +0300

    Make sure ProgramGL stays usable after failed glProgramBinary
    
    glProgramBinary may fail if the driver is incompatible with the binary
    that is being loaded. After this ANGLE falls back to recompiling the
    GLSL program from source, but this requires that the ProgramGL object
    used is still valid after a failed glProgramBinary call.
    
    Don't delete the GL program after a failed glProgramBinary call so
    that the fallback works as intended.
    
    BUG=angleproject:2751
    
    Change-Id: I55c19d71414163b1cd9f898f304e4aa7052f6b16
    Reviewed-on: https://chromium-review.googlesource.com/1160540
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit cb4ae446080bc4a359782bb2b0a5163c81218b7f
Author: Thomas Miller <thomaslmiller91@gmail.com>
Date:   Thu Aug 2 08:19:09 2018 -0700

    Make Angle compile for Arm64 Windows
    
    Change-Id: Iee947a5abf4a833f155f7cb100577c92323a34e5
    Reviewed-on: https://chromium-review.googlesource.com/1160863
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit cc73f241145d24daea0c96460462f7aac5b83d8c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Aug 1 11:34:48 2018 -0400

    Micro-optimize some validation checks.
    
    Prepares for caching hasMappedBuffer. Also inclines several checks for
    faster speed.
    
    Bug: angleproject:2746
    Change-Id: I74f9408d7b41e245c3f58d367dd2cc8fbace4a7a
    Reviewed-on: https://chromium-review.googlesource.com/1150762
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 2da5356e574bca8489d9371c7d8e4cf4408211b2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Aug 1 11:34:47 2018 -0400

    Final cleanup to ValidateDrawAttribs.
    
    This moves the client attribs check into a shared place. This cleans up
    some of the surrounding code. Also get rid of the vertex count
    parameter.
    
    Bug: angleproject:1391
    Change-Id: I9c688895c2cc5650d7b395497d69033093916f21
    Reviewed-on: https://chromium-review.googlesource.com/1150517
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit a2d1d2dbd58a3515e2c7ffb211b811e315de9677
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Aug 1 11:34:46 2018 -0400

    Context: Cache VAO element limits.
    
    Cache the minimum value for non instanced and instanced active
    attributes. The cache is updated in the following places:
    
    1. Context: bindVertexArray.
    2. Context: any executable change (linkProgram/useProgram/programBinary).
    3. Vertex Array: any state change call.
    4. Buffer: a dependent buffer resize.
    
    This greatly reduces the time we're spending in ValidateDrawAttribs.
    
    Bug: angleproject:1391
    Change-Id: I84bb222a1b9736e6165fe40e972cd4299ca1178d
    Reviewed-on: https://chromium-review.googlesource.com/1150516
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit cf0d8fef25f259cd7fca46061ef91d98545e03ef
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jul 30 13:41:32 2018 -0400

    Remove the proxy context.
    
    BUG=angleproject:2668
    BUG=angleproject:2714
    
    Change-Id: I9f375caa605e13aae04e8051a779515f8ddfb93a
    Reviewed-on: https://chromium-review.googlesource.com/1155105
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 9d05b930eedac7053c0cef41f295939dc5372344
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jul 27 15:47:18 2018 -0400

    Don't store a ref from an EGL image to its source.
    
    ImageSiblings no longer inherit from RefCountObeject because they may be EGL
    or GL objects and should handle their own deletion.
    
    This can cause GL resources to outlive their contexts.  When the GL resource
    is deleted, simply orphan the image.
    
    BUG=angleproject:2668
    
    Change-Id: I4a5c12bbe6e725f946209f9b48345a4097c9c91c
    Reviewed-on: https://chromium-review.googlesource.com/1153601
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 0bc81b6cadc3cc1473aa32a19e8c63168ee72adc
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jul 30 13:34:50 2018 -0400

    Store egl::Image size/format information at initialization time.
    
    This avoids potential null-dereferences on the source if it is orphaned.
    
    BUG=angleproject:2668
    
    Change-Id: I5d591a941d114bb231044572a31a8c43cf3a9c4f
    Reviewed-on: https://chromium-review.googlesource.com/1155104
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit a11819deca7f3e6b0fab20abbd3f55553858d530
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 30 10:26:01 2018 -0400

    Context: Use Observer pattern for container objects.
    
    Container objects in this case are the Vertex Array and Read and Draw
    Framebuffers. Instead of using a mutable dirty bit state with a const
    function to notify of dirty bits we can use the Observer/Subject
    pattern. This more cleanly allows us to do cache updates.
    
    Bug: angleproject:1391
    Change-Id: I88f863894ec3efa00322038f323a84850166107d
    Reviewed-on: https://chromium-review.googlesource.com/1153399
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 08f1a3cd87185497adaa111be4717a247ad28409
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jul 27 17:24:26 2018 -0400

    Use ANGLE_UNLIKELY in ANGLE_TRY_HANDLE.
    
    Bug: angleproject:2738
    Change-Id: I1a699eda4c9795347fb43147275ac43d62523238
    Reviewed-on: https://chromium-review.googlesource.com/1153634
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 620a68952ce921510768208112b7e26da20fc3d6
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jul 27 14:40:40 2018 -0400

    Refactor RefCountObject and Binding pointer into the angle namespace.
    
    Make the onDestroy method generic to use different context and error types.
    
    This will allow us to have RefCountObjects for EGL that return EGL errors
    and destroy with egl::Displays.
    
    BUG=angleproject:2668
    
    Change-Id: I77549cdc7119979d6eec96c7e6246242aed74830
    Reviewed-on: https://chromium-review.googlesource.com/1153452
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit bdc610ae8480eff8e6ca9b29dc6a75ce7ca4c097
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 30 10:26:00 2018 -0400

    VertexArray: Cache element limit for buffer checks.
    
    Uses checked math in VertexAttribute updates to store an element limit.
    This computes more when changing the vertex array rather than at draw
    call time. There may be a performance regression for workflows such as:
    
    loop() {
      VertexAttribPointer
      DrawArrays
    }
    
    It should improve performance in most other cases.
    
    Bug: angleproject:1391
    Change-Id: I210d666d9dae9164a1c65f70f5e2151fb4f2d86d
    Reviewed-on: https://chromium-review.googlesource.com/1150514
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 7a5814e211801b66f39b1fb07fe93aeba298a669
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jul 27 08:12:50 2018 -0400

    D3D11: Use angle::Result error pattern. 3/3
    
    This completes the initial refactor for the D3D11 back-end.
    
    Bug: angleproject:2738
    Change-Id: I6bc59d6a1a724b3c64d6cd904e6748c2acf8f67d
    Reviewed-on: https://chromium-review.googlesource.com/1151452
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 038e725af2577808ed039f9b9d8dea440d3d14bd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jul 27 08:12:49 2018 -0400

    D3D11: Use angle::Result error pattern. 2/3
    
    This CL introduces d3d::Context. This new class can wrap a DisplayD3D
    and a Context9/11 so we can use them through the same code paths. It
    also refactors the D3D11 resource allocation to always have access to
    a d3d::Context.
    
    Bug: angleproject:2738
    Change-Id: I8161acdffee7a868cc26f2d49715413bcca7cc2b
    Reviewed-on: https://chromium-review.googlesource.com/1151451
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit ad63728be30db3c76f35e2ed20793cad19d8b422
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 31 11:22:14 2018 -0400

    VertexArray: Store bound attributes mask in binding.
    
    Making the bound attributes mask part of the struct keeps the style a
    bit more consistent. It will also make updating the cache variable a
    bit easier.
    
    Bug: angleproject:1391
    Change-Id: I2b0ba1161d2579d95ddfbae7a05e490c9644a126
    Reviewed-on: https://chromium-review.googlesource.com/1150513
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit ac43aaa2c2e192e38c8d4118ec7deb3e1842e2c4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 31 11:22:13 2018 -0400

    Refactor client check from ValidateDrawAttribs.
    
    This moves out some shared logic into a more accessible place. We don't
    need to validate buffer overflows when using robust resource access but
    we do need to validate we are using client side data correctly.
    
    Bug: angleproject:1391
    Change-Id: I7a3dca8409c5a1faf1ff7bc732d5ed1bd62eb3b1
    Reviewed-on: https://chromium-review.googlesource.com/1148817
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 8c1508bc0b4feb416af5f87ba8fe5747a5063460
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Mon Jul 30 09:46:27 2018 -0600

    Update name of ANGLE Android apk to match expectations
    
    Android build system wants to see pre-built components
    like this with naming that indicates what it is.
    
    Bug: angleproject:2702
    Change-Id: I84acee78a6ceef5b04c87436c68d41510f6e66c7
    Reviewed-on: https://chromium-review.googlesource.com/1155004
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit dc358af75d5804ce32112a2463cb0036f7aaf79e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 31 11:22:13 2018 -0400

    Context: Cache attributes masks.
    
    This cache is updated in the following locations:
    
    1. GLES1: clientActiveTexture.
    2. GLES1: disableClientState/enableClientState.
    3. Context: linkProgram/useProgram/programBinary.
    4. Context: bindVertexArray.
    5. Vertex Array: most state changes.
    
    Improves performance by about 6% in the GL no-op test. Also includes
    fixes for keeping the client memory attribs mask in sync. The cache
    also includes a boolean if there are any enabled client attributes.
    
    Bug: angleproject:1391
    Change-Id: I93b6a2c8492355958fd5483f14b70535729091d6
    Reviewed-on: https://chromium-review.googlesource.com/1147437
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 97f45b7b7245e6812c02dbc644855ad38178dc65
Author: Ian Elliott <ianelliott@google.com>
Date:   Fri Jul 27 21:03:10 2018 -0400

    Add Android-specific version struct to GetSystemInfo results.
    
    Bug: angleproject:2749
    Change-Id: Ie8fdb67918ea1c1054527fe1e0c1be4054fe9cb3
    Reviewed-on: https://chromium-review.googlesource.com/1154189
    Reviewed-by: Ian Elliott <ianelliott@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Ian Elliott <ianelliott@google.com>

commit 8acb1b612727dd0185d35ceef2e7dcfcc36fce4c
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Jul 30 16:20:54 2018 +0300

    Allow reads from a multiview framebuffer with one view
    
    It's safe to read from a multiview framebuffer if it is layered and
    has just one view. The native OVR_multiview spec supports this as
    well.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    
    Change-Id: I04e1364390574075f7e06e39a64e3bf05a539a05
    Reviewed-on: https://chromium-review.googlesource.com/1156509
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 2eb65034db7115f7cce46e119a6ac0c99f8d1584
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 30 10:25:57 2018 -0400

    Add Context::getActiveBufferedAttribsMask.
    
    This will enable more caching for ValidateDrawAttribs. It requires some
    minor refactoring of the GLES 1 code.
    
    Bug: angleproject:1391
    Change-Id: I52b73c9384d14cdb90ba6337bfc1ab345866fff0
    Reviewed-on: https://chromium-review.googlesource.com/1147436
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 67c388e6c04ec35da3c72dd5fb3275a189c99fd1
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Thu Jul 19 19:16:11 2018 -0400

    Vulkan: support GL_FIXED vertex data.
    
    Override fixed to float, generate code, enable tests.
    
    BUG=angleproject:2405
    
    Change-Id: Ic3e9a31eaf22372023b94081b0f4a83770dcabbe
    Reviewed-on: https://chromium-review.googlesource.com/1144455
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit e452382a61a185577d561cc7807b437f4db32d90
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Thu Jul 19 16:10:53 2018 -0400

    Vulkan: convert/align vertex data from buffers
    
    When we get a buffer with vertex data in an unsupported format or
    alignment, correct that as we copy it to a DynamicBuffer, then use
    the copy.  Enable tests.
    
    BUG=angleproject:2405
    
    Change-Id: I2132abea4d936f6b53d9209be7f99a0e2d8de219
    Reviewed-on: https://chromium-review.googlesource.com/1141277
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 5b3b5cc126a7a0e0b45574c8f8aac24cd5f59e21
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Fri Jul 27 16:49:57 2018 -0700

    Suppress more tests on Android for NVIDIA Shield TV bot.
    
    BUG=angleproject:2507
    TBR=geofflang@chromium.org
    
    Change-Id: I6788303bdca8739c42b1f43e45b5b2c16cea4ed3
    Reviewed-on: https://chromium-review.googlesource.com/1154127
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Commit-Queue: Zhenyao Mo <zmo@chromium.org>

commit 306b6c168dc704501edddefb44aea1085b8a038a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jul 27 08:12:49 2018 -0400

    D3D11: Use angle::Result error pattern. 1/3
    
    This CL improves performance on the draw call microbenchmark by 10%
    when no-oping driver calls.
    
    Bug: angleproject:2738
    Change-Id: I4f5c11db90d9056ce4557b2a4432bc55b42b5bba
    Reviewed-on: https://chromium-review.googlesource.com/1150093
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit c0b615006d69058dea66fe8b2235243e798c07b0
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jul 27 15:59:32 2018 -0400

    Fix/supress issues with EGL images on Android.
    
    ChromeOS devices share some of the same driver bugs as Qualcomm.
    
    NVIDIA devices require the image to be preserved.
    
    BUG=angleproject:2507
    
    Change-Id: I2750f78c219490fcd7e6abd224adf8d8e96b7848
    Reviewed-on: https://chromium-review.googlesource.com/1153606
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 9bf86f07acd523875b88920c3b6ad1c632e7c0bd
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jul 26 11:46:34 2018 -0400

    Don't sync the read framebuffer on draw calls.
    
    The read framebuffer may not be complete and be incapable of syncing.
    
    Removed the generate syncDirtyObjects method so each caller must make sure they
    are only syncing objects that are known to be valid for the operation.
    
    BUG=angleproject:2737
    
    Change-Id: Ia8edf3fca3a8369aa813be46ba99f6b50a36b2e6
    Reviewed-on: https://chromium-review.googlesource.com/1151621
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>

commit 03d132eb80ec0872f1fdbf1c7912a2eb601f2063
Author: LRN <lrn1986@gmail.com>
Date:   Sat Jul 14 13:31:35 2018 +0000

    Support EGL_(WIDTH|HEIGHT) in eglSurfaceAttrib(), fixed resize
    
    Setting EGL_WIDTH or EGL_HEIGHT results in mFixedWidth and mFixedHeight
    changing their values.
    
    Whenever the swap chain is tested for needing a resize, surfaces with
    mFixedSize are treated as if they should be resized to mFixedWidth and
    mFixedHeight from their current size. This way fixed-size surfaces
    can be resized - it's enough to do a couple of eglSurfaceAttrib() calls
    and then either let ANGLE check surface for needing a resize in due course,
    or force that by calling eglWaitNative().
    
    BUG=angleproject:2725
    
    Change-Id: I2932d8ecd5a2f10500e4aa8583a169aa09bf01bb
    Reviewed-on: https://chromium-review.googlesource.com/1139055
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 854429de7d7ff57af5906dcec8c39e4e2ecfded6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jul 27 08:12:48 2018 -0400

    D3D: Return error from getVertexSpaceRequired.
    
    This removes another use of the gl::ErrorOrResult pattern. Unblocks
    error refactoring.
    
    Bug: angleproject:2738
    Change-Id: Ib611a3b68f8995469befd51797dfed34eaeee84e
    Reviewed-on: https://chromium-review.googlesource.com/1151450
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit b156590374aa6b49bffef16e386857f791fe6ea7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jul 27 08:12:48 2018 -0400

    D3D: Pass gl::Context to many more functions.
    
    This makes the Context more available for logging errors.
    
    Also includes more refactoring to VertexDataManager to ensure we can
    access the gl::Context.
    
    Bug: angleproject:2738
    Change-Id: Iae3d22a1403078d236bfe63a3e2d203c13678dc4
    Reviewed-on: https://chromium-review.googlesource.com/1151449
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 021bad40ff8b064d073eb74a5cf37cb29c5ae2e8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jul 27 08:12:47 2018 -0400

    D3D: Add streaming buffer initialize.
    
    This gives us better control over the error returned by the init
    routine. Also changes the streaming buffer in VertexDataManager to not
    be a unique_ptr.
    
    Bug: angleproject:2738
    Change-Id: I3193840dfb71c7574adbe65bc5f9227f4add1fd3
    Reviewed-on: https://chromium-review.googlesource.com/1151448
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 21e9baf71e6e65d56f204011d170932c610a0183
Author: Tom Anderson <thomasanderson@chromium.org>
Date:   Thu Jul 26 15:35:54 2018 -0700

    Roll Vulkan-Loader to a835880
    
    Changelist:
    https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader/+log/da58202e9569eff53560b4c3a007de2297be40d2..a8358804f3c5b4e284d5e9a88b232309bb3c333d
    
    BUG=chromium:427584
    
    Change-Id: I758d2ba05aa731b07e5d336a6ebab45a4837e142
    Reviewed-on: https://chromium-review.googlesource.com/1152356
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 604d873e1df59d7767c0ad6823c50f353478122c
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Jul 20 11:02:43 2018 +0300

    Fix multiview combined with flat interpolation
    
    Declaring HLSL outputs with SV_* semantics after the ones with
    TEXCOORD* semantics makes multiview shaders that contain a flat
    varying run correctly. This is a workaround for what seems to be a
    bug in the DX runtime, reproducible on at least NVIDIA and Intel.
    
    This also adds another, clearer test case for flat interpolation used
    together with multiview.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    
    Change-Id: I127b85497aa4fee58b74893165a980cbdd4444d6
    Reviewed-on: https://chromium-review.googlesource.com/1146809
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 18f7e50330401e019199dcb8f018828ae7827323
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Thu Jul 19 16:06:43 2018 -0400

    Vulkan: make DynamicBuffer reusable, always valid.
    
    After a release() or destroy() it is now possible continue using a
    DynamicBuffer because we reset the internal variables and the next
    allocate() restarts everything.  Also removed the valid() method as it
    wasn't very useful and made reuse more complicated.  No functional change.
    
    BUG=angleproject:2405
    
    Change-Id: I5ca9b758fb300618f6578ebc406494ad281c1622
    Reviewed-on: https://chromium-review.googlesource.com/1144229
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit dbd1612782f53903f702e032e9588a71f1a483c0
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jul 19 11:30:21 2018 -0400

    EGL: Implement EGL Image extensions.
    
    BUG=angleproject:2507
    
    Change-Id: Ica33166e9e23e933977c3ab034d4f5a8cada9fb1
    Reviewed-on: https://chromium-review.googlesource.com/1143454
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 203b26f27d00e2c00e92405af4d1863187db309d
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Wed Jul 25 10:30:43 2018 +0800

    ES31: Translate compute shader HLSL system variables in compile time
    
    This patch moves the implementation of translating compute shader
    builtin variables from link time to compile time.
    
    Unlike graphics shaders that require the information from other
    shader stages, we actually have enough information to translate
    compute shader builtin variables in compile time.
    
    Many redundant codes in DynamicHLSL have been removed after this
    refactor.
    
    BUG=angleproject:1442
    
    Change-Id: I7458006785ff966a00a3825610adc5566652c75e
    Reviewed-on: https://chromium-review.googlesource.com/1149609
    Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>

commit eb4b869758487f6d7e0c6fd4b9f215a7028fec3b
Author: Omar El Sheikh <theoking@google.com>
Date:   Tue Jul 17 10:55:40 2018 -0600

    Introduced eglMakeCurrent Perf Test
    
    Currently disabled test on android
    
    Also made the default EGL device type be
    EGL_PLATFORM_ANGLE_DEVICE_TYPE_HARDWARE_ANGLE
    
    Updated destroy function of RendererVk to properly
    reset the mMemoryProperties member variable
    
    Bug: angleproject:2735
    Change-Id: Ie1f8ab1ac93b18eda4c10c3b10ecd4756f1d8543
    Reviewed-on: https://chromium-review.googlesource.com/1140508
    Commit-Queue: Omar El Sheikh <theoking@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 5188a2747b404b0aac332a3f866e94bdfcd8bb99
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jul 25 10:53:56 2018 -0400

    Pass Context to Query Impl methods.
    
    The Context needed for the error refactor and Vulkan implementation.
    
    Bug: angleproject:2738
    Change-Id: Id816b61ebf342c953a320ab29b6386e356dc64e8
    Reviewed-on: https://chromium-review.googlesource.com/1150092
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a0691b77c39f0760d01c0699f0d0961662a175ef
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jul 25 10:41:22 2018 -0400

    Pass Context to Fence Impl methods.
    
    This is needed for the error refactoring and also for the Vulkan
    implementation.
    
    Bug: angleproject:2738
    Change-Id: I4e1bed7f67ef17feb5554b5838a2ed5feb22bba0
    Reviewed-on: https://chromium-review.googlesource.com/1150091
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 76301e099e99a9515ab5eb57ac40e94dc7cdf776
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 19 11:48:30 2018 -0400

    Vulkan: Fix compound nested sampler struct params.
    
    Replace the struct type of binary and symbol parameter nodes with a
    lookup of the struct type in the tree.
    
    Bug: angleproject:2494
    Change-Id: I1e892e0f1b1f97302d1cdce1035f51c01d0efd9e
    Reviewed-on: https://chromium-review.googlesource.com/1135695
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit bb22f3d91e86d88aaa21a6a69cee9dd007539bb7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 24 23:19:44 2018 -0400

    D3D11: Reduce allocations in GenerateInitialTextureData.
    
    We can re-use the same info for each level of the texture. Also use
    fixed sized arrays for the subresource data structure.
    
    Bug: chromium:867089
    Change-Id: Ie43886f708d1141fb80d30a78cabdd37dfbf6f94
    Reviewed-on: https://chromium-review.googlesource.com/1149082
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 6e909ef279970fe5ac06273e17378a1973f5c8f0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 24 23:19:44 2018 -0400

    D3D11: Pass Context to more Image methods.
    
    Needed to get access to the scratch buffer.
    
    Bug: chromium:867089
    Change-Id: I217bde149d24432e4baa276ead02ebc52a219958
    Reviewed-on: https://chromium-review.googlesource.com/1149081
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 2160821e16dbc4f2715422940df914ed5e77bf92
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 24 23:19:43 2018 -0400

    Add gl::TexLevelArray.
    
    This moves a D3D specific type into a shared location.
    
    Bug: chromium:867089
    Change-Id: Ieac9f1aa4a9de11fbc86550eee30fb242a2cb98e
    Reviewed-on: https://chromium-review.googlesource.com/1149080
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 096c5296c3b0bd2c83211b256d28fe3288792eac
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 24 11:06:49 2018 -0400

    Blit11: Refactor for error returning.
    
    Don't use ErrorOrResult. Also pass gl::Context around to more places.
    
    Bug: angleproject:2378
    Change-Id: Id498471fc9ab4f4d6b2285e110381b10a1247689
    Reviewed-on: https://chromium-review.googlesource.com/1148465
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit daf2e913ad54d462f74c151211322abf12767bc1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 24 11:06:48 2018 -0400

    TextureStorage11: Pass more Context around.
    
    This will make it possible to record errors in the context immediately.
    
    Bug: angleproject:2378
    Change-Id: Ib7ccdbcfa2bf51e3cc876496267c61cf5a26b7bd
    Reviewed-on: https://chromium-review.googlesource.com/1148464
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 7b4ef3da7f25a293616d700153d82304aee3de30
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 24 11:06:48 2018 -0400

    TextureStorage11: Don't use gl::ErrorOrResult.
    
    Bug: angleproject:2738
    Change-Id: I062b2fe3ff2b53bb361539c408b61626ac6c2f25
    Reviewed-on: https://chromium-review.googlesource.com/1148463
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit d91d15bda6a3403024edeb38cf88751d3a7b5f0a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 24 11:06:48 2018 -0400

    D3D11: Don't use ErrorOrResult in TransformFeedback11.
    
    Unblocks further return value refactoring for perf.
    
    Bug: angleproject:2738
    Change-Id: Ie92aa656736f84b4e4ef6d4ab8e0377ad4afb2af
    Reviewed-on: https://chromium-review.googlesource.com/1142955
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 02b5328bc02c4355bdf2abdd255453faed09ebcb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 24 11:06:47 2018 -0400

    D3D: Make computeOffset not use ErrorOrResult.
    
    Unblocks further error refactoring. Also cleans up some checked math
    logic.
    
    Bug: angleproject:2738
    Change-Id: I0c9fba9bb908dfc8424921d0db9871241b86e7de
    Reviewed-on: https://chromium-review.googlesource.com/1142954
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 20d6d48cbf90a276fc801b1f464aed17cb3b673a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 24 11:06:47 2018 -0400

    D3D11: Make createStagingTexture return Error.
    
    This removes the use of the ErrorOrResult pattern in Renderer11.
    
    Bug: angleproject:2738
    Change-Id: Icc046ddd86394df56ca1acd10b1804fd6afa8ad0
    Reviewed-on: https://chromium-review.googlesource.com/1142953
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit df0e48fed43789c3e07dee6fed4679cba9900c6c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 24 11:06:46 2018 -0400

    Buffer11: Don't use ErrorOrResult.
    
    This pattern isn't available when using angle::Result instead of
    gl::Error. Refactor the Buffer11 class to use gl::Error instead. This
    unblocks further return value refactoring for perf.
    
    Bug: angleproject:2738
    Change-Id: I739044ae318c6b1fc40756a4f1fcadf609276c1a
    Reviewed-on: https://chromium-review.googlesource.com/1142952
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 0359b6977caf19b91db435ac1219107b325e237c
Author: Omar El Sheikh <theoking@google.com>
Date:   Mon Jul 23 17:22:00 2018 -0600

    Vulkan: Check mInFlightCommands doesn't grow too fast
    
    The mInFlightCommand vector could grow faster than
    the GPU can complete tasks. Check for this edge case
    and give the GPU a chance to catch up with work.
    
    Also allows us to enable performance tests for Draw
    Calls on vulkan since it was affected by this limit
    check before.
    
    Bug: angleproject:2742
    Change-Id: I66a86ea6b5300fa3d74b07dc341aa597824b5f09
    Reviewed-on: https://chromium-review.googlesource.com/1147607
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit faf50849562c30403b1764ae42ef8da766470889
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jul 24 13:49:05 2018 -0400

    EGL: Validate that EGL_GL_TEXTURE_ZOFFSET is used only for 3D sources.
    
    BUG=angleproject:2507
    
    Change-Id: I0e5879acfbb7ba1b9d711f518205cebad2edb643
    Reviewed-on: https://chromium-review.googlesource.com/1148657
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 21edf3db5e3330a4d65b102d9a917e7ce55dc230
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Mon Jul 23 16:44:16 2018 -0400

    Fix stencil mask check in Framebuffer::partialClearNeedsInit
    
    Bug: 850060
    
    Change-Id: I9672e6c93e92941e61763d77180bef1548f5fbde
    Reviewed-on: https://chromium-review.googlesource.com/1148897
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit ddd6e87468516760e91b0bd86785db2a543c18f3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 24 10:49:06 2018 -0400

    Vulkan: Suppress 3 failing blit tests on Pixel 2.
    
    Bug: angleproject:2743
    Change-Id: I1693a5b301fa10a92263aab0cec14829851fe21f
    Reviewed-on: https://chromium-review.googlesource.com/1148461
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 06235df9ff91acdf3cf50f2a6febb38b5e26cc6b
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Jul 20 14:26:07 2018 +0300

    Make HLSL shaders use only one main function
    
    Instead of having separate main() and gl_main() functions in HLSL
    shaders, add initializing outputs and inputs directly to the main
    function that's in the AST.
    
    This works around some HLSL bugs and should not introduce name
    conflicts inside main() since all the user-defined variables are
    prefixed.
    
    BUG=angleproject:2325
    TEST=angle_end2end_tests
    
    Change-Id: I5b000c96aac8f321cefe50b6a893008498eac0d5
    Reviewed-on: https://chromium-review.googlesource.com/1146647
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 522095f7d7fe04bf1479a20a9707372d988a9da2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 23 14:59:41 2018 -0400

    Rename "color" functions to "pixel" functions.
    
    This extends of the copy, read and write functions to cover depth and
    stencil formats.
    
    Refactoring change only.
    
    Bug: angleproject:2673
    Change-Id: I4b0b2f4cf8621051cacd95cdbd6d70f94ca612e2
    Reviewed-on: https://chromium-review.googlesource.com/1147152
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit b436aac31d667059956c9348a3baf8f27ca7395e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jul 18 17:23:48 2018 -0400

    Vulkan: Support inverted blit for depth/stencil.
    
    Depth/stencil formats are packed tightly when reading back Images with
    vkCmdCopyImageToBuffer. Same for the reverse. Thus we need to take this
    into account when doing our blitWithReadback implementation.
    
    This splits the depth/stencil blit into two separate steps. Fixes all
    the remaining blit failures in BlitFramebufferANGLETest.
    
    Bug: angleproject:2673
    Change-Id: Ie9f43f782a82b5a0746d00122b24f81088d57c4c
    Reviewed-on: https://chromium-review.googlesource.com/1140740
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 3003f0484d1af40dbaf2510564bdb1fc0f43bdab
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Mon Jul 23 14:41:57 2018 -0400

    Don't generate error for compressed texture formats in glFramebufferTexture2D
    
    This validation error was added in 0186813531a7e8f47d584ca7fb54a73ed99d19be
    without explanation. Shouldn't be an error according to GLES 2.0.25 spec.
    
    Bug: 844846
    Change-Id: Idc6d4d76304cbede7aa6d96bdccaefec40272b84
    Reviewed-on: https://chromium-review.googlesource.com/1147149
    Reviewed-by: Antoine Labour <piman@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit db9c69edeb1e791f72e01f7a5c68de16bb03d295
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jul 18 17:23:47 2018 -0400

    Make PackPixels take an angle::Format.
    
    This removes the format type parameter from places where it isn't
    needed. It also removes the 'write color' functions map. This map was
    redundant with the angle::Format write function.
    
    Bug: angleproject:2729
    Change-Id: I24e4548a89342237d7ed25180fea156fba51ccab
    Reviewed-on: https://chromium-review.googlesource.com/1142300
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit cd7cd2a8547bbe96b01fb3c9121ef695f0f0e2e2
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jul 19 11:25:54 2018 -0400

    Pass Context to EGLImage creation and Display to EGLImage initialization.
    
    BUG=angleproject:2507
    
    Change-Id: I6c195434131709203f892be6037e974002c174c2
    Reviewed-on: https://chromium-review.googlesource.com/1143453
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 0df813c37570d999057e6a7be5b90d1fa8fde782
Author: Lingfeng Yang <lfy@google.com>
Date:   Thu Jul 12 12:52:06 2018 -0700

    GLES1: GL_OES_draw_texture
    
    BUG=angleproject:2306
    
    This implements GL_OES_draw_texture using a few bits of new state
    in the renderer and adding a code path for it in the shader, using
    gl_VertexID to draw the quad backing the texture draw. This allows us
    to avoid allocating a separate vertex array for the texture draw and
    reuses the current shader as much as possible, plugging in to the
    existing multitexturing pipeline.
    
    - Add unit test and sample
    - No new test expectations, but advertising GL_OES_draw_texture makes
    the DrawTex GLES1 conformance test non-trivial and actually test
    glDrawTex*.
    
    Change-Id: I1485098249fe44d46a01cab4bb7b2c39d0492923
    Reviewed-on: https://chromium-review.googlesource.com/1135930
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Lingfeng Yang <lfy@google.com>

commit 94c91a95358bd9ab8e272fa9cafdcd4f8c1a4875
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Jul 19 15:10:24 2018 +0300

    Don't allow multiview clear during timer query
    
    This brings the ANGLE_multiview spec in line with WEBGL_multiview.
    
    This also fixes the test so that the timer query extension is
    requested when it is being tested.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    
    Change-Id: Ibd5c117a5ae2642d26137d9ad44420d6601ba762
    Reviewed-on: https://chromium-review.googlesource.com/1143283
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit ba365939b90c76e5692aa97d2825dea6fe8bb200
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jul 18 17:23:46 2018 -0400

    Rename angle::Format::ID to angle::FormatID.
    
    This allow for predeclaring the enum. It solves some include dependency
    issues.
    
    Bug: angleproject:2729
    Change-Id: Ibbbab0796e466c62848404ba277c5f454fd9ac62
    Reviewed-on: https://chromium-review.googlesource.com/1142299
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit d754eb5620ed7eb6fc26f6b19494d37e4c6d19f1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 19 14:55:03 2018 -0400

    Vulkan: Clean up FramebufferVk blit methods.
    
    Renames mReadPixelBuffer to make it consistent with the blit buffer.
    
    Also moves the rectangle clipping out of the blit implementation
    methods. This shares a bit of code.
    
    Also renames some blit implementation methods for consistency.
    
    Bug: angleproject:2729
    Change-Id: Ida81e85af4751cf8cb4b3029ed4e4b53bfa7b03d
    Reviewed-on: https://chromium-review.googlesource.com/1142298
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 0be37b44499672aa5f86d50f7087ff6e2de1c4fd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 19 10:03:52 2018 -0400

    Fix ImageTest.
    
    This test suite was missing the "GL_" prefix on some of the extension
    checks. This was causing every test in the suite to be skipped. Fix
    the check and also add some sanity checks that should ensure we expose
    certain extensions on particular platforms and renderers.
    
    Was discovered while working on changing the egl::Image class.
    
    Bug: angleproject:2714
    Change-Id: Ida89b5c3c33c534e60cbd55c7e1117a6ef6faae9
    Reviewed-on: https://chromium-review.googlesource.com/1142963
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit da41ac69b91f62c0b348826396609ec6ca6b0fa7
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Jul 19 16:45:32 2018 +0300

    Fix decorating ViewID_OVR in HLSL output
    
    ViewID_OVR should not be decorated in HLSL output since it is an
    internal variable. Make sure that DecorateVariableIfNeeded() is used
    for varyings instead of just Decorate() so that the internalness is
    checked correctly and ViewID_OVR doesn't get decorated.
    
    This avoids possible name conflicts between the internal ViewID_OVR
    and any user-defined variables named ViewID_OVR.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests, angle_unittests
    
    Change-Id: I9ed9876d4b2c760e7a11b0b270a2190993e840e5
    Reviewed-on: https://chromium-review.googlesource.com/1143398
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit da92a476b50aa5db1c5549c404435c8b1ce47f4f
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Mon Jul 2 15:55:19 2018 +0800

    Clean up VaryingPacking
    
    This patch intends to clean up some issues in VaryingPacking
    to implement geometry shader easiler.
    
    1. Use emplace_back() instead of push_back() when necessary.
    2. Remove unnecessary parameter in VaryingPacking::packUserVaryings().
    3. Remove the assignment of semanticIndex and only handle them in D3D11
       back-ends.
    
    BUG=angleproject:1941
    
    Change-Id: Ia09c07f01dc442ce95cb4984e4b768d0c79872c7
    Reviewed-on: https://chromium-review.googlesource.com/1128576
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>

commit 6a5d98c4b528a55491047b0217d3aedf0b9c8705
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Fri May 4 15:42:20 2018 +0800

    ES31: Implement Vertex Attrib Binding on D3D11
    
    This patch implements Vertex Attrib Binding on D3D11 and enables all
    the test cases related to Vertex Attrib Binding on D3D11 back-ends.
    
    On D3D11 back-ends the information in both GL vertex attributes and
    bindings should be updated together. When a binding is dirty, we need
    to find out and update all the attributes that are using this binding.
    To speed up this process, this patch adds a map from each binding to
    all the attrib indexes that are using this binding. This map may be
    updated when VertexAttribBinding is implicitly or explicitly called.
    With this map we can easily get all the attributes that should be
    updated with the current dirty binding.
    
    This patch also removes some unused variables in VertexArray11.cpp.
    
    BUG=angleproject:2700
    TEST=dEQP-GLES31.functional.vertex_attribute_binding.*
         angle_end2end_tests
    
    Change-Id: I9a28ec357fd3aba835812cecc410cfa4e3734f0c
    Reviewed-on: https://chromium-review.googlesource.com/1048980
    Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit c16f518e82127fc77e3f0889cd6ff853cd7e5977
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jul 18 10:40:03 2018 -0400

    Vulkan: Disable the depth/stencil states when there are no depth/stencil buffers
    
    We sometimes emulate depth-only or stencil-only buffers with depth-stencil
    buffers. Disable depth-stencil states that allow reading or writing to these
    buffers that should not exist.
    
    BUG=angleproject:2739
    
    Change-Id: I4f54800404f340eb53f04176e208f19a83a2899c
    Reviewed-on: https://chromium-review.googlesource.com/1141932
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 639bc90867325cfcc95b9365c66b6128fcd1b654
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jul 18 17:08:27 2018 -0400

    Vulkan: Pass Renderer to FramebufferVk init.
    
    This cleans up a few places where we were initializing the dynamic
    buffers.
    
    Bug: angleproject:2729
    Change-Id: I0c9a61c62ef4d0eb865abc0011f7086d6e2acef6
    Reviewed-on: https://chromium-review.googlesource.com/1142297
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit 4edf1bcae76243faec2baacc7227e94490dd82b8
Author: Tobin Ehlis <tobine@google.com>
Date:   Tue Jul 17 15:14:14 2018 -0600

    Roll Vulkan repos fwd as of 7/17
    
    Update Vulkan Layers/Loader/Header to latest versions as of 7/17.
    This includes additional validation checks related to vertex attributes
    that will be useful to have in ANGLE.
    
    Bug: angleproject:2736
    Change-Id: I7c5b07c73be8958cb9f8783fd9dd7a51e1f82caa
    Reviewed-on: https://chromium-review.googlesource.com/1141081
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c685586b2725e2dd17772bdb26c01fe7a67c4b25
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jul 18 15:06:54 2018 -0400

    Vulkan: Fix size_t warning in TextureVk.
    
    Bug: angleproject:2740
    Change-Id: I5f942e3add90b0cbf82aff7280d3a256ee60ac3b
    Reviewed-on: https://chromium-review.googlesource.com/1142381
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 38971fd135992a2abfbc57bb08ec43ecade178ca
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jun 28 15:19:18 2018 -0400

    Vulkan: Support multiple depth stencil formats for backbuffers.
    
    Since the backbuffer's depth stencil is always emualted, it can support any
    depth stencil format.
    
    BUG=angleproject:2692
    
    Change-Id: I29df62bb322c1ac4e9fcd54e4cbc4c219cf12e83
    Reviewed-on: https://chromium-review.googlesource.com/1119075
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 799e075abeead787505b3ddac9f7c6b32404bc16
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 17 13:27:21 2018 -0400

    Replace D24_UNORM with a packed version.
    
    Adding an explicit X8 channel packs the format into 32 bits. This gives
    the correct 4-byte alignment instead of a mysterious 3-byte version.
    
    Bug: angleproject:2729
    Change-Id: Id38f74db4ba61c500baeb6526a9d14e1d31d4363
    Reviewed-on: https://chromium-review.googlesource.com/1140739
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit e2c00841a55fb1a8d6615ecf41e1b971103d971c
Author: Jiang <yizhou.jiang@intel.com>
Date:   Fri Jul 13 16:50:49 2018 +0800

    GenerateMipmaps should generate INVALID_OPERATION in ES 2.0 with EXT_sRGB
    
    According to the OpenGL extension spec EXT_sRGB.txt, EXT_SRGB is based on
    ES 2.0 and generateMipmap is not allowed if texture format is SRGB_EXT or
    SRGB_ALPHA_EXT.
    
    BUG=769989
    TEST=SRGBTextureTest.SRGBValidation*
    TEST=SRGBTextureTest.SRGBAValidation*
    
    Change-Id: Ic51da224fcd318187865a44630af6fca5c3ad2de
    Reviewed-on: https://chromium-review.googlesource.com/1137924
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Yizhou Jiang <yizhou.jiang@intel.com>

commit 04f0f133032c1039afd92dfbe72fde8b4915c480
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jul 16 15:45:44 2018 -0400

    Vulkan: Expose an unimplemented EGL_ANGLE_robust_resource_initialization.
    
    Simply exposing the extension string allows the passthrough command decoder to
    initialize for testing.  It still fails all tests that use the extension.
    
    BUG=angleproject:2722
    
    Change-Id: I71f408d05009afb594835c0b741256e26209d93e
    Reviewed-on: https://chromium-review.googlesource.com/1138824
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 252ec919112592d2c897718a222f642de3b7dc16
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jul 16 15:39:34 2018 -0400

    Vulkan: "Implement" EGL_ANGLE_display_texture_share_group
    
    BUG=angleproject:2724
    
    Change-Id: I4a86c88ec8a1508a0961091ad6b4429dcd8775d4
    Reviewed-on: https://chromium-review.googlesource.com/1138823
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit d691aeeb956f9abe6b9592d9f45853f0016ecb88
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jul 11 16:32:06 2018 -0400

    Vulkan: Implement GL_CHROMIUM_copy_texture with CPU copies.
    
    BUG=angleproject:2723
    
    Change-Id: Ic3905531d3e91f94ff0ce10a09ca5dcdf643e21f
    Reviewed-on: https://chromium-review.googlesource.com/1134084
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 6fb8ba4e866045dbcbeaabb6d58bb62f66e2c48c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 16 19:12:33 2018 -0400

    DisplayD3D: Don't release bound texture in restoreLostDevice.
    
    If we are restoring a lost device we should have deleted all Contexts.
    This would have freed any bound textures.
    
    Remove the release call and replace it with an ASSERT. One usage of the
    Proxy Context remains: Display::destroyImage.
    
    Bug: angleproject:2714
    Change-Id: Id3e4b7b0341092a8fae37705a6bb171167196fe2
    Reviewed-on: https://chromium-review.googlesource.com/1137880
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit e62489f3258f22153e65402317c19332c61e94a6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 16 19:12:33 2018 -0400

    Surface: Use ref count for bindTexImage.
    
    This frees up one more use of ProxyContext. It will also keep the
    bound surface alive until it is unbound from a Texture.
    
    Two usages of the proxy context remains.
    
    * DisplayD3D::restoreLostDevice.
    * Display::destroyImage.
    
    Bug: angleproject:2714
    Change-Id: Ied72c6ebe060d7fc1743b3313e162d540fcbfe02
    Reviewed-on: https://chromium-review.googlesource.com/1137878
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 80d4ef1051d9426a25659d36e9efa12f76356ee7
Author: Omar El Sheikh <theoking@google.com>
Date:   Fri Jul 13 17:08:19 2018 -0600

    Vulkan: Fixed improperly set env variable
    
    After the first test using the Mock ICD runs, an environment
    variable VK_ICD_FILENAMES is set when previously it did not
    exists. The cleanup of that test, rather than deleting the
    environment variable, set it to an empty string, which the
    Vulkan loader would use for subsequent Vulkan tests, causing
    issues with Vulkan not finding the correct extensions.
    
    Had to disable two more tests since they started failing once
    those backends were enabled.
    
    Bug: angleproject:2604
    Change-Id: Ie103756eed60d255d1dd92d7ef3b726183feeb1e
    Reviewed-on: https://chromium-review.googlesource.com/1137342
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Omar El Sheikh <theoking@google.com>

commit e076a2327f0d082d46683f32614c495e049a4bb2
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jul 16 15:34:05 2018 -0400

    Vulkan: Fix ReadPixels checking the wrong FBO for flipping.
    
    Only the read framebuffer should affect the flipping for ReadPixels.
    
    BUG=angleproject:2673
    
    Change-Id: I3733bb823f5f3ebd55df63a36cc99b510dc0b1aa
    Reviewed-on: https://chromium-review.googlesource.com/1138817
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 242c4fe86801978907bb7794b7b13f75eccc558a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 12 15:56:56 2018 -0400

    Vulkan: Store ProgramVk shaders in ShaderInfo.
    
    This encapsulates most of the logic for a Program into a helper class.
    Now we can store multiple instances of the Program's back-end to
    implement different shader behaviour at draw time.
    
    This will be useful for shader patching for OpenGL line segment raster.
    
    Bug: angleproject:2598
    Change-Id: I800a737088574e28f3a4ec23b91c0cb2647e4e12
    Reviewed-on: https://chromium-review.googlesource.com/1127302
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit b4927eb0e7a13fe6fa875da9fc1f8f5e80bed87d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 16 11:39:46 2018 -0400

    Context: Fix missing "setErrorSet".
    
    This would cause internal errors to trigger a nullptr dereference.
    Bug introduced in "Add gl::ErrorSet and angle::Result." 6b873dd7
    
    Bug: angleproject:2491
    Change-Id: Ia98d59d27614912631d41ff0823ee5aa50769733
    Reviewed-on: https://chromium-review.googlesource.com/1138408
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 5a4c932a72e1e6207d6b12b7d25e996060a473da
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 16 11:01:58 2018 -0400

    Vulkan: Implement "default" vertex attributes.
    
    Rendering from disabled attributes is implemented using small dynamic
    buffers. The buffers use a stride of zero so the same vertex data is
    pulled for every index.
    
    This fixes all the disable attribute tests in dEQP.
    
    Bug: angleproject:2444
    Change-Id: I04fe139076da3e3ff723bed8eb17e333b4cb0ddf
    Reviewed-on: https://chromium-review.googlesource.com/1136664
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 419acc8f4f3b238e714cbaaddeeea1bedd366bf8
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Sun Jun 24 19:57:31 2018 -0400

    Vulkan: Convert streamed vertex data as needed.
    
    Add two members to vk::Format:
    - vertex data copy function
    - flag indicating if the function converts or not
    Use the function when streaming vertex data so it gets converted if needed.
    Add fallbacks for integer formats.  These formats will now work everywhere,
    as long as they are in client memory, not a buffer object.
    Adjust test expectations accordingly.
    
    BUG=angleproject:2405
    
    Change-Id: I677221219d933c35740633a0ab7694293e218177
    Reviewed-on: https://chromium-review.googlesource.com/1084328
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 84c662b9ce4037280d8381795b85574434eca028
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 12 15:56:55 2018 -0400

    Vulkan: Store program textures cache.
    
    The program textures update needs to call into the incomplete textures
    cache. Moving this step into an update mechanism allows us to avoid
    some complexity of calling the incomplete textures cache inside the
    ProgramVk class.
    
    This enables further refactors for draw call shader patching and line
    segment raster.
    
    Bug: angleproject:2598
    Change-Id: I0fd81ca58d2641572a2dd444992ccddd99ebc823
    Reviewed-on: https://chromium-review.googlesource.com/1127301
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit d34aa362944c95b6384b2ef2593754c9436c0f69
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 12 15:56:54 2018 -0400

    Vulkan: Add a create shader helper.
    
    This will be useful for line segment rasterization.
    
    Bug: angleproject:2598
    Change-Id: I84912c976665ecb32903181fa820b8db88786a28
    Reviewed-on: https://chromium-review.googlesource.com/1127299
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit ddd8eaa8dca0b59531eb35612a6130968e1b90fc
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Jul 16 14:28:58 2018 +0200

    Suppress reverse blits tests on Qualcomm/Vulkan
    
    BUG=angleproject:2732
    
    Change-Id: I1fa3c46654c7e6d446ec3bb43eb3a6c01a15e8f9
    Reviewed-on: https://chromium-review.googlesource.com/1138234
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 76c1d14b8e212db9822a6398343a344ff9028298
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Jul 14 11:33:39 2018 -0400

    D3D11: Lift dEQP-GLES3 uniform_api test expectations.
    
    Unclear if these tests are still failing.
    
    Bug: angleproject:1098
    Change-Id: If64a0a046d2b21b67f67aba1efb92d33a30b96c3
    Reviewed-on: https://chromium-review.googlesource.com/1137390
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 92e955f2c4ab38fcabeb32acb03ff019247a912a
Author: Omar El Sheikh <theoking@google.com>
Date:   Fri Jul 13 17:20:48 2018 -0600

    Vulkan: Fix premature pointer freeing
    
    Pointer was freed before using it's contents to set the
    value of the ImageExtent to be returned
    
    Bug: 863603
    Change-Id: Ibdb26c862f3216e7314516f7aee64942467b4add
    Reviewed-on: https://chromium-review.googlesource.com/1137349
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 06ca634eba4a4e5155aa78250f6bd4b52028f746
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 12 15:56:53 2018 -0400

    Vulkan: Refactor for draw call shader patching.
    
    This refactors a few methods to enable draw call shader patching. The
    shader serials in the Pipeline description are inserted right before
    we query the pipeline cache. This is done during a draw call. Also
    renames the 'QueueSerial' member of the ObjectAndSerial class to just
    'Serial' to more accurately reflect it usage in ShaderAndSerial.
    
    Also changes the GlslangWrapper class to have all static methods. If we
    need to store state we can revert these changes at some point.
    
    Also splits the GlslangWrapper link call into two static calls. One
    call is called to get the linked source code. The second call compiles
    the linked sources into shader code. Only the second call will be
    necessary for draw call shader patching to implement OpenGL line
    rasterization in Vulkan.
    
    Bug: angleproject:2598
    Change-Id: I7bad3c3eeab1fb062c15a840836db4a28f841a26
    Reviewed-on: https://chromium-review.googlesource.com/1127158
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit d9618bf4fcccdd6975c789ac9d4df1972b75f0f0
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Sun Jun 24 19:57:31 2018 -0400

    Vulkan: prepare for buffer format fallbacks.
    
    Generate code for buffer fallbacks as well as texture fallbacks.
    No functional change.
    
    BUG=angleproject:2405
    
    Change-Id: I9f30a2cbb3cd9ba1d18474f99cba434b030b0232
    Reviewed-on: https://chromium-review.googlesource.com/1113026
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit ecbaf6663915263dacd279119a1c9fe4d1d9e8d5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jul 13 15:00:38 2018 -0400

    dEQP: Fix non-GTest error logging.
    
    Using the non-GTest dEQP targets led to crashes when deferencing a
    nullptr error logging method. Fix this by skipping platform init if
    there is a nullptr logError function.
    
    Bug: angleproject:2552
    Change-Id: I161e35b49f7e9a7592cec968e3540a2e8b625f94
    Reviewed-on: https://chromium-review.googlesource.com/1136663
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>

commit e835609c20d4437978731549afcfc6371aa03670
Author: Luc Ferron <lucferron@chromium.org>
Date:   Thu Jul 12 12:36:47 2018 -0400

    Vulkan: Implement gl_DepthRange support using driver uniform
    
    Bug: angleproject:2592
    Change-Id: Iec3d111df4d8e5cef205c8afb177f0514ffac5c8
    Reviewed-on: https://chromium-review.googlesource.com/1135448
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit f786b706a388b3d9af909508cc56639a10518038
Author: Luc Ferron <lucferron@chromium.org>
Date:   Tue Jul 10 11:01:43 2018 -0400

    Vulkan: Enable viewport Y flipping
    
    Bug: angleproject:2728
    Bug: angleproject:2726
    Bug: angleproject:2673
    Bug: angleproject:2729
    Change-Id: Iad657a116bf9fcd06c3d4cf1918aaacba4f1fd38
    Reviewed-on: https://chromium-review.googlesource.com/1131515
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit 21061026100668b9f5b9950e8bfc8d52ce5de271
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 12 23:56:30 2018 -0400

    Vulkan: Use angle::Result error handling.
    
    Introduces a vk::Context class to contain an error handler and Renderer
    pointer. This abtracts the common code path for ContextVk + DisplayVk.
    
    Removes vk::Error in favor of the POD angle::Result class. There are a
    few remaining usages of gl::Error that will have to be cleaned up when
    we can change the front-end APIs.
    
    Bug: angleproject:2713
    
    Change-Id: I5e68f223d595c6c561b59d6a85759e5738ed43c6
    Reviewed-on: https://chromium-review.googlesource.com/1128924
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit 6b873dd796dca13172a8699eba0517c3a79cb08f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 12 23:56:30 2018 -0400

    Add gl::ErrorSet and angle::Result.
    
    gl::ErrorSet can handle errors and is accessible from ContextImpl.
    It allows the implementation to mutate the error set without using
    the gl::Context directly.
    
    angle::Result is the faster POD return value class. It should generate
    optimal code. It can also be used seamlessly with the ANGLE_TRY macro.
    
    Also introduces an internal enum as a workaround for generating and
    consuming errors in the back-end. When the internal enum is used as
    an error return value the error is not consumed in the front-end. This
    is a temporary workaround only.
    
    Bug: angleproject:2491
    Bug: angleproject:2713
    Change-Id: I6cbdaadd075ccbdf241844cbcbc4ed5c3be40a8b
    Reviewed-on: https://chromium-review.googlesource.com/1133200
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit 0cc29136593427d6c6fac6efc54a303ebfc01686
Author: Luc Ferron <lucferron@chromium.org>
Date:   Thu Jul 12 14:06:41 2018 -0400

    Vulkan: Remove contextVk warnings in syncState
    
    Bug: angleproject:1578
    Change-Id: I1ce739f596b74397b625fee3806f2e1d219b29b6
    Reviewed-on: https://chromium-review.googlesource.com/1135573
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 523c5e3122ed0e5b0d109a97d230c8cbf88e209c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 12 16:39:30 2018 -0400

    Vulkan: Suppress PointCoord test on Android.
    
    This started failing with the driver uniform rework:
    
    Vulkan: Add driver uniforms for point coords flipping
    
    https://chromium-review.googlesource.com/1133584
    
    Suppress until we can investigate.
    
    Bug: angleproject:2727
    Change-Id: Id1d1fe713ac058a0bb45230ba9e292f012755bcc
    Reviewed-on: https://chromium-review.googlesource.com/1135729
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 1617e69e3883e77f8ae05680576d08d905fcc70f
Author: Luc Ferron <lucferron@chromium.org>
Date:   Wed Jul 11 11:08:19 2018 -0400

    Vulkan: Implement depth/stencil blit with flip of the viewport
    
    - This makes all end2end tests pass successfully on Win/Nvidia
    with viewport flipping enabled.
    
    Bug: angleproject:2673
    Change-Id: I031c0a0f5fb0aede58b59479e57c2c127bcb964c
    Reviewed-on: https://chromium-review.googlesource.com/1133703
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit 1283ef62b4af8e96aa37b45e569d0e5a96d9a38c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 12 10:15:42 2018 -0400

    translator: Add TIntermPreprocessorDirective.
    
    This new node type can be used to inject preprocessor directives into
    the intermediate tree. Outputting the preprocessor directive is easy
    for the GLSL back-end. This can be used to implement workarounds such
    as the OpenGL line rasterization rules on Vulkan.
    
    Also fixes the build that was broken on Win/x64 with a prior change and
    makes more methods in IntermNode.h const.
    
    Bug: angleproject:2598
    Change-Id: Ifd6d0ac7912ccf2137997bb9a0187fd063023d5e
    Reviewed-on: https://chromium-review.googlesource.com/1133420
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 9ff9c7732a8731cac249127ee68f1f5f02d8eb63
Author: Luc Ferron <lucferron@chromium.org>
Date:   Wed Jul 11 13:08:18 2018 -0400

    Vulkan: Add driver uniforms for point coords flipping
    
    This new driver uniform allows us to dynamically decide if we
    flip the y coordinate of the gl_PointCoord variable.
    
    We only flip the coordinate if we render downside-up, and otherwise
    we cancel the flipping since the y coordinate doesn't need
    modification anymore.
    
    This completes all end2end and deqp gles2 tests success when viewport
    flipping is enabled on Windows Nvidia.
    
    Bug: angleproject: 2673
    Change-Id: I570e01ef4965933428375f6ebd8eac83ef16fbff
    Reviewed-on: https://chromium-review.googlesource.com/1133584
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 6c70bd8ad044622b0eb02a5a413d214c475ce742
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jul 11 18:01:43 2018 -0400

    Mark key functions as nodiscard.
    
    This marks the internal format pixel bytes compute helpers and the
    Context scratch and zero buffer helpers as "no discard". This prevents
    sketchy code where we don't catch error values.
    
    Bug: angleproject:2713
    Change-Id: Ic6d285897dc36ad529cd5361d2763338578df61f
    Reviewed-on: https://chromium-review.googlesource.com/1134207
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 5396f2a62cd630f9662f3f7a95d6753975ad8341
Author: Luc Ferron <lucferron@chromium.org>
Date:   Thu Jul 12 08:24:23 2018 -0400

    Return Error from onMakeCurrent
    
    - Preliminary change for gl_PointCoords fix for Vulkan.
    
    Bug: angleproject:2673
    Change-Id: Ie43e8aeccf75a8daa4a137b98292d848522ea2f0
    Reviewed-on: https://chromium-review.googlesource.com/1134877
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit c9c259cccb2ece20c516b45f2c3782e31860a528
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Jun 13 11:03:22 2018 +0300

    Add a shared traverse() function for most node types
    
    The traversal logic for many node types is essentially the same. Use
    a single traverse() function for all simple node types instead of
    having different ones for each node type. Special traversal code is
    only needed for those node types where the traversal logic is
    overridden in specific traversers or which do special bookkeeping.
    
    This makes traverser behavior a bit more consistent: InVisit calls are
    now done for all node types, including if/else, ternary and loop
    nodes. Also false returned from visit function will always skip
    traversing the next children of that node.
    
    This reduces shader_translator binary size on Windows by 8 kilobytes.
    The added helper functions will also make it easier to implement
    alternative more efficient traversers.
    
    Unfortunately this also regresses compiler perf tests by around 2-3%.
    
    BUG=angleproject:2662
    TEST=angle_unittests, angle_end2end_tests
    
    Change-Id: I3cb1256297b66e1db4b133b8fb84a24c349a9e29
    Reviewed-on: https://chromium-review.googlesource.com/1133009
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 5598148b761380773c4e650b5b67f47553b0f090
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jul 11 09:01:18 2018 -0400

    Vulkan: Don't use gl::ErrorOrResult.
    
    This removes usages of ErrorOrResult from SurfaceVk and FramebufferVk.
    This will enable the Vulkan error handling refactor.
    
    Bug: angleproject:2713
    Change-Id: I69430dba51390a5cdc18b7b47ca423b9635e65de
    Reviewed-on: https://chromium-review.googlesource.com/1128923
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit eebe219014e508701d97d839cde6b2e13263881d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jul 11 09:01:18 2018 -0400

    Vulkan: Clean up Error usage.
    
    * Adds a nodiscard to the Error class.
    * Fixes the places where Error was discard.
    * Uses more vk::Error instead of gl::Error.
    
    This enables the Vulkan back-end Error refactoring.
    
    Bug: angleproject:2713
    Change-Id: I09606d965e8b7cfd341ad7fb95cf029b9d694ef4
    Reviewed-on: https://chromium-review.googlesource.com/1128922
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit 122220701b7ae171d79965900a446f90b790e255
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jul 11 14:59:48 2018 -0400

    Vulkan: Move Feature init before device creation.
    
    We were previously creating our device *before* initializing the
    FeaturesVk fields. This means we weren't requesting the MAINTENANCE1
    extension correctly. Moving feature init before the first createDevice
    call fixes the ordering issue.
    
    This unblocks the viewport flip behaviour fixes.
    
    Bug: angleproject:2673
    Change-Id: Iae6973b57bcb4da78134a17b0644cd248bfb4981
    Reviewed-on: https://chromium-review.googlesource.com/1133920
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit dec86230bb48ea842b4feedbda4171f737ce00c5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jul 11 09:01:18 2018 -0400

    Generalize Context scratch buffer errors.
    
    This refactor will allow us to generate different error types in
    different backends. This makes Vulkan happy because it won't have to
    generate gl::Errors and can stay with vk::Error.
    
    Bug: angleproject:2713
    Change-Id: I981402450f3b519d4f79851982547695d583355a
    Reviewed-on: https://chromium-review.googlesource.com/1128921
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit ca2ff38b7a538bcc69b79f1aadd932998cdfa84d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jul 11 09:01:17 2018 -0400

    Refactor internal format pixel math methods.
    
    This removes the use of the ErrorOrResult class from these methods.
    This will enable more performant Error handling. Also cleans up the
    ANGLE_TRY_CHECKED_MATH macro to be more general.
    
    Bug: angleproject:2713
    Change-Id: I349947d320907839ca88ec1f9251e6ddc3858a08
    Reviewed-on: https://chromium-review.googlesource.com/1128920
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit 89ef177f94753a91d7ec12aa58a5b06df2c12f0f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jul 10 11:19:43 2018 -0400

    EGL: Fix binding EGL_NO_SURFACE without surfaceless support.
    
    It was possible for ANGLE to call eglMakeCurrent with EGL_NO_SURFACE and
    a valid context when the client called eglMakeCurrent with
    EGL_NO_SURFACE and EGL_NO_CONTEXT.  Fix this by always binding a surface
    when the driver has no native surfaceless support.
    
    Don't expose the surfaceless extension when it's not possible to support
    it (unvirtualized contexts and no native surfaceless support).
    
    BUG=860800
    BUG=angleproject:2464
    
    Change-Id: Id8af9638d4356dbd710c453c9f196b9f25a2bbf9
    Reviewed-on: https://chromium-review.googlesource.com/1131555
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 6cad77364bbd3a3574a87894fa93ea32c48bb5af
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jul 11 09:01:17 2018 -0400

    Vulkan: Remove vk::ErrorOrResult.
    
    The ErrorOrResult pattern doesn't help much. Removing it enables the
    Error passing refactor in the Vulkan back-end.
    
    Bug: angleproject:2713
    Change-Id: I4e8277ad856c785bf22b4d37b7ae880b534ef005
    Reviewed-on: https://chromium-review.googlesource.com/1128919
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit 84c11c539475092e7e6d274eed98c2749cbe903a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jul 11 10:12:39 2018 -0400

    Vulkan: Implement sampler structs as function args.
    
    Bug: angleproject:2494
    Change-Id: Ia8e374846427b7140ab2565ae5b9b18409a76d96
    Reviewed-on: https://chromium-review.googlesource.com/1117323
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>

commit 5c8113d3c20f3bc089ea055af0ff02422b23e1fb
Author: Luc Ferron <lucferron@chromium.org>
Date:   Tue Jul 10 15:03:01 2018 -0400

    Vulkan/D3D11: Improve blit framebuffer tests and fix bug in D3D11
    
    - Improving the tests revealed a bug in D3D 11 Fast Path rendering.
    - These changes here are preliminary to implementing the blit for
    depth/stencil in Vulkan when using the viewport flipping.
    
    Bug: angleproject:2673
    Bug: angleproject:2719
    Change-Id: I6d55084e559d3110c8eeb0e7acb4e6fb09b6c1b5
    Reviewed-on: https://chromium-review.googlesource.com/1132125
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit a6a7842fdbf5e5781786a82ede91771fe5d2c31c
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Thu Jun 28 08:32:54 2018 +0800

    ES31: Support atomic functions on D3D11 - Part I
    
    This patch is the first one of the implementation of atomic
    functions in D3D11.
    
    There are mainly two differences in the usage of GLSL and HLSL
    atomic functions:
    1. All GLSL atomic functions have return values, which all
       represent the original value of the shared or ssbo variable;
       while all HLSL atomic functions don't, and the original value
       can be stored in the last parameter of the function call.
    2. For HLSL atomic functions, the last parameter that stores the
       original value is optional except for InterlockedExchange and
       InterlockedCompareExchange. Missing original_value in the call
       of InterlockedExchange and InterlockedCompareExchange results
       in a compile error from HLSL compiler.
    
    To handle these differences, we plan to implement the translation
    in two steps:
    1. Support direct translations from GLSL atomic functions to HLSL
       ones.
    Direct translation can only handle the following two situations:
    (1) The sentence is a GLSL atomic function call without requesting
        a return value and it is not atomicExchange or atomicCompSwap:
        e.g.
        GLSL: atomicAdd(mem, value);
     -> HLSL: InterlockedAdd(mem, value);
    (2) The sentence is a simple assignment expression: its right is
        a GLSL atomic function call and its left is a declared variable.
        e.g.
        GLSL: oldValue = atomicAdd(mem, value);
     -> HLSL: InterlockedAdd(mem, value, oldValue);
    
    2. Support atomic functions in the situations that don't support
       direct translations.
    We will modify the intermediate tree to make direct translation work
    on all these situations.
    e.g.
       atomicExchange(mem, value);
    -> int oldValue;
       oldValue = atomicExchange(mem, value);
    
       int oldValue = atomicAdd(mem, value);
    -> int oldValue;
       oldValue = atomicAdd(mem, value);
    
       return atomicAdd(mem, value);
    -> int temp;
       temp = atomicAdd(mem, value);
       return temp;
    
       for (i = 0; i < atomicAdd(mem, value); ++i)
    -> int temp;
       temp = atomicAdd(mem, value);
       for (i = 0; i < temp; ++i)
       {
           ...
           temp = atomicAdd(mem, value);
       }
    
       int result = isTrue ? atomicAdd(mem, value) : 0;
    -> int result;
       if (isTrue)
       {
           result = atomicAdd(mem, value);
       }
       else
       {
           result = 0;
       }
    
    This patch completes Step 1 which mainly focus on the translation
    from GLSL atomic functions to HLSL ones.
    
    BUG=angleproject:2682
    TEST=angle_end2end_tests
    
    Change-Id: I3b655b6e286dad4fd97f255f7fe87521c94db30c
    Reviewed-on: https://chromium-review.googlesource.com/1121835
    Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>

commit a2f043d847dd7ca53ea43c78b79e8709923d7a4d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 10 17:21:20 2018 -0400

    dEQP: Implement platform error handling.
    
    Also downgrades several Vulkan UNIMPLEMENTED() to WARN().
    Also downgrades a couple D3D-specific errors to warnings.
    Also downgrades an undefined behaviour integer clear error to warning.
    Also includes suppressions for failing D3D11 ES 3.1 SSBO tests.
    Also includes suppressions for failing Android GLES format tests.
    Also includes suppressions for failing Android Vulkan buffer tests.
    
    Bug: angleproject:2552
    Bug: angleproject:2567
    Bug: angleproject:1951
    Bug: angleproject:2405
    Change-Id: Ie619085021d42012cd578b669f7ff4252ca41a58
    Reviewed-on: https://chromium-review.googlesource.com/1062791
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 569b9cb983b104634579e8a42884232faf4abf46
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Sat Jul 7 21:44:35 2018 -0400

    Fix run_code_generation.py hash calculation.
    
    Open files with mode 'r' instead of 'rb' so the hash calculation
    produces the same results on Linux and Windows.
    Recalculate the hashes and proc_table_autogen.cpp which was out of date.
    
    BUG=angleproject:2711
    
    Change-Id: I31562c96ce36e6df009c44c565fe9a3f1b5ba6c4
    Reviewed-on: https://chromium-review.googlesource.com/1128549
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit efaa09fd02033b68c28ef3808b7a385d56a1ab3e
Author: Omar El Sheikh <theoking@google.com>
Date:   Wed Jun 27 15:40:21 2018 -0600

    Enabled Vulkan backend on as many tests as possible
    
    Bug: angleproject:2694
    Change-Id: I299d71e0857065d0f60204977d395793f921deaa
    Reviewed-on: https://chromium-review.googlesource.com/1117702
    Commit-Queue: Omar El Sheikh <theoking@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit cb8a921b7a26c4e522723a00cb87310ca1b2f3ad
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jun 28 12:30:36 2018 -0400

    Vulkan: Support RGB/BGR backbuffers emulated on RGBA/BGRA.
    
    BUG=angleproject:2692
    BUG=angleproject:2523
    BUG=angleproject:2715
    BUG=angleproject:2716
    
    Change-Id: I538b385f8b66fb97e176953b0fc4a6299849c005
    Reviewed-on: https://chromium-review.googlesource.com/1118713
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>

commit b01b48026ee816ea2c68f27824ee8d954ae89f05
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 10 12:43:57 2018 -0400

    Vulkan: Apply driver uniforms descriptor set.
    
    Also modifies the ProgramVk to initialize the Pipeline and Desriptor
    Set layouts with driver uniforms enabled.
    
    Bug: angleproject:2717
    Change-Id: I24f7bf6f89b450d1dcb62dcfa7411555ebe3a937
    Reviewed-on: https://chromium-review.googlesource.com/1131568
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c0bb36cbe7be3829cf4994ea3d47eb7595351263
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 10 11:10:31 2018 -0400

    Vulkan: Add driver uniforms to shader.
    
    Bug: angleproject:2717
    Change-Id: I542f3b0f2de21857d7fea0267f07d2d0eec78a8c
    Reviewed-on: https://chromium-review.googlesource.com/1131567
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit b7c4f2b99b5b299125c71660b774ad036c3e70ef
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 9 12:01:30 2018 -0400

    translator: Refactor interface block layout qualifiers.
    
    This will make it easier to insert internal uniform layouts in Vulkan.
    
    Bug: angleproject:2717
    Change-Id: Ic1a76848337cc67a57698913c584d8596bf4f27e
    Reviewed-on: https://chromium-review.googlesource.com/1127300
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 6ed6c71ce7fbfda9f6bd965cc187a130c8a63c63
Author: Tobin Ehlis <tobine@google.com>
Date:   Tue Jul 10 12:02:30 2018 -0600

    Roll Vulkan repos fwd as of 7/10
    
    Update Vulkan Layers/Loader/Tools/Header to latest versions as of 7/10.
    The layers were updated to correctly comprehend which device extensions
    are enabled which should fix a false error being flaged on negative
    Viewports in ANGLE.
    
    Bug: angleproject:2704
    Change-Id: Ie51660f539beb249c3b11dc7e0d553ff7cabfde3
    Reviewed-on: https://chromium-review.googlesource.com/1131919
    Commit-Queue: Tobin Ehlis <tobine@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 69b47390aa0a14ca901d22f9d719e11c9c4abf42
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 10 12:06:53 2018 -0400

    Vulkan: Fix last parameter of viewport driver uniform.
    
    This was introduced in a prior patch.
    
    Bug: angleproject:2717
    Change-Id: I8f34377cbb9cbede4237efb1610400a8ed20ae2a
    Reviewed-on: https://chromium-review.googlesource.com/1131566
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit b70ad5243fa90f5a1eccd9ac69263722f923b857
Author: Luc Ferron <lucferron@chromium.org>
Date:   Mon Jul 9 16:06:26 2018 -0400

    Vulkan: Fix all depth/stencil related failures due to Y flip
    
    - Fixes all deqp functional_fragment_ops_depth_stencil_* with Y flipping enabled.
    
    Bug: angleproject:2673
    Change-Id: I94a4225dec8adf9113309e8b8b2c8aa61f6a2bb9
    Reviewed-on: https://chromium-review.googlesource.com/1129857
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 30b8485428c562d8be4c9acac0a637f4de659185
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 9 09:18:50 2018 -0400

    SwapchainD3D: Take Display instead of Context.
    
    This cleans up another use of the proxy context.
    
    Bug: angleproject:2714
    Change-Id: Icba5bf76a3e9f811ee571529de16fd8162c76b3a
    Reviewed-on: https://chromium-review.googlesource.com/1128928
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 7dc4305142724788c92fcea42e80980c4cab159c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 9 09:18:49 2018 -0400

    D3D: Move Incomplete Textures to Context9/11.
    
    This cleans up another usage of getProxyContext.
    
    Bug: angleproject:2714
    Change-Id: I5337e30cdd96e282e355c727bb40cd30e049ec1a
    Reviewed-on: https://chromium-review.googlesource.com/1128926
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit e8cc4a64f5b5de5a309be486207e27f7a20ff5a7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 9 09:18:49 2018 -0400

    Surface: Don't use a BindingPointer for BindTexImage.
    
    The BindingPointer pattern isn't necessary. Every time we delete a
    Texture we call ReleaseTexImage internally. There shouldn't be any time
    that we keep an orphaned Texture is Surface.
    
    This cleans up one place where we were using the ProxyContext.
    
    Bug: angleproject:2714
    Change-Id: I3b0fd2125d02ea7545922ec6da7f487451bed871
    Reviewed-on: https://chromium-review.googlesource.com/1128925
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit aa2126c4ecf1eb3aea8fb886552ca115a6a274a4
Author: Luc Ferron <lucferron@chromium.org>
Date:   Mon Jul 9 15:36:36 2018 -0400

    Vulkan: Fix all copyTexImage/copySubTexImage cases with Y flip
    
    - Validated by running:
            -functional_texture_specification_basic_copytexsubimage2d_*
            -functional_texture_specification_basic_copyteximage2d_*
    
    With the flip flag enabled.
    
    Bug: angleproject:2673
    Change-Id: I5a3041af79f9316256b0650ab7e3fd0e086e46e3
    Reviewed-on: https://chromium-review.googlesource.com/1129820
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 82eda93fff4795231dba0189e599145a8ae4de36
Author: Luc Ferron <lucferron@chromium.org>
Date:   Mon Jul 9 15:10:22 2018 -0400

    Vulkan: Fix for framebuffer blit and Y flip
    
    - The depth/stencil related tests are now disabled since I found out
    that the tests are too simple to find issues if there is a flip since
    they use only a single color and no gradient / checked board.
    This is left to implement in the Vulkan backend later on.
    
    Bug: angleproject:2673
    Change-Id: I8f7091d4b9c8c3bec0353ebab28304b6209ea350
    Reviewed-on: https://chromium-review.googlesource.com/1129629
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit 853f8255119f1247778cf407457256c574a2ed79
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 9 09:18:50 2018 -0400

    DisplayImpl: Make waitClient/waitNative non-const.
    
    These methods can mutate the display resources. Necessary for getting
    rid of ProxyContext and for the Vulkan error refactor.
    
    Bug: angleproject:2714
    Bug: angleproject:2713
    Change-Id: Ibffb1a382ecb064daaa7c664f9fc65cbcf927b37
    Reviewed-on: https://chromium-review.googlesource.com/1128927
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 63cc351fbad06c6241d1c7372fe76f74e1d09a10
Author: Jacek Caban <cjacek@gmail.com>
Date:   Wed Jun 27 17:35:19 2018 +0200

    Fix PMurHash.cpp mingw clang 64-bit compilation.
    
    Tested with Firefox build, upstream bug:
    https://bugzilla.mozilla.org/show_bug.cgi?id=1471632
    
    Change-Id: I4b44847dfc69ee26cf2215b0a0b7573becfd369d
    Reviewed-on: https://chromium-review.googlesource.com/1117187
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d8b1c5c5bba2ae11e29e7846034943ecf3ed23e4
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Jun 20 12:08:46 2018 +0300

    Return ImmutableString from ArrayString()
    
    This makes the compiler a few kilobytes smaller, and prepares getting
    rid of TString altogether.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: I93a003fe27b99bef72f872fa1066e2e108f934c5
    Reviewed-on: https://chromium-review.googlesource.com/1107713
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 26c61b24e667bee1eb69ace84787ad62accf3f7a
Author: Omar El Sheikh <theoking@google.com>
Date:   Fri Jun 29 12:50:59 2018 -0600

    Vulkan: Fix to unset NULL Driver after tests
    
    Updated ScopedVkLoaderEnvironment destructor to delete an environment variable
    that gets set during initialization of the renderer to load the Mock/Null
    driver for tests that request it.
    
    Bug: angleproject:2698
    Change-Id: Ibbac795b6315971b303d97a55d24565a403d056c
    Reviewed-on: https://chromium-review.googlesource.com/1120940
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tobin Ehlis <tobine@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c56adf60d14173886ab8d8f81c0e8e3cc51ee563
Author: Tobin Ehlis <tobine@google.com>
Date:   Tue Jul 3 11:29:11 2018 -0600

    Roll Vulkan repos fwd as of 7/3
    
    Update Vulkan Layers/Loader/Tools/Header to latest versions as of 7/3.
    This updates the ICD build to use inputs from the Header repo instead
    of copies of the file from its own repo. Those copies have been deleted
    and some of the generation scripts in Tools repo have been renamed.
    Also put script dependencies from Vulkan-Headers repo into a shared var
    that's imported by the other repos to minimize repeat code.
    
    Bug: angleproject:2704
    Change-Id: I98a18be055482dccdad8468115b4045d09342bfb
    Reviewed-on: https://chromium-review.googlesource.com/1124966
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Tobin Ehlis <tobine@google.com>

commit 834a3a1015c7b06ac396a2fcdf4307ffefd05d5c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 9 13:32:39 2018 -0400

    Vulkan: Add driver uniforms set.
    
    This will be used to specify the applied Vulkan. We will use this to
    implement OpenGL line rasterization rules.
    
    Bug: angleproject:2717
    Change-Id: I3395bf620a01c4b84b19a00037d05f148e5523f3
    Reviewed-on: https://chromium-review.googlesource.com/1120151
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>

commit 534343ab2fbc191454145704e55fa58d4e71b373
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 9 16:43:16 2018 -0400

    Vulkan: Roll SPIRV-Tools and SPIRV-Headers.
    
    This fixes a bug in SPIRV-Tools validation. vec3s were not being packed
    properly. Affected some of the more complex dEQP shader tests.
    
    Unblocks better Debug error reporting.
    
    Bug: angleproject:2552
    Change-Id: I83447813a4ae3347157321a30a91b5dee55ff6c1
    Reviewed-on: https://chromium-review.googlesource.com/1129824
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Tobin Ehlis <tobine@google.com>

commit e4a6d7a3c483035fe8b6afb55f0c454cc7be6c9c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 9 13:32:37 2018 -0400

    Vulkan: Make DynamicDescriptorPool single pool.
    
    This completes a prior refactor. DynamicDescriptorPool couldn't
    robustly handle multiple pools so only accept one as a parameter. We
    were already only using one at a time in practice.
    
    This removes the need to look up the pool index from the descriptor
    type which became problematic later on.
    
    Bug: angleproject:2717
    Change-Id: I7fb92d5ab55bbe1f35b6b9cfcd8981cc1ca358f1
    Reviewed-on: https://chromium-review.googlesource.com/1127157
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>

commit caa55cd774a09a5602930f02992e5aa799b51cf0
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jul 5 13:19:35 2018 -0400

    Vulkan: Support EGL_ANGLE_surface_orientation for vertical surface flipping.
    
    This is a simpler way of flipping when the client is aware of the extension.
    This allows Chrome to render with the correct orientation.
    
    BUG=angleproject:2709
    
    Change-Id: I52216b765a42930f2be043a07fe441a9f875a14d
    Reviewed-on: https://chromium-review.googlesource.com/1127342
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 189ad877d8c55e25e249f97781bcc4fdada4e644
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 9 13:32:37 2018 -0400

    Return an Error from ContextImpl::syncState.
    
    This will allow the Vulkan back-end to call Vulkan commands that return
    VkResult within syncState.
    
    Bug: angleproject:2717
    Change-Id: I05e1379e71acaac56bcc9493c8561e82da000934
    Reviewed-on: https://chromium-review.googlesource.com/1120150
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>

commit d7890bca9b35d6b0839ace3f77f02233f15c566c
Author: Tobin Ehlis <tobine@google.com>
Date:   Fri Jun 29 11:57:22 2018 -0600

    Skip noop draws in the frontend
    
    If a draw does not have enough vertices for its primitive count to
    produce a primitive then skip it. If an instanced draw has 0 instances
    or not have enough vertices for its primitive count to
    produce a primitive then skip it.
    This means a Point with 0 vertices, a Line w/ 0-1 vertices, or a tri
    with 0-2 primitives.
    
    Updated some redundant code in the D3D11 backend. Draws below the
    minDrawCount will no longer be passed to the backend so updated the
    associated state in StateManager11 to only track the case where all
    primitives should be culled due to GL state settings.
    
    BUG=angleproject:2568
    TEST=functional_transform_feedback_basic_types_interleaved_lines_lowp_int
    
    Change-Id: I9faa767c12004fcdec923ec70a8ee5615d789813
    Reviewed-on: https://chromium-review.googlesource.com/1120849
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 44a3cf494711e89f10287c08e83cd2cfa1bc7a54
Author: Luc Ferron <lucferron@chromium.org>
Date:   Mon Jul 9 09:40:57 2018 -0400

    Vulkan: Flip on Y, fix for MaxTextureSizeTests
    
    - This change fixes the tests that were failing in  angle_end2end_tests
            - MaxTextureSizeTest.*
    
    Bug: angleproject:2673
    Change-Id: I9c671b8be0e2360a80f6298897ec298c6e998863
    Reviewed-on: https://chromium-review.googlesource.com/1128811
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 1a135adcd85b6d17e92b23f838d876ad3d8a76ea
Author: Luc Ferron <lucferron@chromium.org>
Date:   Wed Jul 4 10:35:31 2018 -0400

    Vulkan: Fix how the viewport is calculated with Y flip
    
    - This fixes all ViewportTest.* and MipmapTest.*
    - Tests left to fix in end2end:
            - BlitFramebuffer*
            - MaxTextureSizeTest.*
            - PointSpritesTest.*
    
    Every other test in angle_end2end_tests are working.
    
    Bug: angleproject:2673
    Change-Id: I162083bc847c15fa5490ab524ad4c22747d232ea
    Reviewed-on: https://chromium-review.googlesource.com/1126333
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit c2136b67f69de838fb84d70d4a1642337406b42e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 9 10:35:33 2018 -0400

    Allow constexpr initialization of PackedEnumMap.
    
    By making mData public we can use aggregate initialization. The syntax
    is the same as for initializing a std::array. It might be possible to
    also use std::map initialization syntax using a list of pairs. That is
    left for a follow-up.
    
    Bug: angleproject:2568
    Change-Id: I30a6f280172cb197208d14b1a53b9cc12b7834d8
    Reviewed-on: https://chromium-review.googlesource.com/1127181
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tobin Ehlis <tobine@google.com>

commit 8fbd9d96e68b5a74a49737c8a8549cbe9d556fc9
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Jun 21 15:27:44 2018 +0300

    Use ImmutableString in ImageFunctionHLSL
    
    This code is analoguous to the code in TextureFunctionHLSL and is now
    implemented in a similar manner.
    
    BUG=angleproject:2267
    TEST=angle_unittests, angle_end2end_tests
    
    Change-Id: Ie3503766217dad4f3848f2d4b2fc3f62b3edce0c
    Reviewed-on: https://chromium-review.googlesource.com/1110366
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 7e585118fe827063e715c3741c3f43c4dd677ec2
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jul 4 15:49:02 2018 -0400

    Vulkan: Implement eglWaitClient using a finish.
    
    In the future this can be implemented with a flush.
    
    BUG=angleproject:2707
    
    Change-Id: I1dd4eae9551f7797865e6e17e6caa77f6ec5a9b2
    Reviewed-on: https://chromium-review.googlesource.com/1126457
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>

commit bea35a63893425d65c3fb22f3c0ce59491b9eab0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 5 11:54:10 2018 -0400

    Vulkan: Use Scoped resource init helper.
    
    In a few places we initialize resource on the stack in the Vulkan
    back-end. When we do this we should use a RAII wrapper so that if we
    generate an error and unwind the stack we can auto-release the object.
    
    This fixes a bug that was being triggered by an unexpected failure on
    Present with the Vulkan back-end on Intel.
    
    There are several other places in the code that should be modified to
    use the new wrapper.
    
    Bug: angleproject:2690
    Change-Id: I49a1c5516756f8b7dba833aca65926aa7b8bd5c6
    Reviewed-on: https://chromium-review.googlesource.com/1118610
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 072c3519d2d0a1319dae2f7e29b49ee557d199d3
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jul 4 15:50:12 2018 -0400

    Fix missing return when validation fails in eglWaitNative.
    
    BUG=angleproject:2707
    
    Change-Id: Ibd70437e3a40a9a63b78ac9a4546c97611a97ba5
    Reviewed-on: https://chromium-review.googlesource.com/1126458
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit b1cc789c7039288468a9b4cc4781f80b65d21817
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jul 5 15:05:21 2018 -0400

    Finish populating the new_hashes map after finding a dirty input.
    
    any_input_dirty would return early when finding a dirty input and not finish
    filling the new_hashes map.  This would require multiple runs of the code
    generation script to fully generate all the outputs.
    
    BUG=angleproject:2695
    
    Change-Id: Ie62190efe2765df432b0a535fb8d33ed2ffa66a7
    Reviewed-on: https://chromium-review.googlesource.com/1127439
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 9a257801937de1a240724d97f0219060beb4e699
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jul 5 14:31:08 2018 -0400

    Write relative paths with forward slashes to the code generation hashes.
    
    This should avoid generating diffs when running the code generation with
    different source directories or on different platforms.
    
    BUG=angleproject:2695
    
    Change-Id: I67776883bdbeb867a49bea00f16998c04f7857b4
    Reviewed-on: https://chromium-review.googlesource.com/1127355
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 5695a5b24ce183cb8a079ef1267744fe2aa25dfc
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jul 5 14:29:30 2018 -0400

    Allow the run_code_generation.py script to be run from any directory.
    
    BUG=angleproject:2695
    
    Change-Id: I9a083bf67b17ca0dc1ee213b75caa4ecece62f00
    Reviewed-on: https://chromium-review.googlesource.com/1127354
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit be7e455c89a6c887e9a5e19873536501a37c3797
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jul 5 14:47:39 2018 -0400

    Vulkan: Regenerate builtin shaders.
    
    BUG=angleproject:2691
    
    Change-Id: Iafb1b4828fa0d54974bfb9d11a436ccaa910b942
    Reviewed-on: https://chromium-review.googlesource.com/1127356
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 62edcce80682b0c64771eb0c85d9285e0b6f837a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jul 4 12:43:39 2018 -0400

    Vulkan: Initialize the max pbuffer size members of Config.
    
    Pass the VkPhysicalDeviceProperties to GenerateDefaultConfig to initialize the
    pbuffer size limitations in a platform independent way.
    
    BUG=angleproject:2622
    
    Change-Id: Id99bc505a1965cc037c5dcd65af031c1c655d424
    Reviewed-on: https://chromium-review.googlesource.com/1126406
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>

commit bf6dc37972c50c371ebd144fabdcfd8ee37e8496
Author: Luc Ferron <lucferron@chromium.org>
Date:   Thu Jun 28 15:24:19 2018 -0400

    Vulkan: Flip viewport on y for the backbuffer only
    
    - Hide the implementation behind a feature flag, currently
    disabled permanently as I'm working on fixing the different
    failures.
    - SimpleOperationTest.* passing
    
    Bug: angleproject:2673
    Change-Id: Ic86520c3cc478d62bebbaeaf4c6b33c439a67b0f
    Reviewed-on: https://chromium-review.googlesource.com/1119089
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 258e87182bcfd5664e6913da631075d2595fe949
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jun 21 17:29:19 2018 -0400

    EGL: Support unvirtualized contexts and unsafe multithreading.
    
    -Add a new renderer and context type to own native EGL contexts and
     handle destruction.
    -Track the current EGL surface and context per-thread.
    -Support unvirtualized contexts by creating a new context for every client
     context.
    
    BUG=angleproject:2464
    
    Change-Id: Ib2efa1d88c771b4a78625e0e3546f6ed95678c91
    Reviewed-on: https://chromium-review.googlesource.com/1110943
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 838f304d37cc2b1067821d214a17824ec199cbbd
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jun 27 10:43:41 2018 -0400

    EGL: Skip creation of the dummy pbuffer when surfaceless is supported.
    
    BUG=angleproject:2464
    
    Change-Id: If1834cf88aed0ffae12bb584d6936c6c09a296a0
    Reviewed-on: https://chromium-review.googlesource.com/1117022
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit a72ebeba2127b2d4fd3b94eefe226c182228a50f
Author: Luc Ferron <lucferron@chromium.org>
Date:   Thu Jun 28 11:16:58 2018 -0400

    Vulkan: Fix issue in DynamicBuffer
    
    - We weren't keeping track of mSize correctly, causing some very
    specific index buffer bindings to fail. The size returned when allocating
    the buffer can be a bit different than the size requested, and that extra
    space between mSize and the allocated size was not meant to be used,
    causing errors in the validation layers.
    
    Bug: angleproject:2580
    Change-Id: I47eb7b8de6f4f657de14385b77ba6a459add599b
    Reviewed-on: https://chromium-review.googlesource.com/1118607
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit 2b06054dd41f3c26d656f4ed7043a90e1f934f07
Author: jchen10 <jie.a.chen@intel.com>
Date:   Tue Jul 3 14:48:13 2018 +0800

    Vulkan: Insert a barrier after buffer copy
    
    According to the spec(section 18.1), all copy commands are treated
    as transfer operations for the purposes of synchronization
    barriers. Some tests are flaky on Intel platform without such
    barriers.
    
    Bug: angleproject:2663
    Bug: angleproject:2664
    Change-Id: Ic8bc9a0eb000670342c0df0449257324f04ad1f8
    Reviewed-on: https://chromium-review.googlesource.com/1124103
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 92da844eb7543d2ac39fe2ae9c62edd3a3b6891f
Author: Jeff Gilbert <jgilbert@mozilla.com>
Date:   Fri Jun 29 19:06:56 2018 -0700

    More includes missing from sources.
    
    Bug: angleproject:2699
    Change-Id: I234e0aee2526750a442ad74b5c57f7c536310786
    Reviewed-on: https://chromium-review.googlesource.com/1123880
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit a72f400c5ff3dccd47d8c5147a9703b56f763c34
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 29 17:05:01 2018 -0400

    run_code_generation: Compare hashes instead of mtime.
    
    Using mtime is fundamentally flawed when working with git. Replace
    these flaky checks with hash comparisons. The hashes are stored in an
    autogenerated json file that will be stored in the repository.
    
    This makes the run_code_generation script robust against any and all
    input changes. It also removes the need to track script outputs as
    dependencies.
    
    Bug: angleproject:2697
    Change-Id: I60f2a87a8680b1f775ad678b05112f5b16c7dde7
    Reviewed-on: https://chromium-review.googlesource.com/1120159
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 33e72d994c749bf66e860f4f8308fa51335a7e0c
Author: Oystein Eftevaag <oysteine@google.com>
Date:   Fri Jun 29 10:49:38 2018 -0700

    Removed an assert about addTraceEvent not returning empty handles.
    
    There are several codepaths where this is the expected result:
    * Other threads disabling the category in question.
    * The TraceBuffer being fill and no new chunks available.
    * Perfetto being active as the tracing backend.
    
    In all cases, the single use of a handle to a TraceEvent is
    TraceLog::UpdateTraceEventDuration which handles the above cases
    correctly.
    
    BUG=844421
    Change-Id: Ieaf3aa5c913cee8c51cfea637907d5bc3b560ceb
    Reviewed-on: https://chromium-review.googlesource.com/1120841
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 1266d20ad0a0b05e0b1ca979bec757380464a72b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 29 09:11:34 2018 -0400

    Vulkan: Add Features class.
    
    This class will control optional features in the Vulkan back-end. It
    allows toggling the feature support from a centralized place. This can
    be useful for performance or correctness testing.
    
    Add a placeholder feature for line segment raster. We can also use a
    feature for enabling backbuffer flipping.
    
    Bug: angleproject:2598
    Bug: angleproject:2673
    Change-Id: I8ddec2dba2181d5b014267be68aee9d2cb015ccf
    Reviewed-on: https://chromium-review.googlesource.com/1120149
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 6ef24d7824d2e7d819bd94a47032f88cd4fc6b55
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Fri Jun 29 16:03:34 2018 -0400

    Update dEQP EGL expectations for Vulkan on Linux.
    
    Bug: angleproject:2635
    Change-Id: I74641edc405aa158a2acc0ac619343bf316454bd
    Reviewed-on: https://chromium-review.googlesource.com/1121076
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 71a151fd11ae46e15fc09142458c2ae6b0f777df
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jun 26 16:07:42 2018 -0400

    Vulkan: Use TSymbolTable in ExtractStructSamplers.
    
    This will enable more code reuse when handling sampler struct as
    function arguments. We can add the sampler structs to the symbol table
    stack when they are function arguments.
    
    Bug: angleproject:2494
    Change-Id: I9eeb1d3822e34cd43535e1b16a98864545755d22
    Reviewed-on: https://chromium-review.googlesource.com/1117322
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>

commit cdf50444934ca7456d2b8c34023e3918910a886d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jun 26 15:05:42 2018 -0400

    Add test for sampler struct rewriting indexing.
    
    The concern originally was that rewriting sampler structs could lead to
    incorrect behaviour for indexing. The test attempts to cover this but
    doesn't repro. It possibly is not an issue.
    
    Bug: angleproject:2494
    Change-Id: Ibc34b08b5cee3b6ff82d150a64f1768aae64396f
    Reviewed-on: https://chromium-review.googlesource.com/1117321
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit fa5d84be414528212b9aaee23551c8dc1971ad38
Author: Luc Ferron <lucferron@chromium.org>
Date:   Thu Jun 28 10:40:04 2018 -0400

    Vulkan: Fix offset handling for vertex buffers
    
    Bug: angleproject:2580
    Change-Id: I22f62a8549e998275224a6b1f9c133cf31ebb5b9
    Reviewed-on: https://chromium-review.googlesource.com/1118419
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 475ef575c699b93a0d7ded448f16af1bc119b4ce
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jun 27 15:54:18 2018 -0400

    Vulkan: Refactor config generation out of platform specific code.
    
    Permuatations of configs are now generated in platform-independent code and
    a DisplayVk callback is used to determine native support.
    
    BUG=angleproject:2692
    
    Change-Id: Iad450c1a3275239d6bcbc350e8dd8e37470fa8e0
    Reviewed-on: https://chromium-review.googlesource.com/1117563
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit ac1a377d693df23b692cdcd24780910c69573391
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jun 26 15:05:38 2018 -0400

    Vulkan: Split tree ops into separate files.
    
    This makes the design consistent. Added new files for
    NameEmbeddedStructs and RewriteStructSamplers.
    
    Bug: angleproject:2665
    Bug: angleproject:2494
    Change-Id: If7d22a6ce9a86d51d38f68787006b7a28957861e
    Reviewed-on: https://chromium-review.googlesource.com/1108086
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit f3062c3e1b278536a499ed2248b9f52d8e0aa518
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jun 28 13:33:15 2018 -0400

    Update dEQP EGL expectations for Vulkan on Windows.
    
    BUG=angleproject:2635
    
    Change-Id: If2a4893c4099dc4a1b699ba4e4e3ca2c0f946af8
    Reviewed-on: https://chromium-review.googlesource.com/1118906
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 1ee335521a57ec6fbed256f86a8b4072cbaf0e80
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Thu Jun 28 10:22:49 2018 -0600

    Emulate eglSwapBuffersWithDamageKHR when needed
    
    When driver does not support the EGL_KHR_swap_buffers_with_damage
    extension, call regular eglSwapBuffers instead.
    
    BUG=angleproject:2464
    
    Change-Id: Ie3a395d37b61ef5ac65b098b312e9ead1c8bc799
    Reviewed-on: https://chromium-review.googlesource.com/1117832
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 1698d7d4e869359d9d5e1608ab9e89c985d77536
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 27 14:09:58 2018 -0400

    Vulkan: Roll glslang (June 2018).
    
    Includes potential bug fixes.
    
    Bug: angleproject:2691
    Change-Id: I9a22dbdc96045df36de086f7edf7c914bae1cdbf
    Reviewed-on: https://chromium-review.googlesource.com/1117320
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Tobin Ehlis <tobine@google.com>

commit be30c4fb96dd5a1896698036fdd18fac43e61fab
Author: Luc Ferron <lucferron@chromium.org>
Date:   Thu Jun 21 09:43:08 2018 -0400

    Vulkan: Framebuffer blit support for depth/stencil cases
    
    Bug: angleproject:2643
    Change-Id: Ib50e4051f5b3965c2a752cf2cd45d3470312cdcf
    Reviewed-on: https://chromium-review.googlesource.com/1115370
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit a0adaf985ebdd81d45afbae813b647add337c73e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 27 15:49:35 2018 -0400

    Vulkan: Work around unused sampler validation.
    
    Work around glslang's improved validation by using a valid but very
    high layout binding. This should be more robust.
    
    Tests already passing:
    dEQP-GLES2.functional.state_query.shader.uniform_value_sampler
    
    Bug: angleproject:2691
    Bug: angleproject:2612
    Bug: angleproject:2600
    Change-Id: Ie78ae89f76cc0a42806724b622d7f201241bd041
    Reviewed-on: https://chromium-review.googlesource.com/1117477
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit dc66ef9dc48ba5dc3cee675d2cea01ca906b293c
Author: Luc Ferron <lucferron@chromium.org>
Date:   Thu Jun 28 08:18:47 2018 -0400

    Vulkan: Add simple test to trigger issue of buffer.write tests
    
    Bug: angleproject:2580
    Change-Id: I08666d1c5fc7ce977e9623a09ef08645b02339f3
    Reviewed-on: https://chromium-review.googlesource.com/1117913
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit 9e14164d4e5154c8703e7f65dc033bf3d7c5421a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jun 27 11:43:18 2018 -0400

    VK: Support pbuffer surfaces.
    
    TEST=PbufferTest
    TEST=dEQP-EGL.functional.color_clears.single_context.gles2.rgba8888_pbuffer
    TEST=dEQP-EGL.functional.color_clears.multi_context.gles2.rgba8888_pbuffer
    TEST=dEQP-EGL.functional.render.single_context.gles2.rgba8888_pbuffer
    TEST=dEQP-EGL.functional.render.multi_context.gles2.rgba8888_pbuffer
    
    BUG=angleproject:2622
    
    Change-Id: I99f64689c274fbb565b365f4a05b52252528fc38
    Reviewed-on: https://chromium-review.googlesource.com/1117030
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 571863604ae6b9ee4bdb3c53c9d531d41a6c0b02
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 27 13:29:40 2018 -0400

    Roll SPIRV-Tools and SPIRV-headers (June 2018)
    
    Bug: angleproject:2691
    Change-Id: I754431c7cf7cdbb5b631e9db90b7c1471b5bf9ee
    Reviewed-on: https://chromium-review.googlesource.com/1117309
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Tobin Ehlis <tobine@google.com>

commit a26de2500503408425ad71aab2cf1d7919767f86
Author: Luc Ferron <lucferron@chromium.org>
Date:   Thu Jun 28 07:24:38 2018 -0400

    Vulkan: Enable dEQP a passing test in buffer.write
    
    Bug: angleproject:2580
    Change-Id: I74ab2dec41400781c7236e08f008e2240386c80e
    Reviewed-on: https://chromium-review.googlesource.com/1117911
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit 2f6f1df4f4a49125689f6d47665a57dfb14fefb5
Author: Luc Ferron <lucferron@chromium.org>
Date:   Thu Jun 28 07:17:46 2018 -0400

    Vulkan: Enable the remaining dEQP fbo.render tests
    
    They were already passing, just forgot to enable them it seems.
    
    Bug: angleproject:2597
    Change-Id: I10c478f825d2efa7f4b680cd106b213056688319
    Reviewed-on: https://chromium-review.googlesource.com/1118014
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit 26581113047a8a656e6af0a164bdf976e6543270
Author: Luc Ferron <lucferron@chromium.org>
Date:   Thu Jun 21 09:43:08 2018 -0400

    Vulkan: Support for framebuffer blit extension
    
    - No support for formats that do not support vulkan blit.
    - The depth/stencil format used in the tests do not support
    blit, so currently no tests validate the depth/stencil blits.
    
    Bug: angleproject:2643
    Change-Id: I89a0d5b102396d8254fe272681326615bd6800ed
    Reviewed-on: https://chromium-review.googlesource.com/1111611
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit f97641c1e30788e6fbb943e14000a200f43ad197
Author: Lingfeng Yang <lfy@google.com>
Date:   Thu Jun 21 19:22:45 2018 -0700

    GLES1: Texture parameters
    
    Note: minimum buffer size is now checked for texture parameters in
    GLES2.
    
    - Mipmap generation hint
    - Crop rect
    - Update test expectations
    
    BUG=angleproject:2306
    
    Change-Id: Ib459b8191111732a1326b44f2226b72ca297325a
    Reviewed-on: https://chromium-review.googlesource.com/1111575
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Lingfeng Yang <lfy@google.com>

commit dcb6e9274673cbe684a451c462b3aa02c6455c86
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jun 27 13:18:32 2018 -0400

    Add initial supressions for dEQP EGL tests on Vulkan.
    
    BUG=angleproject:2635
    
    Change-Id: I1e8f3c5c82d01d2b484cd49bd5924776f85d89e2
    Reviewed-on: https://chromium-review.googlesource.com/1117261
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 09303e448d1786fb7c14347a8ae523c3bd7668db
Author: James Darpinian <jdarpinian@chromium.org>
Date:   Fri Jun 22 17:53:57 2018 -0700

    Treat transform feedback generic binding point specially
    
    The transform feedback generic binding point is not part of the
    transform feedback object and is not used for transform feedback. Only
    the indexed binding points are used. A buffer that is bound to the
    generic binding point should be usable for either transform feedback or
    non-transform-feedback purposes.
    
    Bug: 853978
    Change-Id: I5b730212c65524188134ac34645328328664f0a4
    Reviewed-on: https://chromium-review.googlesource.com/1112841
    Commit-Queue: James Darpinian <jdarpinian@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 82af620e0559aba006a924cf56e4870204df2536
Author: jchen10 <jie.a.chen@intel.com>
Date:   Fri Jun 22 10:59:52 2018 +0800

    ParallelCompile: Add entry points.
    
    Add the extension text, entry points and validations.
    
    BUG=chromium:849576
    TEST=angle_end2end_tests
    
    Change-Id: I4c06ee30e4f4fe9bb1c1fecada747b9c78fed0ea
    Reviewed-on: https://chromium-review.googlesource.com/1103789
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jie A Chen <jie.a.chen@intel.com>

commit 943a38a57d5b8c170b3d79cd9e0d5a83a04eb6e0
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Tue Jun 26 18:02:40 2018 -0400

    Skip ClearTest.ChangeFramebufferAttachmentFromRGBAtoRGB on Mac
    
    Nvidia and Intel Desktop GL.
    
    Bug: angleproject:2689
    Change-Id: Id26ad3bd765f2410e76c79b870baf9c2ea4e2044
    Reviewed-on: https://chromium-review.googlesource.com/1115770
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit e0234aeb623e600dd70380ff44a849455994863d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jun 26 17:06:25 2018 -0400

    GL: Don't print driver performance warnings.
    
    They can add an large ammount of spam to the logs of our test suites and have
    never been actionable.
    
    BUG=768943
    
    Change-Id: Ibee3d7ece97cc03500b10ffa7bcaf3a4d7d51581
    Reviewed-on: https://chromium-review.googlesource.com/1115700
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 1ff0ee751d95fd0d28ded37266216177fc97df85
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Tue Jun 26 16:55:55 2018 -0400

    Skip MaxTextureSizeTest.SpecificationTexImage on Win Intel Vulkan
    
    Flakily crashes on Win10 FYI Exp Release (Intel HD 630)
    
    Bug: angleproject:2690
    Change-Id: I1ddc9ba9ccfd25c9fcc85e580d2c88063f622a55
    Reviewed-on: https://chromium-review.googlesource.com/1115618
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 3f332584e94f21b70a88de1dd64bead4847bd742
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jun 26 21:00:14 2018 +0000

    Revert "RendererGL: Limit warning output to 5 per message type."
    
    This reverts commit 7c37ca1836402b654dbbf5f00007e09bdf2a7051.
    
    Reason for revert: Causes crashes on Android.
    
    Original change's description:
    > RendererGL: Limit warning output to 5 per message type.
    >
    > BUG=768943
    >
    > Change-Id: I8ed69c70d1914b56145c52ffe26f13193fb55e9e
    > Reviewed-on: https://chromium-review.googlesource.com/685278
    > Commit-Queue: Geoff Lang <geofflang@chromium.org>
    > Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    
    TBR=geofflang@chromium.org,cwallez@chromium.org
    
    Change-Id: I641ac5d508d238e275eaeef4fac4033d9015960d
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: 768943
    Reviewed-on: https://chromium-review.googlesource.com/1115658
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 0bb0236880faa6a245c4069bc137db0b682bf32c
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Sun May 27 20:35:11 2018 -0400

    Vulkan: add SCALED vertex formats to table.
    
    Add SCALED formats, which correspond to non-normalized integers, to Vulkan
    format table.  Adjust test expectations accordingly.  For now these new
    formats only work when the native Vulkan supports them.
    
    BUG=angleproject:2405
    
    Change-Id: Ia6fdcbec61774536e6396cf713e46f28f49585c1
    Reviewed-on: https://chromium-review.googlesource.com/1110710
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 0265e1ec1eb780c9b9fa1c65df9c245dec7d4439
Author: Luc Ferron <lucferron@chromium.org>
Date:   Tue Jun 26 14:57:10 2018 -0400

    Ozone: Skip test failing just on GLES
    
    Bug: angleproject:2689
    Change-Id: Ide2e954fb2a65b23f2f25da40fd9a6b216c1c7a4
    Reviewed-on: https://chromium-review.googlesource.com/1115373
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 60437586bb68bef8dc005199262350d1c4e15183
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 15 09:47:04 2018 -0400

    Vulkan: Fix unused sampler struct uniforms.
    
    These were not being parsed correctly. Turns on all uniform_api dEQP
    tests.
    
    Bug: angleproject:2612
    Change-Id: I365bbe4cc52bb6a62fc47c53355962af38298b7f
    Reviewed-on: https://chromium-review.googlesource.com/1101573
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 3bb2bbea1f9834aa8b6cdd507656382929c267ee
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 15 09:47:03 2018 -0400

    Program: Sampler uniform query in front-end.
    
    We have this information stored in the front-end sampler bindings.
    This solves sampler uniform query across the various back-ends.
    
    Turns on a bunch of uniform_api dEQP tests.
    
    Bug: angleproject:2612
    Change-Id: If8752a26438595ad103598369df360e2f5e12d53
    Reviewed-on: https://chromium-review.googlesource.com/1101572
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 8c379f36206e84fae5cfb3a61e9c35220309d6e7
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Thu Jun 21 19:55:05 2018 -0400

    Vulkan: enable some vertex data tests.
    
    Enable tests that don't use fixed or unnormalized short/byte vertex data,
    with some exceptions for Android and AMD.
    
    BUG=angleproject:2405
    
    Change-Id: I9e37ebca3a873617f11fee065b7a0ba67f80998c
    Reviewed-on: https://chromium-review.googlesource.com/1111317
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>

commit 5ba3742794a7b55484a197779fb2e07a142bd8ff
Author: Tobin Ehlis <tobine@google.com>
Date:   Tue Jun 26 10:45:53 2018 -0600

    Move PlatformMethods constructor to header
    
    Move the default constructor for PlatformMethods struct from
    Platform.cpp into Platform.h. This allows other projects to include
    Platform.h and use PlatformMethods without having to link against ANGLE
    
    Bug: angleproject:2528
    Change-Id: Icb4b9e149e78e9ec7be85804d711d8a2216e61c4
    Reviewed-on: https://chromium-review.googlesource.com/1115212
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 87637b133d1d3ac7b0b18f5dc52176e0295cddf2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 15 09:47:02 2018 -0400

    Vulkan: Remove expectations for passing/missing tests.
    
    Doesn't exist:
    uniform_api.info_query.multiple_nested_structs_arrays.sampler2D_*
    
    Already passing:
    uniform_api.info_query.unused_uniforms.sampler2D_*
    uniform_api.value.initial.render.basic.samplerCube_*
    uniform_api.value.assigned.by_pointer.render.basic.samplerCube*
    uniform_api.value.assigned.by_value.render.basic.samplerCube*
    
    Bug: angleproject:2612
    Change-Id: I4670d31f0d3b566d35985b73bfa2e78e8951d4f9
    Reviewed-on: https://chromium-review.googlesource.com/1101571
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>

commit b779b12caa044baf1f5849d8201cd00c5a425ea0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 20 11:46:43 2018 -0400

    Add kEmptyImmutableString.
    
    We can use this instead of ImmutableString("").
    
    Bug: angleproject:2665
    Change-Id: I8b3d5d3075838b9f2caa1627071202e48a5fdc83
    Reviewed-on: https://chromium-review.googlesource.com/1108085
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>

commit 0bb940a80e12cce3a967104c99746a357dce8d85
Author: Luc Ferron <lucferron@chromium.org>
Date:   Fri Jun 22 09:59:34 2018 -0400

    Vulkan: Edge case test and fix for alpha channel masks
    
    The contextVk color mask needed to be updated when we
    were syncing the state of the framebufferVk to make sure
    the right mask gets applied in the test described in
    ClearTest.cpp
    
    Bug: angleproject:2685
    Bug: angleproject:2597
    Change-Id: I575028aad4cd495bf4ec1484cc870940dcde92d5
    Reviewed-on: https://chromium-review.googlesource.com/1112038
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit af7dc01c509f1b6c3ed276d99e40c85621fc6ddc
Author: Luc Ferron <lucferron@chromium.org>
Date:   Tue Jun 26 07:56:49 2018 -0400

    Context init should set DIRTY_BIT_DRAW_FRAMEBUFFER_BINDING
    
    Bug: angleproject:2685
    Bug: angleproject:2597
    Bug: angleproject:2687
    Change-Id: I4cab6b70c3eae26b827cbbd00ecbfa8b4eddcd7c
    Reviewed-on: https://chromium-review.googlesource.com/1114779
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit 9c1b3e2b051d2930df15c5de818ff062d2c1acd9
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jun 26 12:59:16 2018 -0400

    Partially revert "WGL: Support unvirtualized contexts and unsafe multithreading."
    
    Caused timeouts on the Skia bots when rolling ANGLE.
    
    BUG=angleproject:2686
    BUG=angleproject:2464
    
    Change-Id: I311b075522b86410d055e0b742342423eaa7eeb5
    Reviewed-on: https://chromium-review.googlesource.com/1115216
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit f54e93d6d24de00203ee1220e7c867f148686bfd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 20 11:46:42 2018 -0400

    Vulkan: Implement nested sampler structs.
    
    Nested structs are handled similarly as to non-nested samplers in
    structs. They are extracted and named according to the same
    pattern.
    
    Also enables functional.shaders.random.all_features.fragment*
    
    The remaining work in the samplers-in-structs implementation is to
    translate function arguments.
    
    Bug: angleproject:2494
    Bug: angleproject:2595
    Change-Id: If8170feb71137d4036d352b2b0078518647d48a1
    Reviewed-on: https://chromium-review.googlesource.com/1101569
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>

commit 10887984f9379c09989dd22bc04aa6c338666ff5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 20 11:46:41 2018 -0400

    Vulkan: Sampler structs in arrays.
    
    Samplers are extracted from arrays of struct uniforms similarly as
    with non-arrays. They are named according to the variable name,
    array element and sampler field name.
    
    Nested structs to come later.
    
    Bug: angleproject:2494
    Change-Id: Ie2f5f7bd1f747e73b3c6b505b2b1043cfe1073b5
    Reviewed-on: https://chromium-review.googlesource.com/1101568
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>

commit d07c52e280964e3f634816ebec2844cdf8f1e3a8
Author: Ian Elliott <ianelliott@google.com>
Date:   Fri Jun 22 15:42:09 2018 -0600

    Initial Android implementation of GetSystemInfo
    
    Change-Id: Ia44413aa94906b89d4981063600cd3de0edacee8
    Reviewed-on: https://chromium-review.googlesource.com/1108454
    Commit-Queue: Ian Elliott <ianelliott@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 7c37ca1836402b654dbbf5f00007e09bdf2a7051
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Sep 26 16:56:32 2017 -0400

    RendererGL: Limit warning output to 5 per message type.
    
    BUG=768943
    
    Change-Id: I8ed69c70d1914b56145c52ffe26f13193fb55e9e
    Reviewed-on: https://chromium-review.googlesource.com/685278
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit a75aa3b2c314b32152a886e847f60c80561e4878
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Thu Jun 21 10:38:28 2018 +0800

    ES31: Support compute shader shared variables in HLSL
    
    This patch implements 'shared' variables in compute shader on D3D11
    back-ends. GLSL shared variables are translated into 'groupshared'
    ones in HLSL.
    
    Note that although HLSL allows initializing the variables with
    'groupshared' qualifier, currently we do not initialize them because:
    1. It is very slow to for d3d11 drivers to compile the compute shader if
       we add the code to initialize a shared variable with large array size.
    2. It seems unnecessary to do so and in GLSL it is not allowed to
       initialize a shared variable in the declaration. (ESSL 3.1, Chapter
       4.3.8)
    
    BUG=angleproject:2682
    TEST=angle_end2end_tests
    
    Change-Id: Ica8247e1b98059968612a36e369718ef113a598c
    Reviewed-on: https://chromium-review.googlesource.com/1109587
    Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>

commit f5fd5c6c6a2157990fac5aabfa44e48c094a3055
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Fri Jun 22 17:52:32 2018 -0400

    Remove FormatString for real
    
    Forgot to remove it from the header in
    https://chromium-review.googlesource.com/577922
    
    Bug: angleproject:1644
    Change-Id: I89f9c975b3fc3b7161edd2c2907549eaa672c223
    Reviewed-on: https://chromium-review.googlesource.com/1112647
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit e9c0b262a4e97828037174859fb494c91f61a7bd
Author: Luc Ferron <lucferron@chromium.org>
Date:   Fri Jun 22 09:50:04 2018 -0400

    Vulkan: Add drawQuad to a sampler test
    
    Bug: angleproject:2675
    Change-Id: I3774ca4602e9eea7c191e99a95939043ac0d8777
    Reviewed-on: https://chromium-review.googlesource.com/1111901
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 01048a0755fcec14189d39b2e0fb159a4ba7d6d8
Author: Luc Ferron <lucferron@chromium.org>
Date:   Fri Jun 22 10:09:19 2018 -0400

    Vulkan: Cleanup InstancingTest logic and enable tests for Vulkan
    
    Bug: angleproject:2647
    Change-Id: I3bf78c617a39191e725e0fa73befff4d42ac5962
    Reviewed-on: https://chromium-review.googlesource.com/1111903
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit fec92a6f89f18ce2bc32d29f1da192f0e0681599
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jun 22 10:52:01 2018 -0400

    Temporarily skip MakeCurrentMultiContext test on Windows AMD OpenGL.
    
    BUG=angleproject:2464
    
    Change-Id: Iaa4d075af6e92fd603f3dfaab0946daed2af64ab
    Reviewed-on: https://chromium-review.googlesource.com/1111909
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit e4e2d0c57d1602fa06b677d0b6635c4c77f3a1ae
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 22 08:25:05 2018 -0400

    Vulkan: Add RenderTargetVk::getImageForRead.
    
    This helper method will also transition the Image to the correct read
    layout. We will need to revisit the implementation when working on
    simulatenous read.
    
    Bug: angleproject:2539
    Change-Id: Id61404460f3ef0dbb054e6ac2dfc0b59adb78402
    Reviewed-on: https://chromium-review.googlesource.com/1108378
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>

commit 16f391d4459ec1ab76df8e71f7d6d74bc9e5ab46
Author: jchen10 <jie.a.chen@intel.com>
Date:   Fri Jun 22 08:57:40 2018 +0800

    ParallelCompile: Update gl.xml
    
    Updated from https://raw.githubusercontent.com/KhronosGroup/OpenGL-Registry/master/xml/gl.xml.
    
    BUG=chromium:849576
    
    Change-Id: I92520d53844f7fff7e68ca49207151d4fa69c79e
    Reviewed-on: https://chromium-review.googlesource.com/1111469
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit edeaa835d00f7c1defda901121b2b254e3c6ffd8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 22 09:18:41 2018 -0400

    Vulkan: Fix mixed descriptor pool updates.
    
    When updating the Uniforms and Textures pools at different rates we
    could trigger an ANGLE bug. We would sometimes reset and free the
    currently bound descriptors. We can fix this by using separate
    descriptor pools for each descriptor set.
    
    Bug: angleproject:2678
    Change-Id: I605b558531e7745484e16156a3af5eac40ffcc79
    Reviewed-on: https://chromium-review.googlesource.com/1110662
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>

commit caaff169bf1c26669b6e30a86e36e6f95873def5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 22 08:55:37 2018 -0400

    Vulkan: Fix releasing Programs that are in use.
    
    The bug would only manifest after a glUseProgram(0) at a specific time.
    Fix the bug by releasing the uniform buffer to the Renderer instead.
    
    Bug: angleproject:2397
    Change-Id: Ia071da5af00dfc740e0fc20864d41f7b3e0afda4
    Reviewed-on: https://chromium-review.googlesource.com/1110712
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>

commit 8a4c49fb794e34ce00ec11ea43c7b49a46dc5134
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jun 21 15:43:06 2018 -0400

    Vulkan: Refactor DynamicDescriptorPool.
    
    Changes the set counting to use a free count by descriptor type. Also
    changes the init to take a pool size count that more closely mirrors
    Vulkan.
    
    Will lead to a fix for descriptor set recreation.
    
    Bug: angleproject:2678
    Change-Id: I26816befec28ebb866fb0f3aaba27d2bc1d3be43
    Reviewed-on: https://chromium-review.googlesource.com/1110661
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 3cacf69b56aa1846306a117eeb6a35f87bde42d7
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jun 20 16:49:57 2018 -0400

    Pass all context creation parameters to DisplayImpl::createContext.
    
    Knowing the share context at native context creation time is required if
    we want to honor the requested share group instead of virtualizing
    contexts or using global share groups.
    
    BUG=angleproject:2464
    
    Change-Id: I1fb4d71de266b3191986b1754e73d474e49445bb
    Reviewed-on: https://chromium-review.googlesource.com/1108743
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 24ddc7a894d19d269fa3a266f5ee506806a9ea82
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jun 11 14:56:34 2018 -0400

    WGL: Support unvirtualized contexts and unsafe multithreading.
    
    When using unvirtualized contexts, DisplayWGL still creates a Renderer for
    managing any internal GL resources such as emulated back buffers for
    DXGISwapChainWindowSurfaceWGL or D3DTextureSurfaceWGL but also creates a new
    Renderer for each GL context.  All created contexts share resources.
    
    BUG=angleproject:2464
    
    Change-Id: I945502514079368e062beef70bed49c61ed44403
    Reviewed-on: https://chromium-review.googlesource.com/1097459
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 5bdf8bd1cf5664c4b4f8184026135e2ca307f1c0
Author: Luc Ferron <lucferron@chromium.org>
Date:   Wed Jun 20 09:51:37 2018 -0400

    Vulkan: enable the rest of dEQP tests in fbo.render.*
    
    Vulkan does not support separate depth and stencil attachments.
    Adding this check to checkStatus skips the relevant tests to that.
    
    There was also a bug in FramebufferVk::clear where we were not
    checking the number of bits for depth/stencil attachments before
    setting the aspects for clearing.
    
    Bug: angleproject:2597
    Change-Id: Iabe9f77a51fc7aca08b8faf3cecc3df9f99a7f1e
    Reviewed-on: https://chromium-review.googlesource.com/1107847
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 05a449a795258e34d2451b9390b6021c7a4a2f28
Author: Rafael Cintron <rafael.cintron@microsoft.com>
Date:   Wed Jun 20 18:08:04 2018 -0700

    Replace reinterpret_cast with safer or no cast
    
    When casting types to one another in C++, the weaker the cast,
    the better.
    
    This change replaces instances of reinterpret_cast with static_cast
    or no cast where it safe and correct to do so.
    
    BUG=angleproject:2683
    
    Change-Id: I99c9033614a65282ae1d78cf0f4b80fabd75877a
    Reviewed-on: https://chromium-review.googlesource.com/1109396
    Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 5fd3693e1137cb651dc3e7f5d088a621e4efec1f
Author: Luc Ferron <lucferron@chromium.org>
Date:   Tue Jun 19 14:55:50 2018 -0400

    Vulkan: Mask the alpha channel for draw when needed
    
    When the angleFormat we have has no alpha channel, but the actual
    texture underneath has one, we shouldn't be drawing over the alpha
    channel, so we apply a mask on it when we're in this situation.
    
    Bug: angleproject:2597
    Change-Id: Ia7110709e6ee32bb61988d08f5049e4e80e7e24e
    Reviewed-on: https://chromium-review.googlesource.com/1106759
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 1a3bbaa88194d701e2d70b665f8abec3e6c8d5e9
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Jan 25 11:41:31 2018 +0200

    Use ImmutableString instead of TString in QualifierTypes
    
    This avoids unnecessary pool allocations when generating errors. Most
    of the returned strings are static.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: Ia9b26898d499985d61e629fddde7aded4714eddf
    Reviewed-on: https://chromium-review.googlesource.com/885818
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit e033999e02d4b2ae90a3e15032edb021ee138e1d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 20 11:46:40 2018 -0400

    Vulkan: Add struct sampler parsing.
    
    Vulkan requires all uniforms to be declared in a block. Uniform
    blocks can't have store samplers. Thus we can't use structs in
    samplers with Vulkan GLSL.
    
    To work around this limitation we extract samplers from structs
    and move them into standalone types. The samplers are named
    according to the variable and struct fields.
    
    Arrays of structs and nested structs to come later.
    
    Bug: angleproject:2494
    Change-Id: I83a94ab082c6ce7ee68ec1290751ecee18820683
    Reviewed-on: https://chromium-review.googlesource.com/1101567
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 4da0d315e61367ee0cd3e13aa58500694f096e69
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 20 11:46:38 2018 -0400

    Vulkan: Handle embedded struct uniforms.
    
    Also known as nameless structs. Uniform structs without a struct name
    would not be parsed correctly. This fixes the bug by adding a tree
    transformation. The transformation gives an internally scoped name to
    the embedded struct.
    
    Bug: angleproject:2665
    Change-Id: I43e4dad7d9ad64a40e382066bb136e4f8f719797
    Reviewed-on: https://chromium-review.googlesource.com/1101566
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 3237f75953c1a5aef37535fe9fdba5842f2b4a4e
Author: Luc Ferron <lucferron@chromium.org>
Date:   Wed Jun 20 14:45:43 2018 -0400

    Vulkan: Fix issue when a sampler2D was not used in FS or VS
    
    Bug: angleproject:2675
    Change-Id: Idbf2590a763fd7b81d2bcc5850180a1bb931360e
    Reviewed-on: https://chromium-review.googlesource.com/1108490
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit cd70aa422ce61a94fa5727822cd821f3a7dc5a5f
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Wed Jun 20 17:05:32 2018 -0400

    Always depend on libandroid for angle_util.
    
    libnativewindow doesn't have all the functions angle_util requires,
    namely: AConfiguration_*, AInputEvent_*, AInputQueue_*, ALooper_*.
    It should be safe to always use libandroid, since angle_util is only
    used by tests, thus it won't interfere with AngleLibraries.apk
    
    Bug: angleproject:2418
    Change-Id: I8343924629205bfb5d65dafe34db8e2baa987bae
    Reviewed-on: https://chromium-review.googlesource.com/1108747
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit d11efaec7f280507a9c2103d216ad07a535b585b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jun 20 11:43:41 2018 -0400

    Release the current context's surface before making the next context current.
    
    We were calling context->releaseSurface on a context that was no longer
    current, this somtimes caused incorrect framebuffers to be deleted.
    
    BUG=angleproject:2464
    
    Change-Id: I6859b5739a509c1343901f8c0eef1fdd1598cea1
    Reviewed-on: https://chromium-review.googlesource.com/1108087
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit fddac3a34daa77f1de08deb28a74789a639e1fef
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 20 15:21:31 2018 -0400

    Vulkan: Remove obsolete TODO.
    
    Bug: angleproject:2397
    Change-Id: I847772aa5ce1c27f7fd232d50d39c15f10135900
    Reviewed-on: https://chromium-review.googlesource.com/1108515
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 397ca26a23248948f156de592eedb1d061e46ac6
Author: Luc Ferron <lucferron@chromium.org>
Date:   Wed Jun 20 14:51:07 2018 -0400

    GLES: Add skip for failing test
    
    Bug: angleproject:2681
    Change-Id: I728e57cee4c56da049a27c2d86a8899c44cf4917
    Reviewed-on: https://chromium-review.googlesource.com/1108494
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit 2ad498eb34c0d202b69075cc8c112a082e1f7ff1
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Wed Jun 20 13:19:01 2018 -0400

    Vulkan: get vertex formats from format table.
    
    Use the Vulkan format table to look up the Vulkan format for vertex data.
    This will let us support more vertex formats by adding them to the table.
    It also eliminates one usage of gl::VertexFormatType.
    No functional change.
    
    BUG=angleproject:2405
    BUG=angleproject:2531
    
    Change-Id: I73eb69ccac50d427de3e7d5479f92bb17c49aed3
    Reviewed-on: https://chromium-review.googlesource.com/1051028
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit 9c4c0926ac1c568c332783815821cc9fd9051767
Author: Lingfeng Yang <lfy@google.com>
Date:   Wed Jun 13 09:29:00 2018 -0700

    Reland "GLES1: Point rasterization (partial implementation)"
    
    This is a reland of 4004ae0e033a0169de3cb53c0a036833ad47178a
    
    Fix: Put the missing early-out in ValidatePointParameterCommon
    
    Original change's description:
    > GLES1: Point rasterization (partial implementation)
    >
    > - Not included: Smooth points
    >
    > - GL_OES_point_sprite
    > - Update test expectations. Note: due to different random sampling,
    > edge cases were hit in UserClip. Disabling that test for now.
    >
    > BUG=angleproject:2306
    >
    > Change-Id: If8367bc3321804b3299d3bc381d6a8e236754baa
    > Reviewed-on: https://chromium-review.googlesource.com/1101910
    > Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    > Commit-Queue: Lingfeng Yang <lfy@google.com>
    
    Bug: angleproject:2306
    Change-Id: Id8e71352a77ff0ce71cb604965effbfb8aca613e
    Reviewed-on: https://chromium-review.googlesource.com/1108458
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Lingfeng Yang <lfy@google.com>

commit 3fb64c6a75ce7b92e273c2b086223ca6bdb08236
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 20 11:46:39 2018 -0400

    Vulkan: Fix counting for shader texture bindings.
    
    Vulkan prefers to use a single binding for each texture array.
    Previously we were reserving binding space for array elements.
    
    Doesn't immediately fix any tests but allows more tests to
    pass in subsequent CLs.
    
    Bug: angleproject:2494
    Change-Id: I238d4e6f491bfa6daf04dde24f8111c8418cd59c
    Reviewed-on: https://chromium-review.googlesource.com/1101570
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>

commit a58d69e90b9109585076e2746126ac4e27c2fa3b
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Wed Jun 20 18:07:11 2018 +0000

    Revert "GLES1: Point rasterization (partial implementation)"
    
    This reverts commit 4004ae0e033a0169de3cb53c0a036833ad47178a.
    
    Crash in PointParameterTest.NegativeEnum/ES1_OPENGL.
    https://ci.chromium.org/p/chromium/builders/luci.chromium.ci/Mac%20FYI%20GPU%20ASAN%20Release/1178
    angle_end2end_tests on Intel GPU on Mac on Mac-10.12.6
    angle_end2end_tests on ATI GPU on Mac Retina on Mac-10.12.6
    
    Original change's description:
    > GLES1: Point rasterization (partial implementation)
    >
    > - Not included: Smooth points
    >
    > - GL_OES_point_sprite
    > - Update test expectations. Note: due to different random sampling,
    > edge cases were hit in UserClip. Disabling that test for now.
    >
    > BUG=angleproject:2306
    >
    > Change-Id: If8367bc3321804b3299d3bc381d6a8e236754baa
    > Reviewed-on: https://chromium-review.googlesource.com/1101910
    > Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    > Commit-Queue: Lingfeng Yang <lfy@google.com>
    
    TBR=geofflang@chromium.org,jmadill@chromium.org,cwallez@chromium.org,lfy@google.com
    
    Change-Id: I776ce0506d349382b3af035c962aa2c3f6826b99
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:2306
    Bug: angleproject:2680
    Reviewed-on: https://chromium-review.googlesource.com/1108457
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Lingfeng Yang <lfy@google.com>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit e5c614fbaf799e53d85a9042b4f1f3e9193960c8
Author: jchen10 <jie.a.chen@intel.com>
Date:   Wed Jun 20 15:20:12 2018 +0800

    ParallelCompile: Update gl2ext.h
    
    Updated from http://khronos.org/registry/OpenGL/api/GLES2/gl2ext.h
    
    BUG=chromium:849576
    
    Change-Id: I80e07fad80899b96b037a978855b70ff25bb5bd9
    Reviewed-on: https://chromium-review.googlesource.com/1107494
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 72e3589cdf4cd04bd8f63311b8a9f81b575b5958
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Jun 20 11:43:08 2018 +0300

    Refactor debug output of types
    
    Instead of passing around strings from TType::getCompleteString(),
    add a stream operator to InfoSinkBase that takes a TType. This makes
    the compiler executable a few kilobytes smaller and will help with
    getting rid of TString altogether.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: I31a6693b40a28824b3959e19ad3c0a2ce0f0a35f
    Reviewed-on: https://chromium-review.googlesource.com/1107712
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 66c2f4afe3c2255c2c04f844cba32617b4664113
Author: Luc Ferron <lucferron@chromium.org>
Date:   Tue Jun 19 10:27:57 2018 -0400

    Vulkan: Add test and fix clear on RGB8 with color masks
    
    Fixes the behavior of clearWithDraw to keep the alpha channel if
    we should not be clearing it.
    
    Bug: angleproject:2667
    Change-Id: Id49c1d2ca30ecb5b5bdd8abe00825a6210cfacf6
    Reviewed-on: https://chromium-review.googlesource.com/1106052
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit a914f7ff310df18ce64185bee69bdf9275b4463f
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Fri Jun 8 10:07:41 2018 +0800

    Use ShaderMap in Statemanager11 - Part II
    
    This patch is the last patch of storing shader resources into
    ShaderMap in Statemanager11.
    
    This patch also splits several large functions into smaller
    one to make the code structure clearer.
    
    BUG=angleproject:2169
    
    Change-Id: Id6d89976de0376b2479bd11d7551fc6f5b521c13
    Reviewed-on: https://chromium-review.googlesource.com/1092511
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>

commit 4004ae0e033a0169de3cb53c0a036833ad47178a
Author: Lingfeng Yang <lfy@google.com>
Date:   Wed Jun 13 09:29:00 2018 -0700

    GLES1: Point rasterization (partial implementation)
    
    - Not included: Smooth points
    
    - GL_OES_point_sprite
    - Update test expectations. Note: due to different random sampling,
    edge cases were hit in UserClip. Disabling that test for now.
    
    BUG=angleproject:2306
    
    Change-Id: If8367bc3321804b3299d3bc381d6a8e236754baa
    Reviewed-on: https://chromium-review.googlesource.com/1101910
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Lingfeng Yang <lfy@google.com>

commit 953182ce3056e264c4ec964ab396586d5d6727d2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jun 19 14:56:50 2018 -0400

    D3D11: Suppress basic line XFB dEQP tests.
    
    These appear to be somewhat flaky on Windows.
    
    Bug: angleproject:2676
    Change-Id: I62a6ccce9a6c7f1dcaacc7d09c7e01b69a7652bb
    Reviewed-on: https://chromium-review.googlesource.com/1106654
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 41b453a48844741542a4f0031f49d16e0ad29561
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jun 11 14:46:00 2018 -0400

    WGL: Track current context per thread.
    
    BUG=angleproject:2464
    
    Change-Id: I5cce1f52dc3636478e3e2893f5323345b7f83501
    Reviewed-on: https://chromium-review.googlesource.com/1097458
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 1c3a94aa898efc3464956b58a1a5afd63f3d6a0a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon May 7 15:23:42 2018 -0400

    WGL: Update the Renderer to own the native GL context.
    
    Adds a RendererWGL which owns the native WGL GL context.
    
    Adds a ContextWGL which owns the RendererWGL and communicates the native WGL
    context back to DisplayWGL for making current.
    
    BUG=angleproject:2464
    
    Change-Id: Ideb11c164da2c304f860c544a56450d0ad8fafac
    Reviewed-on: https://chromium-review.googlesource.com/1038131
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit d3ab30785b52c7dc5c984545662214cd56ec3519
Author: Luc Ferron <lucferron@chromium.org>
Date:   Tue Jun 19 09:55:04 2018 -0400

    Vulkan: Enable some more fbo.render dEQP tests
    
    Sometime we have a clear call with clearDepth+clearStencil but no
    attachment to clear. This was triggering the assert instead of
    just skipping the clear.
    
    Bug: angleproject:2597
    Change-Id: I2d7750db919afe47cf02155f7c4afd0b02318bb1
    Reviewed-on: https://chromium-review.googlesource.com/1106039
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit c94ba1d5eea0d235dbf01f1ccb289d6e3a73cf58
Author: Luc Ferron <lucferron@chromium.org>
Date:   Mon Jun 18 11:26:28 2018 -0400

    Vulkan: Enable a bunch of texture related tests
    
    Also adds a small bugfix in
    PixelBuffer::stageSubresourceUpdateFromFramebuffer where we weren't
    using the right format for the pack pixels params. The format should
    be unsized so that the fastcopyfunc / colorwritefunc / colorreadfunc
    are found correctly if needed when packing pixels.
    
    Bug: angleproject:2653
    Bug: angleproject:2501
    Change-Id: Ie4aacc623ddc9583360ab0c99be19d3db2bdbf44
    Reviewed-on: https://chromium-review.googlesource.com/1104395
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 339b95ef8a6804912df26df720580d59a6141c87
Author: Luc Ferron <lucferron@chromium.org>
Date:   Tue Jun 12 10:21:52 2018 -0400

    Vulkan: Support RGB5A1 correctly
    
    Bug: angleproject:2649
    Bug: angleproject:2597
    Change-Id: I2fd7185463d92737454e383fbfb7992e8d68fe68
    Reviewed-on: https://chromium-review.googlesource.com/1097221
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 2a0181587955d00aa66605b126dd01fad1b0772f
Author: Brandon Jones <brandon1.jones@intel.com>
Date:   Fri Jun 8 15:59:26 2018 -0700

    Change Validation For Indexed Draw Without ELEMENT_ARRAY_BUFFER
    
    Changed WebGL Validation to return INVALID_OPERATION any time an
    indexed draw call is made without a bound ELEMENT_ARRAY_BUFFER. Spec
    was changed to no longer require count > 0 in order to cause error.
    Make same spec change to GL_ANGLE_client_arrays extension.
    
    BUG:angleproject:2639
    Change-Id: I23963f357119d081890aa5387b2863e1d42b92a5
    Reviewed-on: https://chromium-review.googlesource.com/1093984
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 7df52383cfdf1a0f69c30fc237d0dbebc2bac353
Author: Luc Ferron <lucferron@chromium.org>
Date:   Mon Jun 18 14:38:23 2018 -0400

    Angle: Fix angle::Format's pixelBytes
    
    The X channel wasn't taken into account when calculing that pixel_bytes
    field, leading to some inconsistencies.
    
    Bug: angleproject:2597
    Change-Id: I135e806518ec633d48c1535a48f305bd4d757887
    Reviewed-on: https://chromium-review.googlesource.com/1104960
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit 2dabb4a367c3967f0499e8711251077f44a8d186
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jun 1 17:18:41 2018 -0400

    Make a context current when destroying it.
    
    The destructors of objects in a context assume that the context is current
    during destruction.  If another context is current at this time, they can
    delete objects from other contexts.
    
    BUG=angleproject:2464
    
    Change-Id: I813d092cc7f33a39c814edae5baa433733b4590c
    Reviewed-on: https://chromium-review.googlesource.com/1083371
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 9d69dd96ab6b299122176b48d5a43ce7609206e0
Author: Edward Lemur <ehmaldonado@chromium.org>
Date:   Mon Jun 18 16:36:22 2018 -0400

    Remove DEPS .chromium
    
    Chromium now uses the same DEPS file as ANGLE.
    
    Bug: 782846
    Change-Id: I717abeabfa15398a27740ab02e42def7cdb8ffac
    Reviewed-on: https://chromium-review.googlesource.com/1083786
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>

commit 388f991ce84058e5a44208e182d9b6d5ffbaf9b5
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Fri Jun 15 17:18:09 2018 -0400

    Vulkan: fix third_party path.
    
    run_code_generation.py stopped working, likely as a result of the big Vulkan repo reorganization.
    I fixed a path, regenerated everything (by temporarily hacking the script so it thought everything
    was dirty), and nothing changed except one comment.
    
    BUG=angleproject:2558
    
    Change-Id: I5ac4c040ac1ec207098172303cc2f2507cccdecb
    Reviewed-on: https://chromium-review.googlesource.com/1103281
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Tobin Ehlis <tobine@google.com>

commit f5557accff71f08c2f6c2348041f03501ca81506
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 15 09:46:58 2018 -0400

    translator: Store symbol type in TField.
    
    This allows us to keep a separate symbol type for each field in a
    struct. This can allow us to assign internal names to struct types.
    It could also allow us to add internal fields to user defined stucts.
    
    Bug: angleproject:2665
    Change-Id: I6a129107d9db66c54b98b07684c3ead5801712ba
    Reviewed-on: https://chromium-review.googlesource.com/1101565
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>

commit 17cee572471b56d7faab7b1be1e7e474d1568d57
Author: Luc Ferron <lucferron@chromium.org>
Date:   Mon Jun 18 08:28:50 2018 -0400

    SampleApps: Refactor to use cli args the same way
    
    Bug: angleproject:2669
    Change-Id: Ica5b49e63e8af69595cdde3737b0aa1808d7d841
    Reviewed-on: https://chromium-review.googlesource.com/1104377
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit 6ed167a99d8db05aff8657e9d0eab618e72bfe9d
Author: Luc Ferron <lucferron@chromium.org>
Date:   Wed Jun 13 13:45:55 2018 -0400

    Vulkan: Implement conversion to uint16 for drawElements with ubytes
    
    Bug: angleproject:2646
    Bug: angleproject:2659
    Change-Id: If3c7a2b77d6acd18c8ca2522a427a43e10ed6db2
    Reviewed-on: https://chromium-review.googlesource.com/1099420
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit c252d7573fdbbcc834c3d7a52617ef7311e1a432
Author: Luc Ferron <lucferron@chromium.org>
Date:   Thu Jun 14 09:32:40 2018 -0400

    Vulkan: Fill in glslang resources with our caps
    
    This allows us to enable these tests:
    dEQP-GLES2.functional.shaders.fragdata.valid_static_index
    
    Bug: angleproject:2594
    Change-Id: I2c9a10063500d96d1c4bfb761f4b45590114b7ef
    Reviewed-on: https://chromium-review.googlesource.com/1100957
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit f6fd48fd329f65b7406755de405eae87a93c429c
Author: Luc Ferron <lucferron@chromium.org>
Date:   Mon Jun 18 08:11:27 2018 -0400

    Vulkan: Get uniform for array of matrices fix
    
    Bug: angleproject:2666
    Change-Id: Ib50b0dd89abbd1d8d6c829a5ecf6438acc970da3
    Reviewed-on: https://chromium-review.googlesource.com/1104305
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit 50cf2be0758b793dfb0b6ae4aaacc4fa62c4fa86
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 15 09:46:57 2018 -0400

    Reformat some style in touched files.
    
    This was triggered by running the code generation script.
    
    Bug: angleproject:2665
    Change-Id: Id639c78eb618182ee1859678590cf0f559b572c2
    Reviewed-on: https://chromium-review.googlesource.com/1101564
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 57707e5f451f08f32d1483c4e9a7332a0347f9e5
Author: Luc Ferron <lucferron@chromium.org>
Date:   Thu Jun 14 14:50:36 2018 -0400

    Vulkan: Fix a state notification change that was wrong
    
    That state change should really be in the frontend and not in each
    backend.
    
    Bug: angleproject:2594
    Change-Id: I9d9396563ce42a41587b954892d6b4c6002c5072
    Reviewed-on: https://chromium-review.googlesource.com/1101252
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 0661eb899f46160fcf2e7edc74f1462863c7e07a
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Wed Jun 13 10:51:54 2018 +0800

    Fix compile error in iterating ShaderBitSet
    
    This patch fixes a compile error when we do iteration on ShaderBitSet.
    Now we can directly get a ShaderType variable in a range-for iteration
    on a ShaderBitSet.
    
    BUG=angleproject:2169
    
    Change-Id: I23e38f2ebd1c72145a2e54be374f7dcd9f5fb9e2
    Reviewed-on: https://chromium-review.googlesource.com/1100312
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 06a2262078b2a21d173b2562ee0440d00ab9e549
Author: Xinghua Cao <xinghua.cao@intel.com>
Date:   Fri May 18 16:48:41 2018 +0800

    ES31: Use indices to access image variables in built-in image functions
    
    In order to implement glBindImageTexture to bind a layer of 3D/2DArray/Cube
    texture, use indices to access image variables when translating built-in
    image functions.
    There is a conflict when transferring image2D/iimage2D/uimage2D variables to
    an user defined function. For example,
    layout(r32ui, binding = 0) readonly uniform highp uimage2D uImage_1;
    layout(r32ui, binding = 1) readonly uniform highp uimage2D uImage_2;
    uvec4 lod_fun(uimage2D img, ivec2 p)
    {
        return imageLoad(img, p);
    }
    void main()
    {
        uvec4 value_1 = lod_fun(uImage_1, ivec2(gl_LocalInvocationID.xy));
        uvec4 value_2 = lod_fun(uImage_2, ivec2(gl_LocalInvocationID.xy));
    }
    If uImage_1 binds to a 2D texture, and uImage_2 binds to a layer of 3D texture,
    uImage_1 will be translated to Texture2D type, and uImage_2 will be translated to
    Texture3D type, "img" type of lod_fun will be translated Texture2D, so uImage_2
    cannot be transferred to lod_fun as a parameter.
    Indices without Texture/RWTexture information could handle this situation easily.
    
    BUG=angleproject:1987
    TEST=angle_end2end_tests.ComputeShaderTest.*
    
    Change-Id: I7647395f0042f613c5d6e9eeb49392ab6252e21e
    Reviewed-on: https://chromium-review.googlesource.com/1065797
    Commit-Queue: Xinghua Cao <xinghua.cao@intel.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>

commit 9491e5ebed989656c00e5b9434a17e321899b98b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jun 14 12:48:06 2018 -0400

    Generate framebuffer IDs used in DXGISwapChainWindowSurfaceWGL.
    
    The DXGI surface was attempting to bind renderbuffers to the default
    framebuffer instead of a generated one.
    
    BUG=852399
    
    Change-Id: Ibca6699e73e84735c64f2e3ee6b7684bfcbe1bfc
    Reviewed-on: https://chromium-review.googlesource.com/1101240
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 75359664993b81a950cfd4ebdad36ada566ef6da
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Apr 11 01:42:27 2018 -0400

    Implement EGL_KHR_debug.
    
    BUG=angleproject:1618
    
    Change-Id: I790944b49badc910b6c72266469fcb8e86ac4252
    Reviewed-on: https://chromium-review.googlesource.com/1019387
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 448da49c726cf2734786adfe20c226ef23872f6d
Author: Luc Ferron <lucferron@chromium.org>
Date:   Thu Jun 14 10:49:40 2018 -0400

    Vulkan Intel: Flaky test suppression
    
    Bug: angleproject:2664
    Change-Id: Id6f563fae520cec47d9b5d34da79b08d649863c3
    Reviewed-on: https://chromium-review.googlesource.com/1101062
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit 49aacad566aaaaffa556cd4c7eae0d8cfc879302
Author: Luc Ferron <lucferron@chromium.org>
Date:   Tue Jun 12 08:33:59 2018 -0400

    Vulkan: Support the indices offset in drawElements calls
    
    Also fixes an issue in buffer copy synchronization.
    
    Bug: angleproject:2645
    Change-Id: Ibca7052daaf1e6fe37913c8a8216ec33c66426b6
    Reviewed-on: https://chromium-review.googlesource.com/1096911
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit f6e160fa9ca56bcdd0a42f0e6c7e4ecfd16006e6
Author: Luc Ferron <lucferron@chromium.org>
Date:   Tue Jun 12 10:13:57 2018 -0400

    Vulkan: Don't use swizzle state when its not needed
    
    Enables a bunch of dEQP tests in the functional.fbo.render.* namespace.
    
    Bug: angleproject:2597
    Change-Id: I1a06b335d5daf2987df52c460903081860887ce9
    Reviewed-on: https://chromium-review.googlesource.com/1097596
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit d668be9ce66f3d205c2a77da015e6b967473e071
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 13 16:54:06 2018 -0400

    Vulkan: Use push constants in PipelineLayoutCache.
    
    This removes the internal pipeline layout for the masked clear shaders.
    Instead use the PipelineLayoutCache.
    
    Bug: angleproject:2462
    Change-Id: I8f8365b866098ece3e964fd12447dfdea55c20ba
    Reviewed-on: https://chromium-review.googlesource.com/1090758
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit 4cc753e01054a7fb3c913d8d4fc6eff76040ca2b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 13 13:25:33 2018 -0400

    Vulkan: Implement sampler arrays.
    
    Bug: angleproject:2462
    Change-Id: If9c9cb69624d6f9f0895f6883e1eed19a27e6cb4
    Reviewed-on: https://chromium-review.googlesource.com/1089809
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit 8ed634c037129671399f5a95a3155afc7934c794
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 13 13:25:33 2018 -0400

    Vulkan: Fix qualifier replacement for sampler arrays.
    
    The uniform name by default has the array subscript [0] appended. In
    the shader code it uses no subscript. Fix this by parsing out the
    subscript in the glslang wrapper subsitution step.
    
    This is a preliminary fix. More work on descriptor set layouts and
    pipeline layouts will be necessary to support sampler arrays.
    
    Bug: angleproject:2462
    Change-Id: I57d6304f33822d588c7cb192607380c2f3ba20f5
    Reviewed-on: https://chromium-review.googlesource.com/1089808
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit 9b168d0233d8a39cc781ea3bf5b0fbc64e3fe529
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 13 13:25:32 2018 -0400

    Vulkan: Store Pipeline/DS Layouts in ProgramVk.
    
    We can keep a shared reference to the Pipeline and Descriptor Set
    layouts in the Program. This ensures they are not in use when they are
    deleted. Note that they are allowed to be deleted as long as no command
    buffers are currently recording with them. If the Program is deleted
    then there should be no further commands using these layouts.
    
    Bug: angleproject:2462
    Change-Id: I75161b3ce1ee8eae33dd6becee79b4262b844cdd
    Reviewed-on: https://chromium-review.googlesource.com/1089807
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit c7918cebefce34d781a9debe62ced1cd920c9297
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 13 13:25:31 2018 -0400

    Vulkan: Add PipelineLayout and DescriptorSetLayout caches.
    
    This will be necessary to support more than one PipelineLayout per
    instance of ANGLE. Sampler array handling requires different layouts
    for different sampler uses.
    
    Bug: angleproject:2462
    Change-Id: I1d8b4919eed1a589002ad1898b05186f420061c7
    Reviewed-on: https://chromium-review.googlesource.com/1089806
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>

commit b971f499b5016d417269402cb73aaa76ab0c0862
Author: Tobin Ehlis <tobine@google.com>
Date:   Thu May 24 10:56:17 2018 -0600

    Migrating ANGLE to split LVL repos
    
    Separated the Vulkan Validation Layers, Loader, Tools and Headers into
    separate dirs to map to the new separate repo structure.
    
    Bug: angleproject:2558
    Change-Id: I422038f7dd7efe8c5b7a49dc5074de5caf40edfa
    Reviewed-on: https://chromium-review.googlesource.com/1071880
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit ad2ae93ed4f9099d07b072f8fae67f43c8423e16
Author: Luc Ferron <lucferron@chromium.org>
Date:   Mon Jun 11 15:31:17 2018 -0400

    Vulkan: Clamp the point size range to have a min value of 1.0
    
    Bug: angleproject:2658
    Change-Id: I32ff9aa27b064d9977eea0b83b18c52c4e42e38d
    Reviewed-on: https://chromium-review.googlesource.com/1096054
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 9327981248e79b886c1cafd8388b8de650b5f521
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Jun 13 11:22:15 2018 +0300

    Remove unnecessary checks when traversing nodes
    
    All children of binary and ternary nodes are guaranteed to be
    non-null. We don't need to check for their existence when traversing
    the tree.
    
    BUG=angleproject:2662
    TEST=angle_unittests
    
    Change-Id: I5575058e7213d0c4b4554ca616b4298e535842d6
    Reviewed-on: https://chromium-review.googlesource.com/1098670
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit f462ac1be28362061f1538571cf0a0ce99ba3ae8
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Jun 13 10:22:43 2018 +0300

    Remove TIntermRaw
    
    It's not used anywhere and removing it will make changing traversal
    code a bit simpler.
    
    BUG=angleproject:2662
    TEST=angle_unittests
    
    Change-Id: I4a430a09ceb538c8b0e5d1bb0a95f3fd7657c276
    Reviewed-on: https://chromium-review.googlesource.com/1098671
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 3e313805e5a2e2eeda5822b3562e40e1bcc5ef83
Author: Luc Ferron <lucferron@chromium.org>
Date:   Mon Jun 11 14:44:33 2018 -0400

    Vulkan: Line loop edge case with ubyte indices
    
    Bug: angleproject:2637
    Change-Id: I2cec129ed1aa0e55e0dbf1d353caa65a51c528a3
    Reviewed-on: https://chromium-review.googlesource.com/1096017
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 9c0e3063ddb190700c8f27360400339b7645d39c
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Mon Apr 23 16:31:28 2018 -0400

    Fix several of PointSpritesTest
    
    PointWithoutAttributesCompliance,
    PointCoordRegressionTest,
    PointSpriteAlternatingDrawTypes
    were failing on Nexus 5X Vulkan, because pointSizeRange is [1,1] there,
    and the tests assume they can use point sizes larger than 1.
    
    Fix the tests to check whether the point size they want to use is available.
    
    Note: PointWithoutAttributesCompliance and PointSpriteAlternatingDrawTypes
    can actually work with size 1, though they need to calculate center
    pixel more accurately. However, looks like there is a bug in Nexus 5X
    driver, and no pixels are rendered. The tests do pass on Pixel 2.
    
    Bug: angleproject:2447
    Change-Id: I511574b1b11f2516c10209b85f86b3e7052e6686
    Reviewed-on: https://chromium-review.googlesource.com/1026979
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 7ce4a15115cba8e52d243131fb4aac06115fbcfd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jun 12 10:19:49 2018 -0400

    Add support for uint8_t and uint16_t bitsets.
    
    These pack very well in some structs. Support is required so the
    templates work as expected.
    
    Also packs the Shader map into 8 bits. This includes a workaround for
    an unusual warning generated by MSVC.
    
    Bug: angleproject:2462
    Change-Id: I804d1b9370b3951343718385210dec7d37700d73
    Reviewed-on: https://chromium-review.googlesource.com/1091135
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit aaca96eedc7cf734ee5f07369a2f785d97dcd996
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jun 12 10:19:48 2018 -0400

    Vulkan: Minor style fixes.
    
    Makes some methods const or static. Fixes parameter names. explicit
    single argument constructors. Other small style fixes.
    
    Bug: angleproject:2462
    Change-Id: Ie2bf96603e9eda81d6f2aa788867978de10e9992
    Reviewed-on: https://chromium-review.googlesource.com/1089805
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit e18b814797b8f0033f68a5cddd9ac78b88a1604a
Author: Luc Ferron <lucferron@chromium.org>
Date:   Thu Jun 7 11:53:19 2018 -0400

    Vulkan: Fix point coord management
    
    The gl_PointCoord.y coordinate needs to be flipped
    around the X axis in Vulkan to have correct results.
    
    Bug: angleproject:2457
    
    Change-Id: I0d87ad28366623c2be0867c610cc35678a4af43f
    Reviewed-on: https://chromium-review.googlesource.com/1090824
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit a8802477752fbb0cea55787a50da597014975068
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Mon May 28 11:17:47 2018 +0800

    ES31: Implement FramebufferTextureEXT on OpenGL back-ends
    
    This patch intends to implement FramebufferTextureEXT on OpenGL
    back-ends.
    1. Support layered framebuffer attachments.
    2. Add new framebuffer completeness rules on layered framebuffer
       attachments.
    3. Support FRAMEBUFFER_ATTACHMENT_LAYERED_EXT as a valid <pname>
       parameter of GetFramebufferAttachmentParameteriv.
    
    Note that for an entire level of a cube map:
    1. It has no TextureTarget because TEXTURE_CUBE is not a valid
       target for TexImage*D.
    2. It corresponds to 6 ImageDescs (that represents its faces) in
       class Texture, so when the cube map is cube complete, we return
       the ImageDesc of its first face, meanwhile we do not allow
       querying ImageDesc if it is not cube complete.
    
    BUG=angleproject:1941
    TEST=angle_end2end_tests
         dEQP-GLES31.functional.geometry_shading.query.framebuffer_attachment_layers
         dEQP-GLES31.functional.geometry_shading.query.framebuffer_incomplete_layer_targets
         dEQP-GLES31.functional.geometry_shading.layered.*
         dEQP-GLES31.functional.geometry_shading.instanced.invocation_per_layer_*
         dEQP-GLES31.functional.geometry_shading.instanced.multiple_layers_per_invocation_*
    
    Change-Id: I44393b513ec8f1a682fd1c47d3eaa6f3b3fae877
    Reviewed-on: https://chromium-review.googlesource.com/1075811
    Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit d73a61117dff1c8c56690372634ce7c60a059e3c
Author: Junliang Yan <jyan@ca.ibm.com>
Date:   Mon Jun 11 16:24:14 2018 -0400

    PPC: Fix ppc build error
    
    Change-Id: I83b39e1f4c429326a98694198411cf64a7361edb
    Reviewed-on: https://chromium-review.googlesource.com/1096074
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit af8836282eafd23f36652470cb52b008e906a4e0
Author: Luc Ferron <lucferron@chromium.org>
Date:   Fri Jun 8 15:57:31 2018 -0400

    Vulkan: enable as many end2end tests as possible
    
    Bug: angleproject:2615
    Change-Id: I918cc18984b2e5b22b5e13398355a2fd60e4eb00
    Reviewed-on: https://chromium-review.googlesource.com/1093564
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 6c60641d4fc9cbb476a3278d76c4038e6fc13495
Author: Lingfeng Yang <lfy@google.com>
Date:   Fri Jun 8 14:39:29 2018 -0700

    GLES1: Multitexture pipeline
    
    - Update test expectations
    
    BUG=angleproject:2306
    
    Change-Id: I4a0376db1d095d7b14e00a5779631dcf2a6c427c
    Reviewed-on: https://chromium-review.googlesource.com/1093795
    Commit-Queue: Lingfeng Yang <lfy@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 071fc3f9511cd82496d96c202d7e03fb2c848973
Author: Luc Ferron <lucferron@chromium.org>
Date:   Mon Jun 11 12:51:35 2018 -0400

    Fix build on Windows using Visual Studio
    
    This is a follow-up of this change:
    https://chromium-review.googlesource.com/c/angle/angle/+/1092101
    
    Just to fix a warning that prevents building in Visual Studio
    successfully.
    
    Bug: angleproject:2306
    Change-Id: Ib87d5cb349019fb6b2d7f75b46552146d41787de
    Reviewed-on: https://chromium-review.googlesource.com/1095480
    Reviewed-by: Lingfeng Yang <lfy@google.com>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit f15f886c2de4db777d2b2cb24514e17206c276f2
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Mon Jun 4 18:59:41 2018 -0400

    Differentiate texture and renderbuffer framebuffer attachment capabilities
    
    ANGLE used to describe the abitily to attach textures and renderbuffers
    of a specific format to a framebuffer using a single notion of "renderable".
    However, for some formats, only one can be supported, but not the other.
    
    Split TextureCaps::renderable into textureAttachment and renderbuffer.
    Also, split InternalFormat::renderSupport into
    textureAttachmentSupport and renderbufferSupport.
    
    The only functional change is in a few places which now explicitly check
    for texture or renderbuffer attachement support.
    Information in format support tables was duplicated for the two capabilities,
    so behavior should remain the same. It should be corrected in future CLs.
    
    Note: additional information in those tables may need to be added
    in order to properly support GenerateMipmap and TexStorage2DMultisample,
    this is beyond the scope of this CL.
    
    Bug: angleproject:2567
    Change-Id: I18bce4100525be35709d8bbf4de08ec812aab502
    Reviewed-on: https://chromium-review.googlesource.com/1086491
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit e17b5ba522bfd47218d38ffc3c09dfeac7702a65
Author: Luc Ferron <lucferron@chromium.org>
Date:   Mon Jun 4 14:28:58 2018 -0400

    Vulkan: Keep unused uniforms list to fix glslang issues
    
    We we're unable to cleanup the unused uniforms if we did not keep
    a list of them while parsing them in ProgramLinkResource. Now
    that we keep a history of them, we're able to clean them up and
    fix a few dEQP tests.
    
    Bug: angleproject:2582
    Bug: angleproject:2585
    Bug: angleproject:2587
    Bug: angleproject:2589
    Bug: angleproject:2590
    Bug: angleproject:2593
    
    Change-Id: Ic1f9151e356a3d05e83f1031cc7b187b370284e5
    Reviewed-on: https://chromium-review.googlesource.com/1085644
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 45b5a8751cbbe8db346331a6619ecd6e660e10d3
Author: Lingfeng Yang <lfy@google.com>
Date:   Thu Jun 7 11:33:25 2018 -0700

    GLES1: Texture environment API
    
    BUG=angleproject:2306
    
    Change-Id: Ibb168d5c9f7aa96a48c96ffbe96ecead2276975e
    Reviewed-on: https://chromium-review.googlesource.com/1092101
    Commit-Queue: Lingfeng Yang <lfy@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit c950a5729a11211d65b5e738e1fc02039886f937
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Thu May 3 14:49:56 2018 -0400

    Vertex format support in AttributeLayoutTest.
    
    Make it easy to test with different vertex data formats.
    Add test cases for all formats.
    
    BUG=angleproject:2405
    
    Change-Id: I147643a0912e97588588e67946ac326ed449cf07
    Reviewed-on: https://chromium-review.googlesource.com/1053564
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit a4a3c19a4367f64b6a5db1d2cd9b3c32ab663d4d
Author: Tom Anderson <thomasanderson@chromium.org>
Date:   Thu Jun 7 11:05:40 2018 -0700

    Remove manual references to exe_and_shlib_deps
    
    After [1], a manual dependency on exe_and_shlib_deps is no longer necessary
    since it's automatically added.  This CL removes all remaining manual references
    to exe_and_shlib_deps.
    
    [1] https://chromium.googlesource.com/chromium/src.git/+/d7ed1f0a9c28c932fddc834ca5de44f28266c7f5
    
    BUG=chromium:845700
    
    Change-Id: I66bcead6586050bf952c4aa1f4d3f726c88d2277
    Reviewed-on: https://chromium-review.googlesource.com/1091231
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 5da6690f8505bc22dcd19ed2ef557466aa1875a6
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jun 5 12:24:06 2018 -0400

    Hold RendererGL objects with a shared_ptr.
    
    To support both virtualized and unvirtualized contexts, the RendererGL object
    represents the native context.  Update ContexGL and the various DisplayGLs to
    hold RendererGL  with a shared_ptr so that deletion of the renderer happens at
    the correct time.
    
    Update RendererGL to take ownership of FunctionsGL.
    
    BUG=angleproject:2464
    
    Change-Id: Id040a8053973d73936c0a7ff0ab5edb1a3f16dc6
    Reviewed-on: https://chromium-review.googlesource.com/1085851
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit c3907efa884ff001387d8821898a28c808a6d582
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Jun 8 13:03:15 2018 +0300

    Always use custom float parsing in GLSL
    
    We now always use custom parsing code for parsing floats in GLSL
    shaders. Previously this code was only used in corner cases that
    stringstream parsing did not handle according to the GLSL spec.
    
    This is slightly faster in compiler perftests, and results in a
    smaller binary as well.
    
    Some new test cases are added to make sure that the custom float
    parsing behaves correctly.
    
    BUG=chromium:849245
    TEST=angle_unittests, angle_perftests
    
    Change-Id: I2a88ec6a8b427016e34519d72bc98216947a4c64
    Reviewed-on: https://chromium-review.googlesource.com/1092697
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 4b06c1e9a717565d720fbb837670f4111c04b2e7
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Thu Jun 7 13:42:36 2018 +0800

    Add a test to expose boolean uniform bug on Intel windows
    
    This test is ported from webgl conformance test
    WebglConformance_conformance2_glsl3_short_circuiting_in_loop_condition.
    Since HLSL and ESSL have different rules to process short-circuit evaluation,
    this patch will use the final flattened shader so that the translated HLSL
    is almost same with the current ES shader.
    
    BUG=843369
    TEST=angle_end2end_tests
    
    Change-Id: Ibc742f8ac4592a83c4c7dad37a64a5563eb58bd5
    Reviewed-on: https://chromium-review.googlesource.com/1090328
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 81970bc302dd81d56f72356eb4fcc56522f3abd1
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Wed Jun 6 11:11:56 2018 +0800

    Use ShaderMap in DynamicHLSL and StateManager11 - Part I
    
    This patch is the first one of using ShaderMap in both DynamicHLSL and
    StateManager11 to make the code cleaner and more straightforward.
    
    BUG=angleproject:2169
    
    Change-Id: I2b206d0250f5ced071cc1c3632367b16e5e02dfb
    Reviewed-on: https://chromium-review.googlesource.com/1089473
    Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>

commit e1a057e8aa64274f15fa95e282f7b85e9b45365f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jun 7 15:09:00 2018 -0400

    Fully format some files.
    
    Change-Id: Id6ea245849696d4c6d7eabc6860c0ac424dd8013
    Reviewed-on: https://chromium-review.googlesource.com/1091309
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 74be296b0cc514b5a18e1cbd28f2621c34aab3ea
Author: Lingfeng Yang <lfy@google.com>
Date:   Thu Jun 7 09:13:38 2018 -0700

    GLES1: Texture environments setup
    
    - Revise entry point definitions to use packed enums
    
    BUG=angleproject:2306
    
    Change-Id: I06ad95f475d1dbaf07ec24ff2544503c4a44e826
    Reviewed-on: https://chromium-review.googlesource.com/1090996
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Lingfeng Yang <lfy@google.com>

commit ea17575d03632c176780c96953f176055d5f4fa2
Author: Luc Ferron <lucferron@chromium.org>
Date:   Thu Jun 7 10:18:29 2018 -0400

    Vulkan: enable invariance dEQP tests
    
    Change-Id: I911e3e8460be2205119bb53ebbe8f56677e9e4c6
    Reviewed-on: https://chromium-review.googlesource.com/1090760
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit 2bd1fabf85a6fc05220c57dc6f334f2d9b561436
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jun 6 10:30:19 2018 -0400

    Update dEQP expectations after June 2018 roll.
    
    BUG=angleproject:2629
    BUG=angleproject:2349
    BUG=angleproject:2327
    BUG=angleproject:2328
    BUG=angleproject:2630
    BUG=angleproject:2631
    BUG=angleproject:2349
    
    Change-Id: Ie0752dd07ec8ee151e56c1d4362c47249b7393fc
    Reviewed-on: https://chromium-review.googlesource.com/1088876
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit f7af13c4742d33d692172546e6bc504d906cf3c8
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Wed Jun 6 14:14:54 2018 +0800

    Fix the divide by zero exception in BindBufferRange
    
    This bug is caught because we haven't implemented
    caps.shaderStorageBufferOffsetAlignment on D3D backend. So the default
    value is 0. This change will set its value for D3D11 backend.
    
    BUG=angleproject:2625
    TEST=angle_deqp_gles31_tests
    
    Change-Id: I03c045c08903e4da41659133e7dbd9c4133186cc
    Reviewed-on: https://chromium-review.googlesource.com/1088192
    Reviewed-by: Yunchao He <yunchao.he@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 096a6c8cf13d6f734aa754a814d811ca1f15c4d0
Author: Yunchao He <yunchao.he@intel.com>
Date:   Tue Feb 27 23:48:21 2018 +0800

    ES31: copy to a texture with RGB9_E5 internalformat is invalid.
    
    BUG=angleproject:2378
    TEST=dEQP-GLES31.functional.debug.negative_coverage.get_error.texture.copytexsubimage2d_texture_internalformat
    
    Change-Id: I4ad0ec6636c0312a3ecfeb47df3297e4bf399c35
    Reviewed-on: https://chromium-review.googlesource.com/938328
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yunchao He <yunchao.he@intel.com>

commit 021134691e64915e0c6ac00b0a06e5d05cd49618
Author: Junliang Yan <jyan@ca.ibm.com>
Date:   Tue Jun 5 14:31:56 2018 -0400

    PPC/s390: Fix GN error on PPC and s390
    
    R=cwallez@chroimium.org, fjhenigman@chromium.org, geofflang@chromium.org, jmadill@chromium.org, ynovikov@chromium.org
    
    Change-Id: Iae4cfeb4db83c777d3c9a0a4c115c583113c5b70
    Reviewed-on: https://chromium-review.googlesource.com/1087567
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d1978037554cc275f356bf1ef2d6968f475b62d2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jun 5 14:37:00 2018 -0400

    Roll dEQP (June 2018).
    
    Quite a substantial update.
    
    Includes ANGLE-related fixes contributed by Google and Intel.
    
    Also includes some test suppressions for ES 3.1 D3D11.
    
    Bug: angleproject:2617
    Bug: angleproject:2619
    Bug: angleproject:2625
    Change-Id: Iea90036996b1a49278443e5d88dbe7ace32de6d4
    Reviewed-on: https://chromium-review.googlesource.com/1087179
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 7ba3f425c45bab14c0fb2657355598215771b936
Author: Lingfeng Yang <lfy@google.com>
Date:   Fri Jun 1 09:43:04 2018 -0700

    GLES1: Fog API and rendering
    
    - Update test expectations
    
    BUG=angleproject:2306
    
    Change-Id: Ic5aa5f052bcbe9c5adaf0eb0c6c06df66fd1720c
    Reviewed-on: https://chromium-review.googlesource.com/1082978
    Commit-Queue: Lingfeng Yang <lfy@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 060088a5c03153138e3290d22814d2afc7227281
Author: Lingfeng Yang <lfy@google.com>
Date:   Wed May 30 20:40:57 2018 -0700

    GLES1: Clip plane API and rendering
    
    - Add unit tests for the API
    - Update test expectations
    
    + Pass through point size from the vertex array to the shader,
    required for new tests to pass.
    
    BUG=angleproject:2306
    
    Change-Id: Ib19436c1f4cb12873adea94f734c821363f9e27d
    Reviewed-on: https://chromium-review.googlesource.com/1079993
    Commit-Queue: Lingfeng Yang <lfy@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit fba1f61d6296792f467c92f70b45b841aa5db6cd
Author: Luc Ferron <lucferron@chromium.org>
Date:   Mon Jun 4 14:37:17 2018 -0400

    Vulkan: No-op on ProgramVk::Validate implementation
    
    Also enable the dEQP test that was blocked on that UNIMPLEMENTED call.
    
    Bug: angleproject:2600
    Change-Id: Iae1280d6e4f52c5b8e66c9f7fbaa9b2730c4eb0e
    Reviewed-on: https://chromium-review.googlesource.com/1085693
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit e9465a6145e0f42365e87a99c25b828650f4588a
Author: Luc Ferron <lucferron@chromium.org>
Date:   Mon Jun 4 10:41:52 2018 -0400

    Vulkan: Fix wrong read ptr location when updating uniform block
    
    Fixes these dEQP tests:
    dEQP-GLES2.functional.state_query.shader.uniform_value_array
    dEQP-GLES2.functional.shaders.indexing.uniform_array.vec2_*
    dEQP-GLES2.functional.shaders.indexing.uniform_array.vec3_*
    dEQP-GLES2.functional.shaders.struct.uniform.nested_struct_array*
    dEQP-GLES2.functional.shaders.struct.uniform.loop_nested_struct_array*
    dEQP-GLES2.functional.shaders.struct.uniform.dynamic_loop_nested_struct_array*
    dEQP-GLES2.functional.uniform_api.value.assigned.by_value.get_uniform.multiple_nested_structs_arrays.*
    dEQP-GLES2.functional.uniform_api.value.assigned.basic_array_assign_partial.multiple_basic_array.*
    dEQP-GLES2.functional.uniform_api.value.assigned.basic_array_assign_full.multiple_basic_array.*
    dEQP-GLES2.functional.uniform_api.value.assigned.by_value.get_uniform.multiple_basic_array.vertex
    dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.multiple_basic
    dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_array_first_elem_without_brackets
    dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.get_uniform.multiple_basic.vertex
    dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.get_uniform.multiple_basic.fragment
    dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.get_uniform.multiple_basic.both
    dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.get_uniform.multiple_basic_array.*
    dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.get_uniform.multiple_nested_structs_arrays.*
    dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.get_uniform.struct_in_array.bool_*
    dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.get_uniform.basic_struct.bool_*
    dEQP-GLES2.functional.uniform_api.info_query.unused_uniforms.*
    dEQP-GLES2.functional.uniform_api.value.initial.get_uniform.multiple_basic.vertex
    dEQP-GLES2.functional.uniform_api.value.initial.get_uniform.multiple_basic.fragment
    dEQP-GLES2.functional.uniform_api.value.initial.get_uniform.multiple_basic.both
    dEQP-GLES2.functional.uniform_api.value.initial.get_uniform.multiple_basic_array.*
    dEQP-GLES2.functional.uniform_api.value.initial.get_uniform.multiple_nested_structs_arrays.*
    dEQP-GLES2.functional.uniform_api.value.initial.render.basic_struct.*
    dEQP-GLES2.functional.uniform_api.value.initial.render.struct_in_array.*
    dEQP-GLES2.functional.uniform_api.value.initial.render.array_in_struct.*
    dEQP-GLES2.functional.uniform_api.value.initial.render.multiple_basic_array.*
    dEQP-GLES2.functional.uniform_api.value.initial.render.multiple_nested_structs_arrays.*
    dEQP-GLES2.functional.uniform_api.value.initial.render.nested_structs_arrays.*
    dEQP-GLES2.functional.uniform_api.value.assigned.unused_uniforms*
    
    Bug: angleproject:2586
    
    Change-Id: I51f619832424131b7c1eeff9589259b14cf4f358
    Reviewed-on: https://chromium-review.googlesource.com/1085369
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit 16fdde1345460d598e531c6724fda3f3a726b650
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Sat Jun 2 15:38:21 2018 -0600

    Move vertex data copy functions out of D3D.
    
    Move the vertex buffer copying and conversion functions from the D3D back
    end so the Vulkan back end can use them.  No functional change.
    
    BUG=angleproject:2405
    
    Change-Id: If3c04a6c0dc37c78c1779d8b5d3cece263e8a031
    Reviewed-on: https://chromium-review.googlesource.com/1083817
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 33f11fbcb3fdd47269d63684e1690d7c080ceede
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon May 7 13:42:47 2018 -0400

    Initialize gl::Context state on the first call to MakeCurrent.
    
    The constructor of gl::Context creates a bunch of zero and helper objects
    but it is not current at this time.  If the backend if not using virtualized
    contexts this causes the created objects to be created on the wrong native
    context.
    
    BUG=angleproject:2464
    
    Change-Id: I9718df87d0afeb08729920363d362d5f891061ed
    Reviewed-on: https://chromium-review.googlesource.com/1048114
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit c8fbff3d0bdc9c7c7b4fe5f8c78f6c64da1089f9
Author: Luc Ferron <lucferron@chromium.org>
Date:   Mon Jun 4 10:30:48 2018 -0400

    Vulkan: Update uniforms bugfix and enable dEQP tests with it
    
    If a uniform was already marked as dirty, and the call to
    setMatrixUniform wasn't updating the data, the flag was flipped
    to false, causing the descriptor set never to be initialized.
    
    This enables these tests:
    dEQP-GLES2.functional.shaders.conversions.scalar_to_matrix.*
    
    Bug: angleproject:2583
    
    Change-Id: I0bcb95cc66951e0ed347af5d874178c403a1c08a
    Reviewed-on: https://chromium-review.googlesource.com/1085228
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit 48cdc2e8405c39ef8ec5e7201f6ea878b38278f5
Author: Luc Ferron <lucferron@chromium.org>
Date:   Thu May 31 09:58:34 2018 -0400

    Vulkan: Implement setUniform for matrices correctly
    
    This fixes all these tests:
    dEQP-GLES2.functional.shaders.functions.datatypes.float_mat*
    dEQP-GLES2.functional.shaders.functions.datatypes.mat*
    dEQP-GLES2.functional.shaders.linkage.varying_type_mat*
    dEQP-GLES2.functional.shaders.matrix.*
    dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.basic.mat2_*
    dEQP-GLES2.functional.uniform_api.value.assigned.by_pointer.render.basic.mat3_*
    dEQP-GLES2.functional.shaders.conversions.matrix_to_matrix.*
    dEQP-GLES2.functional.shaders.conversions.matrix_combine.*
    dEQP-GLES2.functional.shaders.random.scalar_conversion*
    
    Bug:angleproject:2581
    Bug:angleproject:2583
    Bug:angleproject:2584
    Bug:angleproject:2588
    Change-Id: Ib8c03397f0229432292c51f4a6332f954fc8fa12
    Reviewed-on: https://chromium-review.googlesource.com/1080392
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 7921662045409ce4eed5016f3642a51e32400c3a
Author: Jeff Gilbert <jgilbert@mozilla.com>
Date:   Tue May 29 19:19:54 2018 -0700

    Use stringstream with locale override.
    
    Add test for compiling float literals in locales with comma decimal separators.
    
    Handle inexplicable test setlocale failure on Android,Linux. (Require success on other platforms)
    
    Skip setting the locale on Android, which is always C locale in C++, but for some
    reason std::locale::classic isn't implemented as a no-op.
    
    Bug: angleproject:2607
    Test: angle_unittests
    Change-Id: I7c97cb56c01335db46f532fb8af3f9a4f2a30564
    Reviewed-on: https://chromium-review.googlesource.com/1077789
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 47463d85411613640dfaae2226d7dbaff233cd70
Author: Edward Lemur <ehmaldonado@chromium.org>
Date:   Fri Jun 1 17:03:40 2018 -0400

    Use revision variables in DEPS.
    
    Bug: 782846
    Change-Id: I915b8e97d6420019051b3fa77ae843a4942e7802
    Reviewed-on: https://chromium-review.googlesource.com/1083316
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>

commit 4fb8a8bde392ec851fa38edfe455061554237600
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jun 1 16:47:57 2018 -0400

    Move the EGL-based initial state to the gl::State constructor.
    
    This is a small refactor to allow State::initialize to be called without
    needing the EGL context creation attributes.
    
    BUG=angleproject:2464
    
    Change-Id: Ifa167cc83f652435ecc00a0a73e4c6c4a3295430
    Reviewed-on: https://chromium-review.googlesource.com/1083312
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 2f3f4141066a2d28ff27647c902e42bf4ade22e0
Author: Luc Ferron <lucferron@chromium.org>
Date:   Wed May 30 08:27:19 2018 -0400

    Vulkan: Fix texture completeness issues
    
    The fix is to skip updates that are queued that are not valid for the
    current image description. We keep these around in case they are used
    in a later usage of the same texture but we issue a warning telling the
    user that memory will be used indefinitely until they use that data.
    
    Bug: angleproject:2596
    Change-Id: I8c20fffbd473ae8e2e9d2123a49b675b824a9bf6
    Reviewed-on: https://chromium-review.googlesource.com/1078913
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit 8ae09b0e2f3a5f82b37c47b95ea68adf54977454
Author: Edward Lemur <ehmaldonado@chromium.org>
Date:   Fri Jun 1 14:18:28 2018 -0400

    Make DEPS file compatible with Chromium.
    
    Rename 'root' to 'angle_root' and add conditions to not sync
    dependencies when building with Chromium.
    
    Bug: 782846
    Change-Id: I250609ad0b5b8cad606075baf6dd6ca4e968a5b6
    Reviewed-on: https://chromium-review.googlesource.com/1082922
    Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 6b600645b7f12d1285d5deab632b2496f1b0b4da
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 31 14:53:31 2018 -0400

    D3D11: Micro-optimize StateManager11::updateState.
    
    This inlines several accessors.
    
    Bug: angleproject:2574
    Change-Id: I61d223dd2a8f08e5331ccefde02e6ce55f5a607d
    Reviewed-on: https://chromium-review.googlesource.com/1067118
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 4166f014cee0ef22cd2b8a563ed94b4e20071288
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 31 14:53:30 2018 -0400

    D3D11: Optimize Renderer11::drawArrays.
    
    Uses inlining and more efficient computation re-use to streamline this
    function.
    
    Bug: angleproject:2575
    Change-Id: Ib13e32811f56ec9a010ed66f298d4235e5c6807d
    Reviewed-on: https://chromium-review.googlesource.com/1067120
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit bf7b95db6b6f039f6c8797f1f4b930d46a761828
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue May 1 16:48:21 2018 -0400

    Create a default framebuffer per surface/context pair on MakeCurrent.
    
    Sharing a gl::Framebuffer object between multiple contexts causes problems if
    contexts are not virtualized because the native framebuffer objects are not
    shared between these contexts.  The FramebufferImpl created should be the glue
    that binds a specific context to a specific surface.
    
    Update the SurfaceImpl implementations to re-create the framebuffer
    object before passing it to FramebufferGL.  No backing resources will be
    re-created.
    
    BUG=angleproject:2464
    
    Change-Id: Id0b13a221c22b71517b25cb5b1ef2392ad2ecdd6
    Reviewed-on: https://chromium-review.googlesource.com/1039985
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit cbab27508edf116d73535f4cebf0dfb21d187c84
Author: Edward Lemur <ehmaldonado@chromium.org>
Date:   Thu May 31 18:49:31 2018 -0400

    DEPS.chromium: Sync dEQP to ANGLE (not Chromium) third_party.
    
    Bug: 782846
    
    Change-Id: I88af578dfd27fb69751138d9b263a148da9ecf23
    Reviewed-on: https://chromium-review.googlesource.com/1081113
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a0cfa873bcaa4914bdfed6a2092a5e2b4eea9464
Author: Lingfeng Yang <lfy@google.com>
Date:   Wed May 30 21:12:17 2018 -0700

    GLES1: Shade model API
    
    + add sample
    
    BUG=angleproject:2306
    
    Change-Id: Ie0c391618ec2b771cc99b96db02b9008a86272b9
    Reviewed-on: https://chromium-review.googlesource.com/1079992
    Commit-Queue: Lingfeng Yang <lfy@google.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 32749b945b086b803bf293e40776fceae9adeaa9
Author: Lingfeng Yang <lfy@google.com>
Date:   Wed May 30 19:24:18 2018 -0700

    GLES1: Alpha test
    
    - Update test expectations
    
    BUG=angleproject:2306
    
    Change-Id: Ib49900c7c4d6b808ebfab9483d42d3fd98644f9e
    Reviewed-on: https://chromium-review.googlesource.com/1079991
    Commit-Queue: Lingfeng Yang <lfy@google.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 0c4e08e944366bc99558408d9f6c745c9bff6b56
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Tue May 8 11:00:36 2018 +0800

    Use ShaderMap in Caps - Part II
    
    This patch is the last one in the series of putting resource limits
    on each shader stage into ShaderMap. With this patch, all such values
    are organized in the corresponding ShaderMap.
    
    This patch also cleans up all the related code by using this new
    type of data structure.
    
    BUG=angleproject:2169
    
    Change-Id: I440643fe44ab63acf7da0a1611643beed1ba66d1
    Reviewed-on: https://chromium-review.googlesource.com/1077748
    Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 6a455206705b759cbc9954831feb07f6fd2627a9
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Thu May 31 14:20:36 2018 +0800

    Use IsCubeMapFaceTarget on texture targets
    
    This patch introduces IsCubeMapFaceTarget() to determine if a
    teture target belongs to cube map.
    
    BUG=angleproject:2169
    
    Change-Id: I3968ee267887665835f3eb3eda281c054e5d4375
    Reviewed-on: https://chromium-review.googlesource.com/1080450
    Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>

commit 46bcea50feeb22aaeaf09859fd8d3f8ecdd7f478
Author: Luc Ferron <lucferron@chromium.org>
Date:   Thu May 31 09:48:36 2018 -0400

    D3D,Vulkan: Prep work to share useful functions from D3D
    
    - Refactor and move some functions used by D3D that are not really
    renderer specific to be used by the Vulkan implementation to support
    setting matx uniforms.
    
    Bug: angleproject:2581
    Change-Id: Ib37ddf4fc62bb8ecb3629893a24969e1f515795b
    Reviewed-on: https://chromium-review.googlesource.com/1079845
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 77a2b4c3094345a3e33faa2007be1d48cf7b108e
Author: Xinghua Cao <xinghua.cao@intel.com>
Date:   Mon May 21 17:28:29 2018 +0800

    Validate the total invocations within a work group
    
    If the total number of invocations within a work group is greater than
    MAX_COMPUTE_WORK_GROUP_INVOCATIONS, a compile-time error will occur.
    
    BUG=angleproject:2572
    TEST=dEQP.GLES31/functional_debug_negative_coverage_callbacks_compute_invalid_maximum_work_group_sizes
         dEQP.GLES31/functional_debug_negative_coverage_log_compute_invalid_maximum_work_group_sizes
         dEQP.GLES31/functional_debug_negative_coverage_get_error_compute_invalid_maximum_work_group_sizes
    
    Change-Id: I8218b618d1b347df2c85cfc67ba82ae91d756e05
    Reviewed-on: https://chromium-review.googlesource.com/1066076
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 1da467747b86cf88ac811fc6964b8adf502aab2c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon May 14 14:30:30 2018 -0400

    Add support for EGL_ANDROID_presentation_time.
    
    BUG=angleproject:2506
    
    Change-Id: I46b3c6ac7f259eabfdd8ea5799da6ef563ff81ee
    Reviewed-on: https://chromium-review.googlesource.com/1057997
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 78ee3423ddcb6a9cee52139803cd99b1ea4c0290
Author: Luc Ferron <lucferron@chromium.org>
Date:   Wed May 30 11:34:19 2018 -0400

    Vulkan: varyings of type Matrix/Struct can't use components.
    
    - This is not yet fixing all issues for these tests but it does
    get us further in the execution of the test case.
    
    Bug: angleproject:2581
    Change-Id: I96510e013ccc87fd21bce6823e1278ed9ff60739
    Reviewed-on: https://chromium-review.googlesource.com/1079267
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit 2274b652c092d6a2d51e32c6e1b6940b27c47a14
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 31 10:56:08 2018 -0400

    StateManager11: Cache impl objects.
    
    Also requires putting the Framebuffer ID in the shared state object.
    
    Bug: angleproject:2575
    Change-Id: I68e3af839a85798e01050560a67624a165d3ed2c
    Reviewed-on: https://chromium-review.googlesource.com/1067119
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 683d65f815eefe4b5d1477c5dfc82f170c763d8c
Author: jchen10 <jie.a.chen@intel.com>
Date:   Thu May 31 13:32:00 2018 +0800

    Fix a trivial parentheses compile warning
    
    Unable to compile with gcc 7.2.0 ubuntu 17.10.
    
    Bug: angleproject:2318
    
    Change-Id: I91a5d73e56d308c7bda45778f5222884f3c202d0
    Reviewed-on: https://chromium-review.googlesource.com/1079997
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 05cd6dfc6e7d168e20c72d3e47be883fea00f691
Author: Luc Ferron <lucferron@chromium.org>
Date:   Thu May 24 15:51:29 2018 -0400

    Vulkan: generateMipmaps with vkCmdBlitImage when possible
    
    Bug: angleproject:2502
    Change-Id: Ib32a128a453749c59d751e996017a8a6e2a9972e
    Reviewed-on: https://chromium-review.googlesource.com/1072550
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit 86ce210a675952554c1d84c4464b1a992162866c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue May 22 11:54:42 2018 -0400

    Vulkan: Clean up onResourceChanged.
    
    Merge this with the internal method to generate a new command graph
    node. Call onResourceChanged internally in beginWriteResource.
    
    Bug: angleproject:2539
    Change-Id: Ie33f886c5df7e15ff0b5d690a63fa664b1e964d4
    Reviewed-on: https://chromium-review.googlesource.com/1069292
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit c57ee259d645606cd0db449e650db524964133a4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed May 30 19:53:48 2018 -0400

    Vulkan: Clean up object releasing APIs.
    
    This cleans up the confusing releaseResource/releaseObject pair in the
    RendererVk class. It also makes getQueueSerial private in ResourceVk
    but keeps a public isResourceInUse API for external use.
    
    Bug: angleproject:2539
    Change-Id: I6b4f24db16e36130a85ef03fc2c3b26d8d9e1fba
    Reviewed-on: https://chromium-review.googlesource.com/1069291
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit d014c9e665ad23ca2938873b38dcbde4ad9b87ba
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri May 18 15:15:59 2018 -0400

    Vulkan: Mark some Resource APIs are protected.
    
    This clarifies what is supposed to be called from outside the class to
    what should be called internally. The read/write dependency management
    is accessible publically. The command buffer access however is private
    and should be only used within the class.
    
    Bug: angleproject:2539
    Change-Id: Ic25b589d4009de62633d13546be596ecafd0b175
    Reviewed-on: https://chromium-review.googlesource.com/1066555
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit 5dca651f1afb3b666de5046f4c434034a00f4828
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed May 30 10:53:51 2018 -0400

    Vulkan: Make Resource's updateSerial private.
    
    This simplifies the API from the calling resource classes. This method
    is called internally instead. beginWriteResource and
    appendWriteResource both call updateSerial internally.
    
    Additionally this removes hasStartedRenderPass and instead returns a
    boolean from appendToStartedRenderPass indicating success.
    
    Bug: angleproject:2539
    Change-Id: Idcf72e6a80dde90e83dabc64644051bb536c6b12
    Reviewed-on: https://chromium-review.googlesource.com/1066554
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit dc0daf8bd9d30848b6e804bb275c567953213407
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Tue May 29 21:35:35 2018 -0400

    Add Android Vulkan trybots to ANGLE CQ
    
    Bug: chromium:839893
    Change-Id: I418d054ca149fb2360606aeee31787f27bec1efa
    Reviewed-on: https://chromium-review.googlesource.com/1077760
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 95fb2a1774124cd9169ed8694071ab7a96a915a4
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Sun May 27 20:17:05 2018 -0400

    Add vertex formats and lookup function.
    
    Add an angle::Format for each ES2 vertex data format.  Add function
    GetVertexFormatID() to get the angle::Format for a vertex attribute.
    These will be used later to support vertex formats in Vulkan (by mapping
    angle::Format to Vulkan format) and to eliminate the redundant enum
    gl::VertexFormatType.
    No functional change.
    
    BUG=angleproject:2405
    BUG=angleproject:2531
    
    Change-Id: I871ae23ce9fba57d90c554376e84b03f8514f7fc
    Reviewed-on: https://chromium-review.googlesource.com/1044874
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit 4fef7738dbdc78e19396cd1d2f666221cf8f5d4e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue May 29 15:21:41 2018 -0400

    Add perf test for Error/Result class.
    
    This is a performance test that stresses the Error class. It also is
    used in tests for the new Result class.
    
    Bug: angleproject:2575
    Change-Id: Ie23c2a1ea74108d2ba72bf26f1db04e14f7eda64
    Reviewed-on: https://chromium-review.googlesource.com/1077129
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c20b950ef22318e4bb9654a2c343d83a0b39dca1
Author: Luc Ferron <lucferron@chromium.org>
Date:   Thu May 24 09:30:17 2018 -0400

    Vulkan: Fix clear of specific mip level was clearing all mip levels
    
    Bug: angleproject:2502
    Change-Id: Iffa012dce14584318c4dfd3d9b3a304291c9cebf
    Reviewed-on: https://chromium-review.googlesource.com/1070666
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 574a6f250b6638c863aaffc351e69d0569b62155
Author: Luc Ferron <lucferron@chromium.org>
Date:   Mon May 28 10:21:18 2018 -0400

    Vulkan: Fix edge case in DynamicBuffer causing wrong allocations
    
    - on a very specific scenario when the next buffer to allocate was
    fitting exactly in the allocated size. The condition was wrong and
    needed to be >= instead of >.
    
    Bug: angleproject:2562
    Change-Id: Ide36bc3baadafdc1ffa40416b46998dc455caecf
    Reviewed-on: https://chromium-review.googlesource.com/1075293
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 22695bf5756bf09b21d5f56bc3e361ef881b38ec
Author: Luc Ferron <lucferron@chromium.org>
Date:   Tue May 22 15:52:08 2018 -0400

    Vulkan: Support cube mimaps generation
    
    Bug: angleproject:2502
    Change-Id: I953d99d04608cec04aad824b8b38f388ed1e4c2b
    Reviewed-on: https://chromium-review.googlesource.com/1069544
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit c51817062a48c88ca9539002be01c0553925267d
Author: Luc Ferron <lucferron@chromium.org>
Date:   Thu May 17 09:44:42 2018 -0400

    Vulkan: generateMipmaps for 2D textures
    
    - This implements cpu-only mipmaps generation.
    
    To do in the next CLs:
    - Cube textures support
    - GPU faster path with vkCmdBlitImage
    - Find the bug with clearing of level 0 mips.
    - Investigate the intel linux specific bug.
    
    Bug: angleproject:2502
    Change-Id: Iecd73cb45ebc9c79ce6291c4529eb27330b51e2c
    Reviewed-on: https://chromium-review.googlesource.com/1064194
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 0ed2aa23ab6d11e516c004bc11aa80961423572a
Author: Luc Ferron <lucferron@chromium.org>
Date:   Tue May 29 18:42:28 2018 -0400

    Vulkan: Fix expectations for android vulkan failures
    
    Bug: angleproject:2557
    Change-Id: I0efd2f7ed47e1848e49fb853dc7a06b3a44082bc
    Reviewed-on: https://chromium-review.googlesource.com/1077567
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit 8c361c7fe31c36b3335db1177d03fe61a629080e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri May 18 14:36:06 2018 -0400

    Vulkan: Remove one API from CommandGraphResource.
    
    'checkResourceInUseAndRefreshDeps' can be implemented using other
    APIs. This simplifies the API surface in CommandGraphResource.
    
    Bug: angleproject:2539
    Change-Id: I55350ab352c50961736327a867e8403d3b38506b
    Reviewed-on: https://chromium-review.googlesource.com/1052070
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit 95cce74a62665c2fb69f6ac1726cb76c13083d16
Author: Luc Ferron <lucferron@chromium.org>
Date:   Tue May 29 16:10:14 2018 -0400

    Vulkan: Add expectations for failing tests on Android
    
    Bug: angleproject:2557
    Change-Id: Ibf8abee5c292da460bf33485ab4699b5d70d51c7
    Reviewed-on: https://chromium-review.googlesource.com/1077054
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit a5e060713a0c4da7050690637b5e292642c881a1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri May 18 14:36:05 2018 -0400

    Vulkan: Move the CommandGraphNode class to the cpp.
    
    This totally hides the details of the CommandGraphNode implementation
    from the rest of the back-end. This continues the simplification of
    the graph/resource APIs.
    
    Refactoring change only.
    
    Bug: angleproject:2539
    Change-Id: I7e0f286c387599624cfdff6c8972a8e082fe05d3
    Reviewed-on: https://chromium-review.googlesource.com/1052069
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit b4a3f65f43e95c936527302f58633171b1c20f27
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Mon May 28 21:18:55 2018 -0400

    Fix nativegl::InsertFormatMapping
    
    Bug: angleproject:2567
    Change-Id: I0f01499855213ef8d4bb772698ad4386e6317d2f
    Reviewed-on: https://chromium-review.googlesource.com/1075847
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 387b3b36081d5d51e71a898aa94fdcd900a17bac
Author: Luc Ferron <lucferron@chromium.org>
Date:   Mon May 28 10:11:57 2018 -0400

    Vulkan: Fix a line loop edge case causing validation errors
    
    Bug: angleproject:2563
    
    Change-Id: I6e908fbd3e5725dc3f355f8b0561f2177b61dff6
    Reviewed-on: https://chromium-review.googlesource.com/1075291
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 316c60650214130de83be8fde553c7bd0c2f8f00
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue May 29 10:49:45 2018 -0400

    Vulkan: Call GraphResource instead of GraphNode.
    
    We don't need to use the CommandGraphNode class directly. This CL
    consolidates our code so we never call the GraphNodes class directly.
    Instead we call operations on GraphResource. This should simplify the
    interaction with APIs from the various graph and dependency management
    classes in the Vulkan back-end.
    
    A new concept of 'starting' vs 'appending' commands is introduced.
    Appending tries to avoid starting new command buffers when possible.
    
    Should not change how the graphs are constructed, and mostly be a
    refactoring change. There may be minor behaviour changes to some
    commands.
    
    Bug: angleproject:2539
    Change-Id: Ia971e5cacb1164b9b3b22fa4a0a55b954d81f10e
    Reviewed-on: https://chromium-review.googlesource.com/1052068
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit b26ab82541499c7bca250484a6f962a4a663bfa1
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue May 29 11:19:00 2018 -0400

    Return a program binary size of 0 when the program is not linked.
    
    From the GLES3 spec:
    "... When a program object's LINK_STATUS is FALSE, its program binary
    length is zero ..."
    
    Querying the size was generating errors in the GL backend.
    
    BUG=angleproject:2569
    
    Change-Id: I1be511040331abaec2bba98502d8aa88fb4bd19c
    Reviewed-on: https://chromium-review.googlesource.com/1076317
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit c2014bce887e40aee27b899c72d436ae11ec2a52
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon May 28 16:09:04 2018 -0400

    Expose eglCreatePlatformWindowSurfaceEXT and eglCreatePlatformPixmapSurfaceEXT
    
    These entry points are part of EGL_EXT_platform_base but were never returned by
    eglGetProcAddress.
    
    BUG=angleproject:2603
    
    Change-Id: I4782df67fa8625a9af29a18df02af7b5fa73d75e
    Reviewed-on: https://chromium-review.googlesource.com/1075469
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 3f1eba94a7ca5d4cc8433484dc38d9befe135ea8
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu May 10 15:53:22 2018 -0400

    Support EGL_KHR_swap_buffers_with_damage in the EGL backend.
    
    Update the EXT extension to KHR in ANGLE.
    
    BUG=angleproject:2544
    
    Change-Id: Ia647191c3e762d658b0f7e28a34a9ce2cc545f48
    Reviewed-on: https://chromium-review.googlesource.com/1054415
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 1e91374efaa3fe384bed9c834e6afa62cf291146
Author: Luc Ferron <lucferron@chromium.org>
Date:   Fri May 25 12:37:50 2018 -0400

    Vulkan: Enable every dEQP tests that are passing
    
    - Also created bugs for each failing expectation to follow-up on.
    - This CLs enable 8572 dEQP tests for Vulkan.
    
    Bug: angleproject:2557
    
    Change-Id: I7fba622994a5b0d884ba965bcbc2f807fefee9b4
    Reviewed-on: https://chromium-review.googlesource.com/1073657
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit bcf467f24f701dcbcb44c0d5f79004ddf234de66
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed May 23 09:46:00 2018 -0400

    Vulkan: Encapsulate RenderTargetVk.
    
    This makes the members private and adds more functionality. This moves
    more responsibility out of vk::CommandGraphNode and also makes the
    RenderPass init in the CommandGraphNode class better encapsulated.
    
    Bug: angleproject:2539
    Change-Id: Ia16f3f39cf011548c6473805b8b28e284808e856
    Reviewed-on: https://chromium-review.googlesource.com/1040279
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 29523298fd1d7803253a9068e4b1ced68f52baa8
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon May 28 15:01:43 2018 -0400

    Update dEQP EGL expectations for Mac.
    
    BUG=angleproject:2546
    
    Change-Id: I9485c701c6960f8abb60e763ad8b099933eaee81
    Reviewed-on: https://chromium-review.googlesource.com/1075728
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 1478afaf119e9d99d89f29ebd89752d7a5c62082
Author: Lingfeng Yang <lfy@google.com>
Date:   Thu May 17 10:43:34 2018 -0700

    GLES1: Lighting and materials (renderer)
    
    - Update test expectations
    - Add gles1 sample app that shows simple lighting.
    
    BUG=angleproject:2306
    
    Change-Id: I545dcf860374abd9d628b0d554153cb634098f6d
    Reviewed-on: https://chromium-review.googlesource.com/1065501
    Commit-Queue: Lingfeng Yang <lfy@google.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit d0febe7aa23901ad909a53210c7002467f2179c1
Author: Lingfeng Yang <lfy@google.com>
Date:   Thu May 17 22:36:52 2018 -0700

    Reland "GLES1: Entry points for lighting and materials"
    
    This is a reland of 4a09c1a245c406e402b3996b7ed33798b897e60f
    
    Entry points have been autogenerated again.
    
    Original change's description:
    > GLES1: Entry points for lighting and materials
    >
    > - glLight*/glMaterial and their queries
    > - Use new packed enums in these entry points, except for lightmodel
    > which stays GLenum to be consistent with other generic glGet's
    > - State.cpp: New glGet* queries related to light model and
    > light/normal rescale enablement
    > - GLES1State.cpp: Functions to get/set lighting/material state
    > - Validation for lighting/materials
    >
    > + Add a few convenience methods to random_utils for sampling
    > non-negative floats and a sampler for random booleans
    >
    > BUG=angleproject:2306
    >
    > Change-Id: If7ba0c0a0dc75f88fbaa986b904f1ea96ee6512e
    > Reviewed-on: https://chromium-review.googlesource.com/1065502
    > Commit-Queue: Lingfeng Yang <lfy@google.com>
    > Reviewed-by: Geoff Lang <geofflang@chromium.org>
    
    Bug: angleproject:2306
    Change-Id: I434273acd5200dd9f4925e239a032cc8db31a434
    Reviewed-on: https://chromium-review.googlesource.com/1072849
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Lingfeng Yang <lfy@google.com>

commit d0a7d10f397deb66369a13a45ed76a7a23aeb9e2
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Mon May 7 12:40:20 2018 +0800

    ES3.1: Set unordered access view related resource limits on D3D11
    
    This patch sets the implementation-dependent resources limits related
    to unordered access views (images, shader storage blocks, atomic
    counter buffers and fragment shader outputs) on D3D11 back-ends.
    
    For pixel shaders, the render targets and unordered access views share
    the same resource slots when being written out, so we plan to allocate
    these slots as follows:
    - As there are 8 slots for UAVs and RTVs in feature level 11_0, currently
      we assign 1 slot for atomic counter buffer and 7 slots that are shared
      among images, shader storage blocks and fragment shader outputs.
    - As there are 64 slots for UAVs and RTVs in feature level 11_1, currently
      we assign 4 slots for atomic counter buffers and 60 slots that are
      shared among images, shader storage blocks and fragment shader
      outputs.
    
    We also limit the maximum number of draw buffers to 7 if we create ES 3.1
    context on D3D11 feature level is 11_0 because the value of combined shader
    output resources is 7.
    
    This patch also labels several dEQP cases from "FAIL" to "SKIP" because
    since the resource limits on ssbos, atomic counter buffers and images
    in rendering pipeline are set in D3D11 back-ends, the GLSL programs in
    these cases can pass all the related link checks, thus these cases will
    crash due to reaching the unimplemented parts when they are running on
    ANGLE D3D11 back-ends.
    
    BUG=angleproject:2345
    TEST=dEQP-GLES31.functional.state_query.integer.max_compute_atomic_counter_buffers_*
         dEQP-GLES31.functional.state_query.integer.max_compute_shader_storage_blocks_*
         dEQP-GLES31.functional.state_query.integer.max_atomic_counter_buffer_bindings_*
         dEQP-GLES31.functional.state_query.integer.max_combined_atomic_counter_buffers_*
         dEQP-GLES31.functional.state_query.integer.max_image_units_*
         dEQP-GLES31.functional.state_query.integer.max_combined_image_uniforms_*
         dEQP-GLES31.functional.state_query.integer.max_shader_storage_buffer_bindings_*
         dEQP-GLES31.functional.state_query.integer.max_combined_shader_storage_blocks_*
         dEQP-GLES31.functional.state_query.integer.max_combined_shader_output_resources_*
    
    Change-Id: I56a4e6c60d4f6f5bd6f238ae8ce425fb5072a4a3
    Reviewed-on: https://chromium-review.googlesource.com/1046372
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 5f9482f4c52b8b01b4c8c3504976e19608960057
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Fri May 18 09:00:09 2018 +0800

    ES31: Implement FramebufferTextureEXT entry point
    
    This patch adds the entry point and related validation for
    FramebufferTextureEXT defined in OpenGL ES 3.1 extension
    EXT_geometry_shader.
    
    BUG=angleproject:1941
    TEST=angle_end2end_tests
    
    Change-Id: Id6804e0b3971f52273562ce1a325d8377926a558
    Reviewed-on: https://chromium-review.googlesource.com/1069842
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 04796cdada006a14b27c599245ebbb795b7a5f7d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 24 19:52:16 2018 -0400

    Remove gl::PrimitiveType.
    
    This replaces the usages with gl::PrimitiveMode. Also replaces
    the ProgramD3D Geometry Shader executable storage with a
    PackedEnumMap.
    
    Bug: angleproject:2574
    Change-Id: I476dd2ba92d6267b9ea2bb9a37ee15fb6a91e627
    Reviewed-on: https://chromium-review.googlesource.com/1067115
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 493f95710ec112dae077aaf72d27e7455bff738d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 24 19:52:15 2018 -0400

    Add PrimitiveMode packed GLenum.
    
    Bug: angleproject:2574
    Change-Id: I3d7bd7ca0d69a364a611dc04799ea34906fc4a6c
    Reviewed-on: https://chromium-review.googlesource.com/1067114
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit b2eda420234df44ef5b347c1128385a612c35dd0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 24 19:14:48 2018 -0400

    dEQP: Add attrib init helper function.
    
    This removes a lot of repeated code in tcuANGLEPlatform.cpp.
    
    Bug: angleproject:2552
    Change-Id: Ie4cc53af2dfdf719b78d272cbd260cab5b2efd7b
    Reviewed-on: https://chromium-review.googlesource.com/1064196
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 3c7439b64b3d94c23ee74283a8b4508580a3a7e8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 24 19:52:14 2018 -0400

    Fix style inconsistency in packed enum json.
    
    Bug: angleproject:2574
    Bug: angleproject:2169
    Change-Id: I33387bd47979cda7d5239c7128252f860c721a3b
    Reviewed-on: https://chromium-review.googlesource.com/1067113
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit c22f5134e42ae537b1adb3914d39d2aa9aba018d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 24 19:02:04 2018 -0400

    D3D9: Fix incorrect parameter to setBlendDepthRasterStates.
    
    We were passing an unsigned int mask instead of a GLenum drawMode. This
    was caught by converting draw modes to internal packed enums.
    
    Bug: angleproject:2574
    Change-Id: I4b063590aa60381b5ffa5eba0479a86d10b439c6
    Reviewed-on: https://chromium-review.googlesource.com/1067112
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 795ab71993a42da9b1df20933b7dc84b7bd76047
Author: Brandon Jones <brandon1.jones@intel.com>
Date:   Thu May 24 15:45:40 2018 -0700

    Use os.path.join instead of slashes
    
    Minor change to replace some forward slashes in a file path with
    os.path.join to ensure cross platform compatibility.
    
    Bug: angleproject:1395
    Change-Id: Ib6b64a9f0b16ef69c9f973a682c329c157ee5622
    Reviewed-on: https://chromium-review.googlesource.com/1072867
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 450420b2d02f762955bc15bfde32fdc9d4e34804
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 24 19:02:03 2018 -0400

    Order packed enums according to JSON.
    
    This simplifies the code for the ordered enum cases. Also sort the
    existing non-ordered enums alphabetically.
    
    Bug: angleproject:2574
    Bug: angleproject:2169
    Change-Id: I444092a94ee46f76b2fc05a557458f273c5a50bc
    Reviewed-on: https://chromium-review.googlesource.com/1067111
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit d4703d50587e912fff02635744ee28876178cd3c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 24 17:31:43 2018 -0400

    Move packed enum code to common/
    
    This makes it accessible in the utilities files.
    
    Bug: angleproject:2574
    Bug: angleproject:2169
    Change-Id: I0fdd34b4233e72b7534cb2b09f451539c1a394cd
    Reviewed-on: https://chromium-review.googlesource.com/1067110
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 8a125ea75cd9ec159d802ee988b3403f093b5271
Author: Tobin Ehlis <tobine@google.com>
Date:   Wed May 16 10:47:08 2018 -0600

    Roll to latest LVL as of 5/16/18
    
    Moving to HEAD of LVL master as of 5/16/18.
    The LVL repo is now frozen and has been split into separate repos so
    this will be the last LVL roll. Subsequent updates will have to use
    the new, separate repos for layers, loader, and icd.
    
    No changes were required to BUILD.gn with this latest update.
    
    Bug: angleproject:2560
    Change-Id: If692e4a11803318af4364fe0185fa25e2f82b790
    Reviewed-on: https://chromium-review.googlesource.com/1062066
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 1c597eea3131417fcd908a8d9d80db95344eed68
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 24 14:19:31 2018 -0400

    Fix run_code_generation for huge diffs.
    
    This uses the --full argument to work around max path limitations
    on Windows. Also includes a couple minor changes for generators
    to generate already-formatted code.
    
    Bug: angleproject:2578
    Change-Id: I1e400b02e828bfdca21cacb73c649f41226bef55
    Reviewed-on: https://chromium-review.googlesource.com/1072161
    Reviewed-by: Lingfeng Yang <lfy@google.com>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Brandon1 Jones <brandon1.jones@intel.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 14eb89c66f93cb7627aa03bd5963c21de075a360
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 17 15:16:27 2018 -0400

    dEQP: Add EGL 1.5 getPlatformDisplay.
    
    This will allow us to pass pointers in the attributes list. This is
    helpful for the angle::Platform init code.
    
    Bug: angleproject:2552
    Bug: angleproject:2564
    Change-Id: I388d907ad543a61f357c0a51e8242942118bdaea
    Reviewed-on: https://chromium-review.googlesource.com/1064195
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit ba16270867793da817417c722abe3a5d98d50fc0
Author: Brandon Jones <brandon1.jones@intel.com>
Date:   Thu May 24 12:47:50 2018 -0700

    Fix entry point generation on non-Windows
    
    In "Implement EGL_ANGLE_explicit_context", backslashes were introduced in
    a file path, which broke generation on non-Windows machines. This fixes
    the issue.
    
    Bug:angleproject:1395
    Change-Id: I188c42c2a92afec37d7cb7dac5bffd7e855a0d2b
    Reviewed-on: https://chromium-review.googlesource.com/1072509
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 9d4277b0d4a24d9b74ecd5d61769635c980a6b6b
Author: Tobin Ehlis <tobine@google.com>
Date:   Mon May 21 16:22:22 2018 -0600

    Enable sysroot install on x86 & x64 based-systems
    
    For builds set "use_sysroot = true" by default
    This is intended to fix a bot config that is hitting a build error with
    latest Vulkan validation layer roll.
    
    Bug: angleproject:2560
    Change-Id: I06edfc7b74f367bbab23fea6f01b2778b12a470a
    Reviewed-on: https://chromium-review.googlesource.com/1068031
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 4428d39535dcaab32dbee4893f111bfe9c3a9d32
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 17 15:16:27 2018 -0400

    dEQP: Abort gtest run on exception.
    
    Prevents massive infra failures when the tests are all broken.
    
    This also gives the GoogleTest harness the ability to handle different
    test result types.
    
    Bug: angleproject:2552
    Change-Id: Id9832e8557e2ee4e6a248a27729f67a81bf2d830
    Reviewed-on: https://chromium-review.googlesource.com/1064014
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 0f8aab8b5421ea1576769736e201cd5c90539b62
Author: Brandon Jones <brandon1.jones@intel.com>
Date:   Thu May 24 10:25:27 2018 -0700

    Remove unused files from libGLESv2.gpyi
    
    Remove two files from libGLESv2.gpyi that were accidentally included in commit "Implement
    EGL_ANGLE_explicit_context"
    
    Bug: angleproject:1395
    Change-Id: I9a8b2e25a1a1d105977b9a6e0cf4e19b8e7b69a2
    Reviewed-on: https://chromium-review.googlesource.com/1072032
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 668e507f996204713b6315d5fa475158f455c380
Author: Lingfeng Yang <lfy@google.com>
Date:   Thu May 24 17:12:14 2018 +0000

    Revert "GLES1: Entry points for lighting and materials"
    
    This reverts commit 4a09c1a245c406e402b3996b7ed33798b897e60f.
    
    Reason for revert: Seems to break the build
    
    Original change's description:
    > GLES1: Entry points for lighting and materials
    >
    > - glLight*/glMaterial and their queries
    > - Use new packed enums in these entry points, except for lightmodel
    > which stays GLenum to be consistent with other generic glGet's
    > - State.cpp: New glGet* queries related to light model and
    > light/normal rescale enablement
    > - GLES1State.cpp: Functions to get/set lighting/material state
    > - Validation for lighting/materials
    >
    > + Add a few convenience methods to random_utils for sampling
    > non-negative floats and a sampler for random booleans
    >
    > BUG=angleproject:2306
    >
    > Change-Id: If7ba0c0a0dc75f88fbaa986b904f1ea96ee6512e
    > Reviewed-on: https://chromium-review.googlesource.com/1065502
    > Commit-Queue: Lingfeng Yang <lfy@google.com>
    > Reviewed-by: Geoff Lang <geofflang@chromium.org>
    
    TBR=geofflang@chromium.org,jmadill@chromium.org,cwallez@chromium.org,lfy@google.com
    
    Change-Id: Ifabd708ded87c7484ad6d466508e2c2d6ea2557c
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:2306
    Reviewed-on: https://chromium-review.googlesource.com/1071828
    Reviewed-by: Lingfeng Yang <lfy@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 4a09c1a245c406e402b3996b7ed33798b897e60f
Author: Lingfeng Yang <lfy@google.com>
Date:   Thu May 17 22:36:52 2018 -0700

    GLES1: Entry points for lighting and materials
    
    - glLight*/glMaterial and their queries
    - Use new packed enums in these entry points, except for lightmodel
    which stays GLenum to be consistent with other generic glGet's
    - State.cpp: New glGet* queries related to light model and
    light/normal rescale enablement
    - GLES1State.cpp: Functions to get/set lighting/material state
    - Validation for lighting/materials
    
    + Add a few convenience methods to random_utils for sampling
    non-negative floats and a sampler for random booleans
    
    BUG=angleproject:2306
    
    Change-Id: If7ba0c0a0dc75f88fbaa986b904f1ea96ee6512e
    Reviewed-on: https://chromium-review.googlesource.com/1065502
    Commit-Queue: Lingfeng Yang <lfy@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 2b0cdcc1b49342993a7dd8fddb4ceab30bfe1df4
Author: Brandon Jones <brandon1.jones@intel.com>
Date:   Wed May 2 08:02:50 2018 -0700

    Implement EGL_ANGLE_explicit_context
    
    Implementation of EGL_ANGLE_explicit_context. Includes new libGLESv2 entry
    points and exports, libANGLE entry points, extension declarations for
    eglGetProcAddress, and unit tests. Autogeneration scripts have been
    modified to produce entry points, exports, eglGetProcAddress function
    table, extension function pointers, and function declarations.
    
    Bug:angleproject:1395
    Change-Id: I1b79c6069bbed05beb4700a32139a64ddc465c4c
    Reviewed-on: https://chromium-review.googlesource.com/1039865
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 390900a04baa3f257941297e8a3b557de666a8f7
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Fri May 18 09:44:59 2018 -0600

    Add support for EGL_PLATFORM_ANGLE_EGL_HANDLE_ANGLE
    
    To support ANGLE for Android need a way to tell ANGLE
    what library to call when using GL backend.
    
    Bug: angleproject:2418
    Test: test-opengl-gl2_copyTexImage
    Change-Id: Ie00251b0672a036db4720e1e5b269f66a30a03da
    Reviewed-on: https://chromium-review.googlesource.com/1066822
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit c16516188dd924468bc99c14369c4563ef306730
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed May 23 11:34:11 2018 -0400

    Don't double-terminate a display.
    
    Some dEQP tests call eglTerminate twice on the same display and cause crashes.
    
    BUG=angleproject:2546
    
    Change-Id: I3118e07aec19a28ad2b76fc2705be5b0bea37857
    Reviewed-on: https://chromium-review.googlesource.com/1066467
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 22a5f5f01f709258ffb980d374033bc92b9736d8
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed May 23 11:33:01 2018 -0400

    Make sure to destroy all resources in DisplayWGL if initialization fails.
    
    It was possible to leak some resources if initialization fails half way
    through.
    
    BUG=angleproject:2546
    
    Change-Id: I0ea75a274fed27b118e788785bb72aff5fe8381e
    Reviewed-on: https://chromium-review.googlesource.com/1070221
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 2a12b3d585a80e9786b505f759ad7d2587cebe75
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Wed May 23 13:42:13 2018 +0800

    ES31: Add struct uniform block support in compute shader for D3D
    
    BUG=angleproject:2577
    TEST=angle_end2end_tests
    
    Change-Id: I4d84a10508458444d559013e658ae88cd2923f91
    Reviewed-on: https://chromium-review.googlesource.com/1069989
    Commit-Queue: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit b001528ffa00e7c15a5002124f707570e59a5697
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Fri May 18 16:48:50 2018 -0600

    Use libnativewindow for Android builds
    
    To avoid references to libEGL.so do not link with libandroid,
    use libnativewindow instead. libnativewindow is available in
    android-26 and newer.
    The appropriate library will be selected based on the ndk level
    configured. If ndk revision is 26 or higher, we'll link to
    libnativewindow otherwise use libandroid.
    The ANGLE apk needs to use 26 or higher.
    
    Bug: angleproject:2418
    Change-Id: I96509e5d645d132a34734558cd0566f1812b615b
    Reviewed-on: https://chromium-review.googlesource.com/1066821
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 18168286325107985093ffcc6bfd12545505333c
Author: Brandon Jones <brandon1.jones@intel.com>
Date:   Fri Apr 27 11:48:14 2018 -0700

    Add initial specification for EGL_ANGLE_explicit_context Extension
    
    Adds formal specification for the unimplemented EGL_ANGLE_explicit_context
    extension. This extension will introduce alternate entry points that allow
    us to specify the context during the gl function call, so we can avoid
    looking it up in TLS.
    
    Bug: angleproject:1395
    Change-Id: I6060c02b8edf586dc2443b563e2d292c00e4fbb7
    Reviewed-on: https://chromium-review.googlesource.com/1033577
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit fa7cc9da878b1eba4df568084b97a981e046709c
Author: Tobin Ehlis <tobine@google.com>
Date:   Wed May 23 10:27:06 2018 -0600

    Update required Windows SDK version to 10.0.17134
    
    Bug: angleproject:2560
    Change-Id: I27aef8c9ae3d867664302f7c2ddb83871333db2b
    Reviewed-on: https://chromium-review.googlesource.com/1070316
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit b0e9ddb55381164c1058dbdb5bb7604372184699
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed May 23 11:30:04 2018 -0400

    Refactor a hex streaming into a generic FmtHex function.
    
    The length of the printed value can be determined from size of the type.
    
    BUG=angleproject:2546
    
    Change-Id: I39a4f9550f381dd82183f50019b3f7d117c52472
    Reviewed-on: https://chromium-review.googlesource.com/1070220
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 58675016832d516025d01c3a0769279eddebe10e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue May 22 14:54:07 2018 -0400

    Vulkan: Refactor CopyTexImage to use readPixelsImpl.
    
    It turns out it won't be easy to just use the RenderTargetVk and
    CommandBuffer with the Command Graph refactor. Better to use the
    FramebufferVk directly.
    
    Also cleans up a few incidental style issues.
    
    Bug: angleproject:2539
    Change-Id: I73c2767072a84e9e5042361c7bdf4e9aef0f8ac7
    Reviewed-on: https://chromium-review.googlesource.com/1066471
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit be7f44fb57412071a76cd9995ba8e4c21bb09c7b
Author: jchen10 <jie.a.chen@intel.com>
Date:   Mon May 21 14:35:32 2018 +0800

    Vulkan: Use push constant for masked clear color
    
    Storing the color in an uniform buffer, and updating it by
    vkCmdUpdateBuffer can hit a driver bug. Using vkCmdPushConstants
    instead can workaround this bug. Besides, push constant is expected
    to outperform memory-backed resource update according to the vkspec
    (section 13.2.6).
    
    Bug: angleproject:2547
    
    Change-Id: I319cd8e07e0a1d0cb56005b78a46466d9fca436e
    Reviewed-on: https://chromium-review.googlesource.com/1067247
    Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>

commit b1e913801502c7380d68d0101e4399f4550f4dc3
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Thu May 17 14:33:55 2018 +0800

    ES31: Implement EXT_geometry_shader framebuffer default layers on OpenGL
    
    This patch implements FRAMEBUFFER_DEFAULT_LAYERS_EXT as a legal framebuffer
    parameter required in OpenGL ES 3.1 extension EXT_geometry_shader on OpenGL
    back-ends.
    
    The query on FRAMEBUFFER_DEFAULT_LAYERS_EXT specifies the layer count used
    when the framebuffer has no attachments.
    
    BUG=angleproject:1941
    TEST=dEQP-GLES31.functional.geometry_shading.query.framebuffer_default_layers
    
    Change-Id: I888465dfe23da53541ec2fedb8616027df532466
    Reviewed-on: https://chromium-review.googlesource.com/1063560
    Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>

commit 9b1462a06df37d09dc3c2efa674e125d6bfff26b
Author: Tobin Ehlis <tobine@google.com>
Date:   Mon May 21 16:40:57 2018 -0600

    Roll fwd ANGLE chromium DEPs
    
    Roll build, buildtools, clang, testing, googletest, zlib, gyp.
    
    Bug: angleproject:2560
    Change-Id: Ic7f2a8bbdb9f6ff3bca1cd6d7ba424add7d086ad
    Reviewed-on: https://chromium-review.googlesource.com/1068064
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 31d3deb41a44a74f8c730484d9a36b886172dbb3
Author: Jeff Gilbert <jgilbert@mozilla.com>
Date:   Fri May 18 18:32:16 2018 -0700

    Add `formatType` arg to computeSkipBytes.
    
    Fix texture upload format tests:
    - Format tests should definitely run on ES3 also.
    - Also set filters to NEAREST since some formats aren't filterable.
    - Fix RGB9_E5 test reference encoding and add a test for it.
    - True int/uint textures require i/usamplers.
    
    Bug: angleproject:2576
    Change-Id: Ia5bac34cdee6554a88db339de443689a71a0cf70
    Reviewed-on: https://chromium-review.googlesource.com/1068142
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 64ac5d9eb62e0ce9a784fef42e7cb5d9487d347e
Author: Luc Ferron <lucferron@chromium.org>
Date:   Tue May 22 10:39:47 2018 -0400

    Vulkan: Quick rename of member variable in DynamicBuffer
    
    The new name mNxtAllocationOffset instead of mNextWriteOffset makes more sense.
    
    Also merged the 2 offset tracking vars since the user of DynamicBuffer
    should know to flush or invalidate correctly.
    
    Bug: angleproject:2480
    
    Change-Id: If7a04b633794484ad88e73fd6f802fcfe0e3705a
    Reviewed-on: https://chromium-review.googlesource.com/1069107
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit 671be629d92051211b216cc0c835c414cf2f389a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri May 18 15:01:46 2018 -0400

    Make sure the DisplayImpl is terminated if it fails to fully initialize.
    
    It is possible that if device creation fails that the display would be left in
    a state where rx::DisplayImpl is initialized and egl::Display is not.
    
    BUG=angleproject:2546
    
    Change-Id: I609e4c40f37945322d64786d4f6e97f361764b62
    Reviewed-on: https://chromium-review.googlesource.com/1066501
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 534b00dbda3eb6668a937b60f506d01c676c3b85
Author: Luc Ferron <lucferron@chromium.org>
Date:   Fri May 18 08:16:53 2018 -0400

    Vulkan: readPixels improvement - use DynamicBuffer
    
    Reintroduce the change that was previously reverted here:
    https://chromium-review.googlesource.com/c/angle/angle/+/1064770
    
    This includes a tentative fix the issue on Android that prompted the revert,
    we need to call invalidate on the mapped memory range before we read it on
    the host side.
    
    Bug: angleproject:2480
    Change-Id: Id637bafa2845628ae38483c6fc8e6d7f26ad2d3e
    Reviewed-on: https://chromium-review.googlesource.com/1066229
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 787338f9be51a554e28dfee157c39205a0b9f066
Author: Jeff Gilbert <jgilbert@mozilla.com>
Date:   Mon May 7 17:23:57 2018 -0700

    Add headers to build file lists.
    
    Bug: angleproject:2535
    Change-Id: If4d3037e43b403683554a710e89a76befd9b354a
    Reviewed-on: https://chromium-review.googlesource.com/1068140
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 42cf958ce8fa5894ff6099106e19e90422386123
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 17 15:39:16 2018 -0400

    Make UNIMPLEMENTED a warning.
    
    Having UNIMPLEMENTED be an error was problematic in a few places. Some
    tests would pass despite hitting the macro. We were relying on this in
    a bunch of places. Making it a warning is an easier solution than
    fixing all of the cases.
    
    Going forward we can fix the warnings and make warnings produce test
    failures. This is similar to enabling warnings as errors in C++ code.
    
    Bug: angleproject:2552
    Change-Id: Iaf0479cd6bd6a9e85aaccbbee13c322166ff7b5a
    Reviewed-on: https://chromium-review.googlesource.com/1064724
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit be4a3683a346dc31859709659a82e9f04d9f988e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 17 15:16:27 2018 -0400

    dEQP: Use overload of CreateWindow.
    
    This allows us access to the EGLDisplay handle. This will be useful for
    passing along an error logging function.
    
    Bug: angleproject:2552
    Change-Id: I98a170f419d728ca93558954be4e5c0511b0316b
    Reviewed-on: https://chromium-review.googlesource.com/1062790
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 9b1a908452916e90856b51bc014cc969230ff152
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 17 15:16:26 2018 -0400

    dEQP: Format display factory and clean up style.
    
    This fixes a bunch of minor style issues.
    
    Bug: angleproject:2552
    Change-Id: If0e8130cf85deb176a5dcbca568cca477d2c1068
    Reviewed-on: https://chromium-review.googlesource.com/1062789
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 78b7f3a8e81364b132d9942e7200b801d9a16815
Author: Lingfeng Yang <lfy@google.com>
Date:   Fri May 18 01:42:34 2018 -0700

    GLES1: New packed enums for materials and lighting
    
    BUG=angleproject:2306
    
    Change-Id: Icd1f830b666d75b30455dd4cbc2183cd431b97cc
    Reviewed-on: https://chromium-review.googlesource.com/1065792
    Commit-Queue: Lingfeng Yang <lfy@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit a9ab0f37cf8fd46708005fa40d58ea8431b42f26
Author: Luc Ferron <lucferron@chromium.org>
Date:   Thu May 17 17:03:55 2018 -0400

    Vulkan: Fix DynamicBuffer usages, need to use specific alignment
    
    The alignment used to allocate VkBuffers in the VkBuffer needs to be at
    least the size of the nonCoherentAtomSize defined in the limits of the
    VkDevicePhysicalProperties. The latest roll of the
    vulkan-validation-layers added that check and caused a bunch of errors.
    This is fixing them.
    
    Bug: angleproject:2565
    
    Change-Id: Ia2ad506dce7966adb6220c52ea891903922c47d0
    Reviewed-on: https://chromium-review.googlesource.com/1064950
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit dcda0e50631bc87a91ea3018bccff3f486c35ad1
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu May 10 12:50:43 2018 -0400

    Don't make redundant calls to Display::makeCurrent.
    
    Refactor ValidateMakeCurrent to pass egl object pointers instead of handles.
    
    BUG=angleproject:2464
    
    Change-Id: I98859f56d238a38bd6755f00dce7344635690491
    Reviewed-on: https://chromium-review.googlesource.com/1053877
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>

commit cff54d6a0f3322af069d9784f406d7a5973b7493
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri May 18 08:39:34 2018 -0400

    Documentation maintenance.
    
    * update progress of Vulkan back-end
    * add link to creating a new bug
    * add link to Vulkan presentation
    
    Bug: angleproject:1944
    Change-Id: Ib14df65df833f758a4ace325df28b8d4a52c1ced
    Reviewed-on: https://chromium-review.googlesource.com/1065525
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit dd565786360c351f6676b3c83061c55768662d4a
Author: Luc Ferron <lucferron@chromium.org>
Date:   Fri May 18 11:39:49 2018 -0400

    Revert "Vulkan: readPixels improvement - use DynamicBuffer"
    
    The tentative fix did not fix the issue on Android Nexus 5x.
    
    This reverts commit 8688bf46f1835dbe7fff4480350b1bc0ef02ff78.
    
    NOTRY=true
    Change-Id: If4a517028951a2232a87aeaf1045a5df731d17d3
    Reviewed-on: https://chromium-review.googlesource.com/1065578
    Reviewed-by: Luc Ferron <lucferron@chromium.org>

commit 8688bf46f1835dbe7fff4480350b1bc0ef02ff78
Author: Luc Ferron <lucferron@chromium.org>
Date:   Fri May 18 08:16:53 2018 -0400

    Vulkan: readPixels improvement - use DynamicBuffer
    
    Reintroduce the change that was previously reverted here:
    https://chromium-review.googlesource.com/c/angle/angle/+/1064770
    
    This includes a tentative fix the issue on Android that prompted the revert.
    
    Bug: angleproject:2480
    Change-Id: I04be55d9dead00500adaa5f56458cb93957f2535
    Reviewed-on: https://chromium-review.googlesource.com/1065799
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 4607148c6be3c345b0ba85e9b688d230636163de
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Tue May 15 13:35:15 2018 -0600

    Add build-id for all builds to help debugging
    
    Android Studio debugger needs the build-id to be able to
    match up symbols with stripped libraries.
    
    Bug: angleproject:2566
    Change-Id: Ied6afd09c9ec0d379a16b4a08b56b827af11ca0d
    Reviewed-on: https://chromium-review.googlesource.com/1064554
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 96d292d0fbfae1323343c1b44f1d5e4a79de7ad7
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Thu May 17 13:36:09 2018 -0600

    Format cleanup
    
    Bug: angleproject:2339
    Bug: angleproject:2455
    Change-Id: I12dfd1e95f18a4277f409d694000e0e775c8bffb
    Reviewed-on: https://chromium-review.googlesource.com/1064814
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 6c6c76c0df5b9d4ffd576de6b67334fb0ba04269
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu May 17 18:45:06 2018 +0000

    Revert "Vulkan: readPixels improvement - use DynamicBuffer"
    
    This reverts commit 82a420bb9af221e659b9510aed6791a87ac97b25.
    
    Reason for revert: breaks readPixels on Android, probably because memory there is not host coherent by default.
    
    Original change's description:
    > Vulkan: readPixels improvement - use DynamicBuffer
    >
    > - Instead of using a new Staging image everytime, we now
    > just use a DynamicBuffer that should be bit less wasteful.
    >
    > Bug: angleproject:2480
    >
    > Change-Id: I09edfb16f6ec49a0ca320d9e5dd9ce34e9dbf99e
    > Reviewed-on: https://chromium-review.googlesource.com/1059452
    > Commit-Queue: Luc Ferron <lucferron@chromium.org>
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    > Reviewed-by: Geoff Lang <geofflang@chromium.org>
    
    TBR=geofflang@chromium.org,jmadill@chromium.org,lucferron@chromium.org
    
    Change-Id: Id7c493915ec7131f5202a7224267a79cd53007d2
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:2480
    Reviewed-on: https://chromium-review.googlesource.com/1064770
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 82a420bb9af221e659b9510aed6791a87ac97b25
Author: Luc Ferron <lucferron@chromium.org>
Date:   Tue May 15 12:55:21 2018 -0400

    Vulkan: readPixels improvement - use DynamicBuffer
    
    - Instead of using a new Staging image everytime, we now
    just use a DynamicBuffer that should be bit less wasteful.
    
    Bug: angleproject:2480
    
    Change-Id: I09edfb16f6ec49a0ca320d9e5dd9ce34e9dbf99e
    Reviewed-on: https://chromium-review.googlesource.com/1059452
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 1ce8aede0043a99c3e098e0d1ab4e2220bf2aef3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 17 09:19:05 2018 -0400

    dEQP: Shorten test case names.
    
    Instead of dEQP_GLES2.Default/functional.blah...
    Use dEQP.GLES2/functional.blah...
    
    This makes them a bit easier to parse and reconstruct from memory.
    
    Bug: angleproject:2557
    Change-Id: I092dc6ef10d4451ddafe373e699a5d35247f8785
    Reviewed-on: https://chromium-review.googlesource.com/1062065
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 0e1c158ed0e63cb8216976db2b1587de13d1bf2e
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Wed May 16 14:47:30 2018 -0400

    Log error of RegisterClassA in DisplayWGL::initialize
    
    Bug: angleproject:2561
    Change-Id: I45de82466401e88bfacc2342e401adef69d07472
    Reviewed-on: https://chromium-review.googlesource.com/1062192
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit ef80f8355007de47b49a4c8861f5353ecbcc9653
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Wed May 16 20:42:04 2018 +0000

    Revert "Don't double-terminate a display."
    
    This reverts commit 10e7e5013c41cdca8d6ab0ed4bc9bb3dedb537e7.
    
    Reason for revert: Possible reason for anglebug.com/2561
    
    Original change's description:
    > Don't double-terminate a display.
    >
    > Some dEQP tests call eglTerminate twice on the same display and cause crashes.
    >
    > BUG=angleproject:2546
    >
    > Change-Id: I8a13d00fd03692b3b24dee4813c245d83ea00862
    > Reviewed-on: https://chromium-review.googlesource.com/1060335
    > Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    > Reviewed-by: Geoff Lang <geofflang@chromium.org>
    > Commit-Queue: Geoff Lang <geofflang@chromium.org>
    
    TBR=geofflang@chromium.org,jmadill@chromium.org,cwallez@chromium.org
    
    Change-Id: Iab32ed96443eab406afa65642f9a66f68dc8ebcd
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:2546, angleproject:2561
    Reviewed-on: https://chromium-review.googlesource.com/1062728
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit f299a378f1e6158d02d1fc062e93be234355c60d
Author: Luc Ferron <lucferron@chromium.org>
Date:   Mon May 14 14:44:54 2018 -0400

    Vulkan: Implement copyImage and enable all tests for it
    
    Bug: angleproject:2500
    Change-Id: I9066861ed4db0330754b32995ed82c658d66a590
    Reviewed-on: https://chromium-review.googlesource.com/1058034
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit daf7ace5394cc5fac87089bcc25349a82f58bb79
Author: Luc Ferron <lucferron@chromium.org>
Date:   Mon May 14 13:44:15 2018 -0400

    Vulkan: Finish implementation of the copySubImage
    
    - Enables all dEQP tests left for copySubImage.
    
    Bug: angleproject:2501
    
    Change-Id: I8ae301a94e9039f24e0a20b8fd4afdf7e65659f7
    Reviewed-on: https://chromium-review.googlesource.com/1057904
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit a1c724234c477f5545d1677a620b37b184893bf0
Author: Luc Ferron <lucferron@chromium.org>
Date:   Mon May 14 15:58:28 2018 -0400

    Vulkan: Implement PACK_STATE dirty bit and remove warning
    
    - also enables all dEQP tests for functional.read_pixels.*
    
    Bug: angleproject:2480
    
    Change-Id: Ib7bcd6b046ff8b0ecf110e70f735036bedf17902
    Reviewed-on: https://chromium-review.googlesource.com/1058149
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 21386a349acc33162f460c506ffae9478e5e27ff
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed May 16 12:34:06 2018 -0400

    dEQP: Implement --deqp-case for GTest.
    
    This parses the dEQP test name into a GoogleTest-friendly gtest_filter
    automatically. This makes pasting in test case names from the
    expectations file more straight-forward.
    
    Bug: angleproject:2557
    Change-Id: Ib5fbb46ad487a89352d728aebedc1752ddb0673d
    Reviewed-on: https://chromium-review.googlesource.com/1058252
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 018709fd73583eeb62ba165c1ac814305290bd46
Author: Luc Ferron <lucferron@chromium.org>
Date:   Thu May 10 13:53:11 2018 -0400

    Vulkan: Basic support of copySubImage
    
    - Implement basic path that does a cpu readback for everything and
    establish conformance for every case except the ones that need
    conversion.
    - Enables most copy sub image dEQP tests.
    
    Bug: angleproject:2501
    
    Change-Id: Ib67c184894625dde850f320c40fe51fe70ba974f
    Reviewed-on: https://chromium-review.googlesource.com/1054387
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit e943df226e2b6e5361d38211d672c8e39156832f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue May 15 12:14:25 2018 -0400

    Add more dEQP EGL expectations for Linux and Android.
    
    BUG=angleproject:2546
    
    Change-Id: Id81203cd42227f6df34edfcefdd312037826d55f
    Reviewed-on: https://chromium-review.googlesource.com/1059940
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 80c32ccbbcc674f5f36cd0a73b5195bf3f612a20
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Wed Apr 25 09:48:36 2018 +0800

    ES31: Add extra transform feedback rules in EXT_geometry_shader
    
    This patch adds the additional transform feedback rules required in
    EXT_geometry_shader. In this extension, more draw commands and render
    primitives are allowed for transform feedback.
    
    BUG=angleproject:1941
    TEST=dEQP-GLES31.functional.geometry_shading.vertex_transform_feedback.*
         angle_end2end_tests
    
    Change-Id: Iedc27dca5c24ca45cd4226a1a0066107c0b40e1d
    Reviewed-on: https://chromium-review.googlesource.com/1055192
    Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>

commit 10e7e5013c41cdca8d6ab0ed4bc9bb3dedb537e7
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue May 15 16:08:05 2018 -0400

    Don't double-terminate a display.
    
    Some dEQP tests call eglTerminate twice on the same display and cause crashes.
    
    BUG=angleproject:2546
    
    Change-Id: I8a13d00fd03692b3b24dee4813c245d83ea00862
    Reviewed-on: https://chromium-review.googlesource.com/1060335
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 01e83581864b153a21f0621a4500df7f2e99f524
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue May 15 12:28:01 2018 -0400

    Add dEQP EGL expectations OpenGL on Windows.
    
    BUG=angleproject:2546
    
    Change-Id: I3ffc33649bad26f9d12580e398777b8b6c8ad542
    Reviewed-on: https://chromium-review.googlesource.com/1059711
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 2a849bf311621f2e1aaac53668e6b17c90d015b7
Author: Luc Ferron <lucferron@chromium.org>
Date:   Thu May 10 13:19:11 2018 -0400

    Vulkan: Pre-work for copyImage/copySubImage features
    
    - Add vkCmdCopyImageToBuffer support in CommandBuffer
    - Add a new function in the PixelBuffer to support staging changes
    coming from an image.
    
    Bug: angleproject:2500
    Bug: angleproject:2501
    
    Change-Id: Ic29101391edc6f25a71dcd318bc8a72b2ae1a054
    Reviewed-on: https://chromium-review.googlesource.com/1054104
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 966cd5076be37383b9987ad1fa32ed0730d14500
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue May 15 10:58:48 2018 -0400

    Add more dEQP EGL expectations for Linux and Android.
    
    BUG=angleproject:2546
    
    Change-Id: I9ece2b5b38217afa43ba7f120ef311c2cf3ca4cb
    Reviewed-on: https://chromium-review.googlesource.com/1059700
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit b0dde4b9fd4a0be14055a6228bd29ee600de8ebe
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon May 14 18:17:21 2018 -0400

    dEQP: Clean up some style in gTest source.
    
    Bug: angleproject:2557
    Change-Id: Ica29c686ad3a71da3f8564f8a78bbe4f57ce304f
    Reviewed-on: https://chromium-review.googlesource.com/1058251
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a00ef3144f7039b54ea7dbfe255b85b6f4d11224
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon May 14 17:07:22 2018 -0400

    Add more dEQP EGL expectations for Linux and Android.
    
    BUG=angleproject:2546
    
    Change-Id: I911842753e8065de8e86f0af1f6cdf2a388fec63
    Reviewed-on: https://chromium-review.googlesource.com/1058280
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 5730c0bf431e2decbddfdb7a3a2ec8338e56be2d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon May 14 15:48:31 2018 -0400

    Add more dEQP EGL expectations for Linux and Android.
    
    BUG=angleproject:2546
    
    Change-Id: I9b62ef6331c03d185feaa91ad4f21f9a1380186f
    Reviewed-on: https://chromium-review.googlesource.com/1058147
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit f345cdf37b81690c6942e64986d0d276531f38bd
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon May 14 15:29:42 2018 -0400

    DisplayGLX: Close the X display if we own it.
    
    BUG=chromium:834269
    
    Change-Id: Ia49f80f4c057ad467428a13e8cd4ca54ad48d5c4
    Reviewed-on: https://chromium-review.googlesource.com/1058084
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit e35831d3bee00d2abe472c808409acb6215a0748
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon May 14 14:05:26 2018 -0400

    Add more dEQP EGL expectations for Linux and Android.
    
    BUG=angleproject:2546
    
    Change-Id: I996c1344c93be7618ffbedd3e34e9aaa4855e25e
    Reviewed-on: https://chromium-review.googlesource.com/1057989
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit baa60994a3997b4d85ad491b063ba8f6d1c483df
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon May 14 12:46:17 2018 -0400

    DEQP: Print not supported messages from tests.
    
    BUG=angleproject:2546
    
    Change-Id: I74b376c07f94d77abe28129ff5e97bd19a26d0d0
    Reviewed-on: https://chromium-review.googlesource.com/1057831
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit bb7707f37dad1db51c3a4ec1ee2ecf14131201c5
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon May 14 12:38:44 2018 -0400

    Add dEQP EGL test expectations for Linux and Android.
    
    BUG=angleproject:2546
    
    Change-Id: I81c9786eccf50962b2928333272cee3eb556e707
    Reviewed-on: https://chromium-review.googlesource.com/1057869
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 78cd940593fdc4852952b309134f6736b5514152
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 10 16:49:58 2018 -0400

    Vulkan: Implement masked color clear with depth.
    
    This fixes an edge case when the app clears both color and depth at the
    same time when a color mask is set. It also handles stencil clear, but
    does not handle stencil masks.
    
    Includes test suppressions for a few platforms that may have driver
    bugs.
    
    Bug: angleproject:2455
    Bug: angleproject:2547
    Bug: angleproject:2548
    Change-Id: I5ac0a461a075328e5fc4e5e262c4d21f68f93434
    Reviewed-on: https://chromium-review.googlesource.com/1052072
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 74a763205a3d3226011e2aba247cded5ff08ce3a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon May 14 09:11:51 2018 -0400

    Fix libGLESv2 wrong .def file.
    
    The GN was including both libGLESv2.def and _autogen. This fixes the
    GN to only include _autogen, and removes the .def include from the
    static build target.
    
    Bug: angleproject:2476
    Change-Id: I2e856e3bbe875bdadd1add4517cef60a11227047
    Reviewed-on: https://chromium-review.googlesource.com/1057451
    Reviewed-by: Nico Weber <thakis@chromium.org>
    Reviewed-by: Brandon1 Jones <brandon1.jones@intel.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit b878f00db58ea27639b0ac89923f64cfcec3bb11
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon May 14 09:45:29 2018 -0400

    Fix warnings from size_t conversions.
    
    These casts could result in overflow.
    
    Bug: chromium:842028
    Change-Id: I998b638c58333a29f6bc9136ae3e81b90683cb72
    Reviewed-on: https://chromium-review.googlesource.com/1057415
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 461b09a82468833f8bc0f073336730935dd6a5cf
Author: Lingfeng Yang <lfy@google.com>
Date:   Mon Apr 23 09:02:09 2018 -0700

    GLES1: Renderer (minimal)
    
    This is the renderer code for GLES1 that delivers basic vertex
    attributes, matrices, and allows texturing for unit 0 only (more units
    mean implementing the multitexturing pipeline).
    
    + Sample
    + Update test expectations for GLES1 conformance tests
    
    BUG=angleproject:2554
    BUG=angleproject:2306
    
    Change-Id: I398edc764f982fbfc4c5e0f9d6bfef1e91aec47c
    Reviewed-on: https://chromium-review.googlesource.com/1057356
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Lingfeng Yang <lfy@google.com>

commit 5d2ccc534d26cc1801dd82479d647cce84ba25e2
Author: Hans Wennborg <hans@chromium.org>
Date:   Mon May 14 15:04:27 2018 +0200

    Use DefWindowProcA for window created with CreateWindowExA
    
    Bug: chromium:842408
    Change-Id: I8793e3bb9ed4661e49eceb55c7253d7ada06488a
    Reviewed-on: https://chromium-review.googlesource.com/1057231
    Reviewed-by: Nico Weber <thakis@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 66aafcb4641c5f825eb56547b0cf817699b706de
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Sat May 12 19:21:31 2018 +0000

    Revert "GLES1: Renderer (minimal)"
    
    This reverts commit a69099212f7b3be8e6113ba349eee56af589f3de.
    
    Reason for revert: New tests failing on gpu fyi bot.  anglebug.com/2554
    
    Original change's description:
    > GLES1: Renderer (minimal)
    >
    > This is the renderer code for GLES1 that delivers basic vertex
    > attributes, matrices, and allows texturing for unit 0 only (more units
    > mean implementing the multitexturing pipeline).
    >
    > + Sample
    > + Update test expectations for GLES1 conformance tests
    >
    > BUG=angleproject:2306
    >
    > Change-Id: Id5d5603c967e577290085e5946f2cb7a03d7e017
    > Reviewed-on: https://chromium-review.googlesource.com/1023988
    > Commit-Queue: Lingfeng Yang <lfy@google.com>
    > Reviewed-by: Geoff Lang <geofflang@chromium.org>
    
    TBR=geofflang@chromium.org,jmadill@chromium.org,cwallez@chromium.org,lfy@google.com
    
    # Not skipping CQ checks because original CL landed > 1 day ago.
    
    Bug: angleproject:2306
    Change-Id: Ib6fd9db433cd1a13589d5a9e82cb2c40f3cf71ff
    Reviewed-on: https://chromium-review.googlesource.com/1056229
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit 18e323ab2cff6e4bab6473b70109a33fedd76c25
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri May 11 16:54:17 2018 -0400

    D3D11: Fix out-of-range access with robust access.
    
    When using a vertex buffer with DYNAMIC usage, with robust buffer
    access enabled, we would sometimes read out-of-bounds when using very
    large values for the index range. An unchecked signed addition would
    overflow and lead to reading a negative offset.
    
    Fix this problem by keeping the value size_t whenever possible. Also do
    clamped casts when converting to a smaller values.
    
    Also adds a regression test.
    
    Bug: chromium:842028
    Change-Id: Ie630ac857c6acfc0bace849a03eebfbaa2fbe89a
    Reviewed-on: https://chromium-review.googlesource.com/1055928
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 422f2ce24c5b7f63f6dd74b13b7ca07751d0dac0
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu May 10 13:54:54 2018 -0400

    GL: Refactor ShaderGL to not hold renderer objects.
    
    BUG=angleproject:2464
    
    Change-Id: I243c010e30d62e233411b1dab1d13a69b44e4b38
    Reviewed-on: https://chromium-review.googlesource.com/1054214
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 2cfc4f508d6eb191d2aa3aa2fb673959e3ff92c9
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri May 11 11:42:13 2018 -0400

    Request EGL_DONT_CARE version instead of 0 on GL NULL configs.
    
    This caused the backends to fail native context creation and skip tests
    on these configs.
    
    BUG=angleproject:2464
    
    Change-Id: I04922853a33c4bd8b38c87145f65431d8eb3db10
    Reviewed-on: https://chromium-review.googlesource.com/1054482
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit a69099212f7b3be8e6113ba349eee56af589f3de
Author: Lingfeng Yang <lfy@google.com>
Date:   Mon Apr 23 09:02:09 2018 -0700

    GLES1: Renderer (minimal)
    
    This is the renderer code for GLES1 that delivers basic vertex
    attributes, matrices, and allows texturing for unit 0 only (more units
    mean implementing the multitexturing pipeline).
    
    + Sample
    + Update test expectations for GLES1 conformance tests
    
    BUG=angleproject:2306
    
    Change-Id: Id5d5603c967e577290085e5946f2cb7a03d7e017
    Reviewed-on: https://chromium-review.googlesource.com/1023988
    Commit-Queue: Lingfeng Yang <lfy@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 81307a3198d56e389c11a78f20f04bb374ba46d6
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Wed May 9 13:35:03 2018 -0400

    Update dEQP GLES2 expectations for Android Vulkan backend
    
    Bug: 839893, angleproject:2549, angleproject:2550
    
    Change-Id: Id51ad7df2dc225eb6d4e8d4a8668e7e2295d2fa3
    Reviewed-on: https://chromium-review.googlesource.com/1054581
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 90968360fefd569e7e1887955b8e5844e2fcbb2d
Author: Luc Ferron <lucferron@chromium.org>
Date:   Fri May 4 08:47:22 2018 -0400

    Vulkan: Incomplete textures support
    
    2D multisample is out of scope since its ES 3 only.
    
    Bug: angleproject:2499
    Change-Id: Id5f81d713a2882ba2a91b7d3f281d71a3e9289f4
    Reviewed-on: https://chromium-review.googlesource.com/1046786
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 586620825ed13123669adcc8f340c9c24ee37701
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu May 10 13:41:51 2018 -0400

    Pass a gl::Context to ShaderImpl methods.
    
    Also add a destroy method.
    
    BUG=angleproject:2464
    
    Change-Id: I7346b799af4e7d64ed5cc3d5eca8e108ce2cf699
    Reviewed-on: https://chromium-review.googlesource.com/1054213
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 2cb7f974633be0e681be0ba5a837c3261752c540
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon May 7 13:49:13 2018 -0400

    GL: Refactor TextureGL to not hold renderer objects.
    
    BUG=angleproject:2464
    
    Change-Id: I24b07557d90988369bc8b7e4b2fe3a500ab7bc36
    Reviewed-on: https://chromium-review.googlesource.com/1048115
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 8073a9511a1ede4e9efdd4740fd3389abc9e06a6
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed May 9 16:41:39 2018 +0300

    Enable warning for non-virtual destructors
    
    Virtual functions are removed from TSymbol, so the warning for
    non-virtual destructor found in a class with virtual functions can be
    enabled.
    
    BUG=angleproject:2417
    TEST=angle_unittests
    
    Change-Id: Icd0ea2c77ce826739fbe954137f8ee78e6ef5386
    Reviewed-on: https://chromium-review.googlesource.com/1051830
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 2fc0806f559502882f9d28f2e64445873e0ee884
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 10 15:10:55 2018 -0400

    Micro-optimize uniform updates.
    
    This CL is adapted from work by matavenrath@nvidia.com. It does the
    following small optimizations:
    
    * inlines a bunch of accessors.
    * reorders checks to hit the cache more often
    
    Also some small style updates.
    
    Bug: angleproject:1671
    Change-Id: I8f21318e6644dcfe1f99c98f7f377742fcad78d3
    Reviewed-on: https://chromium-review.googlesource.com/1054367
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 618598179a5d5331a93201c015fc3e2304681e39
Author: Luc Ferron <lucferron@chromium.org>
Date:   Wed May 9 14:17:39 2018 -0400

    Vulkan: Fix use-after-free with DynamicBuffer.
    
    The implementation of DynamicBuffer before my changes could have some
    issues in the following use case:
    - Allocate buffer 1 for Texture 1 (with size as big as the full buffer
    size)
    - Allocate buffer 2 for Texture 2 (triggers creation of a new underlying
    BufferVk and releases the buffer 1 to the Renderer)
    - Render with Texture 2 (texture 1 hasn't been flushed yet)
    - swap buffers (causes garbage in the renderer to be cleaned up)
    - Try rendering with Texture 1, and you'll get an error stating that
    the buffer we're trying to copy is not valid (because its already been
    freed).
    
    This set of changes:
    - Add a new test that specifically triggers this case.
    - enables the texture.filtering.cube* tests in dEQP.
    - Fixes the issue by adding a manual releasing pattern of the buffers
    in DynamicBuffer.
    
    Bug: angleproject:2505
    Change-Id: I207ce4a694016766f008cca67d82b252f460e0df
    Reviewed-on: https://chromium-review.googlesource.com/1052551
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit 6110763fec16db99696267c0d8a097b982fc9d3b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed May 9 11:32:46 2018 -0400

    Refactor the GL surfaces and framebuffers to not hold renderer objects.
    
    BUG=angleproject:2464
    
    Change-Id: I20aabeef3de6cf1fc13a29b6220e040aa83184d7
    Reviewed-on: https://chromium-review.googlesource.com/1039986
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit a932b6b51505763b4569d4378e98db7d319df62d
Author: Luc Ferron <lucferron@chromium.org>
Date:   Tue May 1 07:53:17 2018 -0400

    Vulkan: Fix in DynamicBuffer, allocating too many buffers for no reason
    
    -Enables more dEQP tests in functional.texture.filtering
    -texture.filtering.cube.* tests don't work yet, another CL will be
    targeted at fixing that after this one.
    
    Bug: angleproject:2505
    Change-Id: Ic634e0deafa54e8e8ebd0efbdae14263ffdbcef0
    Reviewed-on: https://chromium-review.googlesource.com/1037183
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit 9568037db4461d85e1875ecbc766dc6a4395cbab
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue May 8 10:47:23 2018 -0400

    Reland "Update cq.cfg with new builders."
    
    This is a reland of c009255c79d2e6594a76cb88aeaa157ce99d4ea5
    
    Re-landing after crbug.com/840825 was updated.
    
    Original change's description:
    > Update cq.cfg with new builders.
    >
    > These builders are replacing the old standalone builders and the old
    > compile-only builders. They should be much faster. They also can be
    > extended in the future when we support running tests from ANGLE
    > standalone.
    >
    > Bug: chromium:833999
    > Change-Id: Ice44c0fb8cb32d8be573f81d5df858509b00a107
    > Reviewed-on: https://chromium-review.googlesource.com/1049959
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    
    Bug: chromium:833999
    Bug: chromium:840825
    Change-Id: Ie08ebbef6b5802f0bb57053e082fac2e0f9aae34
    Reviewed-on: https://chromium-review.googlesource.com/1052747
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit ce07f967c21ed8067c103192df2b8b3fabba0cad
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed May 9 11:27:06 2018 -0400

    Merge the Framebuffer onDestroy and onDestroyDefault methods.
    
    Pass the proxy context to the onDestroyDefault call.
    
    BUG=angleproject:2464
    
    Change-Id: I47f869d623e238ca3680c962387ba9359e7d3844
    Reviewed-on: https://chromium-review.googlesource.com/1052220
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 13455079234b9953ef61917b6aa843cafbe6512e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed May 9 11:24:43 2018 -0400

    Pass a context pointer to Framebuffer[Impl]::getSamplePosition
    
    BUG=angleproject:2464
    
    Change-Id: Icd260db9bbd11699b2d0f6152e898c38baa4844d
    Reviewed-on: https://chromium-review.googlesource.com/1052219
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 7348fc5b9e0d516d1df3f069e8c0b59f8c2f6902
Author: Luc Ferron <lucferron@chromium.org>
Date:   Wed May 9 07:17:16 2018 -0400

    Vulkan: Clear to opaque black instead of transparent
    
    This is a problem when we emulate RGB8 with RGBA8.
    
    Bug: angleproject:2536
    Change-Id: I5665e513ef0138bc56f52ba35342378d8392989f
    Reviewed-on: https://chromium-review.googlesource.com/1051687
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit fa7503ca2b1a5932663cd48d201fa667f6aefc11
Author: Luc Ferron <lucferron@chromium.org>
Date:   Tue May 8 11:25:06 2018 -0400

    Vulkan: Support EXT_texture_storage
    
    This is a prerequisite to support incomplete textures.
    
    Bug: angleproject:2536
    
    Change-Id: Ica40bbd185a67253f457148007b08f6735da788c
    Reviewed-on: https://chromium-review.googlesource.com/1050308
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit 67d2cd07edd0dee620e180383ff350c5b7e30320
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon May 7 10:27:22 2018 +0300

    Issue a clearer warning about negative modulus operands
    
    This also adds unit tests for negative modulus operands.
    
    BUG=chromium:839468
    TEST=angle_unittests
    
    Change-Id: I6ab5959ba4f7045d2bde71d246695ef0983c5608
    Reviewed-on: https://chromium-review.googlesource.com/1046055
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit e95a7f077e8bda81cbff51bf84ee80cbf2841e1d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue May 8 13:24:15 2018 -0400

    Make EGLThreadTest cross-platform.
    
    BUG=angleproject:2464
    
    Change-Id: Ib2a43bc8e2da467f49e8938c386a5e867c80d5bc
    Reviewed-on: https://chromium-review.googlesource.com/361921
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c0a403e2ba0b76a7fe1d09de1d0e915ffb940901
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Tue May 8 18:55:54 2018 +0000

    Revert "ANGLETest: Reuse test windows per-renderer"
    
    This reverts commit fad918f85445f19bc2aa6e6b3ee52f104690ff2a.
    
    Reason for revert: attempt to fix anglebug.com/2537
    
    Original change's description:
    > ANGLETest: Reuse test windows per-renderer
    >
    > When running angle_end2end_tests unfiltered with the OpenGL and Vulkan
    > backends enabled, the test window was recreated all the time and grabbed
    > focus every-time it was created. This made it impossible to do anything
    > with the machine running the tests.
    >
    > Fix this by having one OSWindow per renderer group that's lazily created:
    > this solves most of the issue since only a couple windows end up being
    > created, and at the beginning of the test suite.
    >
    > BUG=
    >
    > Change-Id: I7a51300f0d59d8b6bb79e54d20b3acbf01068002
    > Reviewed-on: https://chromium-review.googlesource.com/1038433
    > Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    
    TBR=geofflang@chromium.org,jmadill@chromium.org,cwallez@chromium.org
    
    # Not skipping CQ checks because original CL landed > 1 day ago.
    
    Change-Id: I93bdfa38757cbe2a6ce939c0c3e3da806307e7dd
    Reviewed-on: https://chromium-review.googlesource.com/1050326
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit de1c1db091aa9e974a9679541701fb12b148b18b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue May 8 15:07:59 2018 +0000

    Revert "Update cq.cfg with new builders."
    
    This reverts commit c009255c79d2e6594a76cb88aeaa157ce99d4ea5.
    
    Reason for revert: Seems to be some kind of infra or goma error with
    the mac configs that wasn't showing up last night.
    
    Original change's description:
    > Update cq.cfg with new builders.
    >
    > These builders are replacing the old standalone builders and the old
    > compile-only builders. They should be much faster. They also can be
    > extended in the future when we support running tests from ANGLE
    > standalone.
    >
    > Bug: chromium:833999
    > Change-Id: Ice44c0fb8cb32d8be573f81d5df858509b00a107
    > Reviewed-on: https://chromium-review.googlesource.com/1049959
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    
    TBR=fjhenigman@chromium.org,geofflang@chromium.org,jmadill@chromium.org
    
    Change-Id: I8bf895d7473da7fe44a3bb866a2026b59a374868
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: chromium:833999
    Reviewed-on: https://chromium-review.googlesource.com/1050325
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c009255c79d2e6594a76cb88aeaa157ce99d4ea5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue May 8 10:47:23 2018 -0400

    Update cq.cfg with new builders.
    
    These builders are replacing the old standalone builders and the old
    compile-only builders. They should be much faster. They also can be
    extended in the future when we support running tests from ANGLE
    standalone.
    
    Bug: chromium:833999
    Change-Id: Ice44c0fb8cb32d8be573f81d5df858509b00a107
    Reviewed-on: https://chromium-review.googlesource.com/1049959
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 3b9b027c59f38580cb038f94d49887e98a80b082
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Apr 30 16:27:24 2018 -0400

    Add basic tests of (unsafe) multithreaded contexts.
    
    BUG=angleproject:2464
    
    Change-Id: Ia0f0788a1bc4d2ecd883b058f15c629cac5fd166
    Reviewed-on: https://chromium-review.googlesource.com/1036063
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 9f394f8cdf43d409c69f98ca97f4aae5cec50a97
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon May 7 15:42:25 2018 +0300

    Fix use-after-free in drawQuad with useVertexBuffer false
    
    quadVertices.data() pointer needs to remain valid until drawArrays
    is called. To guarantee that quadVertices should stay in the stack
    until the end of drawQuad().
    
    BUG=angleproject:2533
    TEST=angle_end2end_tests
    
    Change-Id: I263262db9a9ed9c9cd0d8679addd09677ad7179e
    Reviewed-on: https://chromium-review.googlesource.com/1046600
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit fad918f85445f19bc2aa6e6b3ee52f104690ff2a
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon May 7 09:17:30 2018 -0400

    ANGLETest: Reuse test windows per-renderer
    
    When running angle_end2end_tests unfiltered with the OpenGL and Vulkan
    backends enabled, the test window was recreated all the time and grabbed
    focus every-time it was created. This made it impossible to do anything
    with the machine running the tests.
    
    Fix this by having one OSWindow per renderer group that's lazily created:
    this solves most of the issue since only a couple windows end up being
    created, and at the beginning of the test suite.
    
    BUG=
    
    Change-Id: I7a51300f0d59d8b6bb79e54d20b3acbf01068002
    Reviewed-on: https://chromium-review.googlesource.com/1038433
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 54aafe58f5bd530eea25461edc4690a057a3638f
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Fri Apr 27 14:54:57 2018 +0800

    Use ShaderMap in Caps - Part I
    
    This patch is the first one of the series that organize
    implementation dependent resource limits on every type
    of shader into ShaderMap and clean up all the related
    code.
    
    In the next patch all such resource limits are put in
    the corresponding ShaderMaps.
    
    BUG=angleproject:2169
    
    Change-Id: I40cb58c55b2e82df33221ddb36eff0abcd7e8b22
    Reviewed-on: https://chromium-review.googlesource.com/1034108
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit e88e454803a78a23d4578e5ac95a278dadfeea9f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu May 3 15:05:57 2018 -0400

    Implement extensions exposing ETC2 compressed texture formats in ES2.
    
    BUG=angleproject:2527
    
    Change-Id: I000f68366de4119375b6d3c79bc2eff3ebd5db9e
    Reviewed-on: https://chromium-review.googlesource.com/1042885
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 983460e6cd51b4b51bd1363b75324f99e7161c7b
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed May 2 17:57:39 2018 +0300

    Rewrite repeated assignments to swizzled vectors on NVIDIA
    
    This works around the most common instances of a bug that reproduces
    on some NVIDIA OpenGL drivers prior to version 397.31.
    
    BUG=chromium:798117
    TEST=angle_end2end_tests
    
    Change-Id: Iafc6a9a64e56fa98b42117149fe6867040e932e5
    Reviewed-on: https://chromium-review.googlesource.com/1042190
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 7a8fe15682f39a0e26c860c2973ec02f53120a24
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Sat Apr 28 12:59:58 2018 +0800

    ES31: Add link validation on MAX_COMBINED_SHADER_OUTPUT_RESOURCES
    
    This patch adds the link validation on the maximum combined shader
    output resources required in OpenGL ES 3.1 SPEC.
    
    OpenGL ES 3.1 SPEC has restrictions on the sum of the number of all
    active images, shader storage blocks and fragment shader outputs. A
    link error will be generated if this sum exceeds the implementation-
    dependent value of MAX_COMBINED_SHADER_OUTPUT_RESOURCES.
    
    In order not to affect the existing image tests, this patch also
    sets a temporary value for maxCombinedShaderOutputResources on D3D11
    back-ends. We will set more accurate values for all the UAV related
    resource limits in the next patch.
    
    BUG=angleproject:2345
    TEST=dEQP-GLES31.functional.state_query.integer.max_combined_shader_output_resources_*
    
    Change-Id: Ib83a19ef0ae0b9af3422b5c970c7c07d96b2359d
    Reviewed-on: https://chromium-review.googlesource.com/1039155
    Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 41e59f55a4d215d5144cf762d5e859f3cf5b91c0
Author: Brandon Jones <brandon1.jones@intel.com>
Date:   Wed May 2 12:45:28 2018 -0700

    Autogenerate libGLESv2.cpp and .def
    
    Add generation of libGLESv2.cpp and libGLESv2.def to generate_entry_points.py
    
    Bug: angleproject:2476
    Change-Id: I86c7fb31f73ccbbbc32b28acca179b11527dff9e
    Reviewed-on: https://chromium-review.googlesource.com/1040647
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d7b56642c9f788f7485582f878bcb04dcc31d463
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Apr 27 16:59:36 2018 +0300

    Fix blit rect calculations on D3D11 backend
    
    The D3D11 backend used to calculate the blit areas incorrectly when
    the source blit area provided via the API stretched outside the source
    framebuffer in all directions.
    
    This is now fixed and the code is also simplified.
    
    BUG=angleproject:2521
    TEST=angle_end2end_tests
    
    Change-Id: I46d5de27464a8455b3956c0be598f75550ca1616
    Reviewed-on: https://chromium-review.googlesource.com/1032787
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit aae572a5d8763ef678154fcdb338e76355eb4603
Author: JiangYizhou <yizhou.jiang@intel.com>
Date:   Sat Apr 28 15:14:31 2018 +0800

    Disable avoid1BitAlphaTextureFormats workaround on Intel
    
    avoid1BitAlphaTextureFormats workaround was added to angle in 288584
    due to an old driver bug on Intel and AMD that 1-bit alpha always
    rounds up when converting from float to unsigned int. The workaround
    uses rgba8 instead of *a1 to avoid the driver bug and optimizes precision.
    However, this workaround brings a new issue because 1-bit alpha can only
    represent u0 or u1 while 8 bits alpha covers from u0 to u255. For
    example, if we expect to render to a rgb5_a1 renderbuffer, the expected
    alpha value should be 0 or 255, but actually get a value between 0 and
    255 which is incorrect. The current Intel drivers have fixed the old
    driver bug. So we suggest to disable this workaround for Intel drivers.
    
    TEST=dEQP_GLES2.Default/functional_fbo_render_color_clear_rbo_rgb5_a1_depth_component16_stencil_index8
    --deqp-egl-display-type=angle-gl
    BUG=angleproject:2349
    
    Change-Id: I14933f92fa27031ff7442fa437f77a3c67f2f1db
    Reviewed-on: https://chromium-review.googlesource.com/1034163
    Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 03bb2231a821b2815a1ca472db47164af1350c6e
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu May 3 15:21:20 2018 +0300

    Add test for D3D11 nested floor() bug
    
    The test fails on D3D11, which seems to ignore floor() calls if
    they're nested in a particular way with magic multipliers inside.
    
    BUG=chromium:838885
    TEST=angle_end2end_tests
    
    Change-Id: I2c8749defa923553bfee69149da15f8e4ddf5096
    Reviewed-on: https://chromium-review.googlesource.com/1041959
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit e708f004bce5dc2ef7d33fd9572e9ca9a7e979ba
Author: Tobin Ehlis <tobine@google.com>
Date:   Wed May 2 09:44:01 2018 -0600

    Set ANGLE lib apk targetSdkVersion to 28
    
    Bug: angleproject:2418
    Change-Id: Ia146c202cff96b1de9cb55ee44fa5479cef36b53
    Reviewed-on: https://chromium-review.googlesource.com/1039777
    Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Tobin Ehlis <tobine@google.com>

commit c6dbc25328d2e483ae14ea5b60e21dc26af0f909
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Apr 30 19:07:56 2018 -0400

    Scope ANGLE_UNUSED_VARIABLE.
    
    Renames the macro to be more ANGLE-ey.
    
    Refactoring only.
    
    Bug: angleproject:1671
    Change-Id: I8f2dd227c7e2025886ec66e85efa877ea261d0ad
    Reviewed-on: https://chromium-review.googlesource.com/1036209
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit ccafa62c6ab082be866a91c613b5009a22fe6f3d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed May 2 13:07:53 2018 -0400

    Pass a context pointer to SurfaceImpl::[bind|release]TexImage.
    
    BUG=angleproject:2464
    
    Change-Id: I59fd38c626f7076b4065f25601de3e53c1a446ad
    Reviewed-on: https://chromium-review.googlesource.com/1040051
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit ad3ae90a00f1c75ab97cb8f4283340d54aaaceb1
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Mar 9 13:40:42 2018 -0500

    Use packed enums for QueryType.
    
    BUG=angleproject:2169
    
    Change-Id: I129a9d8e295859daa071a298dab9fe1895315cc0
    Reviewed-on: https://chromium-review.googlesource.com/957318
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 9aef36705b6653d61fee7e79dac188c279bff5ed
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Apr 27 11:45:06 2018 -0400

    Vulkan: Implement masked color clears.
    
    This implements masked color clear using clear shaders. The shaders
    themselves were introduced in a prior patch. In order to get the
    right setup for the draw call to trigger the shaders, we create
    an internal pipeline from the pipeline cache. We also use a special
    pipeline layout with only uniform buffers. The masked out color
    channels are disabled via settings on the pipeline.
    
    This fixes the dEQP masked color clear tests. It doesn't handle
    masked color clears combined with the depth clear bit. It's likely
    we don't have test coverage for this case.
    
    Bug: angleproject:2455
    Change-Id: I513248cc0f7e58f490fc16ac9afb40119d730ccc
    Reviewed-on: https://chromium-review.googlesource.com/1031373
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 78feddc28a0230e2884dc0ced674a629d261f67d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Apr 27 11:45:05 2018 -0400

    Vulkan: Take serials in PipelineDesc::updateShaders.
    
    This makes the API easy to use with internal shaders and pipelines.
    This is useful for the implementation of masked color clear.
    
    Also renames the serials as shader serials. This is more precise than
    program serials.
    
    Bug: angleproject:2455
    Change-Id: Ie6247d1212ed4df856b561a5e9f16c0378202588
    Reviewed-on: https://chromium-review.googlesource.com/1032857
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit ec982e18abd143233c535a95dcb9ddf28d626dff
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Apr 30 19:06:43 2018 -0400

    Fix ASSERT macro generating extra code in MSVC.
    
    Even on the highest optimization level MSVC was still generating extra
    code in Release for ASSERT macros. This realigns the code more with
    Chromium by using a streaming eating macro with the expression at the
    end. Now no code should be generating. I believe this did not affect
    Clang builds.
    
    Bug: angleproject:1671
    Change-Id: I099c59cf0b28ae3ffc08b864982e67559901724e
    Reviewed-on: https://chromium-review.googlesource.com/1036208
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 33318de4ae30d7059a605682ea799ace3daf5aff
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue May 1 11:22:54 2018 -0400

    Vulkan: Use ShaderType enum.
    
    This re-uses the same machinery as the GL front-end. It saves a lot of
    custom casting and array sizing. Currently we only support vertex and
    fragment shaders in Vulkan. Because of the Pipeline cache sizing, it's
    easier to stick with just VS/FS and introduce the full set of shaders
    when we move to packing the cache better.
    
    Bug: angleproject:2522
    Bug: angleproject:2455
    Change-Id: I21432a335c741885af87970d8ee52b4a36338304
    Reviewed-on: https://chromium-review.googlesource.com/1036927
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jiawei Shao <jiawei.shao@intel.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit d8ffd75616c104948ad314ea958853291fc0f79c
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue May 1 13:17:17 2018 -0400

    SystemInfo.h: add some documentation
    
    BUG=angleproject:1874
    
    Change-Id: I8898c1a467c1fec25963f45a31376a6b02e1b6c4
    Reviewed-on: https://chromium-review.googlesource.com/1037584
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 9aef81c7cec0989b9f8a072082d946989d59b541
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Apr 30 14:56:15 2018 +0300

    Validate blitFramebuffer for overflows on all platforms
    
    We can validate to avoid triggering driver issues even if the native
    GLES spec is not telling us to.
    
    This will fix WebGL in Chromium when it's being run with the
    --use-cmd-decoder=validating --use-angle=gl config.
    
    BUG=chromium:830046
    TEST=WebGL conformance tests
    
    Change-Id: I2d61182cb6cbe46b52e1d9b7ed6b4035defee082
    Reviewed-on: https://chromium-review.googlesource.com/1033743
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 47155b1718bbd91fe29980ab5fce3f8086614062
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Apr 26 12:14:10 2018 +0300

    Clean up BlitGL
    
    Simplify handling of reversing the blitted area and calculate shader
    parameters in a way that doesn't require lengthy explanation.
    
    BUG=chromium:830046
    TEST=angle_end2end_tests
    
    Change-Id: Ie9bce812be4ef04a969153fc7c484039fc48a198
    Reviewed-on: https://chromium-review.googlesource.com/1030172
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 57d9cbb67f2d787e5236aebc0a3d48c5e0c922bd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Apr 27 11:45:04 2018 -0400

    Sync individual attachments in RenderTargetCache.
    
    This allows Framebuffer syncState methods to handle dirty bits
    themselves. This will be useful for the implementation of masked color
    clear.
    
    Bug: angleproject:2455
    Change-Id: I65ad9c61e89e317c820f6be5550edd8185b52afc
    Reviewed-on: https://chromium-review.googlesource.com/1032856
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit d47044ad538335c4dc7e9dfdfd4289a7128cba90
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Apr 27 11:45:03 2018 -0400

    Vulkan: Add framework for internal shaders.
    
    Vulkan intenal shaders are stored in a ShaderLibrary, and this is
    owned by the RendererVk. This way the shaders are reused between all
    the different Contexts. They are initialized lazily to keep init time
    low. They also have an associated Serial (called a ProgramSerial) so
    they can be identified in a PipelineDesc (used by the Pipeline cache).
    
    We use a python script to build and invoke the glslang validator, that
    also produces SPIR-V binary code snippets. These snippets are gathered
    into an auto-generated file that is exposed via an auto-generated
    header file. The InternalShaderID enum class gives access to the
    internal shaders that are shared through the Vulkan back-end.
    
    This also adds simple clear shaders to be used in masked color clears.
    The patch doesn't add any functionality but it is split off from the
    color clear functionality to keep the code size down.
    
    Bug: angleproject:2339
    Bug: angleproject:2455
    Change-Id: Ie83043eda217c9f013817b198c92a3b7ba0878b4
    Reviewed-on: https://chromium-review.googlesource.com/1031372
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 41529e5e0f66fed600eea6d3fa72b48d3ff5d718
Author: Luc Ferron <lucferron@chromium.org>
Date:   Tue May 1 10:06:04 2018 -0400

    Refactor StateChangeTests to use essl1_shaders instead
    
    Bug: angleproject:2474
    
    Change-Id: Ia558c2e266422f8f8b55523c9542379688a7058d
    Reviewed-on: https://chromium-review.googlesource.com/1037164
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 94ae660d2c787c4890b856d57f9b528bb88ae1af
Author: Luc Ferron <lucferron@chromium.org>
Date:   Mon Apr 23 13:58:59 2018 -0400

    Vulkan: Create tests to validate we created the pipeline when needed
    
    1- Link program with a shader and draw with it, relink with another shader and draw again.
    2- Release program that is reading from a uniform.
    
    Bug: angleproject:2397
    
    Change-Id: Icb4211c5cf71efaf41833d9d5afd83ce8410c598
    Reviewed-on: https://chromium-review.googlesource.com/1028580
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit ad3aaeba3e0d7f704ca84b2bac4c23e1242014c9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue May 1 07:35:41 2018 -0400

    Disable Vulkan layers in sanitized builds.
    
    This was causing very slow builds/test runs.
    
    Bug: chromium:837166
    Bug: chromium:834269
    Change-Id: If2e5665455d4a8af13cbc732a65a07550ace8304
    Reviewed-on: https://chromium-review.googlesource.com/1036220
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit ddd772455ce76a8bf740584f586e5458b645d4df
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Mon Apr 30 10:31:18 2018 -0600

    Add GLESv1_CM to angle library apk
    
    Bug: angleproject:2418
    
    Change-Id: I793d330a2cc92a510b189fa23d14f41f48a7d986
    Reviewed-on: https://chromium-review.googlesource.com/1035422
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>

commit 0ade8e88d811c7611f904896528344daa345a1f6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Apr 27 11:45:02 2018 -0400

    Use time tolerance in run_code_generation check.
    
    The mtime values I was seeing on my file system were sometimes
    floating point numbers that were very very close but not exactly
    the same. This might be due to numerical errors. Increasing the
    tolerance to something still very small, precision is less than
    a second. It will lead to fewer rebuilds of non-dirty files.
    
    Bug: angleproject:2455
    Change-Id: I95dc3214ee91af7a70a20cc625405e0e2bc18698
    Reviewed-on: https://chromium-review.googlesource.com/1032855
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit b90779ebf018d319bbeee1cbd07818b01488c36e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Apr 27 11:45:01 2018 -0400

    Vulkan: Pass fewer Context pointers around.
    
    These weren't needed in many places.
    
    Also renames one FramebufferVk method.
    
    Bug: angleproject:2455
    Change-Id: Idb641094fa3e180a85f357533d86bd0b19db4ec8
    Reviewed-on: https://chromium-review.googlesource.com/1024826
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit bb3255b5a507b3698449d62830351bd55a9bb7d0
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Fri Apr 27 09:45:18 2018 +0800

    Remove redundant computations on combined interface block counts
    
    This patch intends to remove redundant computations on combined
    interface block counts in ValidateGraphicsInterfaceBlocks.
    
    In this patch, we compute and check the number of combined interface
    blocks by the result of ValidateInterfaceBlocksCount directly instead
    of re-compute it, and if the check on max combined interface blocks
    failed, Program::link() can early return without entering
    ValidateGraphicsInterfaceBlocks.
    
    BUG=angleproject:2345
    
    Change-Id: I7573f7c645993b4d75230a8471203a305127f2a3
    Reviewed-on: https://chromium-review.googlesource.com/1031852
    Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>

commit c6f82872e6610eaeef74c6a7ccd8af6e4d981087
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Tue Apr 24 14:14:50 2018 +0800

    ES31: Add REFERENCED_BY_GEOMETRY_SHADER as program interface property
    
    This patch implements GL_REFERENCED_BY_GEOMETRY_SHADER as a valid
    property of program interfaces.
    
    BUG=angleproject:1941
    TEST=angle_end2end_tests
         dEQP-GLES31.functional.geometry_shading.query.referenced_by_geometry_shader
    
    Change-Id: Id9659313d371dbfc7d00bf9d816df4449fbf29ec
    Reviewed-on: https://chromium-review.googlesource.com/1025281
    Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>

commit 696434382359fa9f20bea9be040720907f475738
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Apr 27 12:23:47 2018 -0400

    D3D11: Reorder VAO synchronization.
    
    The index range was being resolved in the call to
    VertexArray11::syncStateForDraw but the code which invalidates the input layout
    was being executed before this.
    
    BUG=837002
    
    Change-Id: I4e00b53cdc51f8758b0e2ba9e2dfc93b5e22556c
    Reviewed-on: https://chromium-review.googlesource.com/1032633
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 5528d11fe809ed95505995322ba3c4082d483fa7
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Apr 24 11:25:10 2018 -0400

    D3D: Don't test for device loss as frequenty in tight loops.
    
    BUG=angleproject:1472
    BUG=621240
    
    Change-Id: I723839bd7961167adddcccc680638ae066eacea3
    Reviewed-on: https://chromium-review.googlesource.com/1025645
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit f1bcd017c95c87452216d9e83bd45284217f2e68
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Apr 27 14:21:55 2018 -0400

    Supress failures in BlitFramebufferTest.MultisampleDepth on Mac OpenGL
    
    BUG=837717
    
    Change-Id: I1ac659b18bd9aef2f24f798d23f49d1efbb81938
    Reviewed-on: https://chromium-review.googlesource.com/1033478
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit de279590a00792b22c1a59163036cb6064d32888
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Apr 26 12:25:13 2018 +0300

    Add test coverage for BlitGL
    
    Scaling and flipping of the framebuffer with blitFramebuffer are now
    covered by end2end_tests. The test configurations are set so that the
    BlitGL shader-based blit is also covered.
    
    The tests reveal a bug in the D3D11 backend implementation of
    blitFramebuffer when using an oversized source area.
    
    BUG=angleproject:2486
    BUG=angleproject:2519
    BUG=angleproject:2521
    TEST=angle_end2end_tests
    
    Change-Id: Ica48e564a5b4180241ec4c4c6be06c58cc6dc29b
    Reviewed-on: https://chromium-review.googlesource.com/1030171
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 467c15f970b94330bca7b6e1a51d60b3b55db274
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Tue Apr 24 15:04:26 2018 +0800

    Use ShaderMap in ProgramD3D - Part II
    
    This patch refactors ProgramD3D by storing all shader information
    into ShaderMap to simplify the code structure.
    
    This patch also fixes a bug on getting the number of maximum uniform
    blocks.
    
    BUG=angleproject:2169
    
    Change-Id: I5b9fbfd70a18f8731ce19efed0df88037d495389
    Reviewed-on: https://chromium-review.googlesource.com/1024749
    Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 7267aa651ace5e19226d95359371e27fc50fbc8c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Apr 17 15:28:21 2018 -0400

    Optimize ValidateDrawAttribs: Part 3.
    
    This is a small optimization for the WebGL compatibility mode.
    Instead of scanning the list of attributes for a Transform feedback
    conflict, it can quickly check a cached mask. This should save a lot
    of cycles on the fast path.
    
    Bug: angleproject:1391
    Change-Id: Icb8d095493a629dbff0e93872357e5bf7c7458ae
    Reviewed-on: https://chromium-review.googlesource.com/1011236
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 1633663b351c3dc75ebc55aeb6ad7e83976aa2c5
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Apr 24 16:39:15 2018 -0400

    Don't test for device loss in SwapBuffers and MakeCurrent.
    
    Simply check if the device has already been lost.  Chrome already checks
    glGetGraphicsResetStatus after SwapBuffers and MakeCurrent.
    
    BUG=angleproject:1472
    BUG=621240
    
    Change-Id: I95fe6306fa0c09191a4b1b93840c2143e069ef53
    Reviewed-on: https://chromium-review.googlesource.com/1026527
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit e5db628b758a74a423f5c1cc40453d7fbb35b6e2
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Thu Apr 26 08:05:18 2018 -0600

    Cleanup for "Add angle library apk"
    
    Forgot to format BUILD.gn in CL 46978bccd3659
    Remove unnecessary android:debuggable setting
    Bug: angleproject:2520
    
    Change-Id: I31457c82536827f78e3aa17c02dd8e878f803f04
    Reviewed-on: https://chromium-review.googlesource.com/1030259
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit b221486a8dfd90214d2755edd61290b3f5e8c782
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Apr 26 07:25:48 2018 -0400

    Vulkan: Fix TexSubImage2D state change test.
    
    Was simply a matter of triggering a new write node in the subImage
    call.
    
    Bug: angleproject:2495
    Change-Id: I06334ba6ee816f671e5c599c8e8f079f56adb25e
    Reviewed-on: https://chromium-review.googlesource.com/1028729
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>

commit 0086de17943b9fae9bf0bf79d4b8fe52ce275e66
Author: Luc Ferron <lucferron@chromium.org>
Date:   Wed Apr 25 11:41:32 2018 -0400

    Vulkan: Add test to reproduce graph issue when draw->subImage->draw
    
    Bug: angleproject:2495
    
    Change-Id: Ibc6c060e8924f19562da62ce15d48d9f6820b372
    Reviewed-on: https://chromium-review.googlesource.com/1028228
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 197d52949eeddc338d9e7315dc8f07de37eb90b8
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Apr 25 14:29:00 2018 -0400

    Wrap all preprocessor code in the angle namespace.
    
    BUG=836820
    BUG=801364
    
    Change-Id: I08b6a2f9f12b689e09df6efd916c313e71e8a051
    Reviewed-on: https://chromium-review.googlesource.com/1028581
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 23dc90b81efb6156a3a771fb4771f653ab02bee7
Author: Lingfeng Yang <lfy@google.com>
Date:   Mon Apr 23 09:01:49 2018 -0700

    GLES1: Enable/disable for texture targets
    
    BUG=angleproject:2306
    
    Change-Id: I08ac9ef91753112f8185d16423925cf265f0384e
    Reviewed-on: https://chromium-review.googlesource.com/1023987
    Commit-Queue: Lingfeng Yang <lfy@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit f827123d99457a294c3d9451fe3af69772f0bcc2
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Apr 25 13:08:24 2018 +0300

    Handle negative float to uint conversion robustly
    
    Converting a negative float to uint is undefined in the GLSL ES 3.00.6
    spec.
    
    However, it improves portability if we don't trigger undefined results
    in C++ in this case. To do this, we cast negative floats first to
    signed integer before casting them to unsigned integer.
    
    We also issue a warning about an undefined conversion in case a
    negative float was converted to uint.
    
    BUG=chromium:835868
    TEST=angle_unittests
    
    Change-Id: I9835a739ec80699d420a4f91a3bfa112c9a13604
    Reviewed-on: https://chromium-review.googlesource.com/1026681
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit f9749eafd26c1d4c87e1e1348329508942ff74dc
Author: Luc Ferron <lucferron@chromium.org>
Date:   Tue Apr 24 15:34:53 2018 -0400

    Vulkan: Enable UnpackAlignmentTest and remove useless warning.
    
    Bug: angleproject:2492
    
    Change-Id: I9e821632bdb3b8ba90d5ce47198a3445d2b684de
    Reviewed-on: https://chromium-review.googlesource.com/1026510
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 1a186b160f2d6e2ec256f5024d58fb71ecfa7240
Author: Luc Ferron <lucferron@chromium.org>
Date:   Tue Apr 24 15:25:35 2018 -0400

    Vulkan: Fix issue with texsubimage2d barriers
    
    Also re-enable the Windows AMD tests that were suppressed because of
    that bug.
    
    Bug: angleproject:2492
    
    Change-Id: Ie9b5eb4c5705bbb390c3899fe4c66d3e47eff00d
    Reviewed-on: https://chromium-review.googlesource.com/1026461
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit f3135da9d52f6e6f1e561e8138e97902edf0ebfb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Apr 25 08:04:39 2018 -0400

    Clean up DEPS style.
    
    Conforms a bit more to the proposed DEPS standardization.
    
    Bug: chromium:782846
    Change-Id: I65eae268dc9ebe4a56382db67fd123a0beafa656
    Reviewed-on: https://chromium-review.googlesource.com/1027792
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 10434f67672df2d556338819f2918ecfdd06fae7
Author: Luc Ferron <lucferron@chromium.org>
Date:   Tue Apr 24 10:06:37 2018 -0400

    Vulkan: Issue when drawing with a texture and rebinding after.
    
    Added 2 tests in StateChangeTest.cpp to validate the behavior and
    reproduce the issue I saw in dEQP.
    
    Bug: angleproject:2479
    
    Change-Id: I29c3da0474ec2b13a10fc266284cb19a07675da2
    Reviewed-on: https://chromium-review.googlesource.com/1025951
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 023371b3af90ec0d85d4d4babebfbc33facc4c5b
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Apr 24 17:43:32 2018 +0300

    Fix setting mip level metadata on GL backend
    
    LUMA texture workarounds are now being used correctly in case texture
    levels that have only been touched by generateMipmap are used to draw.
    
    BUG=angleproject:2498
    TEST=angle_end2end_tests
    
    Change-Id: I739550d59f99a4a22ffae766a5ee52c07610d78a
    Reviewed-on: https://chromium-review.googlesource.com/1025995
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 2565d48b47aa95fab6f25b3c457431cd2e5e415e
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Thu Apr 12 17:06:48 2018 -0600

    Add angle library apk
    
    Package up libraries into Android APK.
    Libraries must be uncompressed for them to be mmapped properly.
    Bug: angleproject:2418
    
    Change-Id: I27817d7a6c5dcd93ca7790c55042c6548f84906f
    Reviewed-on: https://chromium-review.googlesource.com/1013057
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit f2807385cbc923d71677d43cf846cec630a42551
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Apr 24 15:25:35 2018 -0400

    D3D: Use an alignment of 1 when uploading zero data to initialize textures.
    
    BUG=836131
    
    Change-Id: I1206c8eda465da563e15cf43f2e5c9320bb65eae
    Reviewed-on: https://chromium-review.googlesource.com/1026460
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit bd5543c9a2c4f23f1cf678a9645021201df5d9db
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Apr 24 08:42:05 2018 -0400

    Vulkan: Add GetColorComponentFlags.
    
    This small helper routine will be used when doing masked clears.
    
    Bug: angleproject:2455
    Change-Id: Id309b48f2bc5958abb1276d140c9a3599fb7d2b9
    Reviewed-on: https://chromium-review.googlesource.com/1024825
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 33e05babbc69b5bc1409d0d97da6ca7477735346
Author: Luc Ferron <lucferron@chromium.org>
Date:   Mon Apr 23 15:12:34 2018 -0400

    Vulkan: Bugfix in TextureVk::setSubImage and DynamicBuffer
    
    Bug 1) The offset wasn't plumbed through for setSubImage.
    Bug 2) The DynamicBuffer allocation sometime allocates a bit more
    than requested, but we were using the size requested as the next offset
    instead of the actual allocated size. This could get us in a situation
    in certain corner cases where the next allocation would be done on the
    said buffer instead of using a new allocation as it should.
    
    Also enables a bunch of new texture_specification_* tests that were
    unable to run successfully without these 2 bug fixes.
    
    Found a weird issue on WIN AMD only and suppressed these tests for now.
    Will investigate part of the same bug number as a separate change.
    
    Bug: angleproject:2495
    Bug: angleproject:2492
    
    Change-Id: I490b1bf2d1795b7a1033365e29eac12a8bc50bff
    Reviewed-on: https://chromium-review.googlesource.com/1024380
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit 66410530a78da812008b6e8116f0a7f9d5efc8e4
Author: Luc Ferron <lucferron@chromium.org>
Date:   Fri Apr 20 12:47:45 2018 -0400

    Vulkan: Textures mipmaps support
    
    Note that generate mipmaps is not yet supported, but uploading mipmaps
    is. This also enables 64 tests in dEQP gles2 to validate the changes.
    
    While trying to enable tests in functional.texture.mipmap.*, I found
    an issue where the graph ends up in an invalid state and triggers and
    assert in onReadResource in ContextVk.cpp:188. It seems like an
    unrelated bug to mip maps, I will investigate to enable these tests
    separately in a following CL.
    
    Bug: angleproject:2479
    
    Change-Id: If51776d8ef3d994bee620d6a1cf982bb51838ff0
    Reviewed-on: https://chromium-review.googlesource.com/1022232
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit b3474d9d77de3b3b204a5e559cf645dbb5b93981
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Apr 20 17:37:44 2018 +0300

    Clean up ClipRectangle
    
    It's not necessary to set the intersection rectangle in case the
    intersection is empty.
    
    BUG=chromium:830046
    TEST=angle_end2end_tests
    
    Change-Id: I0b99cdb7d6623b2d8a95dbe946a6eead6a44351d
    Reviewed-on: https://chromium-review.googlesource.com/1021695
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 8d5571ac99c8188d7c2ed32db196c794139cbda8
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Apr 23 12:29:31 2018 +0300

    Restrict BlitFramebuffer dimensions in WebGL mode
    
    Don't allow blitFramebuffer dimensions to overflow 32-bit integer
    range as specified in WebGL 2.0 section 5.41.
    
    BUG=chromium:830046
    TEST=WebGL 2 conformance tests, angle_end2end_tests
    
    Change-Id: Ia232291b09c94e1e4f837441c6720a78bab672fb
    Reviewed-on: https://chromium-review.googlesource.com/1023856
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit af2b33be5a3a4008bacdbcd857200e1a4b103534
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Thu Apr 19 10:01:52 2018 +0800

    Use ShaderMap in ProgramD3D - Part I
    
    This patch is the first part of using ShaderMap to contain shader
    information in ProgramD3D, including the refactoring on struct
    D3DUniform, D3DUniformBlock and ProgramD3DMetadata.
    
    In the next patch all shader information in class ProgramD3D will
    be organized in the form of ShaderMap.
    
    BUG=angleproject:2169
    
    Change-Id: I27008169dbf6cd8017a67f36f474667feddbd1f6
    Reviewed-on: https://chromium-review.googlesource.com/1018728
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 37b3e596493668bb5d2f4187d6d395db6f5343f1
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Apr 23 11:56:09 2018 +0300

    Add documentation for writing AST transformations
    
    This adds documentation that was previously being drafted at
    https://docs.google.com/document/d/1Pe3zkEZiYrtrjs7r9p0_bYFwnOO7bo0BlMYi27sakuk/edit?usp=sharing
    
    Change-Id: I6ecd8e3e5a946960837fee8514ba130e01f9230c
    Reviewed-on: https://chromium-review.googlesource.com/1023392
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 006891910a08f646d6d5f45842a557e6087ed9fe
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Mar 27 17:34:20 2018 -0400

    GL: Fix the CPU readback path of CopyTextureCHROMIUM.
    
      1. BlitGL's resources were not being intialized.
      2. The format/type information was not enough to know if the destination
         texture was SRGB.
    
    BUG=693090
    
    Change-Id: I3fc277a175772d3b6acace1810cb43f4a9bdc473
    Reviewed-on: https://chromium-review.googlesource.com/982642
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 6ce24cf2aaa5459c45922a0e3778c8c4d3ceef81
Author: Luc Ferron <lucferron@chromium.org>
Date:   Mon Apr 23 07:52:15 2018 -0400

    Vulkan: Lift suppressions because of vulkan validation
    layer regression
    
    Bug: angleproject:2484
    
    Change-Id: Ib46caa8924c7815154beeb46a291520e57b5cc4f
    Reviewed-on: https://chromium-review.googlesource.com/1023833
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit 40786bdfc8e0fede416030f445c6d0c768177628
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Wed Apr 18 13:58:57 2018 +0800

    ES31: Add validation on geometry shader interface blocks matching
    
    This patch adds the validation on checking if there is any mismatch
    among geometry shader interface blocks and the ones defined in other
    graphics shaders in the same program.
    
    BUG=angleproject:1941
    TEST=angle_end2end_tests
    
    Change-Id: I1f65e3c49390135bbe9f9323098daf28c9b838c7
    Reviewed-on: https://chromium-review.googlesource.com/1016175
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 20610901f56548f4f4825be03d2bab67f271620c
Author: Luc Ferron <lucferron@chromium.org>
Date:   Thu Apr 19 14:41:13 2018 -0400

    Vulkan: Implement Texture wrap modes and non-mipmapped filtering modes
    
    Also added a test to validate we can change the filter mode between
    two draws successfully.
    
    Bug: angleproject:2478
    
    Change-Id: I80730cdafc6bbdbf61839c6c8eb98d85f7423d92
    Reviewed-on: https://chromium-review.googlesource.com/1020084
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit c6a0618fb02a53f55d967b37c175ef3b64070f3d
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Apr 13 14:11:46 2018 +0300

    Fix Vulkan renderer string for NVIDIA
    
    The Vulkan physical device properties "deviceName" field does not
    include "NVIDIA" for all NVIDIA GPUs. Add NVIDIA to the renderer name
    in case the PCI vendor ID matches, so that Vulkan backend test
    failures can be suppressed on NVIDIA using IsNVIDIA().
    
    BUG=angleproject:2487
    
    Change-Id: I8e440499664e5ba19773f72104d11d076dae727d
    Reviewed-on: https://chromium-review.googlesource.com/1013467
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 505ea1bb56ccce114c4ac4d1b7b856cb8dcdc47e
Author: Tobin Ehlis <tobine@google.com>
Date:   Wed Apr 18 07:26:45 2018 -0600

    Roll (2/2) to latest LVL as of 4/18/18
    
    Bug: angleproject:2482
    
    Moving to HEAD of master as of 4/18/18.
    Disable workaround to copy reg.py in BUILD.gn.
    Re-enable ANGLE Vulkan build.
    
    Change-Id: I62d79f532bf8fed40872ee9c175caa4b51c2dd25
    Reviewed-on: https://chromium-review.googlesource.com/1016683
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 5f21df8318e9dae7e4eca2809a176f2989410da8
Author: Tobin Ehlis <tobine@google.com>
Date:   Wed Apr 18 06:54:37 2018 -0600

    Roll (1/2) LVL version forward and disable VANGLE
    
    Bug: angleproject:2482
    
    Rolling Vulkan validation code forward to HEAD of master as of 4/18/18
    morning. Disable Vulkan from the ANGLE build until ANGLE lands in
    Chromium. After that second part of roll will be submitted.
    
    This LVL update includes reg.py script fixes for a number of build
    warnings as well as a validation fix for vkCmdClearAttachments() in
    secondary cmd buffer.
    
    Change-Id: I7f8100f5b656d86caf8f4b5dee61a733a35b7869
    Reviewed-on: https://chromium-review.googlesource.com/1016860
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit e7e072ef5af10e3adaf7397c6b1bddb4eb45be0a
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Apr 19 15:06:30 2018 -0400

    Use EGL_KHR_no_config_context in Android GLES backend, when available
    
    Create ANGLE's real context with EGL_NO_CONFIG_KHR.
    This allows ANGLE to advertise EGLConfigs which previously were hidden
    due to incompatibility with ANGLE's context.
    
    Also enable EGLContextCompatibilityTest on ES2_OPENGLES to test this.
    
    BUG=angleproject:2468
    
    Change-Id: I6fbbe01b4b93db7df39606980f0f58eb74b11e31
    Reviewed-on: https://chromium-review.googlesource.com/1022088
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit aecfa71b4a2ce97a93de3f8296b896322786184a
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Fri Apr 20 11:18:59 2018 -0400

    Print more logs
    
    1. Really print WARN with default platform
    2. Print UNREACHABLE, was getting lost because ~LogMessage was not reached
    
    BUG=angleproject:1660
    
    Change-Id: I56fad24895adfec8d81539c6628e65ec2f9e7722
    Reviewed-on: https://chromium-review.googlesource.com/1021592
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 8ceea819c69bbaa51b56afb8b713748971eaf79a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Apr 10 03:07:13 2018 -0400

    Refactor packed enum generation to support EGL enums.
    
    Convert the very simple EGL texture type enum.
    
    BUG=angleproject:1618
    
    Change-Id: Ieea382a282a8f2544f2982627e8445e6e5cea826
    Reviewed-on: https://chromium-review.googlesource.com/1019386
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 7b19a49bc53e407cf18e721a809271cbcc422e42
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Apr 20 09:31:52 2018 -0400

    Use LIKELY and UNLIKELY macros to wrap error generation.
    
    BUG=609673
    
    Change-Id: I247f561712e30aa10bad77fabf614501d596915e
    Reviewed-on: https://chromium-review.googlesource.com/1021995
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 629bb25900b66de6659240da66a911d8241fe2ef
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Apr 20 11:01:33 2018 -0400

    Fix WebGL compat feedback loop null deref.
    
    This regressed in "Optimize ValidateDrawAttribs: Part 2."
    
    Bug: chromium:834943
    Bug: angleproject:1391
    Change-Id: I217719d76b0524ed7900e18bcc4ca1280ec7b6ff
    Reviewed-on: https://chromium-review.googlesource.com/1020280
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 3fac3ccc8f23a30b54d9441fa35760ae0b082f9f
Author: Tobin Ehlis <tobine@google.com>
Date:   Thu Apr 19 14:51:27 2018 -0600

    Make Mock ICD json file a data_dep of Mock ICD
    
    Bug: angleproject:2471
    
    Mock ICD json file was only being copied to angledata when "build all"
    was done. This fix causes the json file to be copied anytime something
    with a Vulkan dep is compiled.
    
    Change-Id: Ic56ecf12ff5996d14bd2ed419f50b2362453b939
    Reviewed-on: https://chromium-review.googlesource.com/1020233
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 4bba74f0c69410628165e5bf2fdfbe1739e2842a
Author: Luc Ferron <lucferron@chromium.org>
Date:   Thu Apr 19 14:40:45 2018 -0400

    Refactor Texture::syncState to pass down the Context
    
    Also returning a gl::Error everywhere.
    
    Bug: angleproject:2478
    Change-Id: Ic8cae0ee7aee318bb95b3588044c34c62707b578
    Reviewed-on: https://chromium-review.googlesource.com/1020083
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit 3ec304dba28dd43b8a19692439e220c15c6c58f8
Author: Luc Ferron <lucferron@chromium.org>
Date:   Wed Apr 18 14:14:25 2018 -0400

    Vulkan: Support struct initializers in shaders
    
    Also adds a new test in GLSLTest to validate the initialization of
    a struct on the same line as its declaration.
    
    Bug: angleproject:2459
    Change-Id: Ib37e20378f8ec76541db26392663bcba03390756
    Reviewed-on: https://chromium-review.googlesource.com/1017340
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>

commit b0f917fa634795ad10fce812bab31e71af1c767a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Dec 5 13:41:54 2017 -0500

    Fix being unable to request some extensions implemented in the GL layer.
    
    Some extensions are forced on in Context::initCaps even though the
    backend's native extensions do not mark the extension as supported.
    These extensions were not requestable because the
    Context::isExtensionRequestable only checks if the backend supports the
    extension.
    
    Make GL_OES_vertex_array_object requestable to cover the issue.
    
    BUG=angleproject:1523
    
    Change-Id: Ie64df8e270924727ecf9cd3f993443abeb3ef658
    Reviewed-on: https://chromium-review.googlesource.com/809197
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 025aafdfc4affe1e7e55fdec672c0e92713c4d72
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Oct 30 15:16:37 2017 -0400

    Make EGL image extensions enableable.
    
    BUG=angleproject:1523
    
    Change-Id: I6e890380bafb9f81595ab603996259fe6177e9e0
    Reviewed-on: https://chromium-review.googlesource.com/744447
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit d54d3045224e12f0bae635f399f6f3b5900639a3
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Nov 7 14:56:07 2017 -0500

    Make EXT_texture_storage enableable.
    
    BUG=angleproject:1523
    
    Change-Id: I55ef1233fb42e2dc3eda26c3aa4e14c700f98bf0
    Reviewed-on: https://chromium-review.googlesource.com/756868
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit e24032a2c40b92fe14d458899cd472819ff6f0b9
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Mar 28 15:41:46 2018 -0400

    The 'format' of unsized SRGB internal formats should be SRGB too.
    
    EXT_sRGB requires calling TexImage with SRGB as the 'format' parameter.
    This was causing issues when we would take an InternalFormat struct
    representing an unsized sRGB format and be unable to use it's format
    member to make GL calls without transforming it.
    
    BUG=693090
    
    Change-Id: I8b9baf2591a998a0088e5275f42ffc568e37100d
    Reviewed-on: https://chromium-review.googlesource.com/984965
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 1d97a4d0363da16a8d3ed942c515c0f738ed74e8
Author: Luc Ferron <lucferron@chromium.org>
Date:   Wed Apr 18 15:51:32 2018 -0400

    Revert "Fix dEQP renderbuffer unspecified attachment test."
    
    This seems to have caused a regression in Chrome. I'm reverting the
    change and suppressing the test that is failing on our end because of
    it. Once we can confirm this solves the problem, we'll need some help
    investigating further.
    
    This reverts commit c0db9addeaebc76c7cc99b26aa27df5e432097ac.
    
    Bug: angleproject:2321
    Bug: chromium:833809
    Change-Id: I5e40364217e15ae6117f5288a4754b25d983ca0a
    Reviewed-on: https://chromium-review.googlesource.com/1017763
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit eeec3b14cc8dee18e50f9515316a53bcd65af2b9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Apr 16 11:00:03 2018 -0400

    dEQP: Add override for ES2 Color Clear Test.
    
    This test has a bug where the masked clear flag is not being set
    properly, leading to incorrect test behaviour and missing coverage.
    
    Until this bug is fixed in dEQP we can override it with a fixed
    version.
    
    Also remove a prior override that had an upstreamed fix.
    
    Bug: angleproject:2455
    Change-Id: Ia2c57251b2a97eb5b4d8a4bdb0ce31796a66ea01
    Reviewed-on: https://chromium-review.googlesource.com/1013859
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit aaa19de06b1e895f845c2a5bfee18073f9b3c3a4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Apr 18 16:36:34 2018 -0400

    Re-land "Vulkan: Add glslang validator to build."
    
    This binary will be used to generate internal shaders for
    clearing/blit/etc.
    
    Re-land fixes missing GN dependencies.
    
    Bug: angleproject:2339
    Change-Id: I99a966906f6cd31049807b7b7adf39484c951622
    Reviewed-on: https://chromium-review.googlesource.com/924177
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>

commit abb09f12ad36c0efe1e103e6f71f659a69a6fb88
Author: Lingfeng Yang <lfy@google.com>
Date:   Mon Apr 16 10:43:53 2018 -0700

    GLES1: Client vertex array pointer API
    
    glVertexPointer
    glNormalPointer
    glColorPointer
    glPointSizePointerOES
    glTexCoordPointer
    
    BUG=angleproject:2306
    
    Change-Id: Id022b467ac998ea116130c5cec0c77afefb0dd4c
    Reviewed-on: https://chromium-review.googlesource.com/1014381
    Commit-Queue: Lingfeng Yang <lfy@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 427064d2ac0bdd008cc259bb865d9d13cd7eeced
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Apr 13 16:20:34 2018 -0400

    Fix perf regression with checkStatus.
    
    Returning an Error was costing us performance in extra
    error checks. This intead uses the Context to process the
    Error immediately, and returns a value from isComplete and
    checkStatus.
    
    Improves performance in draw call validation.
    
    Bug: chromium:822235
    Change-Id: I0793fc690e86137425fed593d45083e40aee8db9
    Reviewed-on: https://chromium-review.googlesource.com/1011370
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit ec10096dba2005f16cb6a69333151c1b4071f420
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Tue Apr 10 13:43:46 2018 -0600

    Vulkan: Add build toggle for validation layers.
    
    We want to be able to build without validation layers to
    make it easier to use in other environments (e.g. Android)
    When angle_enable_vulkan is true and
    angle_enable_vulkan_validation_layers is true, build the
    Vulkan validation layers.
    
    Bug: angleproject:2489
    
    Change-Id: I266ad8f757c5992021f249217f2be58f0148fcbf
    Reviewed-on: https://chromium-review.googlesource.com/1005558
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 02c9c04f512aa2194f83cdc9749c2f5bba0b434f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Apr 17 13:43:48 2018 -0400

    Optimize ValidateDrawAttribs: Part 2.
    
    This moves much of the math into cached values in the VertexAttribute
    and VertexBinding.
    
    Bug: angleproject:1391
    Change-Id: I1b6c0553bf57fef864c27c5193c7dd7ca9b56f53
    Reviewed-on: https://chromium-review.googlesource.com/1008274
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit fe22e23a9a0244829bbdb69fc4a2333ea50dcb12
Author: Luc Ferron <lucferron@chromium.org>
Date:   Mon Apr 16 14:15:11 2018 -0400

    Vulkan: Use SH_INITIALIZE_UNINITIALIZED_LOCALS in ShaderVk
    
    Re-enable the flaky test InitUninitializedStructContainingArrays that
    was failing because of this option missing.
    
    Bug: angleproject:2460
    Change-Id: Icf794a5fdca48619756d575faa4cb04f0323712e
    Reviewed-on: https://chromium-review.googlesource.com/1014271
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 0986f1cc91b46d70ffaedcb9b7b79a72fbcdeb1e
Author: Luc Ferron <lucferron@chromium.org>
Date:   Mon Apr 16 13:47:23 2018 -0400

    Vulkan: Implement depth_range dirty bit and enable tests
    
    - Additional fix in GlslWrapper.cpp to remove the @@ markers for unused
    attributes.
    - Enables 28 dEQP gles2 tests in functional.depth_range.*
    
    Bug: angleproject:2454
    Change-Id: I1a6f72d846b476ba681140d4b242208d24e18b95
    Reviewed-on: https://chromium-review.googlesource.com/1014262
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit f1d3c20c486b6e6efd31889de748d3918df77c1a
Author: Luc Ferron <lucferron@chromium.org>
Date:   Mon Apr 16 07:44:27 2018 -0400

    Vulkan: Fix the issue with unused attributes / varyings
    
    When an attribute, a uniform or a varying isn't used, we now remove
    their layout and in/out qualifiers so that the shader can still refer
    to these var names.
    
    Bug: angleproject:2456
    Change-Id: I5f1241d91bd46f663750adfab2562ef87ce69ae5
    Reviewed-on: https://chromium-review.googlesource.com/1014009
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit ef2fda723efc4076397f6107fb673834af1392b8
Author: Luc Ferron <lucferron@chromium.org>
Date:   Wed Apr 18 07:44:14 2018 -0400

    Vulkan: Fix issue in GlslWrapper and maxVaryingVectors calculation (2nd try)
    
    The layout needed to also have a component qualifier so that the
    registerColumn wouldn't be ignored.
    
    Bug: angleproject:2460
    Bug: angleproject:2483
    Change-Id: I3adcd6208aca4afebd45311ded93d00087b60a99
    Reviewed-on: https://chromium-review.googlesource.com/1016680
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 5804dc8ea949ce6d9c5964778a836b3f2eac309e
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Apr 13 14:11:46 2018 +0300

    Refactor GL tests to use a shader library
    
    Instead of having the same simple shaders repeated over and over in
    the test code, reuse a single shader library.
    
    BUG=angleproject:2474
    TEST=angle_end2end_tests
    
    Change-Id: I13f8ca8c0125e6d30f1761639bf8c3f69e0e77d2
    Reviewed-on: https://chromium-review.googlesource.com/1012078
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit eb79e337c9f7b2bf2d8c9a7f3298f77bf484d18a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Apr 18 07:48:06 2018 -0400

    Vulkan: Do not build mock ICD on Android.
    
    This is causing a GN build error on our Android bots.
    
    Bug: angleproject:2471
    Bug: angleproject:2482
    Change-Id: I35ffc7972effb9c9ea26ab96cf23985eba1702c3
    Reviewed-on: https://chromium-review.googlesource.com/1016700
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c90d4d38c895488b709a4e962e41f3e1d8914e06
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Apr 17 13:11:15 2018 -0400

    Fix problematic query in TOutputGLSLBase::visitDeclaration.
    
    There was an invalid derefernce that for some reason was not
    caught on the bots.
    
    Bug: angleproject:2456
    No-Try: True
    Change-Id: I088e9671122fd25077027cb2eb577aa099fdcacf
    Reviewed-on: https://chromium-review.googlesource.com/1015287
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>

commit c97e900c98a15c0c59483d0bf9fc1e0035b3fc1f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Apr 17 19:11:39 2018 -0400

    Revert "Vulkan: Fix issue in GlslWrapper and maxVaryingVectors calculation"
    
    This reverts commit 1d882aaa0720b0dee0e8fc807d93d0e3f3e6bc67.
    
    Sorry about this Luc. I think there was a missing suppression. You can
    even see a flaky failure in the CQ when you landed this - it seems the
    flakiness of the failure let it through. This is blocking another fix
    from landing which fixes the fact the CQ is on fire. The revert button
    is also missing from Gerrit which means this is a manual revert.
    
    Failures:
    https://ci.chromium.org/p/chromium/builders/luci.chromium.try/win_angle_rel_ng/361
    
    Original CL Message:
    The layout needed to also have a component qualifier so that the
    registerColumn wouldn't be ignored.
    
    Bug: angleproject:2460
    Bug: angleproject:2483
    No-Try: True
    Change-Id: I84c38497fbda43d9defbc6d5d3ff0f9c133e6e46
    Reviewed-on: https://chromium-review.googlesource.com/1015323
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit aed1b56aac8e5d14f4a5101f0f85135717a3d744
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Apr 17 11:47:46 2018 -0400

    Prerequisite code for simpler GlslangWrapper.
    
    This makes two changes for the linking step:
    
    * allows symbol names in TOutputGLSLBase::writeVariableType
    * stores a list of inactive varying names in VaryingPacking
    
    Bug: angleproject:2456
    Change-Id: Id651721a008c049508303d18c45c6b96c76114d9
    Reviewed-on: https://chromium-review.googlesource.com/1014707
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 1d882aaa0720b0dee0e8fc807d93d0e3f3e6bc67
Author: Luc Ferron <lucferron@chromium.org>
Date:   Fri Apr 13 10:12:05 2018 -0400

    Vulkan: Fix issue in GlslWrapper and maxVaryingVectors calculation
    
    The layout needed to also have a component qualifier so that the
    registerColumn wouldn't be ignored.
    
    Bug: angleproject:2460
    Bug: angleproject:2483
    
    Change-Id: Ib5b15c4dc0ce42633f4994648f1eb22d8b63336a
    Reviewed-on: https://chromium-review.googlesource.com/1011680
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit e4c38be05b2385c985f5f809c14eba7fa441c389
Author: Luc Ferron <lucferron@chromium.org>
Date:   Tue Apr 17 11:09:16 2018 -0400

    Vulkan: clearRegionWithScissor did not determine the region correctly
    
    When the scissor region given was completely outside the renderArea,
    we were calling vkCmdClearAttachments with the unmodified rectangle.
    
    Instead, we just need to actually skip the clear call since there is
    nothing to clear if we have a scissor region outside the render area.
    
    Bug: angleproject:2484
    
    Change-Id: If2c7c5b91e07081f1d2e4f4d8d13f8c8a842ea0b
    Reviewed-on: https://chromium-review.googlesource.com/1014958
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 010744365b42e8534c33c4519978a8bfa7cadafa
Author: Lingfeng Yang <lfy@google.com>
Date:   Mon Apr 16 10:19:51 2018 -0700

    GLES1: gl(Enable|Disable)ClientState
    
    + Introduce the GL_OES_point_size_array extension for point size array
    support.
    
    BUG=angleproject:2306
    
    Change-Id: Ib1a60b7dcd0497eb807f0d3c80bc95b4748d9a96
    Reviewed-on: https://chromium-review.googlesource.com/1014282
    Commit-Queue: Lingfeng Yang <lfy@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit c61a24d48fa40bbd41acd1a8d681a83789b6a73a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Apr 17 07:22:55 2018 -0400

    Vulkan: Fix build after roll.
    
    Remove struct_size_helper from LVL build. This was causing
    significant problems on the Chromium CQ.
    
    Also fix the warning of duplicate definitions in reg.py by
    staging scripts to a temporary folder so we can use a fixed
    version.
    
    Bug: angleproject:2482
    Bug: chromium:833736
    Change-Id: Ide7202fe14bf6c83419f19bc07113df23d51807a
    Reviewed-on: https://chromium-review.googlesource.com/1014902
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 86de76b6963f9c043b58103b2e6c19dee89d3ad5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Apr 17 08:29:55 2018 -0400

    Vulkan: Suppress ClearIssue test.
    
    This test was flaky, the failure was missed on the CQ.
    
    Bug: angleproject:2484
    Change-Id: Ic3c32bcd385620683e9a01acf37d62bbf3ca8797
    Reviewed-on: https://chromium-review.googlesource.com/1014733
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 08b9e046c1b6765ef31b4bc4b90e6209386197f4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Apr 16 20:16:39 2018 -0400

    Vulkan: Disable warning in Mock ICD.
    
    We were missing a "no chromium code" config in the mock ICD.
    This was causing a build error, but the build error was mostly
    invisible because the mock ICD wasn't being built by default.
    
    Fix this by including it in the angle_vulkan target.
    
    Bug: angleproject:2482
    Change-Id: I417d3fbf6a4acd93c06bab61967409730c2ea4ed
    Reviewed-on: https://chromium-review.googlesource.com/1012497
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 41c43ce7f74906c87c5e1c6c8cc0673f8ab854b1
Author: Tobin Ehlis <tobine@google.com>
Date:   Mon Apr 16 08:42:56 2018 -0600

    Roll (2/2) to latest LVL as of 4/16/18
    
    Moving to HEAD of LVL master on morning of 4/16/18.
    Made some updates to BUILD.gn to add use debug_utils files now
    instead of debug_report.
    Re-enable ANGLE Vulkan build.
    
    Bug: angleproject:2482
    Change-Id: Ic2ab2a1cd7ecdba3152d433efcdbf427864e7e2b
    Reviewed-on: https://chromium-review.googlesource.com/1014258
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit aa8b3982aeeb90c9d4f818117a6be1a6904def5a
Author: Tobin Ehlis <tobine@google.com>
Date:   Mon Apr 16 08:07:38 2018 -0600

    Roll (1/2) LVL version forward and disable VANGLE
    
    Rolling Vulkan validation code forward to HEAD of master as of 4/16/18
    morning. Disable Vulkan from the ANGLE build until ANGLE lands in
    Chromium. After that second part of roll will be submitted.
    
    This LVL update includes MockICD fixes to allow ANGLE perf tests to
    run correctly with Null Vulkan configuration.
    
    Bug: angleproject:2482
    Change-Id: I61dc9ed293677a1b5839b605d7c3640dca138db3
    Reviewed-on: https://chromium-review.googlesource.com/1014405
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 0cb6dc4c4cce96b748a42b22187bb41b600f51a3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Apr 16 10:36:39 2018 -0400

    Vulkan: Fix texture descriptor set alloc count.
    
    We were reserving half the required descriptor sets for our pool. This
    fixes the counting and ensures we won't regress by adding a test.
    
    Also enables the cube map texture sample, and removes an UNIMPLEMENTED
    warning that was spurious.
    
    Bug: angleproject:2318
    
    Change-Id: I371cd7c5b42e1ce980cce7bb0ef04885db72b614
    Reviewed-on: https://chromium-review.googlesource.com/1014165
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 51af38b869f276677b7125bf3e352cf096a7dff2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sun Apr 15 08:50:56 2018 -0400

    Optimize ValidateDrawAttribs: Part 1.
    
    This moves several loop checks outside the loop, and uses more of the
    gl::AttributesMask class to do bitset operations instead of using
    checks and for loops.
    
    Bug: angleproject:1391
    Change-Id: I90a1a7db550390ecd1402cf5a8a6677fd852b7b0
    Reviewed-on: https://chromium-review.googlesource.com/1008273
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a7be1f7720ba4914bdb945a1964dfe983304d4f0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Apr 13 15:16:26 2018 -0400

    Vulkan: Rename StagingStorage to PixelBuffer.
    
    This more closely matches the OpenGL "Pixel Buffer" concept.
    
    Bug: angleproject:2318
    Change-Id: I930b24f68cde2995488737908aae469c86b74092
    Reviewed-on: https://chromium-review.googlesource.com/1012456
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a4fa9c2782dabfa279c6fa2bb3cd29dfa4b1ebdd
Author: Luc Ferron <lucferron@chromium.org>
Date:   Fri Apr 13 07:00:56 2018 -0400

    Vulkan: drawElements with GL_LINE_LOOP and an offset
    
    Also enables a test in LineLoopTest that validates this case.
    
    Bug: angleproject:2473
    
    Change-Id: Icb4c5735c11be40cdeceaa051f5a5cef33fd22c6
    Reviewed-on: https://chromium-review.googlesource.com/1011669
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 20fa8d5cfe9e0cd437230677f1f37350a2bb87f5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sun Apr 15 10:09:32 2018 -0400

    Vulkan: Implement cube map texture sampling.
    
    This changes the TextureVk class to have a queue of staging
    copies, instead of a single copy at a time. This will allow
    us to upload multiple sub regions of a texture image at once
    when we need to resolve the Image at sampling time.
    
    Enables the remainder of the texture.format tests, and all
    non-mipped tests in the texture.size tests. Also updates the
    expectations with the bug number for mipmap support.
    
    Bug: angleproject:2318
    Change-Id: Ie55f8f2dc24d7b133ad735e37f0f78937f022b5b
    Reviewed-on: https://chromium-review.googlesource.com/980775
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 016105bb8a4a5060534a34767ba2360bef3dcbdf
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Thu Apr 12 16:38:31 2018 +0800

    Store shader information in ShaderMap in class Program and Compiler
    
    This patch is the first one in the series of using ShaderMap as
    the container of the resources for each type of shader everywhere
    in ANGLE.
    
    This patch defines the new data structure ShaderMap and use it in
    class Program and Compiler in ANGLE front-end.
    
    The following work includes:
    1. Use ShaderMap in D3D back-ends.
    2. Use ShaderMap in Vulkan back-ends.
    
    BUG=angleproject:2169
    
    Change-Id: I1c284d95f5a071c45bb468901eabc15694fffe38
    Reviewed-on: https://chromium-review.googlesource.com/1011722
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 76b2c3852995a032adc277d16e5f3bad0d042b74
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Mar 19 15:51:29 2018 +0200

    Store invariant declarations in variable metadata
    
    This is simpler than storing the information in symbol table levels.
    Invariant declarations can only be present at the global scope, so
    storing the information per level is not required.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: Idb07d734950c8a0a8bda5b2380e181902f9eb633
    Reviewed-on: https://chromium-review.googlesource.com/1007060
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 152152618edf21279bc19fbd257226606cab1f60
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Wed Apr 11 12:14:55 2018 -0600

    Enable unneeded-internal-declaration compiler warning
    
    No longer have issues with unneeded internal declarations
    now that Tokenizer.cpp has been updated so re-enable
    compiler warning to catch future issues.
    BUG:angleproject:2451
    Test: build
    
    Change-Id: I30daadc8c7374bcae753a7e69cb9a72855a1f548
    Reviewed-on: https://chromium-review.googlesource.com/1007965
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 51dd886b0e31807e2c487b1ebb2350cd5dc83965
Author: Nico Weber <thakis@chromium.org>
Date:   Fri Apr 13 16:31:37 2018 -0400

    Add standalone angle bots to default cq set, remove upstream win-msvc-rel bot.
    
    Bug: chromium:820421
    Change-Id: Ib381257dc55eef409d5f34f1e040abe7c8a971a3
    Reviewed-on: https://chromium-review.googlesource.com/1012567
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 027717fa79ec1a0af53fb875b9d9b97506c4bf39
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Apr 13 15:51:24 2018 -0400

    Add "root" variable to DEPS.
    
    This variable can be used to override the root location of the .git
    for ANGLE relative to gclient, so our DEPS can work with both
    ANGLE standalone and the new bot configurations that are being
    added by thakis@.
    
    Bug: chromium:820421
    Change-Id: I5cd57bc88fcd4dc69e82aa1e59d343f1eaf6f5ee
    Reviewed-on: https://chromium-review.googlesource.com/1012506
    Commit-Queue: Nico Weber <thakis@chromium.org>
    Reviewed-by: Nico Weber <thakis@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit bcef322484ff660396ff6d7ecae3c63a5f959e40
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Apr 13 15:19:11 2018 -0400

    Move client attribs mask to front-end.
    
    The Vulkan and GL back-ends both had a client attributes mask.
    This consolidates them into the front-end, where it can also
    be used in the validation layer.
    
    Also includes a fix which was incorrectly setting the enabled
    mask in setVertexAttribFormatImpl.
    
    Bug: angleproject:1391
    Change-Id: I5e45c1e2a56b30a36dec1482d170592c30a16d40
    Reviewed-on: https://chromium-review.googlesource.com/1008272
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>

commit e1326469a6e76a7f96a266b7e86649d88207cd47
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Apr 13 13:54:34 2018 -0400

    Fix infra.cq to point to new Windows configs.
    
    Now that the migration has happened for these builders, switch
    to the new new configs.
    
    Bug=chromium:815092
    
    Change-Id: I68b0817f20fe54583dc465f3cdcdf233439f0a01
    Reviewed-on: https://chromium-review.googlesource.com/1012504
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 1dc4414f6f6654429e9ce634869a6ac7cb43a039
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Fri Apr 13 13:39:23 2018 -0400

    Suppress self-assign warning in angle_deqp_decpp and angle_deqp_libtester
    
    Compiling dEQP with clang started failing after clang roll
    https://chromium-review.googlesource.com/1012028
    
    BUG=chromium:832753
    
    Change-Id: I532872a68c3c8d916c6bfd2b5370501746076193
    Reviewed-on: https://chromium-review.googlesource.com/1012382
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit a912046dc3e1dd1fb53cc18b438e7b6b11d6dc25
Author: Luc Ferron <lucferron@chromium.org>
Date:   Thu Apr 12 13:11:03 2018 -0400

    Vulkan: DrawElements with line loops client side memory support
    
    - Also enables 6 new tests in LineLoopTests.cpp in angle_end2end
    
    Bug: angleproject:2458
    
    Change-Id: I4aec12b0ac780e81e6811f1199a5acaf17d9b982
    Reviewed-on: https://chromium-review.googlesource.com/1010411
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit 983c429fa3bf50d08fd34e5d73ece15a3b8b2382
Author: Luc Ferron <lucferron@chromium.org>
Date:   Tue Apr 10 13:05:45 2018 -0400

    Vulkan: Lineloops edge base bugfix and new tests
    
    The dynamic buffer we are using in the LineLoopHelper wasn't able
    to support switching between different allocation sizes. Fix this by
    simply using a min alignment of the maximum allocation size we can
    reach.
    
    Adds 2 new tests to validate these calls in StateChangeTest.cpp
    
    Bug: angleproject:2458
    
    Change-Id: I9d224e7dcfcd7627010832ca30dd9e1b9eceea4e
    Reviewed-on: https://chromium-review.googlesource.com/1007335
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit cc129377530b25d4d2b1c67e8f3ad49869ca8dba
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Apr 12 09:13:18 2018 -0400

    ImageIndex: Consolidate layer/cube face.
    
    In terms of the Texture or Image resource, a cube face
    refers to a layer of a 2D texture. This layer has a special
    meaning for cube textures, but it is represented as a layer
    with a layer index. Cube array textures are no different,
    they just use a different indexing scheme for the array
    layers.
    
    This also cleans up the ImageIndex helper to have a class
    structure with private data, and cleans up a few cases to
    use generic Make functions and iterators where they were
    setting properties of the index directly.
    
    This will make it easier to have ImageIndexes address
    entire levels of a Cube map in the future, and makes the
    layer count logic in Vulkan cleaner.
    
    Bug: angleproject:2318
    Change-Id: Iea9842e233f974a9896282ca224cb001f7882bd1
    Reviewed-on: https://chromium-review.googlesource.com/987525
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit ed8d5ec7333070baddc731babbca895537a73cf4
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Tue Mar 20 10:08:05 2018 -0600

    Add json build file generation
    
    gen_angle_gn_info_json.py can be used to generate a json description
    of the build for given targets. This information can then be used
    to generate build files for other tool chains (e.g. Android blueprint)
    
    Bug: angleproject:2418
    Change-Id: Ief8f43e30ae1f469e3fcfa795306675e29a90a2f
    Reviewed-on: https://chromium-review.googlesource.com/967225
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit bb5ce5ccb0a5994df4de5e5ebf44ca5c56756423
Author: Lingfeng Yang <lfy@google.com>
Date:   Mon Apr 9 08:08:46 2018 -0700

    GLES1: Built-in matrix operations
    
    glRotate
    glTranslate
    glScale
    glFrustum
    glPerspective
    glOrtho
    
    BUG=angleproject:2306
    
    Change-Id: Ia9321d52f5824ef7c15b56d94e23ff3b1fbc3151
    Reviewed-on: https://chromium-review.googlesource.com/1002915
    Commit-Queue: Lingfeng Yang <lfy@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 56c8577b4dbf2239780e38090dadbeb06f4b8563
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Apr 6 16:31:47 2018 -0400

    TextureD3D_2D::CopyImage clear using initializeContents
    
    When using glCopyTexImage2D clearing of the mip level needs to happen
    when running in WebGL or robust resource init mode and any pixel would
    be sampled outside of the framebuffer. Previously the code was using
    "setImage" for this purpose, causing issues when a PIXEL_UNPACK_BUFFER
    was bound.
    
    Also add a regression test.
    
    BUG=chromium:827667
    
    Change-Id: I03be20d8272730ab30afdab2f8919be853e729b6
    Reviewed-on: https://chromium-review.googlesource.com/1000182
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit bfb5df15a5549c24c7ec9413cafa6849b3335005
Author: Luc Ferron <lucferron@chromium.org>
Date:   Thu Apr 12 12:45:26 2018 -0400

    Vulkan: Suppress flaky test in GLSLTest on Windows
    
    Bug: angleproject:2460
    
    Change-Id: I4dba274e29a147c3066848a729f37297951a7f77
    Reviewed-on: https://chromium-review.googlesource.com/1010405
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 416aaf95d4f76e67c09d03d7377c7e94a376e62a
Author: Brandon Jones <brandon1.jones@intel.com>
Date:   Tue Apr 10 08:10:16 2018 -0700

    Autogenerate ANGLE extension entry points
    
    Modify autogeneration script to pull data from gl_ext.xml and generate
    entry_points_gles_2_0_ext_autogen.cpp/h as a replacement for
    entry_points_gles_2_0_ext.cpp/h
    
    Bug:angleproject:2263
    Bug:angleproject:1309
    Change-Id: Ie21079f8ec5f85c657b891f6d6d59306a4c3b5fe
    Reviewed-on: https://chromium-review.googlesource.com/1005409
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit c1e0268a741ef82d77e296f7186a049fa4ff1f97
Author: Luc Ferron <lucferron@chromium.org>
Date:   Wed Apr 11 11:02:55 2018 -0400

    Vulkan: drawArrays followed by drawElements bugfix
    
    Also add a test in StateChangeTest.cpp to validate the behavior.
    
    Bug: angleproject:2458
    
    Change-Id: I58848772c0b4f71aaa3ee187778e49fa08e6800d
    Reviewed-on: https://chromium-review.googlesource.com/1007320
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit a56467e082366aeb2580a719412494a323178feb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Apr 11 16:19:41 2018 -0400

    VertexArray: Use switch macro for faster iteration.
    
    Has a small but noticeable impact on performance on a microbenchmark.
    Seems to improve a synthetic score by about 1%. Should have a very
    small improvement in real-world performance.
    
    Note that the odd formatting is an idiosyncrasy of clang-format.
    
    Bug: angleproject:2389
    Change-Id: I888bf101c6d8b80a0fbafdb9c5a84205c9c8fee6
    Reviewed-on: https://chromium-review.googlesource.com/962963
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 6d5af92b99b2df4c9b3876a0b43275a51131a68c
Author: Luc Ferron <lucferron@chromium.org>
Date:   Mon Apr 9 14:37:15 2018 -0400

    Vulkan: Enable GLSLTest tests for Vulkan
    
    - Suppress tests that don't pass yet.
    
    Bug: angleproject:2460
    
    Change-Id: I7c95ae9504a8d5e112fd9d1bb8536cc9bbf16e7b
    Reviewed-on: https://chromium-review.googlesource.com/1003099
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit 14f4817c4dad9680bcb086dc651193a3f101f0aa
Author: Luc Ferron <lucferron@chromium.org>
Date:   Wed Apr 11 08:43:28 2018 -0400

    Vulkan: Simplify viewport / scissor updates
    
    Stop tying the viewport and the scissor together. Instead, we simply
    use a very large (0->maxInt) scissor when scissor isn't enabled
    and we use the clipped scissor to the renderArea size when its
    enabled.
    
    Bug: angleproject:2443
    
    Change-Id: If7454793a050b1833c7d3166ea6b380192085c8f
    Reviewed-on: https://chromium-review.googlesource.com/1006996
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 85c6e2006d27cf07009f31d381bde5eefc87078e
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Apr 11 15:12:49 2018 -0400

    cq.cfg: equivalent_to to 100% for Windows tryservers.
    
    This is moving all ANGLE Windows tryservers to run on LUCI only.
    
    BUG=chromium:815092
    
    Change-Id: I737b0883dca7385bdf1ec664affe53f606ca9401
    Reviewed-on: https://chromium-review.googlesource.com/1008066
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 2dadd1d08e236de0a18c6f43ddebe61308d228d1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Apr 11 09:25:18 2018 -0400

    D3D11: Fix inactive attrib VAO perf regression.
    
    In the case there are any dirty inactive attributes, we were
    continually invalidating the Vertex Buffer and Input Layout
    bindings. This fixes the invalidation to only happen when
    there are any dirty active attributes.
    
    This regressed in "Move Buffer Subject/Observer to front end."
    
    Bug: chromium:829906
    Bug: angleproject:2389
    Change-Id: I8ed616bb696e0be548344192037ad6cc6f9c595c
    Reviewed-on: https://chromium-review.googlesource.com/1006998
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c4f27e4b7af326443b0702a98a50856883ae5578
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Mar 31 14:19:18 2018 -0400

    Texture: Pass ImageIndex to relevant methods.
    
    The Vulkan back-end will be using this helper struct, so make it
    available everywhere. This cleans up a lot of the code for D3D.
    
    Potentially in the future we could generate these in the entry
    points if we supported packing multiple arguments into one.
    
    Also changes a few parameter types to GLint for compatibility.
    
    Also updates the Vulkan Texture implementation check the stored
    vk::Format on setImage changes.
    
    Bug: angleproject:2318
    Change-Id: I57cea4a42483ab51859229517d783b58f206b8e7
    Reviewed-on: https://chromium-review.googlesource.com/985203
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>

commit 22f12fedf0ffd3df646cce86ed0aaf297add33e6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sun Apr 8 14:23:40 2018 -0400

    Vulkan: Rename vk::LineLoopHelper.
    
    This more closely follows the general pattern laid out by the naming
    in vk_helpers.h. It also changes the dynamic buffer that the helper
    wraps to be stored by-value since the header include order problem is
    fixed.
    
    Bug: angleproject:2318
    Change-Id: I1de9e1edee2125d3afd490b4f9c99cf70c61215c
    Reviewed-on: https://chromium-review.googlesource.com/1001654
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit d8c632c8654ca1f78ea85d9a0c1edbe06f0d33ff
Author: Luc Ferron <lucferron@chromium.org>
Date:   Tue Apr 10 12:31:44 2018 -0400

    Vulkan: Cleanup some TODOs in TextureTest.cpp
    
    Bug: angleproject:2364
    
    Change-Id: I316db1f6796a4a2efe344dd4b0a4a6e7bf2ead90
    Reviewed-on: https://chromium-review.googlesource.com/1005556
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 78acf5b5488481bba37d76b45fba427081677fa0
Author: James Darpinian <jdarpinian@chromium.org>
Date:   Tue Apr 10 20:39:06 2018 -0700

    D3D11: Fix primitive topology dirty bit tracking.
    
    syncPrimitiveTopology checks the transform feedback state, so it needs
    to be called whenever the transform feedback state changes. This fixes
    flakes in the WebGL 2 conformance test
    transform_feedback/simultaneous_binding.html
    
    Bug: 696345
    Change-Id: I4e17bbf60b4a387cc23dc55bd5a051f5da9fa66e
    Reviewed-on: https://chromium-review.googlesource.com/1006489
    Commit-Queue: James Darpinian <jdarpinian@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit ebd6e2df290afca3e3b1ceafb271c2f11e16a90f
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Mar 23 17:07:55 2018 +0200

    Take all attributes into account when checking for aliasing
    
    This makes ANGLE to follow GLSL ES 3.00.6 spec section 12.46. The spec
    requires that all attributes are taken into account when checking for
    aliasing, regardless of if they are active or not. WebGL 2.0 spec was
    also recently changed to reflect GLSL ES 3.00.6 correctly. Aliasing
    checks for GLSL ES 1.00 shaders are left as-is.
    
    BUG=chromium:829541
    TEST=angle_end2end_tests, WebGL conformance tests
    
    Change-Id: I71c36ac123f18dadf075e81f93af29321c15136b
    Reviewed-on: https://chromium-review.googlesource.com/1005077
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 568fc39ba45aacacd66271f705c224da8861a0b3
Author: Lingfeng Yang <lfy@google.com>
Date:   Mon Apr 9 07:57:23 2018 -0700

    GLES1: glMultMatrix(f|x)
    
    BUG=angleproject:2306
    
    Change-Id: I178b051c23da51d8eaf24c2a0df97f01ae5f3aaa
    Reviewed-on: https://chromium-review.googlesource.com/1002914
    Commit-Queue: Lingfeng Yang <lfy@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 3a41af64306ea5fd163e1db12c5a80349422e818
Author: Lingfeng Yang <lfy@google.com>
Date:   Mon Apr 9 07:28:56 2018 -0700

    GLES1: glLoadIdentity / glLoadMatrix(f|x)
    
    BUG=angleproject:2306
    
    Change-Id: I46fe961e6eb87b2f41c39afe1e943d9146a0abfa
    Reviewed-on: https://chromium-review.googlesource.com/1002913
    Commit-Queue: Lingfeng Yang <lfy@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit ec0a70285587e0691b4659febb0b54e15d5e39a6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Apr 10 17:24:32 2018 -0400

    D3D11: Add more debug names.
    
    Bug: None
    Change-Id: Iedf69564f465ad1a48fd5cebfe384ace6787a720
    Reviewed-on: https://chromium-review.googlesource.com/1006050
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 3e1302bd4a7e8807fb8059d137a64d85fc0fed58
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Tue Apr 10 15:36:28 2018 -0400

    Skip RobustResourceInitTestES3.MaskedStencilClearBuffer on Mac NVIDIA.
    
    Flaky.
    
    BUG=angleproject:2408
    
    Change-Id: I20a6cbf8c4daa722c9d3f91aa3b55227cfff94b5
    Reviewed-on: https://chromium-review.googlesource.com/1005811
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit d17bdfe541d81e5035d7a3b484c2688191fc66ee
Author: Luc Ferron <lucferron@chromium.org>
Date:   Thu Apr 5 13:50:10 2018 -0400

    Vulkan: 3 Final bugfixes to enable all dEQP depth_stencil tests
    
    - The scissor when clearing should not be clipped against the viewport.
    - The render pass was created with a render area == to the current
    viewport, but the viewport can be changed by the tests multiple times
    per render pass, so we should always keep the renderArea to the full
    framebuffer instead.
    - Enables an additional 163 dEQP tests.
    - We should clip the scissor to the framebuffer dimensions instead of
    the viewport. Its valid to do a cmdClearAttachments outside the
    viewport, but not outside the full framebuffer's dimension.
    
    Bug: angleproject:2443
    
    Change-Id: I79168e9f0c782d6dec77470fef938b85ad7a8794
    Reviewed-on: https://chromium-review.googlesource.com/998448
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 785b20b7af9b27bb2421bf300a00db89b40121fe
Author: Luc Ferron <lucferron@chromium.org>
Date:   Tue Apr 10 13:09:27 2018 -0400

    Vulkan: PointSprite suppress 3 tests that are failing the android tests
    
    Bug: angleproject:2447
    
    Change-Id: Ib5a8176e2836374fbeb70ccd05586495c388680b
    Reviewed-on: https://chromium-review.googlesource.com/1005438
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit 4416247c9d91a3d0e58b21e9cb98d7d2e640f18b
Author: Luc Ferron <lucferron@chromium.org>
Date:   Fri Apr 6 13:20:45 2018 -0400

    Vulkan: Enable point sprite end2end tests
    
    Bug: angleproject:2447
    
    Change-Id: I92a6ed730dd2048b055d32d1f149a29172c7f38a
    Reviewed-on: https://chromium-review.googlesource.com/999822
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit d91c3793672c184c837d7dea96e7ac164f8667a0
Author: Luc Ferron <lucferron@chromium.org>
Date:   Fri Apr 6 09:36:36 2018 -0400

    Vulkan: Implement support for structs in uniforms
    
    - Also enables 174 additional dEQP tests.
    
    Bug: angleproject:2446
    
    Change-Id: I07cce46815d2f7a80fd48e7fd9407f7d528b397f
    Reviewed-on: https://chromium-review.googlesource.com/998406
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit 26084d0aae38d29f8ca4a16d9a943141af2684d0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Apr 9 13:44:04 2018 -0400

    Vulkan: Create TextureVk's Image lazily.
    
    This defers the actual Image initialization until the Image is used
    as either a Framebuffer Attachment or OpenGL Texture object. This
    will allow us to construct an Image from multiple sub resources, like
    when we're initializing a mip chain, or a cube map texture.
    
    Also adds a helper "hasDepthOrStencilBits" function to angle::Format.
    
    Bug: angleproject:2318
    Change-Id: Ife861560216581a90fc6da32a583f69886c7daea
    Reviewed-on: https://chromium-review.googlesource.com/985202
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 3418fe80e4e953e0b5a066ff0c5a3580376476bb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Apr 9 14:08:19 2018 -0400

    Optimize Subject's binding method.
    
    Using FixedVector, we can remove the need for dynamic allocation in
    most of the use cases. Only when we exceed a certain amount of fixed
    storage do we need to spill into the heap.
    
    Bug: angleproject:2389
    Bug: chromium:829906
    Change-Id: Ib5f7073b58876bfd2400bd87b743bddcee5e5dc8
    Reviewed-on: https://chromium-review.googlesource.com/1002884
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 3dd8d291285e86a7e12420c1837dbade97a59c90
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Fri Mar 30 09:39:09 2018 +0800

    Use ShaderBitSet for active use bits on uniforms
    
    BUG=angleproject:2169
    
    Change-Id: I192c2e3c453540c8a6d7b0d066218ea3c9fbaab2
    Reviewed-on: https://chromium-review.googlesource.com/989411
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit fe4bbe6cbec69697ba9052acb4e05fa4dbfed6f6
Author: Brandon Jones <brandon1.jones@intel.com>
Date:   Fri Apr 6 13:50:14 2018 -0700

    Create Stubs For Unimplemented Extensions
    
    Create context and validation stubs for unimplemented extensions. This
    will allow us to use an autogeneration script in the future to generate
    entry_points_gles_2_0_ext.cpp.
    
    Bug:angleproject:2263
    Change-Id: If3ad3ebd823d65085c7f143cce9e09187e65d4da
    Reviewed-on: https://chromium-review.googlesource.com/998440
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 0ce016c1bd12916c0d30c0ded96b29681a9e4d09
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Apr 9 10:59:56 2018 -0400

    FixedVector: Add "full" method.
    
    Will be useful for an optimization to the Buffer Subject/Observer
    pattern.
    
    Also cleans up an ASSERT.
    
    Bug: angleproject:2389
    Bug: chromium:829906
    Change-Id: I2f8313ab531bca61947a51cc2396c04fb5d4bb1d
    Reviewed-on: https://chromium-review.googlesource.com/1002883
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Lingfeng Yang <lfy@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit bb52c523556e953ffe356ddb3935fec8e584166d
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Apr 6 10:22:22 2018 +0300

    Invariant declaration doesn't make a variable active
    
    Invariant declarations didn't affect static use before, but now they
    are also skipped in CollectVariables so an invariant declaration is
    not enough in itself to mark a variable as active. This fixes an
    assert in CollectVariables.
    
    BUG=chromium:829553
    TEST=angle_unittests
    
    Change-Id: I3e51d2916f091bcc283af136a4abc846ff71447d
    Reviewed-on: https://chromium-review.googlesource.com/999532
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 6c59e4a156c360942e401180a109cfab9544e255
Author: Victor Costan <pwnall@chromium.org>
Date:   Thu Apr 5 21:35:37 2018 -0700

    Migrate from <tr1/tuple> to <tuple> types.
    
    Bug: 829773
    Change-Id: I9bfe3c7b585acb7c91303f59ee448ce2d2dc2786
    Reviewed-on: https://chromium-review.googlesource.com/999181
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Victor Costan <pwnall@chromium.org>

commit 6816d84382d552a39b88c1f57e8a8e5df1a39b2c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Mar 31 14:19:17 2018 -0400

    Add two new fields to angle::Format.
    
    One field determines if a format is a compressed format
    (called Block format for angle::Format, but basically the same).
    The second field is the number of bytes in the format, so we
    can do calculations on pixel size.
    
    Both of these will make life cleaner in the Vulkan back-end.
    
    Also solves some TODOs in the vk format table init.
    
    Bug: angleproject:2318
    Bug: angleproject:2358
    Change-Id: I8b021b959c5892c86635e0225012295e5e830256
    Reviewed-on: https://chromium-review.googlesource.com/987524
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit 9cceac42ae610c46c2981939d87b885fbef1f63a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Mar 31 14:19:16 2018 -0400

    Vulkan: Update resource dependency semantics.
    
    This removes passing the Serial around to several methods, so that
    dependency management is a bit more automatic.
    
    This makes life a bit easier when dealing with state updates when
    resources are in use by Vulkan.
    
    The FramebuffeVk no longer stores an extra serial of the last draw,
    instead it will trigger creation of a new writing node on a state
    change update.
    
    Bug: angleproject:2318
    Change-Id: Ie58ec66e6e8644ba4d402c509255c3795d363dd3
    Reviewed-on: https://chromium-review.googlesource.com/985201
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit 6c7ab7fe8d8c23e5cbbd2a2b70aa0ba8baa1f4d7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Mar 31 14:19:15 2018 -0400

    Vulkan: Reorganize helper classes.
    
    This renames ResourceVk to vk::CommandGraphResource, which should help
    clarify its usage. This also moves LineLoopHandler, ImageHelper, and
    the DynamicBuffer and DynamicCommandPool classes into a new vk_helpers
    module. This file contains helper classes that manage other resources.
    
    Also this makes DynamicBuffer and DynamicDescriptorPool no longer
    inherit from CommandGraphResource. In the future, only Impl objects
    will be allowed to be graph resources.
    
    Bug: angleproject:2318
    Change-Id: I0fa23da2ac853d90f3c822547a4a314f247cc757
    Reviewed-on: https://chromium-review.googlesource.com/985200
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit 5ae64c94dbf1766d0c9f233942dcfb38c83229ac
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Apr 6 11:27:03 2018 +0300

    Fix writing hex values in ImmutableStringBuilder
    
    The old code was accidentally using letters offset by 10 when writing
    out hex values >= 10. Now the letters a to f are used as they should.
    
    This is one issue that changed shader output when ImmutableString was
    introduced, so it is a potential cause for a regression detailed in
    bug 824062, though this has not been verified.
    
    BUG=chromium:824062
    TEST=angle_unittests
    
    Change-Id: Idb871dffba32a3ab20df0fe17b4b1a98ec00b7fa
    Reviewed-on: https://chromium-review.googlesource.com/999480
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit e547aac75202667b8d6780eb5bc5de166d4352be
Author: Lingfeng Yang <lfy@google.com>
Date:   Thu Apr 5 09:39:20 2018 -0700

    GLES1: gl(Push|Pop)Matrix
    
    BUG=angleproject:2306
    
    Change-Id: I96498aebbbc62ebd53e5320db17ef6a54d20d2dc
    Reviewed-on: https://chromium-review.googlesource.com/998308
    Commit-Queue: Lingfeng Yang <lfy@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 8957e832818bfd2d941d88cd7583bd8558a639ad
Author: Lingfeng Yang <lfy@google.com>
Date:   Fri Apr 6 10:49:28 2018 -0700

    Add pop_back() / back() method for FixedVector
    
    Good for implementing stacks of fixed size (in the pop operation).
    
    + fix an issue where push_back() only allows adding up to max_size() - 1
    elements.
    
    BUG=angleproject:2306
    
    Change-Id: I99b3c8416055f069fa563b684c102fd6aec116bc
    Reviewed-on: https://chromium-review.googlesource.com/1000031
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Lingfeng Yang <lfy@google.com>

commit d2488aba58e91483b3b7afc72ce013ac7d0f912b
Author: Lingfeng Yang <lfy@google.com>
Date:   Wed Apr 4 09:25:48 2018 -0700

    GLES1: glMatrixMode
    
    BUG=angleproject:2306
    
    Change-Id: I83e15990c10d9354c2db00766ddc7b0ab960aa5c
    Reviewed-on: https://chromium-review.googlesource.com/996019
    Commit-Queue: Lingfeng Yang <lfy@google.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 59770806ce834b47eb553252ceb4a1a842131dca
Author: Brandon Jones <brandon1.jones@intel.com>
Date:   Mon Apr 2 13:18:42 2018 -0700

    Refactor ANGLE Extensions Context Calls
    
    Refactors ANGLE extensions context calls into a common format for future
    autogeneration. Any work that occurred in the entry point has been moved into
    its own context member function.
    
    Bug:angleproject:2263
    Change-Id: I91cb3aca6a8c135ed3ae80a723d6cf16b54aeda6
    Reviewed-on: https://chromium-review.googlesource.com/990809
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit b8e396609624a072f160a31f9e333c8ce648d287
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Apr 4 11:41:42 2018 -0400

    Vulkan: Remove Observer from LineLoopHandler.
    
    This can now use the VertexArrayVk dirty bits. It also
    seems as though there are a couple caching bugs with the
    LineLoopHandler.
    
    Bug: angleproject:2389
    Change-Id: I8af73f4acf56768ed9c68395349ba96acfbe9666
    Reviewed-on: https://chromium-review.googlesource.com/989259
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@google.com>

commit c3755fc56611eeeed712e5decc3a2f8670fac55a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Apr 5 08:39:13 2018 -0400

    Vulkan: Move Streaming data to VertexArrayVk.
    
    Instead of the ContextVk owning the translations for the various
    attributes, make the VertexArrayVk own them. This way they can
    handle the dirty bit state notifications directly instead of
    needing their own Observers.
    
    Bug: angleproject:2389
    Change-Id: I5e571ba6c563e820a4c0d5f92db35031e6f2428a
    Reviewed-on: https://chromium-review.googlesource.com/989258
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit e7b3fe21866454bd3ea983acede162d34ae03dd8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Apr 5 09:42:46 2018 -0400

    Context: Release surface first in onDestroy.
    
    This works around a bug in Vulkan where the VertexArrayVk still
    had resources in use when the Context was being destroyed. An
    alternative approach is to call finish() from Context::onDestroy,
    but this seems heavyweight. We might have to adopt something like
    this eventually though.
    
    Bug: angleproject:2389
    Change-Id: Id99ca00404972a0b857c0e7e36f37b8ac4fd5c5e
    Reviewed-on: https://chromium-review.googlesource.com/997743
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit f9176ce52c05dbde913e3913e44affeabaf6d7b4
Author: Jani Hautakangas <jani.hautakangas@lge.com>
Date:   Thu Apr 5 00:25:32 2018 +0300

    GLIBC fix: size_t requires include <stddef.h>
    
    Compiling fails with some combinations of gcc and glibc.
    'size_t' does not name a type in proc_table.h
    
    Change-Id: Id79e033dc72d836788551e076ced6dbd706ce902
    Reviewed-on: https://chromium-review.googlesource.com/995422
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 8836f631ca4890071c3d3b788387a23b0240fe75
Author: Luc Ferron <lucferron@chromium.org>
Date:   Thu Apr 5 07:26:53 2018 -0400

    Vulkan: Bugfix in depth/stencil clearing
    
    In the situation when we try to clear the depth OR the stencil
    buffer but we have a packed depth/stencil attachment, we were still
    clearing both of them since Vulkan doesn't allow setting just the depth
    or the stencil image aspect bit on the clear call. The workaround is to
    use the vkCmdClearAttachments command that allows us to clear one or
    the other easily.
    
    Bug: angleproject:2443
    
    Change-Id: I6814e1927c019d9ec9255d79c6bc7b913a8c99e9
    Reviewed-on: https://chromium-review.googlesource.com/997752
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 4002e92a89780c515b6f8c2b1574501f39a19b39
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Apr 4 16:55:34 2018 +0300

    Guard traversers used during parsing against stack overflow
    
    Traversers used during parsing can be vulnerable to stack overflow
    since the AST has not yet been validated for max depth. Make sure to
    check for traversal depth in traversers used during parsing.
    
    We set the maximum traversal depth in ValidateGlobalInitializer and
    ValidateSwitchStatementList to 256, which matches the default value
    for validating general AST complexity. The depth check is on
    regardless of compiler options. In case the traversers go over the
    maximum traversal depth, they fail validation.
    
    BUG=angleproject:2453
    TEST=angle_unittests
    
    Change-Id: I89ba576e8ef69663ba35d7b9050a6da319f1757c
    Reviewed-on: https://chromium-review.googlesource.com/995795
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit dd196e0bc0c4d291c09a4f48e7b7da3cc53eeecf
Author: Luc Ferron <lucferron@chromium.org>
Date:   Wed Apr 4 11:41:44 2018 -0400

    Vulkan: Implement color mask and depth mask bits
    
    These two features are heavily used in the
    functional.depth_stencil_clear.* dEQP tests.
    
    Enable a bunch of color/depth/stencil clear tests, however there is
    still 2 tests in particular that are giving me trouble. I will work
    on them separately in a subsequent change.
    
    Bug: angleproject:2443
    Bug: angleproject:2455
    
    Change-Id: Ic93420c7b525b424e9641f78265e264ddb163ab1
    Reviewed-on: https://chromium-review.googlesource.com/996035
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 5fec7ab262e4c12e724e56f95a1a938c1412caa4
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Apr 4 11:58:33 2018 +0300

    Identify functions by unique id in BuiltInFunctionEmulator
    
    Now that unique ids of all builtins are compile-time constants, we can
    use them to look up functions in BuiltInFunctionEmulator. This is
    simpler than using a custom struct with the name and parameters for
    identifying functions.
    
    This requires that we store a reference to a TFunction in those
    TIntermUnary nodes that were created based on a function.
    
    This decreases shader_translator binary size by about 6 KB on Windows.
    
    BUG=angleproject:2267
    BUG=chromium:823856
    TEST=angle_unittests
    
    Change-Id: Idd5a00c772c6f26dd36fdbbfbe161d22ab27c2fe
    Reviewed-on: https://chromium-review.googlesource.com/995372
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit f3614370a8e3ba19fac29bf4dde4354f27c8d933
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Mar 31 14:19:14 2018 -0400

    Vulkan: Rename StreamingBuffer to DynamicBuffer.
    
    This makes it consistent with DynamicDescriptorPool, and gives a bit
    more precise definition.
    
    Bug: angleproject:2318
    Change-Id: I8953113165ebe2d0dcfc0fc923d94280180442ce
    Reviewed-on: https://chromium-review.googlesource.com/985199
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>

commit 00af463e03efd3bf4449420889a892632915fee4
Author: Lingfeng Yang <lfy@google.com>
Date:   Mon Apr 2 12:42:24 2018 -0700

    GLES1: Add MatrixType packed enum to entry points
    
    (It's not called MatrixMode because that collides with the MatrixMode
    entry point name)
    
    BUG=angleproject:2306
    
    Change-Id: I9a192701f6248f1e7d4f202c7d1ddfcdbe1b0089
    Reviewed-on: https://chromium-review.googlesource.com/990585
    Commit-Queue: Lingfeng Yang <lfy@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit bab086a7d9faa0f39a0512214ec11a36b7ff8869
Author: U-GOOGLE\courtneygo <courtneygo@courtneygo1-w.ad.corp.google.com>
Date:   Fri Mar 30 16:08:42 2018 -0600

    Fix Tokenizer issue
    
    Updated Tokenizer running generate_parser.sh on Windows.
    Test: make
    
    Change-Id: I128a70a61907bb4ce3b0a8031667bda4197b6a2d
    Reviewed-on: https://chromium-review.googlesource.com/988802
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Courtney Goeltzenleuchter <courtneygo@google.com>

commit fd6432835bfa00290345d6abfcdc80912071a64b
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Apr 4 16:12:09 2018 +0300

    Disallow case statements nested in blocks
    
    The GLSL ES 3.00.6 spec is a bit unclear on this, but it does disallow
    case statements "inside control flow". GLSL ES 3.10 clarifies this and
    disallows any nesting of case or default labels within other
    statements.
    
    BUG=angleproject:2452
    TEST=angle_unittests
    
    Change-Id: I289bb39abb5227eab7117638af388b0a57dc5dd8
    Reviewed-on: https://chromium-review.googlesource.com/995478
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 038dd539f71141231f5fb3569295ad82028c38a3
Author: Lingfeng Yang <lfy@google.com>
Date:   Thu Mar 29 17:31:52 2018 -0700

    GLES1: glMultiTexCoord4(f|x)
    
    BUG=angleproject:2306
    
    + common validation for multitexturing units
    + clang-format
    
    Change-Id: I6eb456c273490e85fc7008e7e11d15e22dd20276
    Reviewed-on: https://chromium-review.googlesource.com/987298
    Commit-Queue: Lingfeng Yang <lfy@google.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 858c1cccf61f628c99d53031f716072e8e571fd2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Mar 31 14:19:13 2018 -0400

    Vulkan: Move image layout into helper.
    
    Now that we're using the helper everywhere, we can clean up the
    vk::Image class and move the layout tracking into ImageHelper.
    
    Bug: angleproject:2318
    Change-Id: I9636835a2a3a76f181dac629bd4182bc5815cdee
    Reviewed-on: https://chromium-review.googlesource.com/980774
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit 24a3137aa1d3df84eaf210e69e455dcbf28f176c
Author: Luc Ferron <lucferron@chromium.org>
Date:   Wed Apr 4 11:49:14 2018 -0400

    Vulkan: Follow up change to optimize number of condition checks
    
    This is a follow up of a comment on this CL:
    https://chromium-review.googlesource.com/c/angle/angle/+/985954
    
    Bug: angleproject:2442
    
    Change-Id: Id104c1437d77e6102b94351623ee8538a1d6c3d7
    Reviewed-on: https://chromium-review.googlesource.com/996012
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit 364a95571eeb2829669c1abafc93808ab67b0b8b
Author: Luc Ferron <lucferron@chromium.org>
Date:   Thu Mar 29 09:44:51 2018 -0400

    Vulkan: Implement stencil test support
    
    All the fragment_ops.depth and the fragment_ops.depth tests in dEQP are
    now working, but not the fragment_ops.depth_stencil. Still debugging
    these separately and will come up with a fix for them in another
    commit.
    
    Bug: angleproject:2443
    
    Change-Id: I84c3a22f612fb6dcf30598434f96c2100fd29f9c
    Reviewed-on: https://chromium-review.googlesource.com/993654
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit a8af3a693d66cfc50d7ac0aa53a0daee9a2262cd
Author: Luc Ferron <lucferron@chromium.org>
Date:   Thu Mar 29 14:44:24 2018 -0400

    Vulkan: Depth/stencil scissored clears
    
    - Generalize cmdClearAttachments to be able to clear
    depth/stencil/color individually.
    - The clear of the stencil part is implemented, but cant be tested
    until stencil state support is implemented in the next commit.
    
    Bug: angleproject:2427
    
    Change-Id: Ib1fc7f66b2bd232761d374e217812605d3ff9152
    Reviewed-on: https://chromium-review.googlesource.com/992874
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit 32fd63bcf52830d3bd4749369741f2508d2e6c31
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Mar 31 11:20:35 2018 -0400

    Vulkan: Use DrawCallParams in draw methods.
    
    This cleans up some of the vertex streaming logic.
    
    Bug: angleproject:2389
    Change-Id: I8ed2f8acd06bbdd97db40acac35e5692112a3efe
    Reviewed-on: https://chromium-review.googlesource.com/989257
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 0946393dfd115f5d74abfc8ad4b8ef7b4d363503
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Apr 4 05:26:59 2018 -0400

    Move Buffer Subject/Observer to front end.
    
    This makes BufferImpl into an Observer Subject. It also refactors
    the Vertex Array updates for the D3D11 backend use more of a dirty
    bit coding style.
    
    This change makes it so Buffer contents changes trigger front-end
    dirty bits from the back-end, which may be undesirable.
    
    Bug: angleproject:2389
    Change-Id: Iac8ce1171284a86851c18cd1373ddf24fcefe40b
    Reviewed-on: https://chromium-review.googlesource.com/979812
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 59c5b897ec7068e13ba876b791933b5a64ec9de9
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Apr 3 11:44:50 2018 +0300

    Validate gl_FragData and gl_FragColor access after parsing
    
    After this simply declaring both variables invariant is not treated as
    static use.
    
    This simplifies ParseContext a bit, but the effect on compiler
    performance tests seems marginal.
    
    BUG=angleproject:2450
    TEST=angle_unittests
    
    Change-Id: Ib90cb1d2bd1331542d1cd37732f24efb7833036a
    Reviewed-on: https://chromium-review.googlesource.com/992112
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit bc54342bf6da40575b1bedf5935aaf24c3f40d71
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Mar 30 10:43:19 2018 -0400

    Vulkan: Make RenderTargetVk use ImageHelper.
    
    Bug: angleproject:2318
    Change-Id: I9bc4bb7f5bcd3029a31c8570809f253cf5e4b12a
    Reviewed-on: https://chromium-review.googlesource.com/980773
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit 62059a55b846425dde98ad4ca7052d147a7c6fe5
Author: Luc Ferron <lucferron@chromium.org>
Date:   Thu Mar 29 07:01:35 2018 -0400

    Vulkan: Support for bools and bvec* uniforms
    
    - Also enables the dEQP tests for bools and bvec*
    
    Bug: angleproject:2442
    
    Change-Id: Ib9ea017008293bf407bf7e5b5b881f376f226cd0
    Reviewed-on: https://chromium-review.googlesource.com/985954
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 93edca16eacf3ef6ce524459276f2ff05600331e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Mar 30 10:43:18 2018 -0400

    Vulkan: Add an Image helper class.
    
    This class wraps a lot of the common functionality of a vk::Image.
    It keeps an associated DeviceMemory and ImageView.
    
    Eventually we can probably merge this class with  RenderTargetVk. We
    can also use it to implement the same functionality between
    Renderbuffer and Texture and abstract different storage types, like
    2D and Cube.
    
    Bug: angleproject:2318
    
    Change-Id: I39239f47b483cfb96290a15b06edd264f7f4bb34
    Reviewed-on: https://chromium-review.googlesource.com/980772
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 6bc264aee686a8b814e4be1f49e25f1443151c48
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Mar 31 15:36:05 2018 -0400

    Fix potential bad access in LinkProgram.
    
    This could happen when linking a program with missing attachments
    and shaders that have no compiled sources.
    
    Also re-enables the EGL program cache control tests, which were
    disabled due to a wrong extension name check.
    
    Bug: chromium:827158
    Change-Id: I181f878093c6e3a4acc51552ade8e7c084733a3d
    Reviewed-on: https://chromium-review.googlesource.com/989262
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 94bbed1e2387130e58b3d59d489343b291129e57
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Mar 20 14:44:53 2018 +0200

    Collect static use information during parsing
    
    We now collect metadata for variables in the symbol table. The
    metadata is stored in a map using the variable unique id as a key, so
    we can store the variables themselves as constexpr while still having
    dynamic metadata.
    
    For now we collect whether a variable is statically read or written.
    This can be used to more accurately determine whether a variable is
    statically used, but can also enable more optimizations in the future,
    such as pruning variables that are never read or folding variables
    that are never written after initialization. The collection is done
    during parsing, so that nothing is pruned from the AST before the
    static use is recorded.
    
    Static writes are flagged in ParseContext::checkCanBeLValue, as that
    function is already called for all variables that are written.
    
    Static reads are flagged whenever there's an operation that requires
    a variable to be read. This includes:
    * Unary and binary math ops
    * Comma ops
    * Ternary ops
    * Assignments
    * Returning the variable
    * Passing the variable as an in or inout argument to a function
    * Using the variable as a constructor argument
    * Using the variable as an if statement condition
    * Using the variable as a loop condition or expression
    * Using the variable as an index
    * Using the variable as a switch statement init expression
    
    In case there are statements that simply refer to a variable without
    doing operations on it, the variable is being treated as statically
    read. Examples of such statements:
    
    my_var;
    my_arr[2];
    
    These are a bit of a corner case, but it makes sense to treat them as
    static use for validation purposes.
    
    Collecting correct static use information costs us a bit of compiler
    performance, but the regression is on the order of just a few percent
    in the compiler perf tests.
    
    BUG=angleproject:2262
    TEST=angle_unittests, angle_end2end_tests
    
    Change-Id: Ib0d7add7e4a7d11bffeb2a4861eeea982c562234
    Reviewed-on: https://chromium-review.googlesource.com/977964
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 89398b6534e3598337778fe69044e8b1f46099b1
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Mar 21 17:30:50 2018 +0200

    Avoid mangled name comparisons of 3-parameter functions
    
    The hash values used for looking up built-ins now encode whether the
    mangled name contains arrays, structs or interface blocks in its
    parameters list. This is written in the most significant bit of the
    hash value.
    
    We check this bit at the start of built-in lookup and if the bit is
    set we exit early. After that we know that the lookup name doesn't
    contain array, struct or interface block parameters.
    
    When we find a hash that matches a hash of a built-in function, we now
    know 3 things:
    1) the length of the mangled name matches
    2) the open parentheses in the mangled name matches
    3) the lookup doesn't contain array, struct or block parameters.
    
    Additionally, we have an if statement checking whether the function
    name matches. Collisions are only possible with functions that
    1) have the same name
    2) have the same number of parameters
    
    With these preconditions we can check beforehand whether collisions
    are possible for 3-parameter functions. If there are no collisions, we
    don't need to compare the full mangled name. This is similar to what
    was already being done with functions that had 0 to 2 parameters.
    
    This reduces shader_translator binary size by around 4 KB on Windows.
    
    Besides increased complexity, the tradeoff is that an exhaustive
    search of hash values for possible 3-parameter combinations is costly,
    so the gen_builtin_functions.py code generation script now takes
    around one minute to run on a high-end workstation. Due to this, the
    script now exits early if it detects it has already been run with the
    same inputs based on a hash value stored in
    builtin_symbols_hash_autogen.txt.
    
    BUG=angleproject:2267
    BUG=chromium:823856
    TEST=angle_unittests
    
    Change-Id: I3ff8c6eb85b90d3c4971ac8d73ee171a07a7e55f
    Reviewed-on: https://chromium-review.googlesource.com/973372
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 5d232d53bb31b5a9408f2c3f20ddd41acc630951
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Sun Apr 1 19:57:19 2018 -0400

    Fix conditions for updating element array buffer.
    
    It was skipping elementArrayBufferOverride->onReadResource()
    if mCurrentElementArrayBufferResource was null.
    
    BUG=angleproject:2389
    
    Change-Id: If33a11d35225daf572796abc8c18f6d6df758b48
    Reviewed-on: https://chromium-review.googlesource.com/989408
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>

commit 30b604d8d17480bd519fb97ec817db1e4ca90f0e
Author: James Darpinian <jdarpinian@chromium.org>
Date:   Mon Mar 12 17:26:57 2018 -0700

    Check that transform feedback will not overflow its buffers.
    
    Also fix the check for uniform buffer size to use the actual buffer
    size instead of the size of the bound range.
    
    Bug: 820639
    Change-Id: Iaa2a617ee7ce5ce7cfabbf64bd1d6f8c82c46b65
    Reviewed-on: https://chromium-review.googlesource.com/965627
    Commit-Queue: James Darpinian <jdarpinian@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 5a7e61bbda82122cab74d1a5b80d578c1980b493
Author: Lingfeng Yang <lfy@google.com>
Date:   Thu Mar 29 16:50:32 2018 -0700

    GLES1: glNormal3(f|x)
    
    BUG=angleproject:2306
    
    Change-Id: I42834078b14aaa20c4d4e6b67c097c810f5a17a3
    Reviewed-on: https://chromium-review.googlesource.com/987297
    Commit-Queue: Lingfeng Yang <lfy@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d104918fd531d865f6a8a680fbce77f78f935770
Author: Brandon Jones <brandon1.jones@intel.com>
Date:   Wed Mar 28 10:02:20 2018 -0700

    Refactor ANGLE Extensions Validation
    
    Refactors ANGLE Extensions Validation functions into a common format for
    future autogeneration. Any writes to output parameters that occurred
    within the ANGLE entry point have been moved into the corresponding
    validation function.
    
    Bug:angleproject:2263
    Change-Id: I7a678310ad481c1379596a493fcb0b0383fcf3b8
    Reviewed-on: https://chromium-review.googlesource.com/985244
    Commit-Queue: Brandon1 Jones <brandon1.jones@intel.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit b33972d4a423f1e891ce7c882b52a1b095fd4d12
Author: Nico Weber <thakis@chromium.org>
Date:   Fri Mar 30 07:57:13 2018 -0400

    Fix MSan report in HandleAllocatorTest.Reallocation
    
    [ RUN      ] HandleAllocatorTest.Reallocation
    ==30439==WARNING: MemorySanitizer: use-of-uninitialized-value
        #0 0x1a11ef5 in gl::HandleAllocator::allocate() third_party/angle/src/libANGLE/HandleAllocator.cpp:83:9
        #1 0x6643eb in (anonymous namespace)::HandleAllocatorTest_Reallocation_Test::TestBody() third_party/angle/src/libANGLE/HandleAllocator_unittest.cpp:75:42
    
    Looks like a true positive, one of the ctors wasn't initializing a
    field.
    
    Change-Id: Id8a93fe6c9a6f1f01249235630981f4f0ac4a782
    Reviewed-on: https://chromium-review.googlesource.com/987474
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit b1de5a7e633ec9fa1ef8e8778def5069fe248c46
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Mar 28 14:07:57 2018 +0300

    Prevent stack overflow due to recursive swizzle of an l-value
    
    Long chains of recursive swizzling could previously cause a stack
    overflow in checkCanBeLValue. Fold recursive swizzling when it is
    parsed to prevent this.
    
    BUG=angleproject:2439
    TEST=angle_unittests
    
    Change-Id: I83b4c27442185709f6762d5ec23b93244010da05
    Reviewed-on: https://chromium-review.googlesource.com/983593
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit beafe1a82ad565e1a6ccb974957e86e11305cee1
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Mar 29 18:23:50 2018 -0400

    Skip ComputeShaderTest.groupMemoryBarrierAndBarrierTest on NVIDIA D3D11
    
    BUG=angleproject:2280
    
    Change-Id: If2469e037b197b5e54f8fadce7a5094c5d3159a2
    Reviewed-on: https://chromium-review.googlesource.com/987015
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 5cf4d06cd4604efaec242203b2b327e6daa607ee
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Mar 29 13:33:18 2018 -0400

    Further reduce number of uniforms in UniformsBenchmark.Run/gles_matrix
    
    Because Perf bots have Android K with worse driver than GPU.FYI Android L
    
    BUG=angleproject:2431
    
    Change-Id: I9b7a7d34f64a9832c57f9d26573b7c63594e1773
    Reviewed-on: https://chromium-review.googlesource.com/986653
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit a43994c9dd3a46220acfea855cad240960b9e98c
Author: Lingfeng Yang <lfy@google.com>
Date:   Thu Mar 29 07:21:41 2018 -0700

    GLES1: glColor4(f|ub|x)
    
    BUG=angleproject:2306
    
    Change-Id: I4a57732d4c470c821a3847a7ee012cf3ccbba197
    Reviewed-on: https://chromium-review.googlesource.com/986454
    Commit-Queue: Lingfeng Yang <lfy@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 489243fba448137a9bb321b384de13ebbe78223f
Author: Luc Ferron <lucferron@chromium.org>
Date:   Wed Mar 28 16:55:28 2018 -0400

    Vulkan: Add support for ivec* for uniforms
    
    - This also enables 93 dEQP tests to validate these.
    
    Bug: angleproject:2441
    
    Change-Id: I1e0a749dde309788d7921e369cb35881c12c9a33
    Reviewed-on: https://chromium-review.googlesource.com/985095
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 2371acad03b42cf432d48bc80a64497d688cef7b
Author: Luc Ferron <lucferron@chromium.org>
Date:   Tue Mar 27 16:03:03 2018 -0400

    Vulkan: Support for uniform arrays
    
    - Enable dEQP tests for uniform arrays
    - Fix the shader translator to support arrays
    - Fix for finding the uniforms location
    - Support get/set of uniform array values
    
    Bug: angleproject:2416
    
    Change-Id: I7d0e9c602840ffb915f8ea3ba5d832d03bd74985
    Reviewed-on: https://chromium-review.googlesource.com/984599
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 4733585dfb3b3c60f9c669acd613ee5bd0a29617
Author: Xinghua Cao <xinghua.cao@intel.com>
Date:   Mon Feb 12 15:41:55 2018 +0800

    ES31_GLSL: support invocation and memory control functions
    
    Implement shader invocation control functions and shader memory
    control functions on D3D backend.
    
    BUG=angleproject:2280
    TEST=angle_end2end_tests.ComputeShaderTest.ShaderInvocationAndMemoryControl
    
    Change-Id: I836c3abde35f19dd40a68cf82ae7c5417c551ab4
    Reviewed-on: https://chromium-review.googlesource.com/911986
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 96310cdad3174fe81c05d53de3d1186cbc82e768
Author: Lingfeng Yang <lfy@google.com>
Date:   Wed Mar 28 11:56:28 2018 -0700

    GLES1: glClientActiveTexture
    
    + adds query for GL_MAX_TEXTURE_UNITS
    
    BUG=angleproject:2306
    
    Change-Id: Ie89fa6a067551170856bf0f7e6d7b4452b3da132
    Reviewed-on: https://chromium-review.googlesource.com/984894
    Commit-Queue: Lingfeng Yang <lfy@google.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit a3b220f36f519870e0b4895df21cf4586bd1f2b5
Author: Tobin Ehlis <tobine@google.com>
Date:   Tue Mar 6 16:22:13 2018 -0700

    Vulkan: Adding null driver as device option
    
    Bug: angleproject:2159
    
    Plumbing to allow VK Mock ICD to be selected as the Vulkan driver.
    
    Adding new ANGLE env var "ANGLE_VK_ICD_JSON" to point to json file
    of mock ICD in angle and use this to override Vk loader ICD search
    path.
    
    At Vulkan renderer initialization time, enable the Mock ICD if device
    is EGL_PLATFORM_ANGLE_DEVICE_TYPE_NULL_ANGLE.
    
    Default physicalDevice is still the first detected device.
    If Mock ICD is requested but not available, fall back to the first
    device that was detected.
    
    Added a VULKAN_NULL() testing config that uses Vulkan as renderer but
    NULL as device. Turned on Vulkan NULL testing for DrawCallPerf.
    
    Change-Id: I04e15c14e998448f8c98f9fd72e796389f297993
    Reviewed-on: https://chromium-review.googlesource.com/961494
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 8a02d3b57b304c8af703518007f40675e3b06dc6
Author: Luc Ferron <lucferron@chromium.org>
Date:   Tue Mar 27 12:39:16 2018 -0400

    Vulkan: Enable depth render state dEQP tests
    
    Bug: angleproject:2430
    
    Change-Id: Ia6fec6b622c7e235d041ec4e383a4ca2f1f191a3
    Reviewed-on: https://chromium-review.googlesource.com/984898
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit 0af5b86aeec7a649866ea083d9e574dc7fb49a20
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Tue Mar 27 20:19:33 2018 -0400

    Return gl::Error from VertexArray::syncState().
    
    No functional change.
    When we add vertex data format conversion to Vulkan we will need to be
    able to return an error from VertexArray::syncState().
    
    BUG=angleproject:2405
    
    Change-Id: I4b537946ecbb6593280b6510c5cd8d8e3c65e8dd
    Reviewed-on: https://chromium-review.googlesource.com/982897
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>

commit 3b67874568141f0039d9123d36527b5ac3bad45e
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Mar 21 12:59:19 2018 +0200

    Use a specialized hash function for mangled names
    
    The hash values used for looking up built-ins now encode the string
    length and the location of parentheses as six-bit values, so that we
    don't need to check for these if the hash matches.
    
    This decreases shader_translator binary size on Windows by around 10
    KB.
    
    BUG=angleproject:2267
    BUG=chromium:823856
    TEST=angle_unittests
    
    Change-Id: If8c28e1c8851750633509ec6273f556e06e91cd1
    Reviewed-on: https://chromium-review.googlesource.com/973243
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 2231b4e0f6a267c198f25426e12aab34a0faf229
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Mar 26 16:44:59 2018 -0400

    Add a FixedVector class to have "variable" size vectors on the stack.
    
    Wraps a std::array and a size parameter to give the std::vector interface
    without making allocations.
    
    BUG=angleproject:2435
    
    Change-Id: I7df0be1310446a2f163766149bf631a8692be9ad
    Reviewed-on: https://chromium-review.googlesource.com/981267
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 13e31bb030ec34ef8be9a24ace8e8d3079ebb8d8
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Mar 27 15:03:36 2018 -0400

    GL: Check framebuffer completeness before running blit shaders.
    
    Cube map destination textures may not be complete until all faces have been
    initialized.
    
    BUG=693090
    
    Change-Id: I19816c9def3b9663491397cded5d24ca808a3f78
    Reviewed-on: https://chromium-review.googlesource.com/982393
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 7b7d2e6a4bcc2a9d63ace278f019f681a5651646
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Mar 23 16:37:36 2018 +0200

    Remove createAssign: only called once
    
    This will make it easier to add tracking of static reads.
    
    BUG=angleproject:2262
    TEST=angle_unittests
    
    Change-Id: I23e0587c022c45ac62434a2a0d8170e8978d1c24
    Reviewed-on: https://chromium-review.googlesource.com/983916
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 78c5eb2ab377cb40ed10829bdbc6cce372c82027
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Mar 28 11:40:19 2018 -0400

    Skip RobustResourceInitTestES3.MaskedStencilClearBuffer on Intel Mac.
    
    BUG=angleproject:2408
    
    Change-Id: I5994b5ade3c533743c9fc52915aa1d5faca3dd8f
    Reviewed-on: https://chromium-review.googlesource.com/984292
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit c7575da546a49152db47811416c62029f7c266ab
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Tue Mar 27 21:19:42 2018 -0400

    Skip ReuploadingClearsTexture test on Mac.
    
    BUG=chromium:826576
    
    Change-Id: If241e57480efe3aabfb30a2be453f05d45367e4a
    Reviewed-on: https://chromium-review.googlesource.com/982910
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit e858cb1db3c266f67adf998dc14bb17eccec084b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Mar 27 09:44:32 2018 -0400

    Split VAO dirty bits to speed iteration.
    
    Using > 64 bits (we had over 90) would use a much slower dirty bit
    iteration. Speed this up by splitting the dirty bits into two levels.
    The first top level only has a single dirty bit per attrib, per
    binding, and one bit for the element array buffer. The next level has
    separate dirty bits for attribs and bindings.
    
    The D3D11 back-end doesn't actually care about individual dirty bits
    of attribs or bindings, since it resets entire attributes at a time,
    but the GL back-end only refreshes the necessary info.
    
    Improves the score of a simple state change microbenchmark by 15% on
    the D3D11 and GL back-ends with a no-op driver. Real-world impact will
    be smaller.
    
    Also includes a test suppression for an NVIDIA bug that surfaced when
    we changed the order of that GL commands were sent to the driver.
    
    BUG=angleproject:2389
    
    Change-Id: If8d5e5eb0b27e2a77e20535e33626183d372d311
    Reviewed-on: https://chromium-review.googlesource.com/556799
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a0ccea1e8d1f2b7620db08c7cbbac7d01cfc38d6
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Tue Mar 27 13:15:21 2018 -0600

    Update license and readme for use downstream
    
    Bug:angleproject:2438
    Bug:angleproject:2437
    Change-Id: I1b41882b42e8bc30df8e8ae47e0af67ec266f7d5
    Reviewed-on: https://chromium-review.googlesource.com/982382
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit feb87852aac35fe2e8c7edc851d8ddceb1063153
Author: Luc Ferron <lucferron@chromium.org>
Date:   Thu Mar 22 13:41:25 2018 -0400

    dEQP: Enable depth/stencil backbuffer.
    
    This will make all the dEQP tests no longer return "not supported"
    when trying to do any depth/stencil work.
    
    With this comes a bunch of new tests suppressions to be able to proceed
    forward.
    
    Bug: angleproject:2425
    Bug: angleproject:2426
    Bug: angleproject:2427
    Bug: angleproject:2428
    Bug: angleproject:2429
    
    Change-Id: I923026bb29c4ed1f4586b89176eea848fd2ceb71
    Reviewed-on: https://chromium-review.googlesource.com/976339
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit b1d81fe2c5590d592a0ebceceaf8e61606dbd746
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Tue Mar 27 12:37:27 2018 -0400

    Vulkan: flush StreamingBuffer before unmap.
    
    Unmap does not flush, so we need to do it explicitly.
    
    BUG=angleproject:2436
    
    Change-Id: Id102825b1329d97965f07b97c227214fa7524a0e
    Reviewed-on: https://chromium-review.googlesource.com/980927
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit 6ea1b4162d665c233bb98e1d3dbc1c2a492b2116
Author: Luc Ferron <lucferron@chromium.org>
Date:   Wed Mar 21 16:13:01 2018 -0400

    Vulkan: Reallocate only the right uniform descriptor set when needed
    
    Bug: angleproject:2421
    
    Change-Id: Ibdd8beee8103062a566b8caa23cdd9b8ac35d3a8
    Reviewed-on: https://chromium-review.googlesource.com/974105
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 13b708f2ca0607b1334c88ef3f77d89b7f8acbb4
Author: Lingfeng Yang <lfy@google.com>
Date:   Wed Mar 21 12:14:10 2018 -0700

    GLES1: glAlphaFunc
    
    BUG=angleproject:2306
    
    Change-Id: I0bf229d3ab8a4a1217c12b434dcd8fa67d7cbadc
    Reviewed-on: https://chromium-review.googlesource.com/973897
    Commit-Queue: Lingfeng Yang <lfy@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 7a06ac1bbe34785c3a0bdfff824a3e360828ca9d
Author: Luc Ferron <lucferron@chromium.org>
Date:   Thu Mar 15 10:17:04 2018 -0400

    Vulkan: Dynamic update of uniforms
    
    - This change enables us to update uniforms indefintely using
    VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC descriptor types.
    
    - Enables 219 new dEQP tests in the uniform_api namespace.
    
    - Creates a new white box test to validate new buffer allocation.
    
    Bug: angleproject:2392
    
    Change-Id: I8146e6104a6b7727f63265a4671577d251a8fca8
    Reviewed-on: https://chromium-review.googlesource.com/965929
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit ba939718dd0604001df8052aa93e87bfd64302e7
Author: Luc Ferron <lucferron@chromium.org>
Date:   Tue Mar 27 15:33:42 2018 +0000

    Revert "Vulkan: Enable depth and stencil dEQP tests"
    
    This reverts commit 15c7d0a6493a35ea3bb244654be4ab2faabc7599.
    
    Reason for revert: This change mixed with enabling the depth/stencil backbuffer here: https://chromium-review.googlesource.com/c/angle/angle/+/976339 causes the tests to fail. I will revert these for now and put it back in a new CL once I find the fix instead.
    
    Original change's description:
    > Vulkan: Enable depth and stencil dEQP tests
    >
    > This enables these tests for Vulkan:
    > dEQP-GLES2.functional.fragment_ops.depth.*
    > dEQP-GLES2.functional.fragment_ops.stencil.*
    >
    > Bug: angleproject:2430
    >
    > Change-Id: I5c58821ac2f84ce9ae5a92b3024853e5b85ad41e
    > Reviewed-on: https://chromium-review.googlesource.com/981999
    > Commit-Queue: Luc Ferron <lucferron@chromium.org>
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    
    TBR=geofflang@chromium.org,jmadill@chromium.org,lucferron@chromium.org
    
    Change-Id: Ifeebd078c1cc70d90ea1923257777f711c13593e
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:2430
    Reviewed-on: https://chromium-review.googlesource.com/982132
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit d7518622b6e37ec0ec9fccdbad3488d39eec5aa6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Mar 27 09:44:31 2018 -0400

    Buffer11: Refactor Subject/Observer pattern.
    
    Instead of having a direct/static observer distinction, add two
    messages for 'Contents Changed' and 'Storage Changed'. This makes
    Buffer11 itself the subject with two different message handling
    cases in the onSubjectStateChange methods.
    
    Bug: angleproject:2389
    
    Change-Id: I645cd4b7cc7ce51cb7f48a01c7fc72939cbe89fe
    Reviewed-on: https://chromium-review.googlesource.com/957940
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit e403eef9950fee59f29747a8c088f27d1d80e3be
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Mar 27 09:50:00 2018 -0400

    D3D11: Add primitive type dirty bits.
    
    Bug: angleproject:1155
    Bug: angleproject:2389
    Change-Id: If410bc9e2ea97385def5d6a8a95d6bf6ea4c6a28
    Reviewed-on: https://chromium-review.googlesource.com/948797
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 3988f34ec0f5a89fa1aa5705ea07ed3aec0aa841
Author: Jiajia Qin <jiajia.qin@intel.com>
Date:   Fri Mar 16 16:38:33 2018 +0800

    ES31: Add DispatchCompute perf tests
    
    BUG=angleproject:2265
    TEST=angle_perftests
    
    Change-Id: Iad93eb3e8339c8a766b25416b28102cc54d648b8
    Reviewed-on: https://chromium-review.googlesource.com/967686
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 385b3e03cc5254413663624a29ea581290716427
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Wed Mar 21 09:43:28 2018 +0800

    Use packed enums on shader types in ANGLE renderer
    
    This patch uses a packed internal enum ShaderType everywhere we
    need a shader type instead of the GLenum value of the shader type.
    
    This patch also uses program::getAttachedShader(type) everywhere
    we need to get gl::Shader from a program in ANGLE.
    
    BUG=angleproject:2169
    Change-Id: I28a7fa1cfe35622c57a486932911110688eaadec
    Reviewed-on: https://chromium-review.googlesource.com/972844
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 15c7d0a6493a35ea3bb244654be4ab2faabc7599
Author: Luc Ferron <lucferron@chromium.org>
Date:   Tue Mar 27 07:23:09 2018 -0400

    Vulkan: Enable depth and stencil dEQP tests
    
    This enables these tests for Vulkan:
    dEQP-GLES2.functional.fragment_ops.depth.*
    dEQP-GLES2.functional.fragment_ops.stencil.*
    
    Bug: angleproject:2430
    
    Change-Id: I5c58821ac2f84ce9ae5a92b3024853e5b85ad41e
    Reviewed-on: https://chromium-review.googlesource.com/981999
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 84fdc62c61609d5b9b8fe7c77ce85522837549c8
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Mon Mar 19 12:56:22 2018 +0800

    Fix a compile error when ANGLE_D3D9EX == ANGLE_DISABLED
    
    This patch fixes a compile error when we specify ANGLE_D3D9EX as
    ANGLE_DISABLED by using "UNREACHABLE()" alone instead of using it
    as a parameter in "ASSERT".
    
    BUG=angleproject:2434
    
    Change-Id: Ib995a951de31edcf49598a6720f677b5ec5bd855
    Reviewed-on: https://chromium-review.googlesource.com/967685
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 3cd48fff96c13921860bd4f311bfb5370462d047
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Oct 3 15:37:16 2017 -0400

    Implement robust resource initialization for OpenGL.
    
    BUG=angleproject:2107
    BUG=angleproject:2407
    BUG=angleproject:2408
    BUG=693090
    
    Change-Id: I6444f80f9703d6341f2ec67518050adc88f71d96
    Reviewed-on: https://chromium-review.googlesource.com/678482
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit daf120b46a9f155982e5b32b2897ae93bb4929f9
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Mar 20 14:21:10 2018 +0200

    Clean up checkCanBeLValue
    
    Clarify the code so that it will be easier to add marking statically
    written variables here.
    
    BUG=angleproject:2262
    TEST=angle_unittests
    
    Change-Id: I821bde29beb89e0f3b0f99dc187d2840f8cd0f9b
    Reviewed-on: https://chromium-review.googlesource.com/977963
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit b9f9250486abdfa1f00355daf95430838b42b662
Author: Ken Russell <kbr@chromium.org>
Date:   Sat Jan 27 19:00:26 2018 -0800

    Update stencil validation rules for WebGL
    
    Based on kbr's patch:
    https://chromium-review.googlesource.com/c/angle/angle/+/890605
    
    Implements new rules in this revised WebGL conformance test:
    https://github.com/KhronosGroup/WebGL/pull/2583
    
    BUG=chromium:806557
    
    Change-Id: I84701dd7156f0bc4a45ba68e63cb962d2d54c2e5
    Reviewed-on: https://chromium-review.googlesource.com/952567
    Commit-Queue: Kai Ninomiya <kainino@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit e79d0f86eec849c885a3b3b746a690dd6500649a
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Mar 19 11:55:14 2018 +0200

    Rely on hash to check for some mangled name matches
    
    When we are looking up a function with only a few parameters, we can
    optimize the lookup by relying on the information encoded in the hash
    value. There's often only one list of parameters with the same
    function name and mangled name length that results in a matching hash,
    so we don't actually need to compare the full mangled name. We can
    just compare
    
    1) the hash value of the mangled name
    2) the mangled name length
    3) the function name
    
    to make sure that the mangled name matches the mangled name of the
    function.
    
    This decreases the binary size since we don't need store as many
    mangled names of built-in functions. Effect on symbol lookup speed is
    marginal.
    
    BUG=angleproject:2267
    BUG=chromium:823856
    TEST=angle_unittests
    
    Change-Id: I3ef41d943209509d4e8e6ece14ebad7e2677abc6
    Reviewed-on: https://chromium-review.googlesource.com/973242
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 44861c48b97d1dc6883c88dd2c8093aa7e83a07c
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Mar 23 14:36:39 2018 +0200

    Clarify aliasing rules in CHROMIUM_bind_uniform_location
    
    The CHROMIUM_bind_uniform_location spec previously had some
    conflicting information on when uniform location aliasing was
    allowed. Now the section on uniform location aliasing makes it clear
    that aliasing locations of two statically used uniforms is an error.
    This guarantees compatibility between different compiler versions that
    may treat a different subset of uniforms as active, depending on
    optimizations. It follows the spirit of GLSL ES 3.00.6 spec section
    12.46, that has similar rules for attributes.
    
    The implementation is fixed to correctly follow the spec. When
    flattening uniforms, static use is tracked separately from activeness.
    
    BUG=angleproject:2262
    TEST=angle_end2end_tests
    
    Change-Id: I570fd384064aec66ef0380a53fa01ac5e43eec5a
    Reviewed-on: https://chromium-review.googlesource.com/978144
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit a571f28d40342b3e509d1c2a299340b5d451b1a3
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Mar 26 11:09:37 2018 -0400

    Check result of D3D11 map operation in Blit11::copyAndConvert.
    
    BUG=825503
    
    Change-Id: I407ded1970266bc4fa975850d5700544b9f17b4b
    Reviewed-on: https://chromium-review.googlesource.com/980693
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 4d54993253d225507c180ea1f2ca750a72516af2
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Mar 22 17:32:10 2018 +0200

    Move ReplaceVariable to tree_util directory
    
    This was overlooked earlier when most AST transform related utilities
    were moved to tree_util.
    
    BUG=angleproject:2402
    TEST=angle_unittests
    
    Change-Id: I17d3716a434f80a9316156ca019ce49aada5c249
    Reviewed-on: https://chromium-review.googlesource.com/975881
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 822a84b1959f9c1bb615ad4dff2569c58fb3b225
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Mar 23 12:30:18 2018 +0200

    Get builtin symbol info from the node in CollectVariables
    
    Since we now have a TVariable pointer in TIntermSymbol, we don't need
    to look up variables from the symbol table.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: Id09610ccec5898eb56dcc5e9112e173edcf7ac97
    Reviewed-on: https://chromium-review.googlesource.com/977828
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 26ed93d7db23c2f396bc4de0e7cf8c9db3c2f3c6
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Fri Mar 23 20:06:17 2018 -0400

    Reduce number of uniforms in UniformsBenchmark perf test
    
    To fit Nexus 5 limit.
    
    BUG=angleproject:2431
    
    Change-Id: I2184a28c19ecadb8d7f2e8ba682fc6c4e382210e
    Reviewed-on: https://chromium-review.googlesource.com/979154
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit ad4f9642a655bd24205ef156b9fa511ee34f87fd
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Feb 8 17:58:46 2018 -0500

    Allow ANGLE libs to have arbitrary suffix.
    
    In order to work with tools which intercept EGL and GLES calls.
    
    BUG=angleproject:2343
    
    Change-Id: I63aec7a56648dc4b3e7f4aff7f7d1608709ba118
    Reviewed-on: https://chromium-review.googlesource.com/920652
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit e6a40d07d2721bb56862d84cd85842db1ad95866
Author: Luc Ferron <lucferron@chromium.org>
Date:   Thu Mar 22 10:30:57 2018 -0400

    Vulkan: Depth / stencil attachments bug fixes
    
    I found a couple of bugs trying to enable polygon offset render states.
    
    This is just pre-work to get to a better state.
    
    Bug:angleproject:2353
    
    Change-Id: If6af949a09af1340e870afb627ae427d01c6e77c
    Reviewed-on: https://chromium-review.googlesource.com/975631
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 9fb23f619f3bebebd717dbbe3bcfbe7a03629363
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Mar 23 14:16:28 2018 +0200

    Increment ANGLE_SH_VERSION
    
    This was missing from change:
    "ShaderVariable: separate fields for staticUse and active"
    
    BUG=angleproject:2262
    
    Change-Id: I521e9f9a536756d7d8163220c1d56885308272a1
    Reviewed-on: https://chromium-review.googlesource.com/978203
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 49cef9a5218143d4d34d5c5efd159f870eea4ef6
Author: Luc Ferron <lucferron@chromium.org>
Date:   Wed Mar 21 17:28:53 2018 -0400

    Vulkan: Support of A8 textures
    
    Bug:angleproject:2358
    
    Change-Id: I56a86de7cc21dee00a95f1d054d2940262797ca7
    Reviewed-on: https://chromium-review.googlesource.com/974305
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit d779f6a9852498a7ba00690da35134aec4520fb5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Mar 23 01:44:33 2018 -0400

    D3D11: Refactor draw call functions.
    
    This allow for better code reuse for the Indirect draw calls.
    It also cleans up the InputLayoutCache to be only responsible
    for caching input layouts, and moves the logic for maintaining
    state into StateManager11.
    
    Bug: angleproject:2389
    Change-Id: I84aae164bf1b94a394743cf58650adfdcfc2c17a
    Reviewed-on: https://chromium-review.googlesource.com/948796
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit a07b4213d7fa6d5db1c13860d4131ea1e5b8c46c
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Mar 22 16:13:13 2018 +0200

    Move AST transformations to a subdirectory
    
    Move AST transformations to compiler/translator/tree_ops.
    
    BUG=angleproject:2409
    TEST=angle_unittests
    
    Change-Id: I9c620e98707d22d005da6192fe7d1b4e8030aadd
    Reviewed-on: https://chromium-review.googlesource.com/975550
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 4ba4a82b9f45e90ca0b91902970e43703d2b678b
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Mar 19 11:28:48 2018 +0200

    Only refer to built-in function mangled names in lookup
    
    TFunction entries for built-ins don't need to store mangled names.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: Ia88e8bfa5357719c98d725dc3d00885dd59c9f59
    Reviewed-on: https://chromium-review.googlesource.com/973241
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 068e70308fd7d5d2d1623dc288c51339689115f1
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Mar 22 16:42:50 2018 -0400

    Make infra.cq to point to new Android configs.
    
    BUG=chromium:759301
    BUG=chromium:731958
    
    Change-Id: I1b714f0bc1b92bbcbe202cae56fa6999054cc878
    Reviewed-on: https://chromium-review.googlesource.com/976552
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 107c724765a90f4d73cfa323135087949c00b28b
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Mar 20 15:45:35 2018 +0200

    ShaderVariable: separate fields for staticUse and active
    
    Thus far the compiler has used the "staticUse" flag to mark variables
    that should have rather been marked "active", meaning that the code
    may actually execute in a way that accesses the variable. There's a
    clear definition for this use of the term "active" in the GLES 3.0.5
    spec, section 2.12.6, and in GLES 3.1 section 7.3.1.
    
    Having separate fields for recording static use and "activeness" of a
    variable is the first step to fixing this.
    
    According to the spec, usually only active resources should be
    considered when checking use against max limits. Also, only active
    uniforms get assigned a location. libANGLE code now correctly checks
    the active flag rather than the static use flag in these cases.
    
    The static use field still mirrors the active field for now, since
    some code in Chromium also needs to be fixed to use the active field
    correctly before the two can diverge.
    
    After Chromium is fixed, we can fix ANGLE so that static use
    information is recorded earlier during compilation and will accurately
    reflect whether variables are statically used. Currently the compiler
    only records variables once some static use may already have been
    pruned from the AST.
    
    BUG=angleproject:2262
    TEST=angle_unittests, angle_end2end_tests
    
    Change-Id: I025bb71361246ae00c911a1f8b66ec045f665f29
    Reviewed-on: https://chromium-review.googlesource.com/970962
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit c26214de3f86f9baddcb2f4b97a3dcc5c16498f1
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Mar 16 10:43:11 2018 +0200

    Move AST utilities to a subdirectory
    
    Move AST related utilities to compiler/translator/tree_util.
    
    BUG=angleproject:2409
    TEST=angle_unittests
    
    Change-Id: I7567c2f6f2710292029263257c7ac26e2a144ac8
    Reviewed-on: https://chromium-review.googlesource.com/966032
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 8b92c53b8a8c4f9e960f0ae4639e41c05a374136
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Mar 22 01:05:02 2018 -0400

    Skip EnableQueryExtensions test on Win/AMD/GL.
    
    This test seems to be causing device lost.
    
    Bug: angleproject:2423
    Change-Id: If759aa6478df89d1cf5a5fd199a6065300c4c8ec
    Reviewed-on: https://chromium-review.googlesource.com/974888
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 3395c8b9633348e5d8d83ffc77a69c3dfd698086
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Mar 21 15:56:59 2018 -0400

    Make infra.cq to point to new Mac configs.
    
    Change-Id: Id29e58d45665feffda2b1f5da6631ae22bdce744
    BUG-chromium:815092
    Reviewed-on: https://chromium-review.googlesource.com/974061
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 9acf9120339b658728dad4ee68378765fdc857f2
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Wed Mar 21 19:01:25 2018 +0000

    Revert "Skip TransformFeedbackLifetimeTest.DeletedBuffer on Win Intel GL"
    
    This reverts commit 3a46574594305af25676952825fcf2cdb849d680.
    
    Reason for revert: Win10 driver version was fixed
    
    Original change's description:
    > Skip TransformFeedbackLifetimeTest.DeletedBuffer on Win Intel GL
    >
    > Due to wrong driver version on the bots.
    >
    > BUG=angleproject:2398
    >
    > Change-Id: Ia6b69a24bfb0ded8848a791db6b540576ef2f57c
    > Reviewed-on: https://chromium-review.googlesource.com/957207
    > Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    > Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    
    TBR=ynovikov@chromium.org,jmadill@chromium.org
    
    # Not skipping CQ checks because original CL landed > 1 day ago.
    
    Bug: angleproject:2398
    Change-Id: I5c147a46ad04570d25d04ff6218fde6a72a21ea6
    Reviewed-on: https://chromium-review.googlesource.com/973642
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 60284223990073913542c78db20e6fa5b89d2f75
Author: Luc Ferron <lucferron@chromium.org>
Date:   Tue Mar 20 16:01:44 2018 -0400

    Vulkan: Support of npot textures
    
    The bug was with the readPixels not using the rowPitch, and not really
    with the support of npot.
    
    Bug:angleproject:2413
    
    Change-Id: I09c0d87768bc29d3beb452ae83996cd4d2b4a600
    Reviewed-on: https://chromium-review.googlesource.com/971830
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit 40b1c77070fd599823aec3f82b5e1cfe601757f7
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Mar 19 10:29:37 2018 +0200

    Fix asserts related to writing nameless parameters in HLSL
    
    We rely on TSymbol::name() to generate names also for nameless
    parameters. Fix asserts to reflect this.
    
    BUG=chromium:823041
    TEST=angle_unittests
    
    Change-Id: Ie9b8253a150e79965bf85d8a7f36643ada6c54cc
    Reviewed-on: https://chromium-review.googlesource.com/968242
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit d2fa07e453c18e148e44c5e9974c1fe0982669f2
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Thu Mar 15 09:20:25 2018 +0800

    ES31: Support queries on primitives generated by geometry shader
    
    This patch implements a new query target GL_PRIMITIVES_GENERATED_EXT
    for querying the number of primitives generated by geometry shader.
    
    BUG=angleproject:1941
    TEST=dEQP-GLES31.functional.geometry_shading.query.primitives_generated*
    
    Change-Id: Icdc0d2d8be4ff4d589972eada2fa1f917d7bae4c
    Reviewed-on: https://chromium-review.googlesource.com/963793
    Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 8574357f1798d2c6d1687df4c8b49e316f79f2fb
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Mar 19 14:45:53 2018 +0200

    Share parameter arrays more between built-in functions
    
    The parameters of some built-ins are a subarray of the parameters of
    another built-in. In this kind of case they can point to the same
    parameters array, and just use a different parameter count. This
    shaves a few kilobytes from the binary size.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: Id166340b4bf5be966bf8c62ce6cd88e5409f647a
    Reviewed-on: https://chromium-review.googlesource.com/968601
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 115b2c4a2fc647de747814b26a840e25742f81d6
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Mar 15 17:46:29 2018 +0200

    Remove desktop GLSL builtins from symbol lookups
    
    Desktop GLSL builtins can be accessed through functions in
    BuiltIn_autogen.h. They don't need to be included in symbol table
    lookups.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: I8ba188a0d2584353e34159c2732c9e2bd420c168
    Reviewed-on: https://chromium-review.googlesource.com/964447
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit b2c60b1a195049ede3f3d28a81cb1ff35929f88b
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Tue Mar 20 21:24:46 2018 -0400

    cq.cfg: equivalent_to to 100% for Android tryservers.
    
    This is moving all ANGLE Android tryservers to run on LUCI only.
    
    BUG=chromium:731958
    BUG=chromium:759301
    
    Change-Id: I302338b462f51c260afafc69aefff7bfdd89e87a
    Reviewed-on: https://chromium-review.googlesource.com/972610
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 40a945f293e2cc1a6ed130777c973c5cbcde1059
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Mar 1 17:37:43 2018 -0500

    Rename vulkan_loader to libvulkan
    
    Also add a build argument to build it as a shared library.
    
    BUG=angleproject:2343
    
    Change-Id: Ia590632b94d71b10d3ee64974fa4f5b4f00c3a70
    Reviewed-on: https://chromium-review.googlesource.com/954403
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 427071ea307aa83eb79f941551a6e7fdf8b02d5b
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Mon Mar 19 09:21:37 2018 +0800

    ES31: Add link validation on geometry shader interface block limits
    
    This patch adds link validation on the maximum number of active
    uniform blocks and shader storage blocks defined in the geometry
    shader.
    
    BUG=angleproject:1941
    TEST=angle_end2end_tests
    
    Change-Id: Ieffc234981a3f32a569392786e8fa1c6623a7a23
    Reviewed-on: https://chromium-review.googlesource.com/966491
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit a0648780be21a9ee3008a9b518d4d5a5d940ec7f
Author: Lingfeng Yang <lfy@google.com>
Date:   Mon Mar 12 14:45:25 2018 -0700

    GLES1: Revise entry points
    
    - Move the entry points common to GLES1/2 to GLES2 since GLES2 is the
    primary use case and we want to isolate the GLES1-only bits.
    - Update entry points with all the wanted extensions for Android.
    - Auto-generate GLES1-specific entry points and use them as a macro in
    Context.h.
    - Move all GLES1-specific renderer implementations to ContextGLES1.cpp
    
    + Fix getting pointer params in generate_entry_points.py
    
    BUG=angleproject:2306
    
    Change-Id: If32bfd2b63657acecaec6adb10cabf39f06c4832
    Reviewed-on: https://chromium-review.googlesource.com/959630
    Reviewed-by: Lingfeng Yang <lfy@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Lingfeng Yang <lfy@google.com>

commit d429ac569e9772c25b16c09d6b90228064adf63b
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Mar 20 13:22:12 2018 -0400

    cq.cfg: equivalent_to to 100% for Mac tryservers.
    
    This is moving all ANGLE Mac tryservers to run on LUCI only.
    
    BUG=chromium:815092
    
    Change-Id: I6d06fd881db9eb139dfc16c058d67396b321c183
    Reviewed-on: https://chromium-review.googlesource.com/971342
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit b391ec40837c3e2773b43a4a0687b3c6d5e8ca36
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Mar 12 17:04:59 2018 +0200

    Generate code for looking up built-ins
    
    Instead of storing built-ins in a std::unordered_map, we now generate
    a series of switch statements using the hash value of the look-up
    string. This works similarly to earlier implementation of looking up
    unmangled built-ins.
    
    Those built-ins that need to be initialized at run-time are stored as
    member variables of TSymbolTable.
    
    This increases compiler init performance significantly, as well as
    increasing compiler perf test scores around 1-2%. Binary size is
    larger than before though.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: If1dcd36f0d2b30c2ed315cdcf6e831ae9fe70c94
    Reviewed-on: https://chromium-review.googlesource.com/960031
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit aa5d883e02151601b3797643d5a6baa45b15feb1
Author: Courtney Goeltzenleuchter <courtneygo@google.com>
Date:   Fri Mar 16 09:53:03 2018 -0600

    Update KHR header to avoid compiler issue.
    
    Build was dying due to undefined symbol NDK_FPABI that was coming
    from include/KHR/khrplatform.h. Updating to latest eliminates the
    issue.
    
    Bug: angleproject:2411
    Change-Id: I1896755e65b9a3afad6332caf0dd5d9b52cf2b28
    Reviewed-on: https://chromium-review.googlesource.com/967235
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit daedf4d234eb19b73a8e35bb30c963ba7a4c3b0c
Author: Luc Ferron <lucferron@chromium.org>
Date:   Fri Mar 16 09:28:53 2018 -0400

    Vulkan: Add a DynamicDescriptorPool class.
    
    In order to manage the life of descriptor sets better and allow
    allocating descriptor sets infinitely.
    
    Bug:angleproject:2392
    
    Change-Id: Ia3c7145d85d697c04e8008e8d8839c428dd2e864
    Reviewed-on: https://chromium-review.googlesource.com/966786
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 4121799fe531561012323634f63f115515a7bcab
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Mar 15 11:15:33 2018 +0200

    Clean up switch/case pruning code
    
    There was some duplicate switch/case pruning in the code in
    PruneEmptyCases and RemoveNoOpStatementsFromTheEndOfSwitchStatements.
    Combine the functionality of both AST transformations into
    PruneEmptyCases and remove the other transformation.
    
    The tests are improved to better cover the full functionality.
    
    BUG=angleproject:2402
    TEST=angle_unittests, angle_end2end_tests --gtest_filter=*Switch*
    
    Change-Id: Ib74b6b9b455769ea15650e9653a9c53635342c49
    Reviewed-on: https://chromium-review.googlesource.com/964081
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit e3dc5dd0cb164d73725af27f2b2624657f1281d9
Author: Luc Ferron <lucferron@chromium.org>
Date:   Fri Mar 16 07:37:21 2018 -0400

    Vulkan: Add 2 features to StreamingBuffer
    
    This is prerequisite work to dynamic uniform buffer updates.
    
    1- Alignment parameter to be able to allocate by chunks of this
    alignment.
    2- Out boolean to indicate if a new VkBuffer has been assigned
    on the allocate operation.
    
    Bug:angleproject:2392
    
    Change-Id: If346e13200455febbe78045e908ae89c9dc93cdb
    Reviewed-on: https://chromium-review.googlesource.com/965612
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 3761dc7bf683610dbf61e339dc25341563649cdf
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Mar 19 08:52:06 2018 -0400

    Fix infra.cq to point to new Linux configs.
    
    Now that the migration has happened for these builders, switch
    to the new new configs.
    
    Bug: angleproject:2414
    Change-Id: Ied26f54f8a679b613f354d6510abf1f79adc6e9e
    Reviewed-on: https://chromium-review.googlesource.com/968542
    Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>

commit dfebe9b2d5d9b02d6c6d026ba5add51556c49b4d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Mar 14 10:08:12 2018 -0400

    D3D11: Add dirty bits for Transform Feedback.
    
    After testing, it seems practially impossible to trigger a
    dependent state change in a Buffer that would affect XFB.
    Any buffer change would have to happen between a pause or
    begin/end of XFB, which would trigger a state update.
    
    Bug: angleproject:1155
    Bug: angleproject:2389
    Change-Id: Ic3c1dc7cec661a826909bb5647ddabda1d6fb7fc
    Reviewed-on: https://chromium-review.googlesource.com/948795
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 2fe36e456a24f1e63b2a630324b0f8e9e63e295c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Mar 14 16:14:26 2018 -0400

    Vulkan: Enable SimpleVertexShader.
    
    Required correct depth range implementation, matrix uniforms, etc.
    
    Bug: angleproject:2403
    
    Change-Id: I84d12aae0c9eb760645d6b953461122bce7d31d1
    Reviewed-on: https://chromium-review.googlesource.com/967265
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 0e82ae9c06430b18156908251feed46d2c66e372
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Mar 16 16:46:52 2018 -0400

    Vulkan: Implement depth range correction.
    
    This is done via inserting a statement at the end of the "main"
    of the vertex shader which scales and offsets gl_Position.z.
    
    Relevant sections of the Vulkan spec are 23.4. Coordinate
    Transformations and OpenGL spec "2.12.1 Controlling the Viewport".
    
    Bug: angleproject:2406
    Change-Id: Ibf5403b3ad06a5114a7de3be0a406d696cbb7dea
    Reviewed-on: https://chromium-review.googlesource.com/964733
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 6f5444da73ae14c45a1357c3714122665f18dd92
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Mar 14 10:08:11 2018 -0400

    Remove HasIndexRange.
    
    This is superseded by the DrawCallParams class. Instead of
    storing the context, we also return an error from the index
    range resolution.
    
    Bug: angleproject:2389
    Change-Id: I9e7d58f006f51872eb3b52cbb9efbee16fff7ef6
    Reviewed-on: https://chromium-review.googlesource.com/960570
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 1c08cbb398cd7440e21f47733c9cf304bc3817c6
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Thu Mar 15 15:11:56 2018 +0800

    Clean up link validations on interface blocks
    
    This patch intends to clean up the link validations on interface
    blocks for better implementing program linking with geoemtry shader.
    1. Move three interface block validation functions to the anonymous
       namespace of Program.cpp instead of the member function of class
       Program.
    2. Use IsActiveInterfaceBlock everywhere we need to know if an
       interface block is active or not.
    
    BUG=angleproject:1941
    
    Change-Id: Ic868d015e45f04d57ba382a2b447be00952fa4fc
    Reviewed-on: https://chromium-review.googlesource.com/965395
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 5ae6ee457860f95fb813891bd2cec963c1154f0a
Author: Jiajia Qin <jiajia.qin@intel.com>
Date:   Tue Mar 6 17:39:42 2018 +0800

    ES31: Sync dirty objects for compute shader
    
    BUG=angleproject:2395
    TEST=angle_end2end_tests
    
    Change-Id: Ife833a6573c49fc453c120ebc66765064d807b16
    Reviewed-on: https://chromium-review.googlesource.com/954991
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit d4bd963ff82400e72105a541bf131d4ce2f45619
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Mar 8 16:32:44 2018 +0200

    Don't use TIntermSymbol nodes for function parameters
    
    Parameter nodes are not needed - it's simpler to just create a
    TVariable object for each parameter when the TFunction is initialized.
    
    With this change we also store only one object per each parameter type
    used in built-in functions, instead of one array of TConstParameter
    entries for each unique parameter sequence.
    
    This simplifies code and reduces binary size and compiler memory use.
    Compiler perf does not seem to be significantly affected.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: I2b82400dd594731074309f92a705e75135a4c82c
    Reviewed-on: https://chromium-review.googlesource.com/955589
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 44a73fcfbe2d20db7f9bafada736368e3312520d
Author: Brandon Jones <brandon1.jones@intel.com>
Date:   Tue Mar 6 09:32:17 2018 -0800

    Always Invalidate Vertex Attribute Translation
    
    Fixes bug where mVertexAttribsNeedsTranslation was not being set when
    vertex attribute changes internally from DIRECT to DYNAMIC. This changes
    mVertexAttribsNeedTranslation to be set during any change in vertex
    attribute type.
    
    BUG=angleproject:2381
    
    Change-Id: I91ae86624f0cb68bd8c41c3bcbdeb31fa1ccd9ed
    Reviewed-on: https://chromium-review.googlesource.com/951894
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 41918387cc52553defbfc10ed30b504e628b6fe4
Author: Luc Ferron <lucferron@chromium.org>
Date:   Tue Mar 13 11:37:54 2018 -0400

    Vulkan: Additional texture formats support. RGB565, RGBA4444, RGBA5551
    
    Bug:angleproject:2358
    
    Change-Id: I4dc19f9e4cc7b51f215b57d440a108cdf17aec24
    Reviewed-on: https://chromium-review.googlesource.com/960573
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 0b0dcbc1cffaa47fd225a9276c5cd4e48c2ca891
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Mar 14 11:33:22 2018 +0200

    Prune empty cases and switch statements
    
    The translator already prunes no-ops and unreferenced variables, and
    this may result in case statements that are followed by nothing.
    
    Since the last case statement in as switch statement must always
    contain a statement to be valid GLSL, the translator must not leave
    empty case statements in place. They're now being pruned by the
    PruneEmptyCases AST transformation. This improves on the earlier
    RemoveEmptySwitchStatements AST transformation that did address
    empty switch statements but could not remove them if they had a
    case statement inside.
    
    BUG=angleproject:2402
    TEST=angle_unittests
    
    Change-Id: Ieb9598a744078e45226d8fb7266d877f7835cf0c
    Reviewed-on: https://chromium-review.googlesource.com/962181
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 5eaddbd018eaea7fd229f9a58615d7862c234292
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Mar 14 16:16:03 2018 -0400

    Vulkan: Flag uniforms as dirty when they are updated.
    
    Currently changing uniform values will not always be seen.
    
    Bug: angleproject:2392
    Bug: angleproject:2403
    Change-Id: Ie315a64ad6094f2c23e48e901de2e03e4d98516a
    Reviewed-on: https://chromium-review.googlesource.com/963296
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>

commit 5b64aca8e8c44b7ab6912c282a86b7c4bba60d87
Author: Luc Ferron <lucferron@chromium.org>
Date:   Wed Mar 14 14:55:58 2018 -0400

    Vulkan: Support of float uniform matrixes (2,3,4).
    
    Bug:angleproject:2392
    
    Change-Id: I97efea83e604d19b1745d9db4ab8f02997a1b7fc
    Reviewed-on: https://chromium-review.googlesource.com/962666
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 0ab41fa5eb235dc0a06f63fc03e41b5593eb5263
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Mar 14 11:03:30 2018 -0400

    Add an EGL extension to disable GL extensions by default.
    
    BUG=angleproject:2404
    
    Change-Id: I2667ddc92d5c9ef6e0ef115f2fdf0c3d3643d945
    Reviewed-on: https://chromium-review.googlesource.com/962702
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 1b14d7cec16e54b4f27c50ef7b6cdb95c15911ea
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Mar 14 14:40:19 2018 -0400

    VertexArray: Add perf tests for VAO dirty bits.
    
    This simple perf test already in the source does a great job at this.
    
    Bug: angleproject:2389
    Change-Id: I94ff14e0eab1cb49a8d19725056ad8f7f008ac05
    Reviewed-on: https://chromium-review.googlesource.com/962962
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 447bfac19acfb9a6a0f212375df88792c847bb8d
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Wed Mar 14 14:23:40 2018 +0800

    ES31: Support program parameter queries on geometry shader
    
    This patch implements all the program queries on the geometry
    shader stage of a program by glGetProgramiv(), including the
    queries on geometry shader input/output primitives, invocations
    and maximum output vertices
    
    BUG=angleproject:1941
    TEST=dEQP-GLES31.functional.geometry_shading.query.geometry_linked_*
         dEQP-GLES31.functional.geometry_shading.query.geometry_shader_invocations
         dEQP-GLES31.functional.state_query.program.geometry_shader_state_get_programiv
    
    Change-Id: Ibfa630c64dba5baf52ff84ce7e0bf4c567eef8c4
    Reviewed-on: https://chromium-review.googlesource.com/961397
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 7cec33538982720ab17569812e7dfadee7d62f7f
Author: Luc Ferron <lucferron@chromium.org>
Date:   Tue Mar 13 13:29:34 2018 -0400

    Vulkan: Get/SetUniform for float / int and vec*
    
    Bug:angleproject:2392
    
    Change-Id: I2110ecde653a85a28b515dc9d8473a1b37a73eb6
    Reviewed-on: https://chromium-review.googlesource.com/962718
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit de51bf0a8344d2cd8fe2ff95f7a724f6308736b0
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Mar 14 13:28:14 2018 -0400

    cq.cfg: equivalent_to to 100% for Linux tryservers.
    
    This is moving all ANGLE Linux tryservers to run on LUCI only.
    
    BUG=chromium:815092
    
    Change-Id: I66cd2908706243a54a406fa6aa297c0d18a0127b
    Reviewed-on: https://chromium-review.googlesource.com/962930
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 74ba598f5d72c71c9802f87cbc253b46b3c449b8
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Mar 13 11:22:16 2018 -0400

    Fix cubemap robust resource init for GenerateMipmap
    
    The code in gl::Texture would only check whether the first cube map face
    is correctly initialized but not for the others.
    
    BUG=angleproject:2169
    
    Change-Id: Ib565579a4570e731da785b5c74c8d1a6511ebcd4
    Reviewed-on: https://chromium-review.googlesource.com/960571
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 97ab26fcf86906e7afaf0addd5d2542f04642886
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Mar 14 10:08:10 2018 -0400

    Move DrawCallParams to the gl front-end.
    
    Previously called DrawCallVertexParams. This params helper will be
    passed into the VertexArray state sync method so we can handle
    vertex attribute updates directly in the VertexArray implementation
    instead of deferring the updates to the draw call, where the draw
    call implementation method would have access to the draw call params.
    
    Also includes the full range of draw parameters to DrawCallParams so
    we can use it in more places.
    
    Refactoring change only, subsequent work will contain more refactoring
    and lead to code cleanups and easier dependent state updates for the
    VertexArray implementation classes.
    
    Bug: angleproject:2389
    Change-Id: Ia84f8af54ae51eca94d8fb6f5b8adc88b8d981a7
    Reviewed-on: https://chromium-review.googlesource.com/948787
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 87db7c524e70b542b8ba3c669e2bf293bb716948
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Mar 14 10:08:10 2018 -0400

    D3D11: Minor cleanup to DrawCallVertexParams.
    
    The 'firstVertexDefinitelyZero' argument didn't actually have any
    behavioural change to the code, so remove it. Also add an explicit
    call to resolve the index range, instead of doing it implicitly when
    certain values were queried.
    
    Bug: angleproject:2389
    
    Change-Id: I377c79006bfa541183fe94d0ed199fbaa1132afc
    Reviewed-on: https://chromium-review.googlesource.com/948786
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 0cec82a5c73ae8214b104ef587f35c22527a6f18
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Mar 14 09:21:07 2018 -0400

    Vulkan: Implement basic depth/stencil buffers.
    
    This implements basic depth/stencil states and clearing.
    
    This also implements "fallback" texture formats in the texture
    generation. Fallback formats are those that are chosen at runtime for
    replacements for main formats which lack driver support. They are
    different from override formats, which are always used because we
    assume there is no driver support.
    
    The Vulkan spec only asserts that one of the two of D32 or D24 has
    mandatory support. In the case of AMD, D24 is not supported fully, and
    we need the fallback format support emulation.
    
    Bug: angleproject:2357
    Change-Id: Ic86cede3c69ff9893a06b3a55c3b5d2d897fa55f
    Reviewed-on: https://chromium-review.googlesource.com/916701
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit d92d9dd18033663224a52f739882994bdb951530
Author: Luc Ferron <lucferron@chromium.org>
Date:   Wed Mar 14 08:06:44 2018 -0400

    Sort the Format_table_autogen.cpp switch case by gl format
    
    Bug:angleproject:2358
    
    Change-Id: I8e5baa53239ab0509683114645fed0e769f43764
    Reviewed-on: https://chromium-review.googlesource.com/962321
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 2bfe9f6b9366d935c0720b4416f41c8fcbf8fb31
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Mar 2 16:53:29 2018 +0200

    Use function id to group functions in ParseContext
    
    This way we can do numeric comparisons instead of string comparisons.
    
    The effect on compiler perf test scores is fairly marginal, but
    this reduces binary size by a few kilobytes, and there may be a larger
    effect on shaders calling a lot of texture functions.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: I077db97b16b16b70b7e18ee037e06d7450d08dc9
    Reviewed-on: https://chromium-review.googlesource.com/947952
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit fccebffe63cf8329b33e3696223d946508d4a790
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Thu Mar 8 13:51:02 2018 +0800

    ES31: Support adjacency draw modes for geometry shader
    
    This patch implements adjacency primitive types as new draw modes
    on OpenGL back-ends.
    
    This patch also implements validations on the compatibilities among
    draw modes and geometry shader input primitive types.
    
    BUG=angleproject:1941
    TEST=dEQP-GLES31.functional.geometry_shading.input.*
         dEQP-GLES31.functional.geometry_shading.negative.*
    
    Change-Id: I373ebfe88d7f50da3cc81adaf2d1b7f586b0932a
    Reviewed-on: https://chromium-review.googlesource.com/954715
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 690c8eb7f2d24e6870f87a730730155a2a38dec9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Mar 12 15:20:03 2018 -0400

    Framebuffer: syncState before internal format query.
    
    Since querying the internal format of an attachment might need ot look
    at the RenderTarget for some back-ends, or otherwise flush attachment
    changes, we should call syncState internally. This means that we can't
    mark these queries as const.
    
    Bug: angleproject:2372
    Change-Id: I9bfb43a472bcd7dfdd6ea7fab4751d494e1126bb
    Reviewed-on: https://chromium-review.googlesource.com/948784
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 4d9d483936e6e845f24e851d1cf288bb37bfaf1c
Author: James Darpinian <jdarpinian@chromium.org>
Date:   Tue Mar 13 12:43:28 2018 -0700

    Optimize buffer deletion by returning early if buffer is not bound.
    
    This improves angle_perftests
    bindings_gl_100_objects_allocated_every_iteration by over 30%.
    
    Bug: 820723
    Change-Id: Icfaa0f54f7c61db6475948e3a95296f37ab4f7dc
    Reviewed-on: https://chromium-review.googlesource.com/961302
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit aac6df40a2b5241f5a932df94a59c36bc5ce936c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Mar 12 13:00:33 2018 -0400

    Update documentation to mention ANGLE committer status and bug editing permissions.
    
    BUG=angleproject:1944
    
    Change-Id: I37d6f22c18e65bd53b75702f0f13ec818b83c34d
    Reviewed-on: https://chromium-review.googlesource.com/959224
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 4ea3b4505abb49f42020abc2128edef3ca496753
Author: Luc Ferron <lucferron@chromium.org>
Date:   Tue Mar 13 11:48:26 2018 -0400

    run_code_generation.py: Add gen_load_functions_table.py to the list
    
    Bug:angleproject:2358
    
    Change-Id: I93bdbbe65ac8109a5a506d88202715c51918613b
    Reviewed-on: https://chromium-review.googlesource.com/960574
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit f0b30dd8bd2bd68d6aad0e161f5fc3816d5a5077
Author: Luc Ferron <lucferron@chromium.org>
Date:   Mon Mar 12 13:21:29 2018 -0400

    Vulkan: Enable a bunch of dEQP texture related tests
    
    This enables 21 tests in the texture department (including luminance
    texture format tests except mimap related tests).
    
    Bug:angleproject:2364
    
    Change-Id: Ib609f0457833b34ecdb9d8f8b4479ece9ef6c1a6
    Reviewed-on: https://chromium-review.googlesource.com/959233
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit e600c0aac82471a2c697f9acd59a0d1a65fb46db
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Mar 2 11:23:29 2018 +0200

    Use non-human-readable mangled names for types
    
    The new mangled name format is as follows:
    
    The first character is a hex digit from 0 to F that encodes vector or
    matrix size. For scalars, structs etc. the character is 0.
    
    Then, if it's a struct, the mangled name continues with "{s", followed
    by mangled names of fields, and ends with "}".
    
    If it's an interface block, the mangled name continues with "{i",
    followed by mangled names of fields, and ends with "}".
    
    If it's anything else, the second alphabetic character encodes the
    basic type. Characters are assigned to basic types in the enumeration
    order.
    
    If it's an array, the mangled name has a suffix [array_size].
    
    This saves a few kilobytes from the binary size. The effect on symbol
    lookup speed seems mostly marginal.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: I26e65dcb48c3478df9a719ffff9c15f2fd12e293
    Reviewed-on: https://chromium-review.googlesource.com/945910
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 64e5ed2abd8a4cc77d3647e4b245db57a8c42ae5
Author: Luc Ferron <lucferron@chromium.org>
Date:   Fri Mar 9 16:32:32 2018 -0500

    Vulkan: Fix scissor clears + enable dEQP tests
    
    Vulkan does not support receiving out of bounds numbers for the scissor
    region but no validation errors are sent. This change clips the region
    received to fit the current viewport and it fixes
    many dEQP tests.
    
    Bug:angleproject:2356
    Change-Id: I5dcf739366ba1f62b56593eaaccedf5f14d0c200
    Reviewed-on: https://chromium-review.googlesource.com/957758
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit dbb9c53462ef82f0a1a8056052d0583f0e7f2467
Author: Lingfeng Yang <lfy@google.com>
Date:   Sun Feb 25 19:58:24 2018 -0800

    GLES1: state: Define / initialize GLES1-specific states
    
    Contains definitions of GLES1-specific states such as material /
    lighting.
    
    Tweaked the Color class for easier copying to uniforms / reading as a
    float array.
    
    This CL also adds the GLES1-specific state in GLES1State, which is then
    part of the State class and is initialized to the spec's values if the
    context major version is ES 1.
    
    + Some clang-format
    
    BUG=angleproject:2306
    
    Change-Id: I7fc3bd9a22ebf0ffcd98d931d0176f21e17b1c5c
    Reviewed-on: https://chromium-review.googlesource.com/936424
    Commit-Queue: Lingfeng Yang <lfy@google.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 92de2af5d723ff298cfbbb703149539c3af0a7e7
Author: Luc Ferron <lucferron@chromium.org>
Date:   Mon Mar 12 11:37:38 2018 -0400

    Vulkan: Enable culling rasterization state dEQP tests
    
    This change enables the following tests:
    dEQP-GLES2.functional.rasterization.culling.* 18/18
    dEQP-GLES2.functional.rasterization.interpolation.* 12/12
    dEQP-GLES2.functional.rasterization.fill_rules.* 5/5
    
    Bug:angleproject:2352
    
    Change-Id: I5a8869751ea0d787cc266ae12422633106e39983
    Reviewed-on: https://chromium-review.googlesource.com/959118
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 203d6365c567f33ebf2c26b8580dd0a5905c4bd1
Author: Luc Ferron <lucferron@chromium.org>
Date:   Fri Mar 9 15:27:02 2018 -0500

    Vulkan: enable multiple draw* dEQP tests
    
    This enables 17 additional tests, including the line_loop tests.
    
    Bug:angleproject:2335
    
    Change-Id: I5d441dde08e6018d089749e102070886ccef3a08
    Reviewed-on: https://chromium-review.googlesource.com/957448
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 54ef3ad44c8c42610f7fee84c96f06484f0f0f58
Author: Lingfeng Yang <lfy@google.com>
Date:   Mon Mar 12 08:31:12 2018 -0700

    Run clang-format on State.cpp
    
    BUG=angleproject:2306
    
    Change-Id: I1c5a2dd40fb7d9b51cbf3fd37720a172578d76e8
    Reviewed-on: https://chromium-review.googlesource.com/959105
    Commit-Queue: Lingfeng Yang <lfy@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit cc48e5fa49f9b21cad58faf64cd1fd13da09e0f0
Author: Luc Ferron <lucferron@chromium.org>
Date:   Fri Mar 9 14:17:17 2018 -0500

    Vulkan: Enable 16 additional tests for the scissor test
    
    This set of expectations modifications effectively enables exactly these tests:
    dEQP-GLES2.functional.fragment_ops.scissor.* -> 16/16 tests passed.
    
    Bug:angleproject:2338
    Change-Id: Icb971e0e7b253e7df390de1196cc4bc4401f9631
    Reviewed-on: https://chromium-review.googlesource.com/957269
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit a87023e0f8a6b1d3c0f88e24edbde1344990d22a
Author: Luc Ferron <lucferron@chromium.org>
Date:   Fri Mar 9 13:29:56 2018 -0500

    Vulkan: Enable 1046 additional tests for blending rasterization states
    
    This set of expectations modifications effectively enables exactly these tests:
    dEQP-GLES2.functional.fragment_ops.blend.* -> 1046 / 1046 tests passed.
    
    Bug:angleproject:2346
    
    Change-Id: I3acf903db9be05180df41fed10c2803c59cfc838
    Reviewed-on: https://chromium-review.googlesource.com/957312
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit e98b1b5d41bf7ca2ecc43c75354c47e6756374fa
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Mar 8 09:47:23 2018 -0500

    Framebuffer: Handle errors in checkStatus.
    
    This pipes a lot more errors around in the Validation, where
    they now will be caught.
    
    Bug: angleproject:2372
    Change-Id: Ibb4e47ddc932995a02dd92e10578b7a4097182a9
    Reviewed-on: https://chromium-review.googlesource.com/954406
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 7c9492eb2494b4831a0f8048fad5ef4519c87afe
Author: Luc Ferron <lucferron@chromium.org>
Date:   Mon Mar 12 11:01:29 2018 -0400

    gpu_test_expectations: Fix test for API overlap
    
    Bug:angleproject:2396
    Change-Id: I8069847f1389308c7c4d4e4786360dfc5a7eb1f4
    Reviewed-on: https://chromium-review.googlesource.com/959047
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit 529434a5a56531607053528e2ab49ba1765069f5
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Thu Mar 8 13:13:29 2018 +0800

    ES31: Update dEQP-GLES31 geometry shader related test expectations
    
    BUG=angleproject:1941
    TEST=dEQP-GLES31.functional.shaders.builtin_constants.*
         dEQP-GLES31.functional.shaders.builtin_functions.*_geometry
         dEQP-GLES31.functional.debug.negative_coverage.*.geometry_shader
    
    Change-Id: I37b29e48f27ae31e3753efe00b849849879f848d
    Reviewed-on: https://chromium-review.googlesource.com/954713
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit b3b177d77f3bb9f57bacca3da284ef3bfae595d9
Author: Dzmitry Malyshau <kvark@mozilla.com>
Date:   Fri Mar 9 16:37:22 2018 -0500

    Update driver constants on program change. Comes with a new SamplerMetadataUpdateOnSetProgram test.
    
    This is a fix for a graphics problem we've been seeing for a while with WebRender+Angle on Nvidia/Windows. The sampler metadata doesn't get updated properly for some of the draw calls, since it's not invalidated on program change (this is what the CL is fixing). Extra entries get filled with garbage data because the constant buffer is updated with `MAP_WRITE_DISCARD`, and only those samplers are updated that the current program has. This may generally occur undetected, if not for our `textureSize` calls that appear to go the NV-specific Angle workaround path that ignores our `baseLevel = 0` and instead picks the one from the driver constants (which contains garbage), leading to either zeroes returned or even crashing the driver sometimes...
    
    BUG=angleproject:2399
    
    Change-Id: Ie2bef32184e2305c7255299933b899eb3fffb7ab
    Reviewed-on: https://chromium-review.googlesource.com/949412
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 391bda23b56d5197b00f38548edc6d6b3765feff
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Feb 23 11:43:14 2018 +0200

    Generate code for initializing built-in variables
    
    gen_builtin_symbols.py now generates code for initializing built-in
    variable symbols as well. Some of the variable symbols are static, but
    some of them also get initialized dynamically based on values in
    ShBuiltInResources.
    
    The static symbols have get functions in a header file so they can be
    referenced from AST traversers as well without doing a lookup.
    
    BUG=angleproject:2267
    TEST=angle_unittests, angle_end2end_tests
    
    Change-Id: Ida7f3aeb06d2bce0f737f1483b1bd5833aeddd2e
    Reviewed-on: https://chromium-review.googlesource.com/911768
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit b7d924a8f4adb5f6a5cdbcd60e75155a2bb30b92
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Mar 10 11:16:54 2018 -0500

    Vulkan: Make free part of DescriptorPool.
    
    This also fixes a missed VkResult error. In order to do this
    we also return an error from ProgramImpl::destroy.
    
    Bug: angleproject:2396
    Change-Id: I649b19e64732785bb33eebadea7f361245137d0f
    Reviewed-on: https://chromium-review.googlesource.com/958406
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit e2995cce716198d12b73eaa77cc99c39113ea1ce
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Mar 9 17:43:45 2018 -0500

    Vulkan: Fix layers not being enabled on the bots.
    
    We were missing the data definition for the standard validation layer.
    This file was missing from the isolate, and the entire layer system
    was not working.
    
    Found this as a side-effect of working on depth stencil support.
    
    Also fixes a missing definition in the white_box_tests BUILD.gn.
    
    Also temporarily disables the ClearTest support for Vulkan because of
    an implementation bug on AMD. Unfortunately because of the failure
    mode it didn't work to just skip the test in the preamble.
    
    Bug: angleproject:2357
    Change-Id: I4d06c54191b09e09a4ba68c24613db6f148b17e3
    Reviewed-on: https://chromium-review.googlesource.com/956759
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit a36483fce67fa33b81334f2a947321e143a8918b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Mar 9 16:11:21 2018 -0500

    Use full type names instead of auto for simple structs.
    
    BUG=angleproject:2107
    
    Change-Id: I7a5e4be124ec4381799fea51de3715e09c2f7400
    Reviewed-on: https://chromium-review.googlesource.com/957272
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit a8cb287cc79703fd57965b0543616ff8a97ee11f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Mar 9 16:09:40 2018 -0500

    Rename syncRendererState methods to syncImplementationState.
    
    BUG=angleproject:2107
    
    Change-Id: I45b914a6edf721c6ec53ca2bc6e139685b059d20
    Reviewed-on: https://chromium-review.googlesource.com/957271
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit baf208a02bba2bccd7e80913dabea60ab2ce4922
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Mar 9 15:59:12 2018 -0500

    cq.cfg: Add equivalent_to to ramp-up during LUCI migration
    
    BUG=chromium:815092
    
    Change-Id: I5eece73be718eaaf2797c361e3d8671404f718d1
    Reviewed-on: https://chromium-review.googlesource.com/957469
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 3a46574594305af25676952825fcf2cdb849d680
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Fri Mar 9 15:42:25 2018 -0500

    Skip TransformFeedbackLifetimeTest.DeletedBuffer on Win Intel GL
    
    Due to wrong driver version on the bots.
    
    BUG=angleproject:2398
    
    Change-Id: Ia6b69a24bfb0ded8848a791db6b540576ef2f57c
    Reviewed-on: https://chromium-review.googlesource.com/957207
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 7b5fc46b195c01c9e8fe73984eb28d6e2450359b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Mar 9 15:54:33 2018 -0500

    Vulkan: Add Vk format overrides table.
    
    This generalizes the overriding mechanism in gen_Vk_format_table.py.
    Instead of defining overrides inline, we keep the vk_format_map as a
    1:1 mapping from angle format to vk format, and use the overrides map
    to specify any additional emulation or features we need to support
    OpenGL textures on Vulkan.
    
    This will simplify the implementation for Depth/Stencil formats by
    making the generator script a bit easier to work with.
    
    No code changes, generator script refactor only.
    
    Bug: angleproject:2357
    Change-Id: I7132d991795eb91d6ad838481c52545c891215bc
    Reviewed-on: https://chromium-review.googlesource.com/957433
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit 67ae6c58baabf80017b1a4de3cddca19def8c9de
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Mar 9 11:49:01 2018 -0500

    Vulkan: Use free descriptor set bits in pool.
    
    This forces us to free descriptor sets when we're done with them,
    but saves us from needing to track when a descriptor set pool is no
    longer in use. We may need to revisit this in the future if we want
    to support pool allocation for performance.
    
    Bug: angleproject:2396
    Change-Id: I3f3184f3dd9e4c2911e1aade4dcb95962a26c3a7
    Reviewed-on: https://chromium-review.googlesource.com/956574
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 1505c7500dc74f9b449f7843fc2cfd672f3eb1a8
Author: Luc Ferron <lucferron@chromium.org>
Date:   Fri Mar 9 11:28:23 2018 -0500

    Vulkan: Fix issue in blending factor conversions
    
    The blend factor were not converted correctly from GL enum types to
    their VK equivalents. I found this by running many dEQP tests related
    to blending.
    
    Bug:angleproject:2346
    
    Change-Id: I3c332bb5e5c44d2bec4ff9d62e0df2421507e136
    Reviewed-on: https://chromium-review.googlesource.com/956241
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 5b77231252abeb4a681d5fdbf110f6c9ccf617d4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Mar 8 20:28:32 2018 -0500

    Nuke ValidationContext.
    
    This pattern never really took off. It was intended to be used to
    unit-test our Validation logic, but it become so complex because
    of interactions with Framebuffer::syncState that we could never
    really make use of it.
    
    Nuke it entirely and simplify the Context class.
    
    Bug: angleproject:2372
    Change-Id: I40b9d46ce7706511a210da496ee19192cf609366
    Reviewed-on: https://chromium-review.googlesource.com/954291
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit d4fff5069569887bf59454eb8362b745e52f1b29
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Sep 22 11:28:28 2017 -0400

    Reorder state synchronization for resource init.
    
    Some backends may change state while initializing resources.  Make sure
    that all resources are initialized before synchronizing the backend
    state for the given operation.
    
    BUG=angleproject:2107
    
    Change-Id: Ie75ac3eee986e41dfe3dd11a94a706e19df7497e
    Reviewed-on: https://chromium-review.googlesource.com/678481
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 33140409810f244abfd85231c44c347c6ae02c86
Author: Luc Ferron <lucferron@chromium.org>
Date:   Thu Mar 8 13:57:52 2018 -0500

    Vulkan: Fix readPixels to support sub image reads correctly
    
    Also, do not return InvalidOperation from flush in order to be able to support
    running dEQP tests  for Vulkan.
    
    Bug:angleproject:2346
    
    Change-Id: I12f3bd115034e044fb0fa2d94687321ede4a1e9d
    Reviewed-on: https://chromium-review.googlesource.com/955889
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit e8a93c6ed6feda4e0f22bd034cf95dd4aae3618d
Author: James Darpinian <jdarpinian@chromium.org>
Date:   Thu Jan 4 18:02:24 2018 -0800

    New transform feedback buffer binding rules
    
    Detects undefined behavior when a buffer is bound to a transform feedback
    binding point and a non transform feedback binding point at the same time.
    
    Also moves the transform feedback buffer generic binding point out of the
    transform feedback object and into the context's global state, to match
    driver behavior. This way binding a new transform feedback object does not
    affect GL_TRANSFORM_FEEDBACK_BUFFER_BINDING which is similar to how VAOs
    work with GL_ARRAY_BUFFER_BINDING.
    
    Bug: 696345
    Change-Id: If3b9306cde7cd2197a8ce35e10c3af9ee58da0b8
    Reviewed-on: https://chromium-review.googlesource.com/853130
    Commit-Queue: James Darpinian <jdarpinian@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 80964f97e9ab7948b3b23d4aef600d347f2bc2fe
Author: Luc Ferron <lucferron@chromium.org>
Date:   Thu Mar 8 10:31:24 2018 -0500

    Vulkan: Support of GL_UNSIGNED_BYTE type in drawElements
    
    Bug:angleproject:1683
    
    Change-Id: I8c79cc92406b210c9d143761ffe4ef74e14c6bed
    Reviewed-on: https://chromium-review.googlesource.com/956090
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 2878379d050d72ecb806ed9c4a963334fdd0a87f
Author: Brandon Jones <brandon1.jones@intel.com>
Date:   Mon Mar 5 09:37:32 2018 -0800

    Add NPOT validation to copyTextureCHROMIUM
    
    copyTextureCHROMIUM should generate INVALID_VALUE when using a NPOT
    texture and level not equal to zero, so we should add
    validation to catch this case.
    
    BUG=angleproject:2380
    
    Change-Id: I7ca2e657287c11d560db0ad296f8e87ed0c19798
    Reviewed-on: https://chromium-review.googlesource.com/956018
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 19fa1c6f8852c54caa76b955e2e1e8e663fa8897
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Mar 8 09:47:21 2018 -0500

    Return an Error from Framebuffer::syncState.
    
    This pipes errors up from the Impl to the top level. There are
    still a few places were error swallowing is needed, because the
    Framebuffer API doesn't support returning an error.
    
    Bug: angleproject:2372
    Change-Id: Idc06bda1817fd28075940f69874d8b6ba69194f9
    Reviewed-on: https://chromium-review.googlesource.com/954290
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>

commit 66546be283655cfb14b133ef67c64d705552977e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Mar 8 09:47:20 2018 -0500

    Vulkan: Use RenderTargetCache in FramebufferVk.
    
    The RenderTargetCache avoids many multiple calls to getRenderTarget,
    and should speed up the code somewhat on state changes. Also as a
    side benefit removes a bunch of swallowed ANGLE errors.
    
    Bug: angleproject:2372
    Change-Id: I072481856aae8607f17a116e25c71acf04b4cc68
    Reviewed-on: https://chromium-review.googlesource.com/948785
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 5242d5bf74d38269605141c9f1cb23d51ab77e1e
Author: Luc Ferron <lucferron@chromium.org>
Date:   Thu Feb 15 07:14:35 2018 -0500

    Vulkan: Implement scissored clears.
    
    Bug: angleproject:2356
    
    Change-Id: I33888f9b4ebaf4b0b5af4ad59b12ad963325a790
    Reviewed-on: https://chromium-review.googlesource.com/921882
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit bc918e7d4fdbc0f9e711586b24733bd75fbee0f8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Mar 8 09:47:21 2018 -0500

    Return errors from gl::State::syncDirtyObjects.
    
    This plumbs the front-end code, but doesn't implement Error handling
    for any objects yet. Framebuffers and VertexArrays will get error
    handling from their syncState methods.
    
    Bug: angleproject:2372
    Change-Id: I226049e25ac7af2bdd3c4787b67a5d297c0b9c4b
    Reviewed-on: https://chromium-review.googlesource.com/954289
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 5164b797cb9180cc0b18543e08abc7328feff1aa
Author: Luc Ferron <lucferron@chromium.org>
Date:   Tue Mar 6 09:10:12 2018 -0500

    Vulkan: Support GL_LUMINANCE and GL_LUMINANCE_ALPHA
    
    The dEQP tests cannot be turned on before immediate data for drawElements
    is supported.
    
    Bug:angleproject:2364
    
    Change-Id: Id5fd6fbc0c74f2dba08341f36ca0091d540f4ed8
    Reviewed-on: https://chromium-review.googlesource.com/951402
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit ed8b49195844f126569367415aec366a725294c1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Mar 7 20:34:03 2018 -0500

    Vulkan: Fix missing depth/stencil access flags.
    
    This regressed in http://crrev.com/c/948782. It may have also
    exposed a problem where our bots are not correctly using the
    layers.
    
    Bug: angleproject:2361
    Change-Id: I764bb821b5bfd2571a4c43f9444dcef67ea65bc4
    Reviewed-on: https://chromium-review.googlesource.com/954412
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 443c57f6ad376e4cdc3b8f262d6178644ff33c63
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Mar 2 21:46:02 2018 -0500

    Add RenderTargetCache helper.
    
    This class encapsulates the Framebuffer::syncState update pattern that
    caches the RenderTargets for the back-end. RenderTargets abstract away
    the differences between Textures/Renderbuffers/Surfaces for the
    back-end and allows the back-end to treat the various types the same.
    This helper class allows sharing code to cache the RenderTargets.
    
    Bug:angleproject:2372
    Change-Id: Ib2beb28a616dee1d34c485cd1a19b7202ef70a60
    Reviewed-on: https://chromium-review.googlesource.com/948783
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit e3688d2775dd3c231b0283b9289a0ad61810840c
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Wed Mar 7 22:14:54 2018 +0000

    Revert "Add NPOT validation to copyTextureCHROMIUM"
    
    This reverts commit 2202680c6a5d08ba74d57ce675af2266dddb205c.
    
    Reason for revert: ASAN found error https://ci.chromium.org/buildbot/chromium.gpu.fyi/Mac%20FYI%20GPU%20ASAN%20Release/210
    
    Original change's description:
    > Add NPOT validation to copyTextureCHROMIUM
    >
    > copyTextureCHROMIUM should generate INVALID_VALUE when using a NPOT
    > texture and level not equal to zero, so we should add
    > validation to catch this case.
    >
    > BUG=angleproject:2380
    >
    > Change-Id: I0ea50a981e4d8f10f5913969f6b629617b57aa15
    > Reviewed-on: https://chromium-review.googlesource.com/951713
    > Commit-Queue: Geoff Lang <geofflang@chromium.org>
    > Reviewed-by: Geoff Lang <geofflang@chromium.org>
    
    TBR=geofflang@chromium.org,jmadill@chromium.org,brandon1.jones@intel.com
    
    Change-Id: I04dcbd5e1d97b1bd968b26a06e4d3e4d175be0d8
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:2380
    Reviewed-on: https://chromium-review.googlesource.com/953343
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit da6dd738043836a3d9cb15ab1ff9944867264d54
Author: Tobin Ehlis <tobine@google.com>
Date:   Tue Mar 6 17:02:47 2018 -0700

    Roll (2/2) to latest LVL as of 3/6/18
    
    Bug: angleproject:2393
    
    Moving to HEAD of LVL master on afternoon of 3/6/18.
    Made some updates to BUILD.gn to add args to spirv tools
    external_revision_generator.py script.
    Re-enable ANGLE Vulkan build.
    
    Change-Id: I1705d7a2acae578bab9bbd8bb93176107e0e21dc
    Reviewed-on: https://chromium-review.googlesource.com/952547
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 40dba69082bdd7b4c93134632e875927eab1dc14
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Mar 7 13:48:04 2018 -0500

    Update copyright notice in the style guide.
    
    See https://chromium.googlesource.com/chromium/src/+/master/styleguide/c++/c++.md#file-headers
    
    Bug: angleproject:1944
    Change-Id: Ic2e284ac75ecab19e8d6c5b97e1a9d9376984f3b
    Reviewed-on: https://chromium-review.googlesource.com/953133
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 2202680c6a5d08ba74d57ce675af2266dddb205c
Author: Brandon Jones <brandon1.jones@intel.com>
Date:   Mon Mar 5 09:37:32 2018 -0800

    Add NPOT validation to copyTextureCHROMIUM
    
    copyTextureCHROMIUM should generate INVALID_VALUE when using a NPOT
    texture and level not equal to zero, so we should add
    validation to catch this case.
    
    BUG=angleproject:2380
    
    Change-Id: I0ea50a981e4d8f10f5913969f6b629617b57aa15
    Reviewed-on: https://chromium-review.googlesource.com/951713
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit e4c5a23b1148016aace1a282fe9ec8e8ef76a8e8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Mar 2 21:00:31 2018 -0500

    Vulkan: Always use LOAD for RenderPass attachments.
    
    The RenderPass load/store ops allow us to specify how we want to use
    the data from the attachments. Previously we had the load op set to
    CLEAR always, which would prevent us from doing multiple kinds of
    operation. Using LOAD should conversatively work in any situation
    as long as we can ensure each Image is cleared before we use it.
    
    To this effect this patch also inserts a preliminary clear into each
    Texture or Renderbuffer Image's initialization. We already had this
    for Surfaces.
    
    In the future we'll improve this by inserting proper load/store ops,
    but this unblocks a lot more functionality in the interim.
    
    Bug: angleproject:2361
    Change-Id: I7610eaa39d81b23dd74b4a24b7f28a66a6dfffc6
    Reviewed-on: https://chromium-review.googlesource.com/948782
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 37812d454323e71ef18485c9c8775ce0a0a3192b
Author: Tobin Ehlis <tobine@google.com>
Date:   Tue Mar 6 17:13:02 2018 -0700

    Roll (1/2) LVL version forward and disable VANGLE
    
    Bug: angleproject:2393
    
    Rolling Vulkan validation code forward to HEAD of master as of 3/6/18
    afternoon. Disable Vulkan from the ANGLE build until ANGLE lands in
    Chromium. After that second part of roll will be submitted.
    
    Change-Id: I3c98b42a0b8999e8aa26f538959d888060c2026a
    Reviewed-on: https://chromium-review.googlesource.com/952525
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 241806077286b6d59dc9a42ca3a204916c4db308
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Mar 2 14:12:13 2018 -0500

    Allow rectangle textures to be sample with texture() in ESSL3
    
    This makes them consistent with the other texture types. Also adds a
    test for using texture(sampler2DRect, ...).
    
    BUG=chromium:757974
    BUG=angleproject:1650
    
    Change-Id: Ie966da928ae0c83850da1e530e72c0d501909394
    Reviewed-on: https://chromium-review.googlesource.com/946675
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>

commit 7618eaf9ad454f81c95e4e508747ac5eef74df82
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Mar 7 11:25:40 2018 +0200

    Fix incorrect path in run_code_generation.py
    
    Adding missing "src".
    
    BUG=angleproject:2267
    TEST=python scripts/run_code_generation.py
    
    Change-Id: I89d981c8f09e6d0839d0b796a2ea14a8466f98a7
    Reviewed-on: https://chromium-review.googlesource.com/952925
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 065aa863f706599059f9d0fadab57fb1ae7352c4
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Feb 22 15:30:27 2018 +0200

    Generate code for unmangled name lookup
    
    Instead of using an std::map at each symbol table level, use the
    gen_builtin_symbols.py script to build a function to query unmangled
    names.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: I4f1cf1df1f50fe9d909f3249150ee002ee6efb61
    Reviewed-on: https://chromium-review.googlesource.com/931885
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 8f184ae9de068d685c1f896d6c027e9cddcc72f3
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Tue Mar 6 20:36:50 2018 -0500

    Update dEQP EGL expectations
    
    Timeout is not enough to suppress
    functional.native_color_mapping.native_window.*
    since it's retried 3 times and always times out.
    Need to skip.
    
    BUG=angleproject:2382
    
    Change-Id: Ib87f25cc6c17be2b5c4c592374b28386685115d2
    Reviewed-on: https://chromium-review.googlesource.com/951973
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 28060c436bf71cd9aa62637c48995801b27e3885
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Mar 6 19:58:33 2018 -0500

    Vulkan: Enable running SimpleTexture2D.
    
    This completes the work for the simple texture sample.
    
    Bug: angleproject:2167
    Change-Id: I47c6794fa7cd59e295a98623d9ce8879ea1d3298
    Reviewed-on: https://chromium-review.googlesource.com/952566
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a53d0e18f42fa28456f05c6cb7e1abfbc894eabe
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Tue Feb 13 00:06:06 2018 -0500

    Vulkan: support indices in client memory.
    
    glDrawElements will now work with indices and/or vertex data in client memory,
    as well as in a buffer object.
    Enable corresponding tests.
    
    BUG=angleproject:1683
    
    Change-Id: Iefb9796a48b21ed6f9a837b08b0ad3218ff6dd6b
    Reviewed-on: https://chromium-review.googlesource.com/915721
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 6dd4a92aa6df4f422f470a20d44b7cdce6c4d095
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Fri Mar 2 16:35:13 2018 -0500

    Vulkan: track attributes in client memory.
    
    To support indexed draws it's useful to have a cheap query for the
    presence of vertex attribute data in client memory.
    This patch adds a bit mask to keep track of such attributes.
    It also lets us simplify VertexArrayVk::streamVertexData() slightly.
    
    BUG=angleproject:1683
    
    Change-Id: I871bfb885112650b025e110c383db3c391eafb90
    Reviewed-on: https://chromium-review.googlesource.com/947927
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 99d492c241dcd1451aa9089ac0eabc2bb0b84420
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Feb 27 15:17:10 2018 -0500

    Use packed enums for the texture types and targets, part 2
    
    This completes the refactor by using the packed enums in the gl:: layer
    and in the backends.
    
    The packed enum code generation is modified to support explicitly
    assigning values to the packed enums so that the TextureTarget cube map
    faces are in the correct order and easy to iterate over.
    
    BUG=angleproject:2169
    
    Change-Id: I5903235e684ccf382e92a8a1e10c5c85b4b16a04
    Reviewed-on: https://chromium-review.googlesource.com/939994
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 98d0a2b1313d59050f76861cbef8bee4d70896ad
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Feb 26 11:55:34 2018 -0700

    Use strtod instead of istringstream+locale for parsing floats.
    
    BUG=803034
    
    Change-Id: I69ca7a86e1841e86c6a8cf6a0b7279a8e42b0012
    Reviewed-on: https://chromium-review.googlesource.com/937964
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 879f90d2790ff8a31af4075e4d53e74f06e74650
Author: Luc Ferron <lucferron@chromium.org>
Date:   Thu Mar 1 11:45:20 2018 -0500

    Vulkan: Avoid recopying the data every time we draw line loops
    
    Use the Observer pattern to get notified when the BufferVk we've copied our data
    from is changing. We will only recopy the data if anything has changed, but otherwise
    we'll keep drawing with the same index buffer we've created previously.
    
    Bug: angleproject:2335
    
    Change-Id: Ib65677b4d5ec90c46a5e3b975fffd1fddeed59e7
    Reviewed-on: https://chromium-review.googlesource.com/948622
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 7b21381e17963a283dda40fa3df986c23c35cba2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Mar 6 10:13:13 2018 -0500

    Vulkan: Support changing in-flight Renderbuffers.
    
    Bug: angleproject:2347
    Change-Id: I9bb1494a960969bb6e7c8656c27c7c180ddba069
    Reviewed-on: https://chromium-review.googlesource.com/922458
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit d2cb7cec4f3e303880ab5d55f6a58165cd23a631
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Fri Mar 2 09:04:03 2018 +0800

    ES31: Fix wrong method of computing combined interface blocks
    
    This patch fixes a bug in the method of validating the number of
    combined interface blocks in currenct ANGLE implementation.
    
    When a resource (uniform block, shader storage block, image, atomic
    counter buffer, atomic counter) is used by multiple shader stages,
    each such use counts separately against the combined resource limit.
    
    This patch also fixes an unexpected link error in a related test by
    skipping the test when the number of ssbos exceeds the resouorce
    limit.
    
    BUG=angleproject:1951
    TEST=angle_end2end_tests
    
    Change-Id: I0de439a412148e0d5ebef3c27d20e0cbd536175a
    Reviewed-on: https://chromium-review.googlesource.com/945143
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit e05ffdd19837dc3782636fba164791091c92210e
Author: Lingfeng Yang <lfy@google.com>
Date:   Mon Feb 19 13:24:17 2018 -0800

    GLES1: caps: Use GLES3 spec shader compiler
    
    If we attempt to compile the GLES1 emulation shader when the client
    version is 1, we use the webgl 1 / GLES2 spec, not the GLES3 spec that
    we use for GLES1 emulation.
    
    This CL adds a case in Compiler.cpp for ES 1 contexts to use the higher
    spec shader compiler.
    
    BUG=angleproject:2306
    
    Change-Id: I86fe534dd405279155bd81680fed77b8f9a09042
    Reviewed-on: https://chromium-review.googlesource.com/925548
    Reviewed-by: Lingfeng Yang <lfy@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Lingfeng Yang <lfy@google.com>

commit a5d583e9b3a64c1906a63b775089673d412f4b9f
Author: Lingfeng Yang <lfy@google.com>
Date:   Thu Feb 8 10:59:05 2018 -0800

    GLES1: state: Add crop rect / generate mipmap texparameters
    
    GLES1 has at least two places where all texture objects
    can carry more state:
    
    - Crop rectangle, used with glDrawTex
    - Generate mipmap parameter, which lets the user
      auto-generate mipmaps for textures from a texture
      parameter
    
    This CL adds them to the Texture / TextureState classes.
    
    BUG=angleproject:2306
    
    Change-Id: Ia43882d36f166b49a09434e77f8c288478e2a454
    Reviewed-on: https://chromium-review.googlesource.com/909579
    Reviewed-by: Lingfeng Yang <lfy@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Lingfeng Yang <lfy@google.com>

commit 56e9540ac4c603663827fab625f1fb9ccaae91dc
Author: Lingfeng Yang <lfy@google.com>
Date:   Mon Feb 19 16:45:26 2018 -0800

    GLES1: caps: Allow ES1 to use formats from core ES2
    
    BUG=angleproject:2306
    
    Change-Id: I93e85f3014e7d9a645e13d3c3025b5360e2a63db
    Reviewed-on: https://chromium-review.googlesource.com/925550
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit f0e89be699061ef17878b4dff0c5c2afcbebb036
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Nov 8 14:00:32 2017 -0800

    Use packed enums for the texture types and targets, part 1
    
    In OpenGL there are two enum "sets" used by the API that are very
    similar: texture types (or bind point) and texture targets. They only
    differ in that texture types have GL_TEXTURE_CUBEMAP and target have
    GL_TEXTURE_CUBEMAP_[POSITIVE|NEGATIVE]_[X|Y|Z].
    
    This is a problem because in ANGLE we use GLenum to pass around both
    types of data, making it difficult to know which of type and target a
    variable is.
    
    In addition these enums are placed somewhat randomly in the space of
    OpenGL enums, making it slow to have a mapping from texture types to
    some data. Such a mapping is in hot-code with gl::State::mTextures.
    
    This commit stack makes the texture types and target enums be
    translated to internal packed enums right at the OpenGL entry point
    and used throughout ANGLE to have type safety and performance gains.
    
    This is the first of two commit which does the refactor for all of the
    validation and stops inside gl::Context. This was the best place to
    split patches without having many conversions from packed enums to GL
    enums.
    
    BUG=angleproject:2169
    
    Change-Id: Ib43da7e71c253bd9fe210fb0ec0de61bc286e6d3
    Reviewed-on: https://chromium-review.googlesource.com/758835
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 140152e7120ea9b4f247b572ad1b49998348265e
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Feb 8 14:46:44 2018 +0200

    Statically allocate built-in function symbols
    
    A script gen_builtin_symbols.py now generates code for initializing
    built-in function symbols. The TFunction objects are initialized at
    C++ compile time.
    
    The source file used for the functions is in a format that's similar
    to how functions are given out in the GLSL spec, so it is easy to
    maintain.
    
    The function symbols are still inserted to the symbol table levels
    same as before. Getting rid of inserting the symbols at runtime is
    intended to be done as follow-up.
    
    This speeds up angle_unittests on Linux in release mode by a bit less
    than half, and in debug mode by more than half.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: I11c9de98c74d28e7e8cdf024516e2f6ee30ca33e
    Reviewed-on: https://chromium-review.googlesource.com/924155
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d05f964b1abd8821ee6324909138720cdac337a1
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Mar 5 12:13:26 2018 +0200

    Last case in switch statement can't be empty in ESSL 3.10
    
    This is based on recent discussion in Khronos, though public specs
    have not yet been updated to reflect this.
    
    BUG=angleproject:2388
    TEST=angle_unittests
    
    Change-Id: I66a0d03b3c2bb9740772a813b543f8f6c6bb2a28
    Reviewed-on: https://chromium-review.googlesource.com/947977
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit dc0cdba88ae36c61e59c2f9f109f55f7c0110d0e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Feb 28 00:42:20 2018 -0500

    Vulkan: Fix Texture attachment state changes.
    
    This implements a notification to the Framebuffer that an attachment
    had a state change that might require recreating the VkFramebuffer.
    
    This implementation is much simpler than the prior method with
    signal notifications. Only currently implemented for TextureVk but
    will also be implemented for RenderbufferVk.
    
    Bug: angleproject:2347
    Change-Id: I05f7da4132f6ed2bda02671e8ba5ee9805252928
    Reviewed-on: https://chromium-review.googlesource.com/930024
    Reviewed-by: Luc Ferron <lucferron@google.com>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 78e39b3fd6756241f04af92e091fbb703fb93f84
Author: Luc Ferron <lucferron@chromium.org>
Date:   Mon Feb 26 07:42:44 2018 -0500

    Vulkan: Line loops for indexed draw calls
    
    Bug: angleproject:2335
    
    Change-Id: Iabd6ae8181c6d3fb487f953a6fbf699db568a1c9
    Reviewed-on: https://chromium-review.googlesource.com/941261
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit b27b03a2c9ead5e4b367e9199a47d3de8a9a6663
Author: Lingfeng Yang <lfy@google.com>
Date:   Mon Feb 19 13:38:48 2018 -0800

    GLES1: caps: GLES1-specific context limits
    
    There are some GLES1-specific caps such as the number of multitexturing
    units and the matrix stack depths. This is important for validation.
    
    This uses Table 6.20 and 6.22 from the GLES 1.1 spec.
    
    Specify them in Caps.h and minimums in .cpp. Since we will be emulating
    GLES1, there is no plan to collect the caps from the native
    implementation; just initialize reasonable values in Context.cpp.
    
    In fact, we will go with the values above minimum:
    
    - 4 multitexturing units (vs. 2 minimum)
    - 6 clip plans (vs. 1 minimum)
    - 16 stack depth for projection matrices (vs. 2 minimum)
    - 16 stack depth for texture matrices (vs. 2 minimum)
    
    + clang-format Caps.cpp / h
    
    BUG=angleproject:2306
    
    Change-Id: Ib28c317426be598a2adad7bd01920c03f27dc74a
    Reviewed-on: https://chromium-review.googlesource.com/925549
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 27f4321e58e0862b9743671996e87d79d21a691c
Author: Xinghua Cao <xinghua.cao@intel.com>
Date:   Mon Feb 26 11:05:53 2018 +0800

    ES31: Implement memoryBarrier on D3D backend
    
    Because D3D11 makes a coherent write, so memoryBarrier is not needed on
    D3D backend.
    This patch also simples some test cases and modifies some cases errors when
    accessing memory after an incoherent write, but does not use memoryBarrier.
    
    BUG=angleproject:2280
    TEST=angle_end2end_tests.ComputeShaderTest.*
    
    Change-Id: Iee5d105a0b6d8534aded03fdaaefc909864d33a4
    Reviewed-on: https://chromium-review.googlesource.com/937023
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 6f68308978f9d53422d7e5103ee87289265eb4d8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Feb 28 00:35:16 2018 -0500

    Rename signal utils to Observer.
    
    This completes the basic refactor to the Observer pattern.
    
    Bug: angleproject:2372
    Change-Id: I810deff7c7e39baa64b57ce2a79cd732b1af7c34
    Reviewed-on: https://chromium-review.googlesource.com/940862
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>

commit 0d88ec9fda2cc8059a32c22d1c16d7f2e472980a
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Tue Feb 27 16:25:31 2018 +0800

    ES31: Add link validations on geometry shader uniforms
    
    This patch adds the link validations on the uniforms defined in a
    geometry shader.
    
    1. Validate if there is any link mismatch between a geometry shader
       uniform and a uniform defined in another shader in the current
       graphics pipeline.
    2. Validate if the number of images, samplers or atomic counters in
       a geometry shader exceeds the related resource limit.
    3. Validate if there is name contradiction between a geometry shader
       uniform and a vertex shader attribute.
    
    BUG=angleproject:1941
    TEST=dEQP-GLES31.functional.shaders.linkage.es31.geometry.uniform.*
         dEQP-GLES31.functional.geometry_shading.basic.*
         dEQP-GLES31.functional.geometry_shading.conversion.*
         dEQP-GLES31.functional.geometry_shading.emit.*
         dEQP-GLES31.functional.geometry_shading.varying.*
         dEQP-GLES31.functional.geometry_shading.instanced.geometry_*
         dEQP-GLES31.functional.geometry_shading.instanced.invocation_output_*
         dEQP-GLES31.functional.geometry_shading.instanced.draw_*
    
    Change-Id: I365aee624a3a79658c3e4c7487a586cf9532b529
    Reviewed-on: https://chromium-review.googlesource.com/939264
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 888081d59aae6bb4b2322501d84bd645b8a8c6de
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Feb 27 00:24:46 2018 -0500

    D3D11: Refactor dependent Framebuffer state changes.
    
    Previously, when a state change would cause a Texture to
    recreate its storage specific to D3D11, we would use a
    dependent notification from RenderTarget11 to Framebuffer11
    to re-check internal dirty bits. In this new method, we
    instead set dirty bits on the gl::Frambuffer directly. This
    also means we use fewer internal objects for these
    notifications, because we share the same structures between
    the D3D11 back-end notifications and the top-level notifications
    we use for Robust init and Framebuffer completeness.
    
    This also allows us to get rid of one "if" that we check on
    every draw call in D3D11.
    
    This also introduces a dirty bits guard concept - a shadow
    set of dirty bits that is checked in dependent state changes
    to ensure that extra bits aren't set inside syncState.
    
    This also implements Framebuffer dirty bits for the D3D9
    back-end. This has the side effect of cleaning up the
    "null colorbuffer" D3D9 workaround.
    
    Bug: angleproject:2372
    Change-Id: Ie346d39030f4f6df583d735685b0babea4e745a8
    Reviewed-on: https://chromium-review.googlesource.com/936691
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 92e4e0794a78da441e51449e10519c2000b4ace4
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Mar 2 13:34:56 2018 +0200

    Test shader builtin accessibility from different stages
    
    Test that fragment, vertex or compute shader exclusive builtins are
    not accessible from another shader stage. This will protect against
    regressions when refactoring the symbol table.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: I50f97cbde3f1c5cb4584568e3008f1dab724b769
    Reviewed-on: https://chromium-review.googlesource.com/941953
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit ff32734db02816d1d8fa27661ccf649844940bae
Author: Jeff Gilbert <jgilbert@mozilla.com>
Date:   Thu Feb 22 18:20:37 2018 -0800

    Support EGLStream from B8G8R8A8_UNORM D3D11Texture.
    
    Mozilla bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1415754
    
    BUG=angleproject:2368
    
    Change-Id: Ic2c71b36e7b08560e158fd3dbf10b2fe225f1364
    Reviewed-on: https://chromium-review.googlesource.com/935148
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 259b297712a93df94fbbe5539feea10c62f8e651
Author: Jeff Gilbert <jgilbert@mozilla.com>
Date:   Mon Feb 26 16:30:06 2018 -0800

    Move constructors may not be marked explicit.
    
    BUG=angleproject:2383
    
    Change-Id: If22c7f7c15b7bbe89b859281b28c2b9695e34a1d
    Reviewed-on: https://chromium-review.googlesource.com/945415
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 28cf920e6a2db8ffd817b33e46b29173fe4d590c
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Mar 2 15:54:56 2018 +0200

    Fix checking texture function offset
    
    There was a mistake in one of the texture offset function names being
    checked. Fix it and add a test making sure that a similar mistake
    cannot slip in again.
    
    BUG=angleproject:2387
    TEST=angle_unittests
    
    Change-Id: I2dddfbdc2836f9e7e94ca6573a8f3689eecf7eb2
    Reviewed-on: https://chromium-review.googlesource.com/946254
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit e765e2158b61907360b8ef31e6420721f4ae9684
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Mar 1 12:00:48 2018 +0200

    Test that ESSL 300 standard derivatives compile successfully
    
    These functions have the same name in the ESSL 100 extension, creating
    a possibility for conflicts. This adds a convenient way to test for
    regressions when refactoring the symbol table.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: I9716524a0ea85064ba5f3ee8e7adfbdfc59d257e
    Reviewed-on: https://chromium-review.googlesource.com/945989
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 437664b4ba6f48f503161b5c6b5babebd9d99fd0
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Feb 28 15:38:14 2018 +0200

    Clean up TSymbolTable entry points
    
    TSymbolTable API can be cleaned up further now that we have separate
    logic for inserting builtins and user-defined symbols.
    
    BUG=angleprojec:2267
    TEST=angle_unittests
    
    Change-Id: I7a228891ecdf4696e50868b9e7dfc2a50b5d8e92
    Reviewed-on: https://chromium-review.googlesource.com/941301
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit b7d1458615aace9d846b97ac1e23bbc2dae53286
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Mar 1 18:07:41 2018 -0500

    Update dEQP EGL expectations
    
    BUG=angleproject:2341,angleproject:2382
    
    Change-Id: I5bcc0938e2d86165022cc80afda6b11c801ef5ed
    Reviewed-on: https://chromium-review.googlesource.com/944711
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit d6fef528fcfcfc5b2759e57d208382142c5ba451
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Mar 1 13:41:13 2018 +0200

    Shorten mangled names of types
    
    This will reduce binary size by a few kilobytes once we store mangled
    names of functions as constexpr strings.
    
    This still keeps mangled names human readable.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: Ia63980bd511c701a93e2c5e247d24578c7d7f332
    Reviewed-on: https://chromium-review.googlesource.com/943101
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 98e6a5f7b0ae8268ae4642f64e5dd4020a868f5d
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Wed Feb 28 15:47:13 2018 -0500

    Add missing #include.
    
    Would not compile locally on Linux without adding #include <algorithm>.
    
    BUG=none
    
    Change-Id: I2f817faf681234c0e7eeeda0ad837e8285d9071a
    Reviewed-on: https://chromium-review.googlesource.com/941613
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>

commit d444255a779bba544cf95516b1efc1b0e6cb0a65
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Feb 27 22:03:47 2018 -0500

    Refactor signal utils into Observer pattern.
    
    These types were over-generalized. All use cases featured
    arrays of resources attached to single parent resources. The
    channel ID is sufficient to identify the child resource in the
    parent, and having variadic template arguments wasn't necessary.
    
    Futhermore we can rename these types to use the common Observer
    pattern. This should make them more readable to new developers.
    
    Also update some classes to inherit from Subject instead of
    having a member Subject. This cleans up the code in a few places.
    
    This should lead to a simpler refactor to allow dependent dirty
    bits notifications in the Vulkan back-end.
    
    In the following patch the signal_utils files will be renamed. They
    are not renamed in this patch to ensure git history is preserved.
    
    Bug: angleproject:2372
    Change-Id: I17a3f2c8d92afd4bb3cba2d378c3a2e8a6d7fb11
    Reviewed-on: https://chromium-review.googlesource.com/936690
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 2f3a0dc5cbc2d3ad58a6bb2546590d03f03c9634
Author: Yunchao He <yunchao.he@intel.com>
Date:   Tue Feb 27 22:39:44 2018 +0800

    Report INVALID_VALUE if width/height of invalidateSubFramebuffer is negative.
    
    BUG=angleproject:2376
    TEST=dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer.invalidate_sub_framebuffer
    
    Change-Id: Ie1ca30f29d7583c86130f46d4e6b5c7211eee63a
    Reviewed-on: https://chromium-review.googlesource.com/938367
    Reviewed-by: Jiawei Shao <jiawei.shao@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a8e868f2450d3386ca8cf6dde51d7474ea41c067
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Sun Jan 28 23:32:25 2018 -0500

    Vulkan: use correct vertex stride.
    
    It was passing the attribute size, not the stride, so it worked only
    when they were the same.
    Enable corresponding tests.
    
    BUG=angleproject:2310
    
    Change-Id: Ie3ab13567c16c302aa9aeda5d059e5fd4eb92b4e
    Reviewed-on: https://chromium-review.googlesource.com/875304
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 640fa5dc3f958ecdc7711038fc431e3475ae53ed
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Thu Feb 22 17:03:15 2018 -0500

    Enable more of AttributeLayoutTest.
    
    Enable more parts of AttributeLayoutTest because:
    - partial Vulkan support for vertex data in client memory has landed
    - we can work around bugs which prevented some parts from working
    - we have more fine-grained control over which parts to run
    
    Avoid glBufferSubData to work around ANGLE bug 2374.
    
    Let subclasses decide about skipping test cases.  For example on Vulkan
    indexed draw with vertex data in client memory is not supported yet.
    
    BUG=angleproject:1683
    
    Change-Id: Id073334299bd1a642b2518ccb3c47ebd8ff010d9
    Reviewed-on: https://chromium-review.googlesource.com/933943
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit 360098d5c29fb1028e87a0d91749ad5854af0336
Author: Luc Ferron <lucferron@chromium.org>
Date:   Wed Feb 21 07:33:50 2018 -0500

    Vulkan: Implement GL_LINE_LOOP support for non-indexed draw calls
    
    Line loops aren't supported in Vulkan directly, so we use line strips with
    an indexed buffer to emulate them. To hide the complexity of that, I've created
    the LineLoopHandler class in vk_utils.
    
    Bug: angleproject:2335
    
    Change-Id: Id3e020d27e5265565e61e96d3fd0187c4fe2b152
    Reviewed-on: https://chromium-review.googlesource.com/931421
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 339f65bb568e4cd2a1c9427ddc3e4140f2afbd6b
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Tue Feb 27 12:52:48 2018 +0800

    ES31: Fix incorrect initialization for indexed atomic counter buffer
    
    BUG=angleproject:1729
    TEST=dEQP-GLES31.functional.state_query.indexed.atomic_counter_buffer_binding_getbooleani_v
    
    Change-Id: I3f6975ecc0e69f487f66ff65d613307fcaa6eb08
    Reviewed-on: https://chromium-review.googlesource.com/939106
    Reviewed-by: Jiawei Shao <jiawei.shao@intel.com>
    Reviewed-by: Yunchao He <yunchao.he@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit aef9216651a92be6c6f37aa1fbae1791ce367a74
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Tue Feb 27 13:51:44 2018 +0800

    Move the early-return case of zero mask to Context::blitFramebuffer
    
    When the mask is zero, no buffers are copied in BlitFramebuffer. But we still
    need to check all the error situations. So mask of zero should be put in
    blitFramebuffer not the validation file.
    
    Meanwhile, we adjust the checking sequence to pass the deqp case.
    
    BUG=angleproject:2375
    TEST=dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer.blit_framebuffer
    
    Change-Id: I73c78ffb8853153f70fc30e8ae0e704e08e454ac
    Reviewed-on: https://chromium-review.googlesource.com/938573
    Reviewed-by: Jiawei Shao <jiawei.shao@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 06a87ec831345dba1689399d8881524abc740e8e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sun Feb 25 22:07:27 2018 -0500

    Vulkan: Fix offsets in BufferVk::setDataImpl.
    
    We were using a src offset instead of a dest offset. The staging
    buffer should always start at the zero offset, while the dest
    buffer (the real buffer) should use the offset argument to
    Buffer*Data.
    
    Bug: angleproject:2374
    Change-Id: I9ee702709d9c15945935f4eae25f308b71e0d1e8
    Reviewed-on: https://chromium-review.googlesource.com/937022
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit d063affaa1a3e5b349a853199c0457b535ac6a13
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Thu Feb 22 10:19:09 2018 +0800

    ES31: Add link validation on geometry shader varyings
    
    This patch adds the link validation on geometry shader varyings.
    
    According to SPEC, geometry shader inputs should not be treated
    as arrays for the purpose of interface matching.
    
    This patch also moves the checks on fragment input bindings into
    a single function.
    
    BUG=angleproject:1941
    TEST=angle_end2end_tests
         dEQP-GLES31.functional.shaders.linkage.es31.geometry.varying.*
    
    Change-Id: Ib3ca64e28683e9688edc9432d43ff5a70c86117e
    Reviewed-on: https://chromium-review.googlesource.com/929866
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 85f0b5ead7e0011f8d7d935d5e43f87e8ca1346b
Author: Jeff Gilbert <jgilbert@mozilla.com>
Date:   Fri Feb 23 15:23:21 2018 -0800

    Allow EGL_EXPERIMENTAL_PRESENT_PATH_FAST_ANGLE with EGL_PLATFORM_DEVICE_EXT.
    
    Mozilla bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1395107
    
    BUG=angleproject:2370
    
    Change-Id: Id0c0cecbe14c1c0a1b3de18b0ccf70d00af81a80
    Reviewed-on: https://chromium-review.googlesource.com/935454
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 6ae51611c00f90e242a6572a810ebe84e1990bf9
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Fri Feb 23 14:03:25 2018 +0800

    ES31: Add missing checks for querying GL_COMPUTE_WORK_GROUP_SIZE
    
    This patch adds missing checks for querying GL_COMPUTE_WORK_GROUP_SIZE
    by glGetProgramiv.
    
    When querying GL_COMPUTE_WORK_GROUP_SIZE, an INVALID_OPERATION error
    should be generated when this program hasn't been linked successfully
    or it doesn't contain any objects to form a compute shader.
    
    BUG=angleproject:2324
    TEST=angle_end2end_tests
         dEQP-GLES31.functional.debug.negative_coverage.get_error.compute.invalid_program_query
    
    Change-Id: I13dcebef8a0abede5c18a038d4cf915ee4164e2e
    Reviewed-on: https://chromium-review.googlesource.com/933627
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit b52fac03f438c0175b091086f9b0d0a6eb409505
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Feb 21 15:45:35 2018 -0500

    Refactor ImageIndex to have separate type and target members.
    
    BUG=angleproject:2169
    
    Change-Id: Ib3fb699058f76d0eb810a9691ea1d64311dadbb1
    Reviewed-on: https://chromium-review.googlesource.com/929650
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit bacaa714aa32630baf66cfd2da706b4a2fd042e3
Author: Yunchao He <yunchao.he@intel.com>
Date:   Tue Jan 30 14:01:39 2018 +0800

    ES31: support stencil texture via DEPTH_STENCIL_TEXTURE_MODE.
    
    BUG=angleproject:2373
    
    Change-Id: I5edd9db6ef6101b0ad75f71fdcdfbb1261100583
    Reviewed-on: https://chromium-review.googlesource.com/936421
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c4bd0ac9a60f01e9e22884410fcf269d3b41b5ad
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Feb 22 16:29:32 2018 +0200

    Add 32-bit hash helper to ImmutableString
    
    Since the length of the hash is known prior to compilation, it can be
    compared with script-generated hashes.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: Ia0a78dfd450c4ea2d526da7f3495b9750dcbd1af
    Reviewed-on: https://chromium-review.googlesource.com/931884
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 2f7c04a3c5d7b392028ae4673dabd1085673f8e4
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Jan 25 14:50:37 2018 +0200

    Clean up unnecessary use of TString
    
    TString was being used in some places where it was not really needed.
    Clean these up.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: Ib7fd26f9c6b6b885433c840a9520393908f1f902
    Reviewed-on: https://chromium-review.googlesource.com/887068
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 3582c0e2c3c12391f1a3f4a3a222e8d3920d9ba1
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Feb 22 14:38:09 2018 +0200

    Add a test for redefining an unavailable built-in
    
    This is going to guard against regressions when symbol table init is
    optimized.
    
    TEST=angle_unittests
    BUG=angleproject:2267
    
    Change-Id: Iec7b9814f4af215dc0b3e8a39c8cfab004451836
    Reviewed-on: https://chromium-review.googlesource.com/931883
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 81aa15f10682309faef9c0c30fc13b9b3756ab14
Author: Jeff Gilbert <jgilbert@mozilla.com>
Date:   Thu Feb 22 18:22:52 2018 -0800

    Test `EGL_OPENGL_ES3_BIT_KHR` against `rendererType`, not `conformant`.
    
    Mozilla bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1415754
    
    BUG=angleproject:2369
    
    Change-Id: I99cae322eb70ea3920eb296fd590abccded6dab4
    Reviewed-on: https://chromium-review.googlesource.com/935149
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 3c43b4d1e6d08a74a61775b1b6013fe3ac266985
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Fri Feb 23 11:08:28 2018 +0800

    Fix incorrect conversion in ConvertToGLint
    
    This patch fixes a bug in function ConvertToGLint. This function
    should convert ParamType into GLint instead of GLenum.
    
    This patch can fix the bug that no errors are generated when trying
    to set negative base level or max level by glTexParameteri because
    ConvertToGLint always incorrectly converts a negative integer into
    an unsigned integer in ValidateTexParameterBase.
    
    BUG=angleproject:2371
    TEST=angle_end2end_tests
         dEQP-GLES31.functional.debug.negative_coverage.get_error.texture.texparameter*
    Change-Id: Id5baf3430ae574a083bcc40a7a8f7db1cb2d07ed
    Reviewed-on: https://chromium-review.googlesource.com/933923
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 20c46284f2867de4c3f68099dade34c41a07d5f3
Author: Jeff Gilbert <jgilbert@mozilla.com>
Date:   Thu Feb 22 18:18:01 2018 -0800

    Make OpenSharedResource() call become fallible in SwapChain11::resetOffscreenColorBuffer().
    
    Mozilla bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1415754
    
    BUG=angleproject:2367
    
    Change-Id: I69a75c38c6811752df6da9c3cba5901c9d8ab8c4
    Reviewed-on: https://chromium-review.googlesource.com/935281
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit ad661940b005297625a9b512338b32ea98a46f6c
Author: Jeff Gilbert <jgilbert@mozilla.com>
Date:   Thu Feb 22 18:15:45 2018 -0800

    Remove unused include of math.h in matrix_utils.h.
    
    BUG=angleproject:2366
    
    Change-Id: Ic398da0b86caef577140808a87fcc2e74ed28dc0
    Reviewed-on: https://chromium-review.googlesource.com/935144
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit a4ef843fe0def20999e4ab428b40f6dc62551bbc
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Thu Feb 22 16:02:24 2018 +0800

    ES31: Fix incorrect error code in DispatchComputeIndirect
    
    INVALID_VALUE error should be generated not INVALID_OPERATION if indirect
    is not a multiple of the size, in basic machine units, of uint.
    
    Meanwhile, we put the validation of indirect before indirect buffer so that
    the corresponding deqp cases can pass.
    
    BUG=angleproject:2324
    
    Change-Id: I223ec1893a6dd613f84e51a98f02d5f79482952f
    Reviewed-on: https://chromium-review.googlesource.com/929900
    Reviewed-by: Jiawei Shao <jiawei.shao@intel.com>
    Reviewed-by: Yunchao He <yunchao.he@intel.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 76bf01d7cbc06edc69bfb6e03886383879801030
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Thu Feb 22 14:11:34 2018 +0800

    Fix that readonly buffer variable can be assigned
    
    This change will add memory qualifier checking for binaryNode in case the
    memory qualifier information is lost.
    
    BUG=angleproject:1951
    TEST=angle_unittests
    
    Change-Id: I3f0cfd7d8a059753cf3c982ee0a977b4b0fd0128
    Reviewed-on: https://chromium-review.googlesource.com/929877
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit e41df6556f9314376c785dcd02ac6b60a4a1b274
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Fri Feb 9 14:31:39 2018 +0800

    ES31: Add shader version check for CS and GS
    
    This patch adds the missing check on the shader version for compute
    and geometry shaders, which can fix a bug that ANGLE GLSL compiler
    doesn't report a compile error when compiling an empty compute or
    geometry shader in version 100 or 300.
    
    This patch also updates the original compiler tests on the check of
    shader version. In these tests, the compile errors are all caused by
    illegal layouts instead of shader versions, which is against the
    purpose of the tests.
    
    This patch also fixes an incorrect case that used an empty compute
    shader in version 300.
    
    BUG=angleproject:1442, angleproject:1941
    TEST=angle_unittests
    
    Change-Id: Ic26bb8eb312dbc0cec6a879997d0ae7a2e625a0f
    Reviewed-on: https://chromium-review.googlesource.com/910715
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit f7f0b8c3ab21c52cc2915048959361cf628d95f0
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Feb 21 20:02:23 2018 +0200

    Rename operator enums so they can be autogenerated
    
    Camel casing is removed from the enums where it differs from the GLSL
    spec. This way it's easier to autogenerate code for built-in
    functions mapped to operators.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: I2490d5d0e8ffb45eba343f225f76779e63381a65
    Reviewed-on: https://chromium-review.googlesource.com/929361
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 7c8567a3b6acfab5a4ffac90a80ae129b3b2a0fb
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Feb 20 15:44:07 2018 +0200

    Always add most extension symbols to symbol table
    
    An error will be generated either way if the extension symbols are
    used incorrectly since each use of an extension function or variable
    checks whether the extension is enabled.
    
    We now also track extension in unmangled built-in names, so that
    redefining built-ins of extensions that are not enabled can be
    supported.
    
    This includes refactoring the shader extension tests to share a common
    helper class ShaderExtensionTest.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: I9cc5e9bd62fa07796e69256a6a9a493531a62446
    Reviewed-on: https://chromium-review.googlesource.com/926526
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit a953b52733fad386bc5a6f8d7817da94a5dc0e35
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Feb 21 16:56:23 2018 -0500

    Avoid possible overflow when computing ReadPixels bounds.
    
    BUG=809881
    
    Change-Id: I69c58c93597aea5a5c25298908592ce1ab4a957b
    Reviewed-on: https://chromium-review.googlesource.com/929984
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 1dce1bd38e1b89c41b28e7e980643651670b595a
Author: JiangYizhou <yizhou.jiang@intel.com>
Date:   Wed Dec 6 10:25:40 2017 +0800

    Add test case to catch depth stencil buffer bug on Intel windows
    
    Rendering with depth buffer disabled and stencil buffer enabled
    leads to memory leak if we set viewport a large size on Intel
    windows platforms. Add an end2end test case to catch this driver
    bug.
    
    TEST=DepthStencilFormatsTestES3.DrawWithLargeViewport/ES3_D3D11
    
    BUG=782317
    
    Change-Id: I16efb9459717e94e2edb5d5eb5dc24f47d746ea3
    Reviewed-on: https://chromium-review.googlesource.com/858430
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 24842908c4bd011178d01be6e61000a166f822fd
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Fri Feb 2 01:21:12 2018 -0500

    New test for vertex attribute arrangements.
    
    Test various ways of organizing attributes: in memory or buffer object,
    sequential or interleaved.
    Test different types of vertex data.
    Test non-indexed draw, indices in buffer, indices in memory.
    Test starting at vertex zero and higher.
    
    BUG=angleproject:1683
    
    Change-Id: I54a752679b31bbb3f573c922d59da69a18302daa
    Reviewed-on: https://chromium-review.googlesource.com/898608
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit df4b631648a6db7cb28325730028785237968828
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Thu Jan 18 18:22:19 2018 -0500

    Vulkan: Add unmap in BufferVk::getIndexRange.
    
    There was a map() without a corresponding unmap().
    Add a test which does multiple indexed draws, triggering the problem.
    
    BUG=angleproject:2310
    
    Change-Id: Id33d66f24de2005ec3f9958d33ab4c2630b49dc5
    Reviewed-on: https://chromium-review.googlesource.com/875318
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit 8d986bf24128b2eb05b1e14dfdea42d05225ccd1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Feb 21 08:28:01 2018 -0500

    Fix missing include files visible to GN.
    
    This should also fix the VS project generation. Thanks to Jeff Gilbert
    from Mozilla for sharing a list of missing files.
    
    Bug: angleproject:2360
    Change-Id: Ideab28a0169cd7aabb6a7bd3aac3a5832443f023
    Reviewed-on: https://chromium-review.googlesource.com/922874
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 1f46bc12005ae18a5e3f821174eff3188dd4a27c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Feb 20 16:09:43 2018 -0500

    Vulkan: Add CommandGraph class.
    
    This also renames CommandBufferNode to CommandGraphNode. It also
    renames some of the intenal members to more closely represent the
    tree relationships (parents/children). This should clean up the
    command graph classes and make them a bit easier to understand.
    
    Bug: angleproject:2361
    Change-Id: I024bffcc7f4157c78072ef902a3c40a07a08b18a
    Reviewed-on: https://chromium-review.googlesource.com/922121
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit e703c606f397e3b117025237dc6c0d3a1d3a4bbd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Feb 20 10:21:48 2018 -0500

    Add gl::RenderbufferState shared state helper.
    
    This shared state will be read-only visible in the RenderbufferImpl
    class. It mirrors existing structs for Textures, Buffers, and other
    classes. It allows the implementation class to have a read-only view
    as to the current GL state of an object.
    
    This will be useful to the Vulkan back-end, which would like to know
    the current Renderbuffer state before having to redefine the storage.
    If the current parameters match, it might not have to redefine the
    storage at all.
    
    The solution involves passing around the gl::RenderbufferState
    through various factory methods.
    
    Also name the Renderbuffer implementation pointer consistently and
    make it use std::unique_ptr.
    
    Bug: angleproject:2347
    Change-Id: Ied6e0358e24e74a7fedbe4aea692edee909b5838
    Reviewed-on: https://chromium-review.googlesource.com/922457
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit f81d17c26daba01450fb27112d623acefedb978e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Feb 2 15:10:37 2018 -0500

    D3D11: Downsample when copying to emulated 16-bit texture formats.
    
    BUG=angleproject:2313
    
    Change-Id: Ic1e679164d82f3024bb6842c9af2716aa10feb76
    Reviewed-on: https://chromium-review.googlesource.com/900042
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 795d741af6169e31ced55a15510d447787029bb3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Feb 20 12:28:25 2018 -0500

    Add empty file to prevent git clean from deleting
    the tools folder.
    
    Bug: angleproject:1569
    Change-Id: Ic0161260e1c19fb660be06cd5a844f9031a77ef0
    Reviewed-on: https://chromium-review.googlesource.com/926863
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 5f3047c516fa21d92a9bc267e78ef81fd4e46ea8
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Feb 14 14:39:12 2018 -0500

    StateManagerGL: Use dirty bits for VAO bindings.
    
    Delay binding the VAO in VertexArrayGL::syncDrawState until we actually
    need to make glVertexAttrib calls.
    
    BUG=angleproject:2188
    
    Change-Id: Ib7d22d641c9f19c639ba8c596bff6bc7de952e7f
    Reviewed-on: https://chromium-review.googlesource.com/919503
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 3f4b87b474fe5ea7d5397b3511507cb0f755992c
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Feb 16 17:12:19 2018 -0500

    Expand the EGLIOSurfaceClientBufferTests
    
    This expands the test to check for validation errors and that multiple
    formats of IOSurfaces can be read from / rendered to. It fixes a couple
    issues in the implementation of the extension too.
    
    Minor fixes in the EGL_ANGLE_iosurface_client_buffer extension text.
    
    Fix a fragile test that was not setting the texture unit a shader is to
    sample from.
    
    BUG=angleproject:1649
    
    Change-Id: Ied2a9bfff95cb3a9a7a59008260899eb2fc55575
    Reviewed-on: https://chromium-review.googlesource.com/924477
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 029e8ca778848d23cb5e3b16c1d30379c79b3906
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Feb 16 14:06:49 2018 +0200

    Add a constexpr constructor for TFunction
    
    Access to TFunction parameters is now handled through two new members:
    a pointer to a parameter array and a parameter count.
    
    There's still also a vector pointer in TFunction for adding function
    parameters one by one. This is used when parsing user-defined
    functions.
    
    TEST=angle_unittests
    BUG=angleproject:2267
    
    Change-Id: I86987ae56b7cf37f010d0651e9861789050aec2b
    Reviewed-on: https://chromium-review.googlesource.com/923987
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 697bf65c11076fd302fca0631926cc64ae3e23b7
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Feb 16 11:50:54 2018 +0200

    Avoid redundant symbol lookup when parsing functions
    
    The lexical phase looks up symbols when it encounters an identifier.
    Instead of duplicating this work when parsing non-constructor
    functions, we now store the symbol looked up in the lexical phase in
    TFunctionLookup.
    
    This improves scores of the real world shader compiler perf test by
    1-2%.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: Idc99776571313d8b654910f9daaf9bf34a048228
    Reviewed-on: https://chromium-review.googlesource.com/923725
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 9fdaa497b489b7e7739e29812c85da2125b6a681
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Feb 16 10:52:11 2018 -0500

    Don't no-op draw calls for zero count in validation.
    
    Make the no-op happen in the Context, so we can properly generator
    more errors for negative WebGL tests. Some validation tests still
    need to check for no-ops, such as range checks.
    
    BUG=angleproject:2050
    
    Change-Id: I48d0b3cf640f7f128679600e5df108146cfd6348
    Reviewed-on: https://chromium-review.googlesource.com/522869
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 0cbfa5866f43b6098a8d963ca9ac6f4a096bf42c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Feb 15 14:45:41 2018 -0500

    Vulkan: Implement basic Renderbuffer attachments.
    
    Creating an ImageView for color Renderbuffers allows us to render to
    them in a RenderPass. We will also need additional functionality to
    support depth/stencil Renderbuffers.
    
    Bug: angleproject:2347
    Change-Id: I5d4f7d8242ad4fbca38cb08c0cf6b43edca57c8f
    Reviewed-on: https://chromium-review.googlesource.com/922456
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit e80825ef7bd4a396baf1e4e405dc9ac2b46132d7
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Feb 16 10:24:53 2018 +0200

    Simplify built-in function node initialization
    
    Built-ins with no math op associated with them now have the op code
    EOpCallBuiltInFunction set. This makes initializing built-in function
    nodes simpler, since they can always get the op code from the function
    symbol.
    
    We also no longer look for functions in inner scopes, only from the
    global scope and from built-in functions.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: I55a2642f34bb3c8b8f13183c95fa509ec3b9cfdb
    Reviewed-on: https://chromium-review.googlesource.com/923724
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 17448956b7207415f573824099677139be4e6f49
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Thu Jan 5 15:48:26 2017 -0500

    Vulkan: vertex attributes in client memory.
    
    Support vertex data stored in client memory passed to glVertexAttribPointer.
    Only GL_FLOAT data is supported at this time.  Includes a simple test.
    
    BUG=angleproject:1683
    
    Change-Id: I3bc0cdefe02b02c046b0e85822019a0f1762235e
    Reviewed-on: https://chromium-review.googlesource.com/425137
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit b66de58fc571d7d27e8316f2ff1853b3d8d440b4
Author: Nico Weber <thakis@chromium.org>
Date:   Thu Feb 15 14:02:33 2018 -0500

    Mark third-party code in ANGLE as no_chromium_code.
    
    That way, we don't have to explicitly disable Wimplicit-fallthrough
    for these targets, and when we add new warnings to chromium_code in
    the future, these targets won't need any special attention.
    
    Like https://chromium-review.googlesource.com/c/chromium/src/+/905222
    
    Bug: 807632
    Change-Id: I3a605dd3ef9ed7d8cfe9e36964c3433040bfc330
    Reviewed-on: https://chromium-review.googlesource.com/922503
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Nico Weber <thakis@chromium.org>

commit d7ebfb92ba2df022580d8ba554de833c77d10fe0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Feb 15 16:34:29 2018 -0500

    Add missing is_fuchsia to system_utils selection.
    
    This fixes a build break because of 046fa0efc44d3ac5d.
    See: https://crrev.com/c/898591
    
    Bug: angleproject:2333
    Change-Id: I6a4cb60dd2d2958ea71aaa27f1429233c2787fb4
    Reviewed-on: https://chromium-review.googlesource.com/922878
    Reviewed-by: Scott Graham <scottmg@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit f618c9e5f95f1b053f087b9cdcc1ac86760faace
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Feb 15 14:45:40 2018 -0500

    Vulkan: Add depth/stencil surfaces.
    
    This change lets us create egl::Surfaces from a D24S8 config. This is
    a bit hacky, because the spec only mandates 24 -or- 32 bit depth
    support, but not both or either individually. Will need follow-up work
    for proper EGL config setup.
    
    A single depth buffer is allocated for the entire set of swapchain
    images and is used with each. This also might be a problem if we're
    rendering to multiple frames at the same time. We'll likely have to
    revisit this in the future as well.
    
    This adds a new RenderTargetVk to the SurfaceVk class which points to
    the Depth/Stencil image. Since ImageViews must refer to either the
    depth or stencil, but not both, we'll need to address this when we
    get to implementing depth/stencil texture reads in shaders.
    
    Bug: angleproject:2357
    Change-Id: Ibed0eed7e1d0efb272758dbfc79fa2c5aa93997f
    Reviewed-on: https://chromium-review.googlesource.com/919761
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit b92f92a780a1ba4846f6b34d86ad68d0ec1437fb
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Feb 15 19:14:59 2018 +0200

    Clean up dead insertion of unmangled symbols
    
    Unmangled names of built-ins are not inserted to the symbol table in
    a normal way, so the function to do that is not needed.
    
    BUG=angleproject:2267
    TEST=compile ANGLE
    
    Change-Id: I68bae9a1f762ecc69ab31f04458a38c941b9d74c
    Reviewed-on: https://chromium-review.googlesource.com/922202
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit b5db2b497b4e26d84f7f2a284dddc726ff740502
Author: Nico Weber <thakis@chromium.org>
Date:   Mon Feb 12 15:31:56 2018 -0500

    Enable -Wimplicit-fallthrough for ANGLE.
    
    Also teach MSVC that ANGLE_CRASH() can't return.
    
    Also fix instances of the warning in build configurations where
    UNREACHABLE() can return (e.g. release without dcheck_always_on
    or debug).
    
    If the UNREACHABLE()s are truly unreachable, this change has
    no behavior change.
    
    Bug:  chromium:810767
    
    Change-Id: I68f3587cf3e268c3ef634dce7ae3d70399859d0f
    Reviewed-on: https://chromium-review.googlesource.com/914842
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nico Weber <thakis@chromium.org>
    Commit-Queue: Nico Weber <thakis@chromium.org>

commit 4edce33698c367a3884a597ead73775a5e4abb24
Author: Lingfeng Yang <lfy@google.com>
Date:   Wed Feb 14 19:01:31 2018 -0800

    GLES1: macOS: Add rpath to libGLESv1_CM.dylib
    
    This is to fix error messages when running GLES1 samples (and probably
    other apps) from different directories than the same one as where
    libGLESv1_CM.dylib is located.
    
    BUG=angleproject:2306
    
    Change-Id: I24ab33eb1bc805c1e64efab9a0acbfcf10480d94
    Reviewed-on: https://chromium-review.googlesource.com/920926
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Lingfeng Yang <lfy@google.com>

commit 0bc6024a01d99b9ddc299b0330cb798592ba7455
Author: shinchiro <shinchiro@users.noreply.github.com>
Date:   Fri Feb 9 22:03:49 2018 +0800

    Fix mingw compile.
    
    Adjust a compile guard around posix_memalign.
    
    Bug: angleproject:2163
    Change-Id: I1d2dca24b8a2b8e549df411b1611e9fe0ac9082d
    Reviewed-on: https://chromium-review.googlesource.com/920748
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 710aa5c7040b48b88a66701528c03a7533ea0712
Author: Lingfeng Yang <lfy@google.com>
Date:   Thu Feb 8 10:57:55 2018 -0800

    GLES1: Mat4 transform library
    
    GLES1 has functions like glFrustum / glTranslatef which are baked 4x4
    matrix operations. The purpose of this CL is to add those operations as
    library functions in ANGLE, to make it convenient later on.
    
    This is inspired by GLM and tested against GLM-generated numbers.
    
    BUG=angleproject:2306
    
    Change-Id: I3b428a115a935ee4f0d00585ad38745a38cc128c
    Reviewed-on: https://chromium-review.googlesource.com/909578
    Commit-Queue: Lingfeng Yang <lfy@google.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit f3803d4f74a545f11217f87511e8eaa718f37a80
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Wed Feb 14 18:29:27 2018 -0500

    Fix standalone Linux build
    
    Need to include gtest before X11 to avoid defines conflict
    
    BUG=angleproject:2348
    
    Change-Id: If758c53fb5ef010506f13165186110f00c099e07
    Reviewed-on: https://chromium-review.googlesource.com/919687
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 809b13ed3b5d354f878bd78a80a56f6aee95a93f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Nov 7 15:33:46 2017 -0500

    StateManagerGL: Use dirty bits for framebuffer bindings.
    
    BUG=angleproject:2188
    
    Change-Id: Icbe78f645b693a5b2ef555feffda0f618209e867
    Reviewed-on: https://chromium-review.googlesource.com/757092
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>

commit f4d693c04294dfea6fd4cc5960313250878f58a1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Feb 14 16:38:16 2018 -0500

    Vulkan: Cache clear color in ContextVk.
    
    This makes the current clear color a bit more accessible than using
    the current GL state clear color directly. It is stored in the Context
    using the Vulkan clear color struct.
    
    This also cleans up the attachment clear values in FramebufferVk and
    paves the way for depth/stencil clear when support for depth/stencil
    exists.
    
    Bug: angleproject:2357
    Change-Id: I0553e4447249325115625a44e9f4b1623c7cb0bc
    Reviewed-on: https://chromium-review.googlesource.com/919550
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 57fbfd805bab0d48b49b42be2360a37ee9006525
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Feb 14 12:45:34 2018 -0500

    Vulkan: Pass RendererVk to Allocate helpers.
    
    Passing the Renderer pointer instead of the Context pointer makes
    these methods a bit easier to work with from the "EGL" sections of
    the code. This is a refactoring-only change to aid the Depth/Stencil
    implementation.
    
    Bug: angleproject:2357
    Change-Id: Icbcc72a1daff4edd947a21672744498781cfc064
    Reviewed-on: https://chromium-review.googlesource.com/919523
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 12eb3d74b7d6e6aee96813a5c3ac09c06179cbe1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Feb 14 12:34:45 2018 -0500

    Vulkan: Implement basic Renderbuffer creation.
    
    Bug: angleproject:2347
    Change-Id: I56edfde2dbc020d5c792cc4f107aa4b9d6b71840
    Reviewed-on: https://chromium-review.googlesource.com/905895
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit ee305913ae96981562b7109019e9ddb0999f3416
Author: Luc Ferron <lucferron@chromium.org>
Date:   Wed Feb 14 13:50:38 2018 -0500

    AngleWrangle: Suppress newly introduced flakyness
    
    Flakyness noticed there:
    https://ci.chromium.org/buildbot/tryserver.chromium.angle/mac_angle_rel_ng/
    https://ci.chromium.org/buildbot/chromium.gpu.fyi/Mac%20FYI%20Release%20%28Intel%29/
    
    Introduced in:
    https://chromium-review.googlesource.com/c/angle/angle/+/913108
    
    Change-Id: I9cbd76c0472d023005ded9f957b304a4a769c619
    Reviewed-on: https://chromium-review.googlesource.com/919547
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 0aa1ffe330ba44210c4b15a9cb9236fe75c7eeb6
Author: Luc Ferron <lucferron@chromium.org>
Date:   Thu Feb 8 13:42:36 2018 -0500

    Vulkan: Autogen mandatory texture caps
    
    * This commit includes a JS file to execute on the spec and
    generate the JSON output of all the mandatory texture caps.
    
    Bug: angleproject:2348
    
    Change-Id: I57e969915bdd0e7104e00a73fd3743ff1ecf0a6d
    Reviewed-on: https://chromium-review.googlesource.com/911615
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 8170eab7d87d1ff6dac62f7ffd914fb1e06d45fb
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Sep 21 13:59:04 2017 -0400

    D3D: Implement robust resource init for Surfaces.
    
    BUG=angleproject:2107
    BUG=angleproject:2317
    
    Change-Id: I22260e1093dc6c09e4627c62a95ca4088c99e951
    Reviewed-on: https://chromium-review.googlesource.com/678480
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 264035335f6be84f992765df5797f292acfaf329
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Feb 14 14:19:13 2018 +0000

    Revert "Vulkan: Add glslang validator to build."
    
    This reverts commit 560bfbcb7860267888db2e8933c187710f4e1512.
    
    Reason for revert:
    
    Appears to be causing a compile error on the ANGLE roll.
    https://chromium-review.googlesource.com/c/chromium/src/+/914429
    https://ci.chromium.org/p/chromium/builders/luci.chromium.try/linux_chromium_compile_dbg_ng/11598
    
    /b/swarming/w/ir/cache/builder/linux/src/out/Debug/../../third_party/llvm-build/Release+Asserts/bin/ld.lld: error: undefined symbol: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::compare(unsigned long, unsigned long, char const*) const
    >>> referenced by StandAlone.cpp
    
    Original change's description:
    > Vulkan: Add glslang validator to build.
    >
    > This binary will be used to generate internal shaders for
    > clearing/blit/etc.
    >
    > Bug: angleproject:2339
    > Change-Id: I13db7d7a4f5a0155798c9b9a6d2972dd69a680ef
    > Reviewed-on: https://chromium-review.googlesource.com/904683
    > Commit-Queue: Jamie Madill <jmadill@chromium.org>
    > Reviewed-by: Geoff Lang <geofflang@chromium.org>
    
    TBR=ynovikov@chromium.org,geofflang@chromium.org,jmadill@chromium.org
    
    # Not skipping CQ checks because original CL landed > 1 day ago.
    
    Bug: angleproject:2339
    Change-Id: I7bcedf27831648d4c659294d12cab50f6ef9f33f
    Reviewed-on: https://chromium-review.googlesource.com/919141
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 9550c603b72f33ec570de2986a45ca1e3f223d29
Author: Yunchao He <yunchao.he@intel.com>
Date:   Tue Feb 13 14:47:05 2018 +0800

    Code refactoring for end2end tests.
    
    This change:
    1) uses the new style ANGLE_SKIP_TEST_IF to skip tests.
    2) replaces compile-time definition for OSX to skip tests by run-time
    function IsOSX() to skip tests, in order to align with ANGLE_SKIP_TEST_IF.
    3) fixes a couple of typos.
    
    BUG=angleproject:2005
    
    Change-Id: I5af77d82257536b9eb79e26afa502f5b91ff6d31
    Reviewed-on: https://chromium-review.googlesource.com/915861
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 2900c3be7917ed6f1010d7c377a969e8bfe09f67
Author: Luc Ferron <lucferron@chromium.org>
Date:   Fri Feb 9 16:02:41 2018 -0500

    Vulkan: Add culling rasterization states tests and invert front face
    
    Bug: angleproject:2352
    
    Change-Id: I0ac83f3173d22a2ee8bc98d2fd7bfa1875d46b8c
    Reviewed-on: https://chromium-review.googlesource.com/912358
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit d50537a7d0049c0bf54e45338a885bb553580a95
Author: Luc Ferron <lucferron@chromium.org>
Date:   Wed Feb 7 17:02:08 2018 -0500

    Vulkan: Texture caps map
    
    We are generating the caps map using various bits from the results of
    vkGetPhysicalDeviceFormatProperties. This contains all the information
    required to fill out "renderable", "texturable" and "filterable".
    
    Later we'll need to read from vkGetPhysicalDeviceImageFormatProperties as
    well to get the sampleCounts.
    
    The tests for now are not very meaningful since they use the same logic
    as the caps code to build the expected results, however as soon as we'll
    add the hard-coded list of mandatory texture caps, the test will be a good
    validator that we are not breaking anything.
    
    We only check the optimal set of flags since it is the most restrictive
    set.
    
    isTexturable = flags contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
    isFilterable = flags contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
    isRenderable = flags contain VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT OR
                                 VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT
    
    Bug: angleproject:2348
    
    Change-Id: I9da0712190d2678d7e377d6fcd4ca83d23eefd38
    Reviewed-on: https://chromium-review.googlesource.com/908712
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit defe39374104ce6745017828a32c97d23ce49bb1
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Feb 13 11:56:09 2018 +0200

    Store invariant varying names as ImmutableString
    
    This gets rid of a few extra ImmutableString to std::string
    conversions which makes the code clearer. There doesn't seem to be any
    significant effect on performance.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: I36ebbc8a4130ab8f9d6194feca83ec5dcbc95f78
    Reviewed-on: https://chromium-review.googlesource.com/916141
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit bf107be4fd0eaf82039a692e3771117c4a18a3c0
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Feb 8 18:43:03 2018 +0200

    Don't search for nonexistent brackets in InitializeVariables
    
    Array brackets are not included in ShaderVariable::name, so they
    don't need to be pruned from there either when using the name to
    look up the variable.
    
    BUG=angleproject:2267
    TEST=angle_unittests --gtest_filter=*InitOutput*Array*
    
    Change-Id: I2b80a88c1d67f7f0dde12880bcfb35fb6d861cd0
    Reviewed-on: https://chromium-review.googlesource.com/909109
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit d9ed9c1af38569d3de4224373faef9ac946153dc
Author: Tobin Ehlis <tobine@google.com>
Date:   Mon Feb 12 14:50:10 2018 -0700

    Put Vulkan mock ICD json file in separate dir
    
    Create "icd" subdir in angledata directory where the Vulkan mock ICD
    json file is stored. This prevents potential loader conflicts with the
    layer json files. This change means that when running with the mock
    ICD a user will need to set their VK_ICD_FILENAMES env variable to now
    point to "<build_out_dir>/angledata/icd/VkICD_mock_icd.json" and make
    sure that the built mock icd library resides in the system's shared
    object search path.
    
    Bug: angleproject:2159
    Change-Id: I802bb61a06a2f370bb1fa7a28d9c3548e5f94ecf
    Reviewed-on: https://chromium-review.googlesource.com/914819
    Commit-Queue: Tobin Ehlis <tobine@google.com>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 7b17fa189b43360f4bcd3cafa2481c28abb1f877
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Jan 29 11:12:57 2018 +0200

    Add a constexpr constructor for TVariable
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: I9b7e01801caa7235ac5e2d4212ea92e38c1f774d
    Reviewed-on: https://chromium-review.googlesource.com/908752
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 34a062691e1c5eebfd81ae694546be6c89de126f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Feb 12 16:30:43 2018 -0500

    Remove usage of ANGLE_FALLTHROUGH in EmulatePrecision.cpp
    
    BUG=chromium:810767
    
    Change-Id: Ic0dafc9038b14093fdb799fe382ba8275195c0cc
    Reviewed-on: https://chromium-review.googlesource.com/914804
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit b79f03514b71c6cc38320cf498f8731c792bc6e3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Feb 12 13:13:53 2018 -0500

    Add test for scissored clear.
    
    This simple test will be used to debug the Vulkan back-end's basic
    scissored clear functionality.
    
    Bug: angleproject:2356
    Change-Id: I4bed68740ac57b3cc61f2dfe9164081b05bc31b3
    Reviewed-on: https://chromium-review.googlesource.com/914230
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit f0d3b901aa45c08955ceea4c53ebf0946faf8432
Author: Brandon Jones <brandon1.jones@intel.com>
Date:   Thu Feb 8 08:57:14 2018 -0800

    Enable Multisample Sources in copyImageInternal For D3D11
    
    This enables the copyTexImage2D and copyTexSubImage2D to handle
    multisampled source through through the blit path. We attempt to use a
    cached texture as an intermediate to resolve to, or create a new texture
    if there's a mismatch. The resolved texture is sent through
    blit11::copyTexture as normal.
    
    BUG:angleproject:2316
    Change-Id: Ie3490b45b1a368300ee13fe5a0b35dc3920364ff
    Reviewed-on: https://chromium-review.googlesource.com/911889
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 560bfbcb7860267888db2e8933c187710f4e1512
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Feb 12 10:08:25 2018 -0500

    Vulkan: Add glslang validator to build.
    
    This binary will be used to generate internal shaders for
    clearing/blit/etc.
    
    Bug: angleproject:2339
    Change-Id: I13db7d7a4f5a0155798c9b9a6d2972dd69a680ef
    Reviewed-on: https://chromium-review.googlesource.com/904683
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 4ed05da293d56fa742e9a5b734ad67cb3477b042
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Fri Feb 2 14:26:15 2018 +0800

    ES31: Add link validation on geometry shader itself
    
    This patch intends to support program link validation on geometry
    shader itself. A link error should occur when linking a program with
    a geometry shader that lacks input primitive or output primitive or
    the declaration of 'max_vertices'.
    
    This patch also adds the support of linking a program with geometry
    shader in angle_end2end_tests.
    
    BUG=angleproject:1941
    TEST=angle_end2end_tests
         dEQP-GLES31.functional.shaders.linkage.es31.geometry.varying.rules.unspecified_*
    
    Change-Id: I25fb08514753102f5dd3ab86211c05d2ca4fd185
    Reviewed-on: https://chromium-review.googlesource.com/898842
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 30414789a12a7663f3d8fa1b5138eb930b4ea4fe
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Feb 12 15:16:02 2018 +0000

    Revert "GLES1: Link against angle_util_static instead of angle_util."
    
    This reverts commit da91c9a6d86c9ecd21c6ac724cf9576d7ee310d2.
    
    Reason for revert: Causes undefined behaviour in linker.
    
    Original change's description:
    > GLES1: Link against angle_util_static instead of angle_util.
    >
    > Attempting to work around missing .so on linux bots.
    >
    > BUG=angleproject:2303
    >
    > Change-Id: I7fabad308afd420987369b460c13c00781113605
    > Reviewed-on: https://chromium-review.googlesource.com/909028
    > Reviewed-by: Geoff Lang <geofflang@chromium.org>
    > Commit-Queue: Geoff Lang <geofflang@chromium.org>
    
    TBR=geofflang@chromium.org,lfy@google.com
    
    # Not skipping CQ checks because original CL landed > 1 day ago.
    
    Bug: angleproject:2303
    Change-Id: I8d3f3d9bd618d9604cec0f02424f788cab25b3f9
    Reviewed-on: https://chromium-review.googlesource.com/913550
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Lingfeng Yang <lfy@google.com>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 046fa0efc44d3ac5d5ec26a98353d3a3f0d2b101
Author: jchen10 <jie.a.chen@intel.com>
Date:   Fri Feb 2 14:51:36 2018 +0800

    Vulkan: Prepend layer path to VK_LAYER_PATH
    
    Directly setting this variable overwrites old value, as might be
    unexpected. Instead the path can be prepended to it, so that old
    value can still work.
    
    This is needed in order to use additional debugging layers, like
    the "api_dump" layer. See https://github.com/LunarG/VulkanTools
    for more.
    
    BUG=angleproject:2333
    
    Change-Id: I5338a5b928ffa792cc9b6db5b69713320b5b0842
    Reviewed-on: https://chromium-review.googlesource.com/898591
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 2f23f35afb94cd94f0f73192893982eb6ff83f02
Author: Yunchao He <yunchao.he@intel.com>
Date:   Sun Feb 11 22:11:37 2018 +0800

    Clean up end2end tests for Intel OSX.
    
    BUG=angleproject:2205
    BUG=angleproject:2041
    BUG=angleproject:2155
    
    Change-Id: I26bcbb63e147787cd342ec80a86d60cf230be4c9
    Reviewed-on: https://chromium-review.googlesource.com/913108
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit e5fe7aad845474c097c28a4df898a42b28f26729
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Jan 29 12:06:11 2018 +0200

    Store builtin symbols as const pointers
    
    To do this we need two types of symbol table levels: A level for
    built-ins and a level for user-defined symbols. User-defined symbols
    are non-const because function symbols created based on function
    prototypes are changed when the function definition is parsed. On the
    other hand, we want to make built-in symbols constexpr, so we should
    only handle them through const pointers.
    
    This also gets rid of extra empty precision stack levels. Only one
    level is needed to store predefined precisions.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: I9f14b24c2cfce272f22c16e7a8dfb653b849cbeb
    Reviewed-on: https://chromium-review.googlesource.com/892879
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 8f27b05092640bde80e8a1e6bda9f364f7921960
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Feb 8 16:18:37 2018 -0500

    Update Android build instructions
    
    Build flags to enable Vulkan backend and some small updates.
    
    BUG=angleproject:2314
    
    Change-Id: Ia99cc5a4b326a4cab115652cb12b3fb61033eeee
    Reviewed-on: https://chromium-review.googlesource.com/909723
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 6108b766b371a6e2261d7e2e130126a120fd4d05
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Feb 8 18:17:43 2018 -0500

    Remove angle::Library and its usages
    
    No longer needed after https://chromium-review.googlesource.com/513519
    Loading libGLESv2 interferes with API tracing tools
    
    BUG=angleproject:1892,angleproject:2343
    
    Change-Id: I2ccbc99377d75d107fd644301402c52466dded21
    Reviewed-on: https://chromium-review.googlesource.com/910094
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 41b072b646f1178d4b16db72a55e5e5510c8dd66
Author: Nico Weber <thakis@chromium.org>
Date:   Fri Feb 9 10:01:32 2018 -0500

    Prepare for -Wimplicit-fallthrough in ANGLE.
    
    Disable the warning for flex-generated output, which contains
    lots of intentional fallthrough.
    
    Fixes a bug where GL_SAMPLE_ALPHA_TO_ONE_EXT would fall through
    to GL_COVERAGE_MODULATION_CHROMIUM and hence behave like that.
    
    Fixes a bug in the D3D9 state management where invalidating
    DIRTY_BIT_POLYGON_OFFSET would also invalidate the stencil bits.
    
    One somewhat common incorrect pattern in ANGLE is nested switch
    statements that look like so:
    
      switch (a) {
        case a1:
          switch (b) {
            case b1:
              ...
              break;
          }
        case a2:
          ...
      }
    
    The assumption here seems to be that the breakk exits the outer
    case (here a1), while it in fact only exits the inner switch,
    so that we fall through to a2.  In most places, I fixed this
    by adding an explicit `break` after the inner switch.
    
    This fixes a bug wher GL_PATH_JOIN_STYLE_CHROMIUM would fall through to
    GL_PATH_MITER_LIMIT_CHROMIUM in validation (but since the join style
    enum is always > 0, this happened to not have an effect in practice).
    
    This also fixes 87 bugs in GetLoadFunctionsMap() where invalid
    values would previously return an unrelated function map instead
    of the empty load function map.
    
    Bug: chromium:810767
    Change-Id: Ib51388c73fbfc229160e2c10f8fb9364cc7c996c
    Reviewed-on: https://chromium-review.googlesource.com/911529
    Commit-Queue: Nico Weber <thakis@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 617736404a624582a6ea2d68086824483ac21f5c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Feb 9 10:12:21 2018 -0500

    Skip PostSubBuffer calls that have zero size.
    
    BUG=810411
    
    Change-Id: I8770b69fe4ab8a8f9bacd141c89e7f83f67f15fb
    Reviewed-on: https://chromium-review.googlesource.com/911589
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit f8be756eb976d650874385195500e7de2c598a02
Author: Luc Ferron <lucferron@chromium.org>
Date:   Tue Feb 6 15:59:11 2018 -0500

    Vulkan: Implement blend states and add a simple test for it
    
    Bug: angleproject:2346
    
    Change-Id: I462a2cb29ceda5563f48b4a3cc1d0aa20f4a49fc
    Reviewed-on: https://chromium-review.googlesource.com/907169
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 3e520b6f43998a54b088507ce2dd4f88597251fa
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Feb 8 16:26:30 2018 -0500

    OpenGL: Disable forwarding debug groups and messages all the way to the driver.
    
    Because of virtualized contexts, the debug groups are not always popped
    in the same order that they are pushed leading to inconsistant state and
    sometimes GL_STACK_OVERFLOW errors from the driver.
    
    BUG=angleproject:2354
    
    Change-Id: I0a001002149184dd882c3b17e8451bcd694608ba
    Reviewed-on: https://chromium-review.googlesource.com/909794
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit ed04619a05689d63e97749fda33d94d41d361f72
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Feb 8 14:57:14 2018 -0500

    Fix typo in bug link.
    
    BUG=angleproject:2205
    
    Change-Id: I7ff1c3d0bb380c73c07dad0a30a4a4a19c17e397
    Reviewed-on: https://chromium-review.googlesource.com/909577
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit bb514004fc5ff1d817b0cb6fefced5f2915f99bd
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Apr 28 14:08:38 2017 -0400

    Request RGBA8 configs by default for gtest dEQP.
    
    Previously, dEQP would just use the first config returned which was
    RGBA4 which is not very representitive of what our users would request.
    
    BUG=angleproject:2337
    BUG=angleproject:1095
    BUG=angleproject:2222
    
    Change-Id: I5c9defc7ce1feaa49407557b88d9bb6b98571771
    Reviewed-on: https://chromium-review.googlesource.com/490726
    Reviewed-by: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 06b95582a74b0bca1a5458bf15edd2db22c97278
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Feb 8 13:48:44 2018 -0500

    Re-supress VerifyMax*UniformVectors on Ozone Intel.
    
    BUG=angleproject:2205
    
    Change-Id: Icff414dc7a521205fd3e39af4652b0fdef1cb900
    Reviewed-on: https://chromium-review.googlesource.com/909291
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit da91c9a6d86c9ecd21c6ac724cf9576d7ee310d2
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Feb 8 11:46:39 2018 -0500

    GLES1: Link against angle_util_static instead of angle_util.
    
    Attempting to work around missing .so on linux bots.
    
    BUG=angleproject:2303
    
    Change-Id: I7fabad308afd420987369b460c13c00781113605
    Reviewed-on: https://chromium-review.googlesource.com/909028
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit e051ea72773ca39d737dc7d7241074b4f95f1159
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Feb 8 12:04:06 2018 -0500

    Vulkan: Update .gitignore with repo change.
    
    This was missing from a prior commit which moved the Vulkan DEPS.
    
    Bug: angleproject:2339
    Change-Id: I16c2918af9396b5b935993d08d8f2ff925f3cb01
    Reviewed-on: https://chromium-review.googlesource.com/909228
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit bac02d76e95db6bbf8041ae55cac8072025eb86e
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Wed Feb 7 20:36:07 2018 -0500

    Vulkan: Fix data_deps on layers
    
    Was broken by https://chromium-review.googlesource.com/900096
    
    BUG=angleproject:2339
    
    Change-Id: I3c28a38619d83e7dcbb2349565517feb1758976c
    Reviewed-on: https://chromium-review.googlesource.com/907959
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 8e5ba8bbf677fb588d044be58a0fb4789b35f82d
Author: Yunchao He <yunchao.he@intel.com>
Date:   Mon Feb 5 17:52:27 2018 +0800

    Clean up end2end tests for Intel Linux platform.
    
    Removed tests can pass on Intel Linux Desktop (Intel KabyLake, Ubuntu 17.04)
    with system default mesa and latest upstream mesa.
    
    BUG=angleproject:2205
    BUG=chromium:680631
    
    Change-Id: Ie3f0f34b9708a7dab81f66d9ec83a469658deee7
    Reviewed-on: https://chromium-review.googlesource.com/901382
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 5420cb2a3ae0f76a0244cf6b25f897514e545c61
Author: JiangYizhou <yizhou.jiang@intel.com>
Date:   Wed Jan 24 10:09:22 2018 +0800

    Suppress Intel specific deqp test cases
    
    Test deqp cases on Windows D3D and Linux on Intel HD 630.
    Add failed or crashed test cases to expectation files.
    
    BUG=801323
    BUG=angleproject:2349
    
    Change-Id: I495874f5e1841f6c7ce0f59224ed0da9465546ce
    Reviewed-on: https://chromium-review.googlesource.com/900708
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 0e65454df2b66c7dada831f24752c677f86e43ff
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Feb 7 14:50:06 2018 -0500

    Vulkan: Fix circular dependency with resource updates.
    
    The old implementation would try to keep recording draw commands to
    the same framebuffer write operation even if the vertex array buffer
    data changed. This would lead to a broken dependency graph. Fix this
    by forcing any current render operations to create a new node in this
    case, giving a correct command graph.
    
    Old design:
    
    - render (creates a CommandBufferNode A)
    - update buffer (creates a CommandBufferNode B which happens after A)
    - render (to CommandBuffer A, and gives a circular dependency with B)
    
    New design
    
    - render (CommandBufferNode A)
    - update buffer (CommandBufferNode B, happens after A)
    - render (CommandBufferNode C, happens after B)
    
    This also renames some methods to try to clarify them.
    
    Bug: angleproject:2350
    
    Change-Id: I6559bed4ed3f58f68771662422c5bef6a505282b
    Reviewed-on: https://chromium-review.googlesource.com/907416
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 469708e7a515578d60ed0a2e51362fc9475131e4
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Feb 7 16:54:15 2018 -0500

    Add expectations for gles1 conformance tests.
    
    Mark all tests as failing until they are running on the bots.
    
    BUG=angleproject:2303
    
    Change-Id: If9dfccd4a433ab039a1993c8e5a351b55532a0c8
    Reviewed-on: https://chromium-review.googlesource.com/907630
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Lingfeng Yang <lfy@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit a1134ba865bf4aeb01dc2ba395c23c6eb9eb351e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Feb 7 15:24:47 2018 -0500

    Vulkan: Relocate third-party libraries. (2/2)
    
    This makes the BUILD.gn source lists a lot simpler, since they no
    longer need to use a special path variable, but instead can use the
    correct relative paths.
    
    This will lead to further simplifications so we can hopefully upstream
    the Vulkan tools BUILD.gn files.
    
    Second part updates the build files and removes the old repositories.
    
    Bug: angleproject:2339
    Change-Id: I37f5b42a0854ca49448ecbbb32c19c24df57f452
    Reviewed-on: https://chromium-review.googlesource.com/905894
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 00155d58e8b034ecbc179186da8996451fb6de5c
Author: Luc Ferron <lucferron@chromium.org>
Date:   Tue Feb 6 10:48:47 2018 -0500

    Vulkan: Implement scissor test and add a simple test for it
    
    Bug: angleproject:2338
    
    Change-Id: I699189fcd41feca1656c8553fdf4c1078421524d
    Reviewed-on: https://chromium-review.googlesource.com/904861
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit b9d1daa06d3519752139d5714210bb43b3d4bec7
Author: Tobin Ehlis <tobine@google.com>
Date:   Thu Jan 4 08:30:26 2018 -0700

    Add Vulkan mock_icd to the build
    
    Bug: angleproject:2159
    
    Add Vulkan mock_icd from validation layer source to the standard Vulkan
    build. This can act as a NULL driver for Vulkan. Once the mock is built
    set VK_ICD_FILENAMES env variable to
    "<build_out_dir>/angledata/VkICD_mock_icd.json" to point loader to the
    mock driver and make sure the built mock icd library resides in the
    system's shared object search path.
    
    Change-Id: Iea86325cf076df75fa82a4974c8a3a6249cdf8e0
    Reviewed-on: https://chromium-review.googlesource.com/850892
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit fd66b81e2e90666670d7f1c7c45e988b1c8662bd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Feb 6 16:08:14 2018 -0500

    Vulkan: Relocate third-party libraries. (1/2)
    
    This makes the BUILD.gn source lists a lot simpler, since they no
    longer need to use a special path variable, but instead can use the
    correct relative paths.
    
    This will lead to further simplifications so we can hopefully upstream
    the Vulkan tools BUILD.gn files.
    
    First part duplicates the repositories in the new locations.
    
    Bug: angleproject:2339
    Change-Id: I98d4711b6f0451372476c8089af2d044bf1f65d6
    Reviewed-on: https://chromium-review.googlesource.com/902422
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit b4cc49fbc227aab66680c50783ee814c2c2ba20b
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Jan 25 14:37:06 2018 +0200

    Use only ImmutableString in TextureFunctionHLSL
    
    BUG=angleproject:2267
    TEST=angle_unittests, angle_end2end_tests
    
    Change-Id: I344ca0098762fcf665365c79d1f8fb04cb1b03f6
    Reviewed-on: https://chromium-review.googlesource.com/887067
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 29bda81585d8d11460f5b53b99980f80a76d3cae
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Jan 26 17:37:36 2018 +0200

    Move symbol table initialization to SymbolTable.cpp
    
    This is needed in order to make symbol table symbols statically
    allocated.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: Ia2d44fb30d49dc5d5c67643fe01280c89127a3c3
    Reviewed-on: https://chromium-review.googlesource.com/889299
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 57dd97aaaf09443944b33985433127a7189720a9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Feb 6 17:10:49 2018 -0500

    Vulkan: Add helper for allocating image memory.
    
    Also refactors some memory index searching code that was duplicated.
    This will lead the way to having more code reuse for our Renderbuffers
    implementation in Vulkan, and for other types of Texture.
    
    Bug: angleproject:2347
    Change-Id: I49cbd77328c01f945d66f92e6ec4ba7c552abeff
    Reviewed-on: https://chromium-review.googlesource.com/904684
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit fbb1c792150a8d304f20b84a4bf002599be7d97f
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Jan 19 16:26:59 2018 +0200

    Store symbol names as a ImmutableString
    
    This will enable compile-time initialization of built-in symbols as
    well as reducing copying strings.
    
    Most of the code that deals with names is changed to use
    ImmutableString where it makes sense to avoid conversions.
    
    The lexer/parser now allocate const char pointers into pool memory
    instead of allocating TStrings. These are then converted to
    ImmutableString upon entering TParseContext.
    
    BUG=angleproject:2267
    TEST=angle_unittests, angle_end2end_tests
    
    Change-Id: I244d6271ea1ecf7150d4f89dfa388a7745a1150c
    Reviewed-on: https://chromium-review.googlesource.com/881561
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit d775684a9f88de62f8eca400727bd226fb32bae1
Author: Rahul Jain <talentediq@gmail.com>
Date:   Fri Dec 22 16:06:09 2017 +0530

    Added Documentation for running dEQP tests
    
    Old targets do not accept --deqp-case=<test>
    As they are written using google test
    
    To run individual dEQP test we need to use *_no_gtest targets
    
    angle_deqp_egl_no_gtest
    angle_deqp_gles2_no_gtest
    angle_deqp_gles31_no_gtest
    angle_deqp_gles3_no_gtest
    
    above targets accept -deqp-case=<test> wildcard
    
    Bug: angleproject:1944
    Change-Id: I307a60c0cc41c446013bda42ccf0f909000f1ec8
    Reviewed-on: https://chromium-review.googlesource.com/842284
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit b62a1c2ac891b77d3d60d1cad7f37d2bdd8ba877
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Feb 6 09:54:02 2018 -0500

    Vulkan: Reorganize BUILD.gn files.
    
    This moves the SPIRV-Tools and glslang and Validation layers build
    files into the root of the dep folder.
    
    Requires an upstream Chrome change to allow for a different path
    to execute scrips in GN.
    
    Also removes the vulkan_support subdirectory.
    
    Bug: angleproject:2339
    Change-Id: I457b5b05547c092a1e7fef6dd0aaadd8068e2143
    Reviewed-on: https://chromium-review.googlesource.com/900096
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit ceb7190bba308b473e203c336a63b2177dd323fb
Author: Luc Ferron <lucferron@chromium.org>
Date:   Mon Feb 5 15:18:47 2018 -0500

    Vulkan: Fix bug in reuse of vertex input bindings
    
    Fix bug that used previously used vertex bindings. Now we
    use the current program mask to only initialize the vulkan
    pipeline with the active vertex input bindings.
    
    + adjust dEQP expectations
    
    Bug: angleproject:2334
    Change-Id: Ie6176eee99f87dc7a95f664d28e8312b9cb274bc
    Reviewed-on: https://chromium-review.googlesource.com/902434
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit ca5c105982c0423a80fd1d2f8b73f633ba34f811
Author: Wez <wez@chromium.org>
Date:   Mon Feb 5 19:21:11 2018 -0800

    Replace a POSIX API call not supported by Fuchsia.
    
    Bug: chromium:809201
    
    Change-Id: Iafc2e7efe92bcb977e5185901c073e499114a9f4
    Reviewed-on: https://chromium-review.googlesource.com/903261
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit bfeed4ddfcd6af478eb2abc99cda7c4a1c779f8f
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Feb 6 16:39:29 2018 +0200

    Add a compiler perf test shader to stress traversers
    
    Add a compiler perf test that's targeted at AST traversers. It
    triggers many traversers that mutate the AST and run multiple
    iterations particularly on the HLSL backend.
    
    BUG=angleproject:827
    TEST=angle_perftests
    
    Change-Id: I75d89e8ae0fd7959f2c7fbb133c13ccde22abc37
    Reviewed-on: https://chromium-review.googlesource.com/904622
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 2d1c0a2b8a35673b566e7dfb25a3a85efaacc766
Author: jchen10 <jie.a.chen@intel.com>
Date:   Fri Feb 2 09:50:57 2018 +0800

    Vulkan: Fix gcc compile error
    
    Add 'no-unused-function' to compile glslang
    
    BUG=angleproject:2301
    
    Change-Id: Iac741e007873fb718527514210649e6b658a63b8
    Reviewed-on: https://chromium-review.googlesource.com/898394
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 44dcb911c00e985e843d2006af2542c81ba6613f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Feb 2 12:51:41 2018 -0500

    Decode R11 and RG11 EAC formats into 16-bit textures.
    
    8-bit textures are not precise enough but no tests were failing because
    dEQP was using 4-bit backbuffers.
    
    Preserve the old decode-to-8-bits paths because they are still used by
    Chrome.
    
    BUG=angleproject:2336
    
    Change-Id: Ieb651325e2a05c85bcc97f8e6d868afaf37aff0d
    Reviewed-on: https://chromium-review.googlesource.com/899701
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit bcb4c68d0f85b2b7913e349a35013ac27192d1ee
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Feb 5 14:56:54 2018 -0500

    StateManagerGL: Rework query tracking (again)
    
     * Put the temporarily paused queries into a separate map, this should
       be separate functionality from the regular query tracking.
    
     * Pair down the number of functions that modify the current begin/end
       state.
    
     * Always pause all old queries and resume all new queries on context
       switch.
    
    BUG=805233
    
    Change-Id: If37a9947b50feaa4e627070ce2a7895aa5034c0e
    Reviewed-on: https://chromium-review.googlesource.com/902426
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit a8fe18fc590be14c531731ea6c47e476910a585e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Feb 5 13:46:05 2018 -0500

    GL: Fix usage of glGetInternalFormativ.
    
    The Target was being passed cube map faces for cube map textures.
    The return value is an enum, not a bool.
    
    BUG=angleproject:1932
    
    Change-Id: I975f510fc0f6bc4d29adcbb152b0329ecbcdfa92
    Reviewed-on: https://chromium-review.googlesource.com/902192
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit b5420664307d7a8c99296cfce1a2a2c64492875f
Author: Luc Ferron <lucferron@chromium.org>
Date:   Fri Feb 2 10:03:22 2018 -0500

    Add end2end test for GL_TRIANGLE_FAN in SimpleOperationTest
    
    Bug: angleproject:2334
    
    Change-Id: Idb4d651ade139372f40d690e523c43b20e859a5e
    Reviewed-on: https://chromium-review.googlesource.com/899024
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 7b7ada6ade6376431d33e735b035d20ff86b7578
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Feb 5 14:49:15 2018 -0500

    Add a dotfile_settings GN config file.
    
    This file will be imported into both ANGLE's and Chrome's .gn files so
    we can share some of the same settings. This will mean we no longer
    have to patch Chromium to make changes to the exec script whitelist.
    
    Bug: angleproject:2339
    Change-Id: I2d7dd4237488ffecf5376643447ad95a0c1dbf98
    Reviewed-on: https://chromium-review.googlesource.com/902324
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 22294b041aad9b490b607b1b6e710380db5fd07e
Author: Luc Ferron <lucferron@chromium.org>
Date:   Fri Feb 2 10:03:22 2018 -0500

    Add end2end tests for GL_LINES and GL_LINE_STRIP
    
    + Small refactoring in SimpleOperationTest.cpp to share
    the vertex/fragment shaders for all the tests.
    + Adjust deqp gles2 expectations to include
    dEQP-GLES2.functional.draw.draw_arrays.lines.single_attribute
    
    Bug: angleproject:2328
    
    Change-Id: I7cab84b7914f503537eb5bfabb7ed58002e19846
    Reviewed-on: https://chromium-review.googlesource.com/899046
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 338abb469bba22a785f69c07dd0a1bfe93c1b19e
Author: JiangYizhou <yizhou.jiang@intel.com>
Date:   Tue Jan 30 18:16:30 2018 +0800

    Fix invalid heap exception in angle
    
    Running angle deqp test case, an invalid heap exception is thrown in
    angle on both linux and windows platforms.
    If build a nonsequential heap, and then erase any node of the heap,
    the heap is no longer valid. If using std::push_heap or std::pop_heap
    method next, this exception will be thrown out. So we should use
    std::make_heap after modifying the heap.
    
    TEST=angle_deqp_gles2_tests
    TEST=angle_deqp_gles3_tests
    TEST=HandleAllocatorTest.ReserveAfterReleaseBug
    
    BUG=angleproject:2326
    
    Change-Id: I123fc81b3365c93081d0042c69b4e5114956fe0d
    Reviewed-on: https://chromium-review.googlesource.com/892961
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 14cb42c04677e43411b92485559a308c0ffc08a2
Author: Yunchao He <yunchao.he@intel.com>
Date:   Wed Jan 24 14:11:19 2018 +0800

    Clean up passed end2end tests on Intel Linux platforms.
    
    Only one end2end test still fail for ANGLE issue 1346.
    
    BUG=angleproject:1346
    
    Change-Id: Ibeefe600b21b6ae2056e304d18a8fc4071a48cbe
    Reviewed-on: https://chromium-review.googlesource.com/882294
    Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 64d065e2c3c7ab9faf68f16b0a43bbf02d7ca2dc
Author: Geoff Lang <geofflang@chromium.org>
Date:   Sat Feb 3 12:26:19 2018 -0500

    Update dEQP expectations.
    
    BUG=angleproject:1487
    BUG=angleproject:1442
    
    Change-Id: Ib0913eb446a903199dafcd379c8dc0b9b969b8c0
    Reviewed-on: https://chromium-review.googlesource.com/900555
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit edcd11342e944e1819d203b463a96314a0b092d0
Author: Geoff Lang <geofflang@chromium.org>
Date:   Sat Feb 3 10:28:52 2018 -0500

    Update dEQP expectations.
    
    BUG=angleproject:2341
    BUG=angleproject:1442
    BUG=angleproject:2324
    BUG=angleproject:1941
    BUG=angleproject:2342
    BUG=angleproject:2137
    
    Change-Id: I9e8fc45d6f3eb8cfc02513602898583af3f79eba
    Reviewed-on: https://chromium-review.googlesource.com/900547
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 23c107e895882ed3843730df3a61295eef60354d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jan 30 09:54:39 2018 -0500

    Roll dEQP 455d82c60b0...5bc346ba2.
    
    Inclues several new ES 3.1 and EGL test sets.
    
    https://android.googlesource.com/platform/external/deqp/+log/455d82c60b0..5bc346ba2d5
    
    Bug: angleproject:2319
    Bug: angleproject:1961
    Bug: angleproject:1028
    Bug: angleproject:2320
    Bug: angleproject:2321
    Bug: angleproject:2329
    Bug: angleproject:2330
    
    Change-Id: I26bfb11a41073e94ecc75d20b07055eb4e946d43
    Reviewed-on: https://chromium-review.googlesource.com/703159
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 9a608c0e1f8ce0cca282e8a3bd684abbbda9e726
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Fri Feb 2 16:21:01 2018 -0500

    Vulkan: request coherent memory for StagingImage
    
    Otherwise vkInvalidateMappedMemoryRanges is needed,
    if allocated memory is not coherent,
    which was happening on Nexus 5X and was caught by validation layers.
    
    BUG=angleproject:2314
    TEST=all angle_end2end_tests pass on Nexus 5X
    
    Change-Id: I008aae45b99c6ca87029ff1614913fae32f66ec3
    Reviewed-on: https://chromium-review.googlesource.com/900203
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit df9ad2be8c9766e867c46eb3b5d1fd24235f5b67
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Feb 2 12:40:01 2018 -0500

    Vulkan: Minor refactor to RendererVk::initialize.
    
    Bug: angleproject:2314
    Change-Id: Ic3fa5f8ff5a0933e22b9fd5803b7ab3fbbfd449f
    Reviewed-on: https://chromium-review.googlesource.com/899686
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c7295f4d363d94aeba1932e887d4ddc6db2527f9
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Feb 1 13:05:25 2018 -0500

    Vulkan: Add dEQP ES2 expectations.
    
    Only run the info tests for now, skip everything else.
    
    Rename angle-vk config to angle-vulkan
    
    BUG=angleproject:2161
    
    Change-Id: I0a57f1f8fbfa9d27c2c376d38685184622f0779b
    Reviewed-on: https://chromium-review.googlesource.com/896552
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 95ed19473fb658b18001d5ef1bf782563151aed1
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Feb 1 14:01:19 2018 +0200

    Add a class for function lookups
    
    Using a purpose-built class for function lookups instead of using
    a combination of TFunction and a struct container for the this node
    and arguments makes the code clearer.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: I3f345d836abeaa7f84cc46b4b840fd06c7e2e1a7
    Reviewed-on: https://chromium-review.googlesource.com/897363
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 5c5d7deef28da6bafba8ff2f6540218caef1ef4a
Author: Luc Ferron <lucferron@chromium.org>
Date:   Thu Feb 1 14:45:54 2018 -0500

    Remove test restrictions on dEQP gles3 texture.compressedtexsubimage* tests
    
    Bug: angleproject:2327
    
    Change-Id: I60ab5ba9d356e2720102c2166e2446002a8b674b
    Reviewed-on: https://chromium-review.googlesource.com/898066
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@chromium.org>

commit 9dbaeba89424d9830ad060c83abefdb715c7809d
Author: Luc Ferron <lucferron@chromium.org>
Date:   Thu Feb 1 07:26:59 2018 -0500

    Validation layer fixes for compressedtexsubimage* dEQP tests
    
    * Change order of validation in ValidateCompressedTexSubImage3D
    to get the errors in the same order as the dEQP tests are
    expecting them.
    * ES 3.1: Section 8.7, page 169: If the internal format is ETC2/EAC,
    the target must be a GL_TEXTURE_2D_ARRAY.
    * ES 3.1: Section 8.7, page 171: For sub textures, ET2/EAC formats
    also requires exact size to be validated.
    
    Bug: angleproject:2327
    
    Change-Id: Ib049c70a52ed5683885a73fb06503898a85786d1
    Reviewed-on: https://chromium-review.googlesource.com/897726
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit c0db9addeaebc76c7cc99b26aa27df5e432097ac
Author: Luc Ferron <lucferron@chromium.org>
Date:   Mon Jan 29 13:52:42 2018 -0500

    Fix dEQP renderbuffer unspecified attachment test.
    
    Full test name: dEQP-GLES3.functional.state_query.fbo.framebuffer_unspecified_attachment_x_size_rbo
    
    Bug: angleproject:2321
    
    Change-Id: I086aefe23a3141f58cc33149c9cd7bdc5eb98dba
    Reviewed-on: https://chromium-review.googlesource.com/891662
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit f70e0237d4f3ef593b02f0ef974deb0c5c15f697
Author: Luc Ferron <lucferron@chromium.org>
Date:   Mon Jan 29 10:32:47 2018 -0500

    Vulkan: Finish implementing caps limitations for ES 2.0 support
    
    Bug: angleproject:1577
    
    Change-Id: Id22af039109b175f60f11cea1d6b8b2308c5cfff
    Reviewed-on: https://chromium-review.googlesource.com/891420
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 8efd1268eb2e1d56cb8fbd6d64dc1ef000b4b8c9
Author: Jiajia Qin <jiajia.qin@intel.com>
Date:   Tue Dec 19 09:32:55 2017 +0800

    ES31: Add max combined interface blocks validation
    
    BUG=angleproject:1951
    
    Change-Id: I9223964fa84cee3888fb7f5949c3e098fe2aa2b0
    Reviewed-on: https://chromium-review.googlesource.com/890818
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 1776fd08e9f2fff20a2c3ce68cd682c5eb7148c6
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Jan 31 11:46:52 2018 +0200

    Make use of CreateBoolNode in traversers
    
    This is just refactoring to clean up some duplicate code. A new test
    is added to make sure this doesn't break UnfoldShortCircuitAST.
    
    BUG=angleproject:1490
    TEST=angle_unittests
    
    Change-Id: I108e646f71ba631cbd5dad2055b64e6a30159742
    Reviewed-on: https://chromium-review.googlesource.com/894207
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 15443ebad659c5ad09ae88a09aba5ba03b6c4c1d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jan 31 16:41:53 2018 -0500

    Fix angle_gles1_conformance_tests compilation in Chromium.
    
    BUG=angleproject:2303
    
    Change-Id: If22dd174d2a7b50b1416fa760494e99bbc813985
    Reviewed-on: https://chromium-review.googlesource.com/894839
    Reviewed-by: Lingfeng Yang <lfy@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 61d5325e631ea66f0f6b630fb2ecd6b48adb6309
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jan 31 14:49:24 2018 -0500

    D3D9: Improve varying packing failure mode.
    
    D3D9 has a special limitation on varying packing, where each
    variable takes up a full register width, and cannot share space
    with other packed varyings.
    
    A bug was counting registers incorrectly on D3D9. Fix this by
    introducing a new limitation exposed to the ANGLE front-end via
    the gl::Limitations structure. Now varying packing will fail
    correctly in the ANGLE linking front-end with a more descriptive
    error message, as such:
    
    "Could not pack varying blah"
    "Note: Additional non-conformant packing restrictions are enforced on D3D9."
    
    Also change the packing so that input built-in variables are
    counted towards varying limits (e.g. gl_PointSize), except for
    gl_Position. On D3D9 we don't pack gl_PointSize, since it is
    used in a special extra PSIZE register.
    
    Also update some tests to be more robust.
    
    Bug: chromium:804799
    Change-Id: I9027266a8b66a28626f038f259bff42ebf09dcd2
    Reviewed-on: https://chromium-review.googlesource.com/889898
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 191a84a83e9193db6cf76749be56e603fef954db
Author: jchen10 <jie.a.chen@intel.com>
Date:   Wed Jan 31 16:09:45 2018 +0800

    Fix VK_NOT_READY for vkAcquireNextImageKHR
    
    The error was not handled, as is the cause for the bug. So far we'd
    better wait until a valid image index is ready.
    
    BUG=angleproject:2301
    
    Change-Id: I49a5545d0f2e0cf6cfbb3f604ab0602f8a131d12
    Reviewed-on: https://chromium-review.googlesource.com/895402
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 9bf555277c932bd77240ec91a04cc4d41d3b86ed
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Mon Jan 29 13:56:23 2018 +0800

    Fix the incorrect calculation for MAX_NAME_LENGTH
    
    The old implementation forgot to consider the instance array situation.
    This change will use unified method to calculate the interface block's
    MAX_NAME_LENGTH. It also removes some cases which have already passed
    from expectation files.
    
    BUG=angleproject:1920
    TEST=angle_end2end_tests
         *program_interface_query.uniform_block.resource_list.block_array*
         *program_interface_query.shader_storage_block.resource_list.block_array*
    
    Change-Id: I6ef53951487e6366d69ecaa43e4df6824baad042
    Reviewed-on: https://chromium-review.googlesource.com/890386
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 79de62c665bda1a2a32e21ce263127d569cbc50f
Author: Nico Weber <thakis@chromium.org>
Date:   Wed Jan 31 10:47:14 2018 -0500

    Explicitly suppress -Wimplicit-fallthrough for angle and its deps.
    
    No behavior change since that warning isn't enabled anywhere yet, and
    it's opt-in.  This is a prerequisite for
    https://chromium-review.googlesource.com/c/chromium/src/+/895726
    
    Bug: chromium:177475
    
    Change-Id: Ie5ffccd240a65646fe07e7d4475f63c4e8620746
    Reviewed-on: https://chromium-review.googlesource.com/895728
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Nico Weber <thakis@chromium.org>

commit e13f7ebea8879507ce1c965c93bdcd97b0fc289d
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Jan 26 17:08:49 2018 +0200

    Make NVIDIA constant register zero skip specific to VS
    
    It was found that the driver issue only affects vertex
    shaders, so the workaround can be simplified to affect only
    vertex shaders.
    
    BUG=angleproject:2294
    TEST=WebGL conformance tests on passthrough command buffer,
         angle_end2end_tests
    
    Change-Id: Ie7fb4e75a3999e1de3d5c20d3de21e7ebb08f148
    Reviewed-on: https://chromium-review.googlesource.com/889099
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 199f42941ab5a7afd4f6e548c1d6e6c3cb4ea71a
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Fri Jan 19 19:04:05 2018 -0500

    Vulkan: Enable on Android
    
    Add Android DisplayVk and WindowSurfaceVk variants.
    Build Vulkan backend and validation layers on Android
    if toolchain uses required NDK API level.
    Fix validation layers discovery to work on Android.
    
    BUG=angleproject:2314
    TEST=angle_end2end_tests builds and runs on Nexus 5X, 12 VULKAN tests pass
    
    Change-Id: Iac2ec4ecd6470a7552f9f60c023ba1760aa090c5
    Reviewed-on: https://chromium-review.googlesource.com/887797
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit bd6ae4aa145daea5869a2c86bb962d37a71bd264
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jan 29 15:51:18 2018 -0500

    Vulkan: Don't create zero-sized textures.
    
    Make sure the old resources are deleted but do not create new resources.
    
    BUG=angleproject:2161
    
    Change-Id: Ia6685e5c67b160d9bcd503983aee9607b2bd402c
    Reviewed-on: https://chromium-review.googlesource.com/891644
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 513bc77df08b35ac383b3426f184892882f83049
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jan 29 15:50:24 2018 -0500

    Vulkan: Allow dEQP to create Vulkan displays.
    
    BUG=angleproject:2161
    
    Change-Id: Ia2d4b4edcf9a40621573f124d14147224bbd8431
    Reviewed-on: https://chromium-review.googlesource.com/891803
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 13fd988cf71dc0ec092354e8e98e1b7b4c31ba90
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jan 29 15:47:38 2018 -0500

    Vulkan: Add the Vulkan API to gpu_test_expectations.
    
    BUG=angleproject:2161
    
    Change-Id: I7eda4d654cd0c0bc55ff344c5927d738ce592fe4
    Reviewed-on: https://chromium-review.googlesource.com/891839
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 6969132c134fac34b509438ac031d879f43cdc54
Author: Yunchao He <yunchao.he@intel.com>
Date:   Tue Jan 30 10:40:08 2018 +0800

    ES31: update deqp tests for renderbuffer integer formats.
    
    These deqp tests were fixed by this change:
    https://chromium-review.googlesource.com/c/angle/angle/+/878021.
    
    BUG=angleproject:2315
    
    Change-Id: Ib0c73bdd3cc1dde554c8e30286c08f92d4f90fd2
    Reviewed-on: https://chromium-review.googlesource.com/892402
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit efb5a5c8f0bda71c6a5fc3ae131d00bc2b2a171a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jan 29 15:56:59 2018 -0500

    Vulkan: Fix swaps done right after a clear.
    
    We were missing a dependency insertion between the Framebuffer and
    its attachments, only during clear operations. Also renames a few
    methods to make them more consistent.
    
    Bug: angleproject:2264
    Change-Id: Ic3af5b34b6de900ea2cc1b765f8d3d69f7f9a131
    Reviewed-on: https://chromium-review.googlesource.com/891985
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 5dd4ad896bcb69b7e3747c1a17e6b07da63753e8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jan 29 13:53:43 2018 -0500

    Vulkan: Add a perf test for the Pipeline cache.
    
    This micro-benchmark can be used to measure the performance impact
    of changing the Pipeline cache. For instance, we can check if changing
    the size of the hash key affects performance significantly.
    
    Also updates the build files so angle_perftests can see vulkan.h, and
    makes the Vulkan headers an explicit source set.
    
    This test currently shows that a lot of time is spent in PMurmurHash,
    with some time also spent in memcmp.
    
    Bug: angleproject:2163
    Change-Id: Ie8bb3e31d58590f373d28cbbb59f7e372b80cc29
    Reviewed-on: https://chromium-review.googlesource.com/884882
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 12c03761061ebe10ef001557b960deb8f18b8c04
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Jan 25 12:22:33 2018 +0200

    Resubmit: Use ImmutableString for HLSL texture references
    
    This fixes an issue in the original revision of this patch by adding
    a operator<< to TInfoSinkBase that takes ImmutableString as a
    parameter.
    
    This also adds ImmutableStringBuilder class, which can be used to
    build ImmutableStrings in place without extra allocations if the
    maximum length is known in advance.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: I52e984657a3aba3e6fe67a82b401c6b8de557d18
    Reviewed-on: https://chromium-review.googlesource.com/890522
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 37b697edf8fe6a850e71dadcd217f8ef29feb86c
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Jan 29 12:19:27 2018 +0200

    Only return symbol from TSymbolTable::find
    
    Whether the symbol is built-in can be easily determined from the
    SymbolType stored in the symbol, it doesn't need to be returned
    separately. The sameScope value that could be returned from
    TSymbolTable::find was never used, so that can be removed as well.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: I06958741ebec67d496f830a83b4f6f1359632f45
    Reviewed-on: https://chromium-review.googlesource.com/891021
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit e4741fd0f2bce711a90bdebe2ac8e83cf944b8e8
Author: Luc Ferron <lucferron@google.com>
Date:   Thu Jan 25 13:25:27 2018 -0500

    Vulkan: Begin implementing caps mappings
    
    Bug: angleproject:1577
    
    Change-Id: Ibed36dee9120e9182362bc9858cf513f798079cf
    Reviewed-on: https://chromium-review.googlesource.com/887225
    Commit-Queue: Luc Ferron <lucferron@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d1434c0481457fc50b6a275369987855f2172b1e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jan 29 02:29:53 2018 +0000

    Revert "Use ImmutableString for HLSL texture references"
    
    This reverts commit c13bda8678e86ff75a4acfc94f7a45e58224926d.
    
    Reason for revert: May have broken LibFuzzer and AFL builds:
    
    https://ci.chromium.org/buildbot/chromium.fyi/Afl%20Upload%20Linux%20ASan/7718
    https://build.chromium.org/deprecated/chromium.fyi/builders/Libfuzzer%20Upload%20Linux%20ASan/builds/8691
    
    In file included from ../../third_party/angle/src/compiler/translator/TextureFunctionHLSL.cpp:12:
    In file included from ../../third_party/angle/src/compiler/translator/TextureFunctionHLSL.h:19:
    ../../third_party/angle/src/compiler/translator/InfoSink.h:40:16: error: call to function 'operator<<' that is neither visible in the template definition nor found by argument-dependent lookup
            stream << t;
                   ^
    ../../third_party/angle/src/compiler/translator/TextureFunctionHLSL.cpp:111:9: note: in instantiation of function template specialization 'sh::TInfoSinkBase::operator<<<sh::ImmutableString>' requested here
        out << textureReference;
            ^
    ../../third_party/angle/src/compiler/translator/ImmutableString.h:76:15: note: 'operator<<' should be declared prior to the call site or in namespace 'sh'
    std::ostream &operator<<(std::ostream &os, const sh::ImmutableString &str);
                  ^
    1 error generated.
    
    Bug: chromium:806619
    
    Original change's description:
    > Use ImmutableString for HLSL texture references
    >
    > This also adds ImmutableStringBuilder class, which can be used to
    > build ImmutableStrings in place without extra allocations if the
    > maximum length is known in advance.
    >
    > BUG=angleproject:2267
    > TEST=angle_unittests
    >
    > Change-Id: I4dfb78adeb0cffcfad0d25753fb8063466012c92
    > Reviewed-on: https://chromium-review.googlesource.com/886362
    > Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    
    TBR=jmadill@chromium.org,cwallez@chromium.org,oetuaho@nvidia.com
    
    # Not skipping CQ checks because original CL landed > 1 day ago.
    
    Bug: angleproject:2267
    Change-Id: I445f5a786f8b16c3f40f28df09d45fcb215a9c88
    Reviewed-on: https://chromium-review.googlesource.com/890542
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit e762400446315bc7cf14d46047e1132a1f0360c3
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Sat Jan 27 18:27:07 2018 -0500

    Fix Android build
    
    After https://chromium-review.googlesource.com/887944
    "angle_common" depends on "log" on Android.
    Failed to link angle_shader_translator during ANGLE roll.
    
    BUG=angleproject:1660
    
    Change-Id: I9b0730901bdcf9cab64311994d65a577a1358eeb
    Reviewed-on: https://chromium-review.googlesource.com/890603
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit fad40f095fb4f14cc3345884cbd468dd4be5fc9d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jan 26 16:52:31 2018 -0500

    Entry Points: Expose glTexStorage3DEXT.
    
    The new dEQP takes advantage of the EXT entry point. If it is
    missing, dEQP will trigger an unexpected crash.
    
    Bug: angleproject:2319
    Change-Id: Ib9a32931cd50bc96d9918662f16262772afbe36a
    Reviewed-on: https://chromium-review.googlesource.com/889695
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 6807f8265988f44ca334c65497b55c7aaae93481
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Jan 25 20:19:27 2018 -0500

    Print more logs when using default Platform
    
    Some logs prior to Test Platform initialization were getting lost.
    
    1. Also print WARN() to stdout
    2. Use Android specific logging facilities
    
    BUG=angleproject:1660
    
    Change-Id: I8424958426809567396ef24cedc2d427a3a21959
    Reviewed-on: https://chromium-review.googlesource.com/887944
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 881b7bfa7453418dc391a849eb30219c238eeac7
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Mon Dec 25 11:18:37 2017 +0800

    ES31: Refactor link mismatch error log
    
    This patch intends to refactor the structure of logging link mismatch
    errors to meet the new GLES 3.1 program link requirements and support
    linking program with geometry shader.
    
    This patch is mainly focusing on the following 4 issues:
    1. There are totally 14 places that log the link mismatch errors
       in almost same format.
    2. A temporary string is created (STRUCT_NAME.FIELD_NAME) before
       checking a field of a block, which is of no use if link succeeds.
    3. LinkValidateVariablesBase needs to know "shaderTypes" if we support
       geometry shader based on current structure. Since uniforms are
       checked in the range of the whole program, it is unnecessary to
       know in which shader a uniform is defined if link succeeds.
    4. GLES 3.1 regards varyings with same location but different names
       as matched, so it isn't enough to log errors only by one name.
    
    This patch can solve all these issues by the following 3 changes:
    1. Replace "infoLog" and "variableNames" by "mismatchedFieldName" (the
       complete field name if the mismatch occurs on a field of a struct
       or block).
    2. Use enum LinkMismatchError as the return value of all linkValidate*
       functions to reflect the detail of the link mismatch error.
    3. Log all the link mismatch errors by InfoLog::logLinkMismatch where
       we can get shader types instead of passing them into linkValidate*
       functions.
    
    BUG=angleproject:1941, angleproject:2144
    TEST=angle_end2end_tests
    Change-Id: I3ed876d61f812cc7a45a6a3c5fec0b4a88b9cc2c
    Reviewed-on: https://chromium-review.googlesource.com/844215
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit c13bda8678e86ff75a4acfc94f7a45e58224926d
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Jan 25 12:22:33 2018 +0200

    Use ImmutableString for HLSL texture references
    
    This also adds ImmutableStringBuilder class, which can be used to
    build ImmutableStrings in place without extra allocations if the
    maximum length is known in advance.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: I4dfb78adeb0cffcfad0d25753fb8063466012c92
    Reviewed-on: https://chromium-review.googlesource.com/886362
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit ffa4cbb6f756713238e0aae84074455a7a363e2f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jan 23 13:04:07 2018 -0500

    Vulkan: Implement the Pipeline cache.
    
    This currently keeps a cache of every PSO compiled and does not trim
    the cache or evict old members on memory pressure. This will be done
    as a follow-up.
    
    Improves the speed of the Draw Call microbenchmark 50x when using a
    single state change.
    
    Bug: angleproject:2163
    Change-Id: I2cceb38ca57ae639f36a944f4571b627481b92da
    Reviewed-on: https://chromium-review.googlesource.com/876954
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 1436d434bcf3fb33eb655901c6492a8f2ab2684d
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Jan 24 14:38:22 2018 +0200

    Add a simple compiler perf test
    
    The perf test initializes the compiler once and then translates the
    same shader to HLSL, GLSL or ESSL repeatedly.
    
    There are three variations of the test compiling different shaders.
    One is a real-world shader.
    
    BUG=angleproject:2267
    TEST=angle_perftests
    
    Change-Id: Ie07b67d7548d105c4c93dff3b6196233d83b5b8c
    Reviewed-on: https://chromium-review.googlesource.com/883784
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 17e3d2d57ec2bd13585901aaa5fd78f9449f0fe2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jan 24 16:07:48 2018 -0500

    Vulkan: Add draw call perf test with a state change.
    
    Bug: angleproject:2163
    Change-Id: I3976af162ee669d0c98625fc69efb7fbd02c7e45
    Reviewed-on: https://chromium-review.googlesource.com/883611
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit aba14ff52bea59b0111ba536843209134479a37c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jan 15 14:55:03 2018 -0500

    Add GLES1 conformance tests.
    
    BUG=angleproject:2303
    
    Change-Id: I5955485e2392c573125bd8785ece103a9607f7d1
    Reviewed-on: https://chromium-review.googlesource.com/867311
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Lingfeng Yang <lfy@google.com>

commit 2d8e432a9e506c72fdff72c93144eb6e5e3596fc
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Jan 22 14:12:46 2018 +0200

    Add ImmutableString to encapsulate some compiler strings
    
    The new ImmutableString class is intended to be used instead of plain
    const char pointers to pool-allocated or static memory.
    
    It has the following advantages over using plain const char pointers:
    
    1. It makes it clear when a string is guaranteed to be safe to pass
       around inside the compiler.
    2. It can be compared with a comparison operator rather than using
       strcmp, which is easier to read.
    3. It records the length of the stored string, which enables faster
       copies and comparisons in some cases.
    4. ImmutableStrings could be implicitly converted from std::strings
       when a pool-allocated string is required. This is robust and
       convenient.
    
    C++17 has a similar class std::string_view, but our code style doesn't
    allow it yet. We also couldn't use it as is if we require properties
    1 and 4 from above, but would rather need to inherit or wrap it in a
    custom class.
    
    Eventually all current usage of TString could be replaced with
    ImmutableString. For now, use it for unmangled built-in names.
    
    TEST=angle_unittests
    BUG=angleproject:2267
    
    Change-Id: Id60c7b544032e06460e1b99837e429bc84dc4367
    Reviewed-on: https://chromium-review.googlesource.com/881020
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 2e551f6bc5f279286bf63139af9fb96a70d1e059
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Wed Jan 24 21:45:34 2018 -0500

    Vulkan: Fix DebugReportCallback definition
    
    Fixes 32bit Android build
    
    BUG=angleproject:2314
    
    Change-Id: I55e8fc8ee3ffa6397e6612ccf43c67e4a7a9dc75
    Reviewed-on: https://chromium-review.googlesource.com/885504
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 68981eb56dd13dceb2ee7bd751e90ecc786621a5
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Jan 23 17:46:12 2018 +0200

    Track parameter qualifiers of functions in call nodes
    
    We now add a reference to TFunction to all TIntermAggregate nodes
    where it is possible, including built-in ops. We also make sure
    that internal TFunctions added in traversers have correct parameter
    qualifiers.
    
    This makes TLValueTrackingTraverser much simpler. Instead of storing
    traversed functions or looking up builtin functions from the symbol
    table, determining which function parameters are out parameters can
    now be done simply by looking it up from the function symbol
    associated with the aggregate node.
    
    Symbol instances are no longer deleted when a symbol table level goes
    out of scope, and TFunction destructor no longer clears the
    parameters. They're all either statically allocated or pool allocated,
    so this does not result in leaks.
    
    TEST=angle_unittests
    BUG=angleproject:2267
    
    Change-Id: I57e5570da5b5a69a98a8778da3c2dc82b6284738
    Reviewed-on: https://chromium-review.googlesource.com/881324
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 12da5e7559adb117fb027f81babdbfa1d81c8922
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Tue Jan 23 18:34:53 2018 -0500

    Vulkan: use supported composite alpha
    
    Try VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR first,
    if not supported, try VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR.
    Fail if it is not supported either.
    
    BUG=angleproject:2314
    
    Change-Id: I875a60f7b51b9880da2d2916d602a6e7e8ca479f
    Reviewed-on: https://chromium-review.googlesource.com/882320
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 01b21b194fb1c5892241e9b7c00a894cdfa562ca
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Tue Jan 23 15:46:28 2018 -0500

    Vulkan: get render target format from config
    
    Instead of hardcoded GL_BGRA8_EXT.
    Also change renderTargetFormat to GL_BGRA8_EXT in
    DisplayVk::generateConfigs()
    
    BUG=angleproject:2314
    
    Change-Id: I47471add4e681fd0b8101d475c4a33ab59920c5c
    Reviewed-on: https://chromium-review.googlesource.com/881952
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit e49f1e9508f791faf46d78131d4610c34f5c4c8f
Author: Luc Ferron <lucferron@google.com>
Date:   Wed Jan 24 14:47:55 2018 -0500

    Revert 3 files from previous merge
    
    I accidentally got the 3 files I was asked to revert part of the merge.
    This reverts them.
    
    Bug: angleproject:1695
    
    Change-Id: I93a85776e890d0d35a5ff24973860006836c736f
    Reviewed-on: https://chromium-review.googlesource.com/884105
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@google.com>

commit 1b1a8640efe2ee9ab92d6986175b7f82fb58e56b
Author: Luc Ferron <lucferron@google.com>
Date:   Tue Jan 23 15:12:01 2018 -0500

    Support correct validation for samplerParameterf with GL_TEXTURE_MAX_ANISOTROPY_EXT
    
    Bug: angleproject:2072
    
    Change-Id: I3e0b63f2a63e8769e3eab2be3aa0403317ed0707
    Reviewed-on: https://chromium-review.googlesource.com/881707
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@google.com>

commit 112a3a8ef3c0c41a3941ce91444a8f4e68132e5b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jan 23 13:04:06 2018 -0500

    Vulkan: De-couple Program from VertexArrayVk dirtyiness.
    
    The VertexArrayVk is responsible for filling out the packed shader
    input info in ANGLE's packed PipelineDesc info structure. This
    packed info structure is used for Pipeline init and caching lookup.
    
    The prior design had this info depend on the active inputs in the
    current Program. This was undesirable because then, on a Program
    change, the ContextVk would have to call into the VertexArrayVk
    to invalidate this info.
    
    Instead, keep a working copy of the VertexArrayVk bits and only
    update the bits corresponding to dirty vertex attributes. This
    simplifies the cached state management a little bit for ContextVk.
    
    This also means we don't have to update the cached copy in the
    VertexArray on a change in VertexArray binding.
    
    Bug: angleproject:2163
    Change-Id: I5ba74535367aed74957d17bdc61f882508562d0e
    Reviewed-on: https://chromium-review.googlesource.com/881703
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit adcf0ae6162d309e286a1563bbda715d0eaa5493
Author: Luc Ferron <lucferron@chromium.org>
Date:   Wed Jan 24 08:27:37 2018 -0500

    Replace all NULL with nullptr
    
    Bug: angleproject:1695
    
    Change-Id: Ide0591ffdad5815385a4d805b320a32533bcc03a
    Reviewed-on: https://chromium-review.googlesource.com/883681
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Luc Ferron <lucferron@google.com>

commit 7e9b13b5b0d2e9971201486e024f58685cef8d10
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Jan 24 14:17:13 2018 +0200

    Add helper function to pool allocate a char array
    
    This makes it easier to allocate char arrays in the memory pool.
    
    TEST=angle_unittests
    BUG=angleproject:2267
    
    Change-Id: I1673330f58968ea9d38c671b70a7a489276af863
    Reviewed-on: https://chromium-review.googlesource.com/883805
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit c081020c7aace0e63bd8ae2f067f2ac8e8e36fbe
Author: Yunchao He <yunchao.he@intel.com>
Date:   Mon Jan 22 09:48:48 2018 +0800

    ES3.1: multisample renderbuffer can support interger format.
    
    BUG=angleproject:2315
    
    Change-Id: I3ef289a6043745c822e1c9b0a1b363ac81292c4c
    Reviewed-on: https://chromium-review.googlesource.com/878021
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 379681336ba11f33b95b337b7fa324e6336a780e
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Tue Jan 23 18:19:29 2018 -0500

    Vulkan: limit max texture bindings by physical device limits
    
    Already limited by IMPLEMENTATION_MAX_ACTIVE_TEXTURES,
    but Nexus 5X doesn't support that many.
    
    BUG=angleproject:2314
    
    Change-Id: I43b530ba25e9cf7055e74525f479fb10cc7394a2
    Reviewed-on: https://chromium-review.googlesource.com/882443
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 49886899b9c5c418f402273f1dedaa52cb65429d
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Tue Jan 23 21:18:27 2018 -0500

    Skip TextureCOMPRESSEDRGB8ETC2ImplicitAlpha1 on Mac NVIDIA GL
    
    Also TextureCOMPRESSEDSRGB8ETC2ImplicitAlpha1.
    Flaky on Mac Experimental Retina Release (NVIDIA) bot.
    
    BUG=angleproject:2190
    
    Change-Id: Iad620808db3977625ccd7221f6c3eb7a453802e9
    Reviewed-on: https://chromium-review.googlesource.com/882391
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit d66e193930ddc74f09c0ed51275f4dc564a41a02
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Jan 17 11:36:24 2018 +0200

    Allow creating EGL pbuffers from typeless D3D textures
    
    A new extension EGL_ANGLE_d3d_typeless_texture_client_buffer is added
    that allows creating EGL pbuffers from typeless D3D textures.
    
    The extension increases the flexibility of the API compared to plain
    EGL_ANGLE_D3D_texture_client_buffer. The colorspace for the created
    EGL pbuffer can be set by using the EGL_GL_COLORSPACE attribute.
    Internally this sets the ANGLE format of the buffer. There are new
    ANGLE formats that are used specifically for typeless textures,
    separate ones for SRGB and linear views into the D3D textures.
    
    The extension is only supported on the D3D11 backend of ANGLE.
    
    BUG=angleproject:2300
    TEST=angle_white_box_tests
    
    Change-Id: I6a6cb873d2cc0dca0b7f18a0f2cd35e7bafcb7d8
    Reviewed-on: https://chromium-review.googlesource.com/873917
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit dd21ecf80a6281a1af060b9383d57b2e79ecde7d
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Jan 10 12:42:09 2018 +0200

    Add const qualification to symbol accesses
    
    All accesses to built-in symbols now happen through const-qualified
    pointers.
    
    This also encapsulates TSymbolTableLevel inside TSymbolTable.
    
    This prepares for statically allocating built-in symbols.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: I473014d978daa765b4a733d761d6c08b28288776
    Reviewed-on: https://chromium-review.googlesource.com/859959
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 66f73b731e9738b2bc50d4a09ee5f419a1c938d0
Author: Luc Ferron <lucferron@google.com>
Date:   Mon Jan 22 14:39:10 2018 -0500

    Improve the dev setup instructions on Linux
    
    Bug: angleproject:1944
    
    Change-Id: I646d8c346f616b34eabcc10e06a59d0c97472ec1
    Reviewed-on: https://chromium-review.googlesource.com/879384
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 0e99b7a3bc8b474cba091ef65bb53264e6384ce2
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Jan 12 12:05:48 2018 +0200

    Prevent changing AST expression type from outside
    
    TIntermNode classes now contain all the logic for setting node types.
    
    Changing the constant values of constant union nodes from outside is
    also not necessary anymore.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: Ic10d41b1e5f93152df440a655057591dc1b783b0
    Reviewed-on: https://chromium-review.googlesource.com/863626
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 3c424b489c25552878a52c0fcb5305618221708e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jan 19 12:35:09 2018 -0500

    Vulkan: Add vk_cache_utils.h.
    
    This file contains the Pipeline and RenderPass cache utils.
    
    Also renames renderervk_utils.h to vk_utils.h and the format utils
    file.
    
    Refactoring change only.
    
    Bug: angleproject:2163
    Change-Id: I5113a9a2c6f0b0960d38e6c2d8e391fa2d9f5f6a
    Reviewed-on: https://chromium-review.googlesource.com/876505
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 4e36db8c146172b54206eb0149107bc6bdca7524
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Fri Jan 19 17:35:33 2018 -0500

    Skip FindMSBAndFindLSBCornerCases on Android OpenGLES
    
    Due to a bug in Adreno N5X Oreo driver
    
    BUG=angleproject:2304
    
    Change-Id: I209d9b227557571f45a93aa68a003378e12402a1
    Reviewed-on: https://chromium-review.googlesource.com/876995
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 342b83d49c4d2d9ee5a51b89f8a60bf0cff1dfe9
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Jan 10 13:24:01 2018 +0200

    Don't copy unmangled built-in names
    
    This optimizes memory and CPU use of symbol table initialization.
    This was measured to make a debug build of angle_unittests run around
    10% faster on Windows.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: Icd5272c6cfc0d5122550c403621bfa5944c92a83
    Reviewed-on: https://chromium-review.googlesource.com/859958
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit a08d410d1b36aa31f700ed7da5ed90cf6a5c0969
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Thu Jan 11 13:37:14 2018 +0800

    Fixed ssbo end2end tests failure
    
    The array stride is implementation-dependent if the storage layout is
    not standard layout. So this change will use std140 as the layout to
    fix the bug.
    
    BUG=767240,angleproject:2255
    
    Change-Id: I21de52ebad6d27783eeade63d6fac81c0842085d
    Reviewed-on: https://chromium-review.googlesource.com/861313
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit b60d30f71a672e10b38999ae26c6267ba6393739
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Jan 16 12:31:06 2018 +0200

    Make TVariable type immutable
    
    This enables using constexpr types for built-in variables and some of
    the variables created in AST transformations.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: Ie85b3c9872a071a7c023ced013b14ad91cff7cee
    Reviewed-on: https://chromium-review.googlesource.com/868134
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit fa8869752a63e1818b0b8e53c2d18e7e0c6fe9e8
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Jan 18 19:24:54 2018 +0200

    Fix handling array constructor statements in HLSL output
    
    Array constructors that are used as a statement by themselves need to
    be pruned from the AST before writing HLSL output.
    
    This fixes an assert in OutputHLSL.
    
    BUG=angleproject:2307
    TEST=angle_unittests
    
    Change-Id: Ib49461a4be173f3856f5a264ac0af8d818a61798
    Reviewed-on: https://chromium-review.googlesource.com/874691
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 2c9cc8b6e81017b4b6f1655645191bc6a4e5eaeb
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Jan 9 16:13:02 2018 +0200

    Don't duplicate symbol type information in AST nodes
    
    Function prototype nodes and symbol nodes already refer to symbols
    that have type information, so the type doesn't need to be copied to
    the TInterm* AST node classes. Now type is only stored in those AST
    node classes that represent other types of expressions. They use
    a new TIntermExpression base class for this.
    
    Since now we may use the TType from builtin symbols directly instead
    of copying it, building the mangled names of types in the correct
    memory pool is also required. The code now realizes the types of
    built-in variables when they get added to the symbol table.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: Ic8d7fc912937cb8abb1e306e58c63bb9c146aae9
    Reviewed-on: https://chromium-review.googlesource.com/857005
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 28efd82c9119d8371154455b57d13dd14884e184
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Jan 17 12:13:15 2018 +0200

    Fix dxgi support table generation script
    
    The previous patch edited the generated file manually. Fix the script
    to generate the file so that angle_white_box_tests pass.
    
    BUG=angleproject:2300
    TEST=angle_white_box_tests
    
    Change-Id: Ie8f182b515721a56d6a2da2dac316aa4e296f005
    Reviewed-on: https://chromium-review.googlesource.com/870113
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit b745f172dd6870736e3d2e2112a9e908fdc7a74b
Author: Xinghua Cao <xinghua.cao@intel.com>
Date:   Tue Jan 9 16:10:02 2018 +0800

    Add more test cases for bindImageTexture
    
    Add cases that bindImageTexture binds a single layer of a
    two-dimensional array, three-dimensional, or cube map texture.
    
    BUG=angleproject:1987
    TEST=angle_end2end_tests.ComputeShaderTest.*
    
    Change-Id: I75883ef05c509100e5164a5add69167a41203101
    Reviewed-on: https://chromium-review.googlesource.com/856320
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 2aaa7b4e1040d90d5ef2dbd2ba53761d88528b79
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jan 12 17:17:27 2018 -0500

    Add GLES1 targets and stub entry points.
    
     * Create a new libGLESv1_CM target.
     * Merge all autogenerated extension entry points into one file.
     * Allow creation of ES1 contexts.
    
    BUG=angleproject:2306
    
    Change-Id: I446258363a96a3c37d657089dd7c1cff0fa3cf78
    Reviewed-on: https://chromium-review.googlesource.com/865718
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit f661686c1ace66e22925d82d770fa00078f84ddd
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Mon Jan 15 23:49:14 2018 -0500

    Fix gyp/gcc build.
    
    Gcc complains about an unused variable.
    Adjust a #include to work with the gyp build.
    
    BUG=none
    
    Change-Id: Ia94abf70f3a9bb7952eb53d1f0a3cfcca5df0836
    Reviewed-on: https://chromium-review.googlesource.com/867655
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit 4747414edae74cb1f8221527275b857c628a130d
Author: Jiajia Qin <jiajia.qin@intel.com>
Date:   Fri Dec 29 13:41:00 2017 +0800

    Use dirty bit for element array buffer
    
    BUG=angleproject:2188
    
    Change-Id: I2b2aced542032c7c263f911ef1516af1d42190cc
    Reviewed-on: https://chromium-review.googlesource.com/846346
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit ceffd20ce2d6ce3d5e92c7c3792af97bfa23fdf2
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Jan 8 16:39:45 2018 +0200

    Set colorspace of D3D pbuffers according to DXGI format
    
    When a EGL pbuffer is created based on a D3D SRGB texture using
    EGL_ANGLE_d3d_texture_client_buffer, SRGB conversions are performed as
    if it was an SRGB surface. The value of EGL_GL_COLORSPACE now
    reflects that correctly. If the pbuffer is bound to a texture and used
    as a framebuffer attachment, querying GL_FRAMEBUFFER_COLOR_ATTACHMENT
    also reflects that correctly.
    
    The behavior is the same on both the D3D backend, where there is no
    native interop involved, and on the GL backend using
    WGL_NV_DX_interop(2).
    
    There are a few limitations on the GL backend that relies on native
    interop:
    
    1. SRGB conversion for textures created this way can't be disabled
    using the GL_FRAMEBUFFER_SRGB_EXT toggle that's exposed in ANGLE
    through EXT_sRGB_write_control. This is now documented in the
    EGL_ANGLE_d3d_texture_client_buffer spec. On the D3D backend this is
    not a problem since EXT_sRGB_write_control is not supported either
    way.
    
    2. Creating a pbuffer out of a D3D11 texture with the format
    DXGI_FORMAT_B8G8R8A8_UNORM_SRGB does not work, even though it was
    listed as one of the supported formats in the
    EGL_ANGLE_d3d_texture_client_buffer spec. It's now mentioned that
    support for this format is optional.
    
    BUG=angleproject:2300
    TEST=angle_white_box_tests
    
    Change-Id: I70ee0646680805e4469291a5b2ce59e92fda009e
    Reviewed-on: https://chromium-review.googlesource.com/866743
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit cf180fccb24adbe48080876074b7a9cbd3435ab5
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Jan 4 16:25:40 2018 +0200

    Keep TIntermSymbol data consistent in DeferGlobalInitializers
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: I25bd8baded9c13e75555578e4b61b99a56e0c702
    Reviewed-on: https://chromium-review.googlesource.com/850974
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit dda048cdc9a63089ce4590012ae44e8e4af2cddd
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Thu Jan 11 20:09:09 2018 -0500

    Make scripts executable by python2.
    
    Add #!/usr/bin/python2 and the executable permission bit to all scripts
    where missing.
    
    BUG=angleproject:2209
    
    Change-Id: Ib33017c17e579c371b89bbfbdb7136b870027dc5
    Reviewed-on: https://chromium-review.googlesource.com/862987
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit 57f4b73ebe08bef3697086746d0e7a16ec7c94f0
Author: Dzmitry Malyshau <kvark@mozilla.com>
Date:   Thu Jan 11 15:24:43 2018 -0500

    Fix the format check in TextureD3D_2DArray::redefineImage
    
    Note: by the time the old code used to call `getBaseLevelInternalFormat`, the base level image has already been updated with `redefine()` call above, thus the check `internalformat != storageFormat` wasn't correct.
    
    Change-Id: I3da6df54490d6e72e5094388ed7e39a4c7d920d2
    Reviewed-on: https://chromium-review.googlesource.com/862256
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Dzmitry Malyshau <dmalyshau@mozilla.com>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 1ea85a1316cf4a783bf1887b1ae67e7beff41e15
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Thu Jan 11 17:18:52 2018 -0500

    Add #! line to scripts/bootstrap.py.
    
    Indicate scripts/bootstrap.py should be run by python2.
    
    TBR=jmadill@chromium.org
    BUG=angleproject:2209
    
    Change-Id: I2ccfee1407cd4ce457aa28a374ac202b8281d40b
    Reviewed-on: https://chromium-review.googlesource.com/862618
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit e1aa9219314249dcb79515b3bea6595b76c2a446
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jan 8 17:53:05 2018 -0500

    Create a new DeviceImpl each time one is requested from a DisplayImpl.
    
    This makes sure that the Device to DeviceImpl ratio is always 1:1 and
    avoids any potential double-deletion or unexpected deletion of
    DeviceImpl objects.
    
    BUG=742034
    
    Change-Id: I778068ccd09b7478d3683123456062b94be242a1
    Reviewed-on: https://chromium-review.googlesource.com/854627
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit ea22b7a58bfde015d146c292a2ef65837d6e4aca
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Jan 4 17:09:11 2018 +0200

    Constant fold array indexing and comparison
    
    A virtual function to get the constant value of an AST node is added
    to TIntermTyped. This way a constant value can be retrieved
    conveniently from multiple different types of nodes. TIntermSymbol
    nodes pointing to a const variable can return the value associated
    with the variable, constructor nodes can build a constant value from
    their arguments, and indexing nodes can index into a constant array.
    
    This enables constant folding operations on constant arrays, while
    making sure that large amounts of data are not duplicated in the
    output shader. When folding an operation makes sense, the values of
    the arguments can be retrieved by using the new
    TIntermTyped::getConstantValue(). When folding an operation would
    result in duplicating data, the AST can just be left to be written out
    as is.
    
    For example, if the code contains a constant array of arrays, indexing
    into individual elements of the inner arrays can be folded, but
    indexing the top level array is left in place and not replaced with
    duplicated array literals.
    
    Constant folding is supported for indexing and comparisons of arrays.
    
    In case constant arrays are only referenced through foldable
    operations, the variable declarations will be pruned from the AST by
    the RemoveUnreferencedVariables step.
    
    BUG=angleproject:2298
    TEST=angle_unittests
    
    Change-Id: I5b3be237b7e9fdba56aa9bf0a41b691f4d8f01eb
    Reviewed-on: https://chromium-review.googlesource.com/850973
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit ed1390f808b0f72b684a9a9fa896512525bc703f
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Fri Jan 5 15:20:57 2018 -0500

    Doc fix and improvement.
    
    Only exact version of Windows SDK works.
    Clarify how to do a release build.
    
    BUG=angleproject:2297
    
    Change-Id: I2566b7e807a84c4edc3b457299036e67a64b5a36
    Reviewed-on: https://chromium-review.googlesource.com/852553
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 540a1dfe131e9b8fe32ed2ff27d41d88d4cf0af4
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jan 8 17:22:55 2018 -0500

    Refactor DeviceImpl creation.
    
    Add an initialize function to match other impl objects and simplify the
    creation of DeviceImpls.
    
    BUG=742034
    
    Change-Id: I569c8252d5d23c8af98835f6c08e7a3b640fc3f3
    Reviewed-on: https://chromium-review.googlesource.com/854626
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 28334a410255628ead97b959e2b4b6adf14a99e6
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jan 8 17:05:11 2018 -0500

    Remove the externallyForced method of DeviceImpl.
    
    It can be inferred from the presence of an owning display.
    
    BUG=742034
    
    Change-Id: I6a33378f4256733da6d9658d47763153e431ad70
    Reviewed-on: https://chromium-review.googlesource.com/854625
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit cd3acf67d1dcdd0446f01fd9fe484608b6792c87
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Tue Dec 5 16:27:25 2017 +0800

    ES31: Update block members static use
    
    BUG=angleproject:1920
    TEST=angle_end2end_tests
    
    Change-Id: I90bcd3bf5a078623b3a739615fbc7b157b6fb94c
    Reviewed-on: https://chromium-review.googlesource.com/808144
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit f2f6d3799cf2f74706110bf73fbd90a659502fd3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jan 10 21:37:23 2018 -0500

    Vulkan: Add PipelineDesc.
    
    The PipelineDesc class is a 512-byte packed description of the entire
    Vulkan pipeline state. It uses the alignas keyword and some static
    asserts to verify that the structures are packed. This ensures that
    when ANGLE uses MurmurHash to hash the entire struct, and memcmp to
    check for identity, that there are no garbage padding bits.
    
    This CL does not implement the Pipeline cache, but it will help, since
    now we have a packed type that can be used as the key to a hash map.
    
    Bug: angleproject:2163
    Change-Id: I16efa927f08d30d89a9c4c8943edd211c6878ac8
    Reviewed-on: https://chromium-review.googlesource.com/829893
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit b0accd45a92dd70932baf4eb6954114359caf9da
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Wed Jan 10 16:31:23 2018 -0500

    Flatten "#pragma STDGL invariant(all)" also for ESSL to ESSL translation
    
    Adreno's driver in Android Oreo follows the spec to the letter,
    and applies "#pragma STDGL invariant(all)" only to the outputs of
    a fragment shader, causing InvariantAllBoth test to fail.
    
    Since the wording of the spec doesn't match the intended usage of this
    pragma, ANGLE should flatten it to workaround spec conformant drivers.
    
    BUG=angleproject:1293
    
    Change-Id: I9f8ad44adc3b958204b88805dba8c5b7964b3d9f
    Reviewed-on: https://chromium-review.googlesource.com/860920
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 2cc2a7273e4015a0cca93ac4c2b56557bd3bfa2a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jan 9 17:21:54 2018 -0500

    common: Add aligned memory allocator.
    
    This will be useful for the Vulkan pipeline state cache. This cache
    wants to pack the pipeline description very carefully into a specific
    number of bits, using the "alignas" keyword. Using this keyword
    requires an aligned allocator, which we can lift from Chromium's
    base/memory submodule.
    
    Also includes a unittest copied from Chrome.
    
    Bug: angleproject:2163
    Change-Id: I25976be4610636db3f43552bba23d823f5a49a24
    Reviewed-on: https://chromium-review.googlesource.com/837944
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 5b6b9c638d4642fd76895883b24102e123c53b6d
Author: Jiajia Qin <jiajia.qin@intel.com>
Date:   Mon Dec 25 16:10:51 2017 +0800

    Use dirty bit for draw indirect buffer
    
    Bug: angleproject:1595
    
    Change-Id: I031beab818daca8a20726d7bff564649feefc1f3
    Reviewed-on: https://chromium-review.googlesource.com/844214
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit ea78d2bb7a07660301ed407d4618f008b9f4395f
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Jan 9 12:55:27 2018 +0200

    Prune unreferenced variables with a constructor initializer
    
    Treat aggregate constructors as having no side effects, which enables
    pruning declarators that have a constructor initializer.
    
    Some logic in RemoveUnreferencedVariables is fixed to make this work
    correctly for structs. The bugs were previously not exposed since
    constructors were treated as having side effects, but now that those
    can be pruned the logic needs to be correct.
    
    BUG=angleproject:2298
    TEST=angle_unittests
    
    Change-Id: I6fbe61a9e82065196baa29c200bf556fc21d8962
    Reviewed-on: https://chromium-review.googlesource.com/856499
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 0e1224c82c67aa9a85b571aa41af20ec16dc3911
Author: Jiang <yizhou.jiang@intel.com>
Date:   Tue Dec 26 14:11:15 2017 +0800

    fix bug for querying sample positions on D3D
    
    BUG=angleproject:2290
    TEST=dEQP-GLES31.functional.texture.multisample.samples_*.sample_position
    TEST=TextureMultisampleTestES31.CheckSamplePositions*
    
    Change-Id: If8b74c16d5c104215456e35b8922279be972cee3
    Reviewed-on: https://chromium-review.googlesource.com/844062
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit c74ec1a5bbbd12541d19075b0d91a02f7e30bb14
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Jan 9 15:23:28 2018 +0200

    Record gl_in array size in a symbol in ParseContext
    
    Instead of referring to the gl_in symbol in the symbol table, create
    a gl_in symbol with the right array size once the array size is known.
    This makes the type of TIntermSymbol nodes pointing to gl_in
    consistent with the variable type.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: I31673d33526a91f8d069ee8d7d2f181a49665fd0
    Reviewed-on: https://chromium-review.googlesource.com/857004
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 0690e1aa31d4e0c9f1ab641e5c0dab75a79c026e
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Dec 21 20:51:38 2017 +0200

    Add a workaround to clamp gl_FragDepth
    
    NVIDIA OpenGL drivers at least up to version 388.59 don't clamp
    gl_FragDepth when it is written to a floating point depth buffer.
    This bug is now worked around by clamping gl_FragDepth in the shader
    if it is statically used.
    
    BUG=angleproject:2299
    TEST=angle_end2end_tests on NVIDIA
    
    Change-Id: I61589b2b0dd2813c4901a157c8d37e470063773c
    Reviewed-on: https://chromium-review.googlesource.com/840842
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit b38dfde0a7237c32b9d6341e834276f486dc7948
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Jan 4 15:49:03 2018 +0200

    Keep TIntermSymbol nodes consistent in PruneNoOps
    
    Create new TVariables to change struct declaration qualifiers in
    PruneNoOps so that the node doesn't end up with an inconsistent
    qualifier from the variable.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: I7f6cd557eb3e46f4ead4ffbe37d8960ff7776d10
    Reviewed-on: https://chromium-review.googlesource.com/850673
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 47c9888c35cac5b2a3741d0ddcdac4234a857058
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Mon Jan 8 15:01:11 2018 -0500

    Skip SimpleOperationTest.DrawQuadAndSwap on Linux Intel Vulkan
    
    Was flaky.
    
    BUG=angleproject:2301
    
    Change-Id: Id71cf6c43e133810c64535bbde494d12546b0adc
    Reviewed-on: https://chromium-review.googlesource.com/854978
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 949b4f07fd1ef5b208136fe38327c28c95f18928
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jan 8 11:15:38 2018 -0500

    Vulkan: Allow for no .git directory in build.
    
    The SPIRV-Tools 'external revision generate' script is coded such that
    it assumes a .git folder is present. This causes a problem for the
    tarball build. We can fix this by using the same tooling we use for
    ANGLE's commit id script to check if the .git directory is present
    before running the generator. If it is missing, we insert a hard-coded
    dummy header. Also use the 'DEPS' file as a placeholder for .git/HEAD
    to check if the current revision needs updating.
    
    Bug: chromium:799620
    Bug: angleproject:2237
    Change-Id: Icea8e9c66f1600df7dca2aaa45fe449f687f5b55
    Reviewed-on: https://chromium-review.googlesource.com/854255
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit eeda03b624b9faa369d085dd3fe73bdf94fdc2c5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jan 5 17:26:29 2018 -0500

    EGL: Remove internal enum for NULL driver.
    
    This is now updated in Chrome, so we can remove the last uses.
    
    Bug: angleproject:2159
    Change-Id: Ia31e42b8a685756ee70450be19a52248e3efa92f
    Reviewed-on: https://chromium-review.googlesource.com/853119
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 66e2f8f25f95a720d57c48950d1472d4a786b148
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Fri Jan 5 14:53:16 2018 -0500

    Fix doc typo.
    
    Added missing quotes.
    
    BUG=angleproject:2297
    
    Change-Id: Ieb6ca4ae37786f48ad3c6f5dccefef25afce23a2
    Reviewed-on: https://chromium-review.googlesource.com/852636
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit 97f39b3c912be36113252d19946354a525c6618f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jan 5 13:14:29 2018 -0500

    Vulkan: Add missing command queue reset to flush.
    
    This was causing a heavy performance regression in the Vulkan perf
    test. Local testing shows it recovers most of the performance gap
    with this fix.
    
    Bug: angleproject:2264
    Bug: chromium:799372
    Change-Id: Ia2bbf526b305e1b2e901d904574dbe5618e6e5ef
    Reviewed-on: https://chromium-review.googlesource.com/852365
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 4a66ef3d8263d980111c74e502244083c53e4d83
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Jan 5 05:01:27 2018 -0800

    Add a test for gl_FragDepth clamping with float depth
    
    The clamping doesn't happen on NVIDIA so this is a test that will
    confirm a follow-up compiler workaround patch works properly.
    
    BUG=angleproject:2299
    
    Change-Id: I006b522d014e29d2a5e634dfb9cf827ee3bc0536
    Reviewed-on: https://chromium-review.googlesource.com/852252
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>

commit 08a8ec8882eaff101ec6f2aacaa18d7d84a617fc
Author: Xinghua Cao <xinghua.cao@intel.com>
Date:   Wed Dec 27 13:31:11 2017 +0800

    ES31: Support bindImageTexture on Texture3D/Texture2DArray/TextureCube
    for compute shaders on D3D
    
    BUG=angleproject:1987
    TEST=angle_end2end_tests.ComputeShaderTest.*
    
    Change-Id: I075296ac3b6796a334929699c16f2399d7915e51
    Reviewed-on: https://chromium-review.googlesource.com/844063
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 765924f039f1231afe4e200b97bb64fae76507d0
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Jan 4 12:48:36 2018 +0200

    Fold ternary and comma ops only after parsing is done
    
    In case folding a ternary op or a comma op would change the qualifier
    of the expression, the folding is deferred to a separate traversal
    step.
    
    After this there are no more cases where the type of a TIntermSymbol
    node needs to differ from the type of the variable it is referring to.
    There are still some cases where some parts of TIntermSymbol type are
    changed while keeping the TVariable type the same though, like when
    assigning array size to gl_PerVertex nodes or sanitizing qualifiers of
    struct declarations.
    
    BUG=angleproject:2267
    TEST=angle_unittests, angle_end2end_tests
    
    Change-Id: I1501c8d361f5f765f43ca810d1b7248d9e2c5986
    Reviewed-on: https://chromium-review.googlesource.com/850672
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit e9d7f2d1b5a984968b79f94cc9ef70a7187942b9
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Tue Dec 26 15:35:30 2017 +0800

    ES31: Skip dEQP tests geometry_shading.vertex_transform_feedback.*
    
    This patch labels geometry_shading.vertex_transform_feedback.* as
    "SKIP" instead of "FAIL" to fix some failures in dEQP tests.
    
    OpenGL ES 3.1 extension GL_EXT_geometry_shader requires additional
    validations on transform feedback, which hasn't been implemented
    in ANGLE, so geometry_shading.vertex_transform_feedback.* fail just
    after beginTransformfeedback(). As endTransformfeedback() isn't
    called in dEQP function resetStateES():
    1. An error occurs in this function when trying to clear transform
       feedback.
    2. Some of the tests afterwards also fail because it isn't allowed
       to change active program by useProgram() when transform feedback
       is on.
    
    So it is better to skip these tests before ANGLE supports these new
    features.
    
    BUG=angleproject:1941
    
    Change-Id: I8834f71e6a655f18118ee4ecf26f4118da6de2f1
    Reviewed-on: https://chromium-review.googlesource.com/843955
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jiajia Qin <jiajia.qin@intel.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit f3e23295953090c56f50caf048519ae66c3baf89
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jan 4 18:19:21 2018 -0500

    EGL: Expose NULL driver device selection.
    
    This makes the device type selection part of the ANGLE platform
    extension. We currently support NULL driver selection on all
    available back-ends (although on the NULL back-end, it already
    has no device type). Optionally we could expose certain features
    of this as separate extensions.
    
    This currently also supports the old hidden enum, until we can
    update Chrome and consolidate to the new exposed official enum.
    
    Bug: angleproject:2159
    
    Change-Id: I85d0811098e644e8192c207673af9e18ed7c1da2
    Reviewed-on: https://chromium-review.googlesource.com/846021
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit d22cc5cbbbd1d8e9c801e7851c9a4378ed61bcfa
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Jan 4 17:15:57 2018 -0500

    Vulkan: Use correct Linux link flags for layers.
    
    From third_party/vulkan-validation-layers/src/layers/CMakeLists.txt
    Otherwise, there is a conflict between global functions with same name
    from different layers and the loader.
    Conflict is resolved by -Bsymbolic.
    
    BUG=angleproject:2296
    
    Change-Id: I40859326626c3865ba346c6e817b7c512735054e
    Reviewed-on: https://chromium-review.googlesource.com/850727
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit c405ae717f5a138246b8aaf23331bed1a29196cb
Author: Brandon Jones <brandon1.jones@intel.com>
Date:   Wed Dec 6 14:15:03 2017 -0800

    Optimize Vertex Shader Attribute Type Validition
    
    Improves ValidateVertexShaderAttributeTypeMatch by storing vertex
    attributes types into masks for quick comparisons when needed. This shows
    2% improvement to glDrawElements for the aquarium workload.
    
    BUG=angleproject:2202
    
    Change-Id: I87fa3d30c3d8cdba6dfd936cd1a41fd27b1c6b77
    Reviewed-on: https://chromium-review.googlesource.com/814795
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 91586494675e96468254f21acf05f6ad27d0d22b
Author: Bryan Bernhart (Intel Americas Inc) <bryan.bernhart@intel.com>
Date:   Wed Dec 20 14:18:13 2017 -0800

    Allow MapResource to return context loss GL error
    
    Returns an OOM error to avoid
    query the context for status should Map fail.
    
    BUG=angleproject:2284
    
    Change-Id: I4d35ef05c76fcc69bdab19f88c39a415d13ee116
    Reviewed-on: https://chromium-review.googlesource.com/837519
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit fa920ebbca21441d923e6b7cddf6e01154c29f7f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jan 4 11:45:50 2018 -0500

    Entry Points: Auto-generate extensions EPs.
    
    This is partially complete - it is missing the auto-gen for custom
    ANGLE and Chromium extensions that aren't present in gl.xml. We
    can upstream some of these extensions, but will also need to make
    custom handling for some extensions that are too volatile or under-
    specced to upstream to Khronos.
    
    This also tweaks some of the Context method names to match what the
    auto-generator expects. It also updates some TexStorage entry points.
    
    Also includes a specialized error return value for glTestFenceNV.
    
    Also removes the TexImage3DOES entry point which was neither used
    nor accessible to the application.
    
    Bug: angleproject:2263
    Change-Id: I3667c22b1b15f84ab4c7dfecb5745aaf73d11e76
    Reviewed-on: https://chromium-review.googlesource.com/846420
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit c71862aa324c4a7fd9f397cd770a509c1f576ec2
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Dec 21 12:58:29 2017 +0200

    Store referenced interface blocks in a cleaner data structure
    
    The previous code was hard to read since the referenced interface
    blocks stored a different type of node depending on if the interface
    block was instanced or not.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: Ie8fdb61a17280ca0875159702f819b884d08706b
    Reviewed-on: https://chromium-review.googlesource.com/839443
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 02f152399db07ab3cc66ac45e0fd1a755b869e72
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Wed Dec 27 10:10:28 2017 +0800

    Clear error logs when starting a new link process
    
    This patch intends to fix a bug in logging link errors.
    
    OpenGL ES requires glGetProgramInfoLog return a string
    that contains information about last link or validation
    attempt on a program object (GLES 2.0 Chapter 6.1.8,
    GLES 3.0 Chapter 6.1.12). So all the link error logs
    should be cleared when a new link process is begun.
    
    This patch also removes several redundant allocations
    of mLazyStream in ProgramD3D::compileProgramExecutables.
    Calling "<<" on InfoLog objects will initialize its
    member mLazyStream from heap, so we will skip using "<<"
    if there is actually nothing to output.
    
    BUG=angleproject:2295
    TEST=angle_end2end_tests
    Change-Id: Ib81fffd3d05919a8ebccd9145ff780548ca86a70
    Reviewed-on: https://chromium-review.googlesource.com/848324
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit bbd9d4c61e96d3736654ddd7624e68755a8ac218
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Dec 21 12:02:00 2017 +0200

    Use TVariable instead of TIntermSymbol for variables
    
    This removes unnecessary indirection. It's easier to just create
    TVariables in createSamplerSymbols, and to track referenced variables
    using TVariable pointers instead of TIntermSymbol pointers.
    
    BUG=angleproject:2267
    TEST=angle_unittests, angle_end2end_tests
    
    Change-Id: Id1e75e04da084eb9026f581f22070b27a45615ba
    Reviewed-on: https://chromium-review.googlesource.com/839442
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 47c8ea3fb265682b6dd040bf04488747f0292da1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jan 3 18:27:59 2018 -0500

    Vulkan: Fix looped clears.
    
    These were broken by command re-ordering. The first problem was that
    the Framebuffer RenderNode was not correctly being flagged as dirty.
    This is fixed by keeping a serial instead of a bool to track the
    RenderNode's cleanliness. The second issue was that an image layout
    transition was being set with incorrect bits. Fix this by using the
    correct access mask.
    
    This fixes angle_perftests's Vulkan render test.
    
    Bug: angleproject:2264
    Bug: chromium:798866
    Change-Id: I268b0f7aeb2c5e22892f6ef59dec62391b30bfb4
    Reviewed-on: https://chromium-review.googlesource.com/848539
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 6df487ef1e6164bbe3fd05d74396edcf0001d25c
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Wed Dec 20 19:12:57 2017 -0500

    Move angle_enable_* inside declare_args().
    
    This allows enabling and disabling parts of the build via gn args,
    similar to what gyp allowed.
    
    BUG=angleproject:1569
    
    Change-Id: Ia95c134f98f8941408df96b1d4e2563e713a9ef2
    Reviewed-on: https://chromium-review.googlesource.com/838260
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit fc3463da017a9e17e890363977ec29f90c82411b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jan 3 13:46:21 2018 -0500

    HandleAllocator: Fix heap ordering using std::greater.
    
    The default heap ordering is to return the greatest element in the
    heap. Since the handle allocator expects a minimal return value on
    a new allocation, this caused a bug. The bug is triggered by reserving
    handles, allocating new handles, then freeing the handles and
    allocating again with the same allocator. Fix the bug by using
    std::greater instead of std::less, which will make the heap
    return the smallest value instead of largest.
    
    Also adds some logging debugging code for the handle allocators.
    
    Bug: angleproject:1458
    Change-Id: Ibef5dcbed0a664ccad0e0335f081e2355162584b
    Reviewed-on: https://chromium-review.googlesource.com/848644
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit 36937a64f438a2e0c166f99d90ced59c5dbbb1be
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jan 3 14:03:44 2018 -0500

    Revert "Enable depth buffer to workaround driver bug on Intel windows"
    
    This reverts commit 63ba357c093954d2bc475867e1296fbf5afc1d37.
    
    Reason for revert: May be causing Windows GPU.FYI bot failures.
    
    https://ci.chromium.org/buildbot/chromium.gpu.fyi/Win10%20Release%20%28Intel%20HD%20630%29/1443
    
    maps_pixel_test on Intel GPU:
    Unexpected Failures:
    * gpu_tests.maps_integration_test.MapsIntegrationTest.Maps_maps
    
    webgl2_conformance_tests on Intel GPU:
    Unexpected Failures:
    * gpu_tests.webgl_conformance_integration_test.WebGLConformanceIntegrationTest.WebglConformance_deqp_functional_gles3_fboinvalidate_default
    * gpu_tests.webgl_conformance_integration_test.WebGLConformanceIntegrationTest.WebglConformance_deqp_functional_gles3_fboinvalidate_sub
    
    Bug: chromium:798757
    
    Original change's description:
    > Enable depth buffer to workaround driver bug on Intel windows
    >
    > Rendering with depth buffer disabled and stencil buffer enabled
    > leads to memory leak if we set viewport a large size on Intel
    > windows platforms. So we enable depth buffer if stencil buffer
    > is enabled to workaround this issue.
    >
    > TEST=gl_test.exe --gtest_filter=GLClearFramebufferTestWithParam/GLClearFramebufferTest.ClearDepthStencil/0
    > TEST=conformance/rendering/rendering-stencil-large-viewport.html
    > TEST=RenderStencilBufferTest.DrawWithLargeViewport/ES3_D3D11
    >
    > BUG=782317
    >
    > Change-Id: Idb185db296f13e3fa897534514e198651a56439f
    > Reviewed-on: https://chromium-review.googlesource.com/809574
    > Commit-Queue: Jamie Madill <jmadill@chromium.org>
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    
    TBR=zmo@chromium.org,geofflang@chromium.org,jmadill@chromium.org,kbr@chromium.org,cwallez@chromium.org,yunchao.he@intel.com,jiajia.qin@intel.com,xinghua.cao@intel.com,bryan.bernhart@intel.com,yizhou.jiang@intel.com,yang.gu@intel.com
    
    # Not skipping CQ checks because original CL landed > 1 day ago.
    
    Bug: 782317
    Change-Id: I7e29da683b22fd4640c230598c7b220cfae6a177
    Reviewed-on: https://chromium-review.googlesource.com/848133
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 8b5e8fdb3c353d46c81243b31889856181ff66ae
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Dec 15 14:59:15 2017 +0200

    Replace remaining usage of TName with TSymbol
    
    TName used to contain just a subset of the information stored in
    TSymbol. It makes more sense to use TSymbol directly instead of
    converting it to TName.
    
    This also improves type safety a bit by making some functions only
    take in TVariable or TFunction instead of the more generic TName.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: Icb46923c25d33ebbbbc06ddc487da25957dda771
    Reviewed-on: https://chromium-review.googlesource.com/829143
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 93b059db4a5ab007e5239dff61eae3656e8da286
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Dec 20 12:46:58 2017 +0200

    Index symbols by id in OutputHLSL
    
    This is cleaner than indexing them by their name string.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: I0d0ef5e3f6a3f26c94f096b086cdf3da40d495e4
    Reviewed-on: https://chromium-review.googlesource.com/845559
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit d8724a947bd8663a796a3dc70057a17fc91ae516
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Dec 29 18:40:36 2017 +0200

    Start D3D constant register allocations from 1 on NVIDIA
    
    Recent NVIDIA drivers have a bug where a specific optimized path
    inside the driver doesn't handle constant register 0 correctly. Work
    around this by starting constant register allocations from 1. This
    should make sure that the bug doesn't trigger if the ordering of
    uniforms is changed on the D3D backend.
    
    The repro case seems to require some specific driver state to be set
    that's used inside Chromium. Because of this we have not been able to
    develop a standalone test case so far.
    
    The maximum number of available uniform slots is reduced accordingly.
    This should not take them below required minimums in the spec.
    
    BUG=angleproject:2294
    TEST=WebGL tests on passthrough command buffer,
         angle_end2end_tests --gtest_filter=*GLSLTest*Uniform*
    
    Change-Id: I92fff71efe5432ea7f15a7e90d497492514c65dc
    Reviewed-on: https://chromium-review.googlesource.com/847481
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 910a3dafda474284a29d278abf7b2051d55281cb
Author: jchen10 <jie.a.chen@intel.com>
Date:   Wed Nov 15 09:40:11 2017 +0800

    ES31 program query: support TRANSFORM_FEEDBACK_VARYING
    
    TRANSFORM_FEEDBACK_VARYING corresponds to the set of output variables
    in the last non-fragment stage of program that would be captured when
    transform feedback is active. The resources enumerated by this query
    are listed as specified by the most recent call to
    TransformFeedbackVaryings before the last call to LinkProgram.
    This mainly collects these resources for query.
    
    BUG=angleproject:1920
    TEST=angle_end2end_tests:ProgramInterfaceTest*
         dEQP-GLES31.functional.program_interface_query.transform_feedback_varying.*
    
    Change-Id: I0655b12c6d82cef1b44d4ca57ea55bb60d1f78fb
    Reviewed-on: https://chromium-review.googlesource.com/770450
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit c8c9a24a117a4239342392e1ee730ab1a5a4a1df
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jan 2 13:39:00 2018 -0500

    Entry Points: Refactor generator script.
    
    This cleans up some of the organization of the python generator. It
    will make the extension entry point generation simpler.
    
    It also changes the header guards to use more underscores, which
    produces a small diff. Also updates the copyright year in a few
    generated files.
    
    Bug: angleproject:2263
    Change-Id: I42f061c24a6cfcd8328c56c57eaed9ca6c7bb293
    Reviewed-on: https://chromium-review.googlesource.com/846306
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c33f1e8c35147a9e97390cedba50d886ee212db4
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Dec 29 16:55:29 2017 +0200

    Simplify creating the call DAG
    
    Don't copy function name strings unnecessarily and traverse function
    body nodes manually to avoid some extra traversal steps.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: Ie010aabcb8bc78fa6abce397ea2bdd9092e74187
    Reviewed-on: https://chromium-review.googlesource.com/847552
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit d078c68128f17a7bfe2030b1cdcc4cf2552f6548
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jan 2 11:50:24 2018 -0500

    VertexArray: Add enabled attribs bitmask.
    
    This replaces the "max enabled attrib" integer with a bitmask of
    enabled attribs. Should have better worst-case performance (only
    attribute 15 is enabled) and similar best-case performance (when
    only attribute 0 is enabled).
    
    This might also help implementing validation optimizations.
    
    Bug: angleproject:2202
    Change-Id: I5cbb533c3af23851a42c80a6dc409a0da84e87c3
    Reviewed-on: https://chromium-review.googlesource.com/847284
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit ffa2cd04b645da7d4bf4fe94fb2ba3f2fff8a5ed
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Dec 28 14:57:53 2017 -0500

    Entry Points: Speed up auto-gen.
    
    This refactors the auto-generation script to use a simpler XML
    iteration. It will only query the Xpath once per script, instead
    of once per entry point. This speeds up execution significantly.
    
    Also this change sorts the entry points alphabetically instead
    of having them appear in the order they appear in the XML. This
    gives a more consistent ordering.
    
    Bug: angleproject:1309
    Change-Id: Ifa1110af786b91ad0e6ff1cd3707e17666d398a5
    Reviewed-on: https://chromium-review.googlesource.com/846419
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 7361860113460a7b16673462cb040064b3bb6064
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Wed Dec 20 15:47:15 2017 +0800

    ES31: Clean up Program::link
    
    This patch intends to solve some structure and coding style issues
    in Program::link to make it easier to support linking program with
    geometry shader.
    
    1. Move all the shader specific validations to linkValidateShaders.
       Geometry shader related link validations can also be added here.
    2. Rename functions with "VertexAndFragment" to "Graphics" because
       these functions will also be responsible for the validations on
       geometry shader.
    3. Refer uniforms by pointer when validating uniforms.
    4. Re-declare functions to 'static' if we can and capitialize the
       first letter of all static functions in Program.h.
    
    BUG=angleproject:1941
    
    Change-Id: I46608e86bddc12d95cbbbf9a85803d07ccf843d8
    Reviewed-on: https://chromium-review.googlesource.com/836149
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 63ba357c093954d2bc475867e1296fbf5afc1d37
Author: JiangYizhou <yizhou.jiang@intel.com>
Date:   Wed Dec 6 10:25:40 2017 +0800

    Enable depth buffer to workaround driver bug on Intel windows
    
    Rendering with depth buffer disabled and stencil buffer enabled
    leads to memory leak if we set viewport a large size on Intel
    windows platforms. So we enable depth buffer if stencil buffer
    is enabled to workaround this issue.
    
    TEST=gl_test.exe --gtest_filter=GLClearFramebufferTestWithParam/GLClearFramebufferTest.ClearDepthStencil/0
    TEST=conformance/rendering/rendering-stencil-large-viewport.html
    TEST=RenderStencilBufferTest.DrawWithLargeViewport/ES3_D3D11
    
    BUG=782317
    
    Change-Id: Idb185db296f13e3fa897534514e198651a56439f
    Reviewed-on: https://chromium-review.googlesource.com/809574
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 2768bc8a70b6f3626c1277ff1df3d11af00e7dbd
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Dec 12 11:51:48 2017 +0200

    Clean up creating constant folded nodes
    
    It's not necessary to set the qualifier on folded nodes separately,
    they always use the qualifier of the node being folded.
    
    BUG=angleproject:1490
    TEST=angle_unittests
    
    Change-Id: Id2581ef4cae42d7137fbe0caf18c3fcacbf954c6
    Reviewed-on: https://chromium-review.googlesource.com/847553
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 4728bdc805d718774760aded60e768d8e55dd108
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Dec 20 17:51:08 2017 +0200

    Unify looking for symbols with a specific name in the AST
    
    Keep only one traverser for looking up symbol nodes by name instead
    of having two largely identical ones.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: I36e906258180e22b7b1353cab79d90266d99fa0e
    Reviewed-on: https://chromium-review.googlesource.com/836895
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 492b5f51ec82d67670c24908b77d57d1b02fb7c2
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Wed Dec 13 09:39:27 2017 +0800

    ES31: Support struct arrays as Geometry Shader inputs
    
    This patch adds the support of struct arrays as valid
    geometry shader user-defined inputs.
    
    Struct arrays are accepted as geometry shader inputs to
    match the vertex shader outputs that are also declared
    as structs.
    
    BUG=angleproject:1941
    TEST=angle_unittests
    
    Change-Id: I0b5d545b10e9dda576a1c96d7c93ec2450611e9e
    Reviewed-on: https://chromium-review.googlesource.com/823622
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 8c3988c59ebe97f03c376d30aa94fb6062f4ae48
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Dec 21 14:44:56 2017 -0500

    Vulkan: Use one pipeline layout for all Programs.
    
    This simplifies the pipeline state object caching. We will not need
    to use any extra bits to cache based on program properties - instead
    all programs will be compatible. The pipeline layout strucutre is
    described in the design docs. It currently only has two bind groups:
    the first for default uniforms, and the second for Textures. In the
    future we might re-organize this to handle driver uniforms, dynamic
    push constants, and/or program uniform buffers with ES 3.0.
    
    Instead of storing only the Textures that are required by a Program,
    we reserve space for the maximum possible Texture units. We might have
    to revisit this very simple design in the future to support texture
    arrays, which are handled specially in Vulkan.
    
    Bug: angleproject:2163
    Change-Id: I3e1656c2c73045aed56838a5f1267b246a623362
    Reviewed-on: https://chromium-review.googlesource.com/837943
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit bed35d766712ca1248b90d67ea250e04eefbae01
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Dec 20 16:36:26 2017 +0200

    Don't query names of empty symbols
    
    This makes it possible to return a reference from TSymbol::name()
    instead of a pointer. This is safer since it completely avoids the
    possibility of a nullptr dereference. An assert is making sure that
    the function is not being called for empty symbols.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: I44279f65989dbb828322843fc0216ba84d91dedf
    Reviewed-on: https://chromium-review.googlesource.com/836894
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 49ac74bd4c96eb81b6928d58ac9aacaf6cb06b36
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Dec 21 14:42:33 2017 -0500

    Vulkan: Implement command re-ordering.
    
    This introduces a new CommandBufferNode class. Nodes are linked
    together to form a graph based on their dependencies. When the app
    triggers a readback or swap, the graph is flushed entirely. This
    sends the queued ANGLE Vulkan work to the Vulkan queue which is
    then processed on the GPU with the right dependencies.
    
    This design allows us to save on some unnecessary RenderPass creation
    and also allows us to know what load/store ops to use. It also allows
    us to take advantage of the Vulkan automatic RenderPass transitions
    for performance. Load/Store ops and automatic transitions will be
    implemented in later patches.
    
    Bug: angleproject:2264
    Change-Id: I0e729c719e38254202c6fedcede4e63125eb4810
    Reviewed-on: https://chromium-review.googlesource.com/780849
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit b8cb939f5817e558ca29b9f9c2e2e15c20342eb7
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Dec 20 14:23:19 2017 +0200

    Fix tracking variables in folded ternary operators
    
    The result of folding a ternary operator may be a TIntermSymbol node
    where the qualifier doesn't match the qualifier of the variable that
    the node is referring to.
    
    Get the qualifier from the variable instead of directly from
    TIntermSymbol when collecting variables in CollectVariables or when
    tracking referenced variables in OutputHLSL.
    
    BUG=angleproject:2288
    TEST=angle_unittests, angle_end2end_tests
    
    Change-Id: If294a7fe9dca50f2ebcea3feff887e72a521d395
    Reviewed-on: https://chromium-review.googlesource.com/836893
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 8a57b468e254947236876d07c54cfa1f80d9de9d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Dec 28 12:25:03 2017 -0500

    Re-land "Vulkan: Roll loader/validation layers SDK. (2/2)"
    
    Second re-land fixes git.bat access on developer machines.
    
    Re-landing with upstream fixes to the layers so they no longer
    need to copy the parameter validation errors to the current
    working directory of the layer generation. Also includes fixes
    for the GCC build.
    
    This hasn't been updated in a while, so there are many changes.
    It should also include better validation for memory barriers.
    
    Also includes updated builds for SPIRV Tools and glslang.
    A few pull requests need to land before landing this in ANGLE.
    
    This second step re-enables Vulkan and includes the updated build.
    
    Includes a workaround for parameter_validation.h no longer being
    auto-generated, and the stale file clobbering the build.
    
    Also includes a fix for an incorrect memory barrier.
    
    Bug: angleproject:2237
    Change-Id: Ic1a3ad7458bb743d7279a1af9334693ab6cb59d6
    Reviewed-on: https://chromium-review.googlesource.com/845859
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 007530ea55ce02fd377b792024ec82af81760a3b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Dec 28 14:27:04 2017 -0500

    Entry Points: Refactor Extensions Part 2.
    
    This moves the validation and entry point files to use a
    consistent syntax. This will facilitate auto-generation.
    
    Bug: angleproject:2263
    Change-Id: If5d06e97db66783d7b3d7fb1d6365f8218d956ae
    Reviewed-on: https://chromium-review.googlesource.com/846022
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit f095799b54ea62f37b6af4e272c535b92562ea6d
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Dec 22 11:10:04 2017 +0200

    Fix accessing the name of a nested struct definition
    
    When generating an error message about the struct nesting limit, the
    code should make sure that the struct definitions are not nested.
    While nested struct definitions by themselves are also an error,
    they're not a syntax error so parsing will continue after encountering
    them.
    
    This fixes a regression from commit: Don't allocate name strings for
    empty symbols.
    
    BUG=chromium:797156
    TEST=angle_unittests
    
    Change-Id: I4149fbe874c0e7ec90e690aec078ccaf7313eab0
    Reviewed-on: https://chromium-review.googlesource.com/842643
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit aaa55bfa376d9f9b0085e8fb04cf427942d31ee2
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Dec 28 11:20:30 2017 +0200

    Index symbols by id in ValidateOutputs
    
    This is cleaner than indexing them by their name string.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: I6cdc4125fadb6c7049ad8664e8a66da2a9a5bb8d
    Reviewed-on: https://chromium-review.googlesource.com/836892
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 06f8637740116fa3bc4c30b513fc3ae4a0534521
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Fri Dec 22 19:28:35 2017 +0000

    Revert "Re-land "Vulkan: Roll loader/validation layers SDK. (2/2)""
    
    This reverts commit 755a9317ff1ec983f2704fc9f4619cac49992960.
    
    Reason for revert: Broke local win build. crbug.com/797253
    
    Original change's description:
    > Re-land "Vulkan: Roll loader/validation layers SDK. (2/2)"
    >
    > Re-landing with upstream fixes to the layers so they no longer
    > need to copy the parameter validation errors to the current
    > working directory of the layer generation. Also includes fixes
    > for the GCC build.
    >
    > This hasn't been updated in a while, so there are many changes.
    > It should also include better validation for memory barriers.
    >
    > Also includes updated builds for SPIRV Tools and glslang.
    > A few pull requests need to land before landing this in ANGLE.
    >
    > This second step re-enables Vulkan and includes the updated build.
    >
    > Includes a workaround for parameter_validation.h no longer being
    > auto-generated, and the stale file clobbering the build.
    >
    > Also includes a fix for an incorrect memory barrier.
    >
    > Bug: angleproject:2237
    > Change-Id: I1ed87ecfa84f51ee1edf6a8581d9b3c8f9a6f26e
    > Reviewed-on: https://chromium-review.googlesource.com/834429
    > Commit-Queue: Jamie Madill <jmadill@chromium.org>
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    
    TBR=fjhenigman@chromium.org,jmadill@chromium.org
    
    Change-Id: I605d72207d64c7d0853678595e255b74ad69d887
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:2237
    Reviewed-on: https://chromium-review.googlesource.com/842918
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Commit-Queue: Zhenyao Mo <zmo@chromium.org>

commit 2b7bbc2822805fc29d19ba93a365d8e02e84d045
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Dec 21 17:30:38 2017 -0500

    Entry Points: Refactor Extensions Part 1.
    
    This moves the validation and entry point files to use a
    consistent syntax. This will facilitate auto-generation.
    
    Bug: angleproject:2263
    Change-Id: Ica2dbffff3898103c6827ae7f6b1154a45d14a85
    Reviewed-on: https://chromium-review.googlesource.com/841345
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit b6af22b522becc2757e62526edaaa6bb136c1a97
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Dec 15 14:05:44 2017 +0200

    Store TVariable* in TIntermSymbol instead of storing id
    
    This is an intermediate step to only storing a TVariable * in
    TIntermSymbol instead of copying the name.
    
    This makes it possible to get a constant value out of a TIntermSymbol
    without doing a symbol table lookup.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: Ibff588241a4ad4ac330063296273288b20a072c9
    Reviewed-on: https://chromium-review.googlesource.com/829142
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 755a9317ff1ec983f2704fc9f4619cac49992960
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Dec 21 14:34:05 2017 -0500

    Re-land "Vulkan: Roll loader/validation layers SDK. (2/2)"
    
    Re-landing with upstream fixes to the layers so they no longer
    need to copy the parameter validation errors to the current
    working directory of the layer generation. Also includes fixes
    for the GCC build.
    
    This hasn't been updated in a while, so there are many changes.
    It should also include better validation for memory barriers.
    
    Also includes updated builds for SPIRV Tools and glslang.
    A few pull requests need to land before landing this in ANGLE.
    
    This second step re-enables Vulkan and includes the updated build.
    
    Includes a workaround for parameter_validation.h no longer being
    auto-generated, and the stale file clobbering the build.
    
    Also includes a fix for an incorrect memory barrier.
    
    Bug: angleproject:2237
    Change-Id: I1ed87ecfa84f51ee1edf6a8581d9b3c8f9a6f26e
    Reviewed-on: https://chromium-review.googlesource.com/834429
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit beb6dc74a2bcd35404a2054aae2927a193c4e240
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Dec 14 16:03:03 2017 +0200

    Always use TFunction instead of TFunctionSymbolInfo
    
    This reduces unnecessary memory allocations and conversions between
    different objects containing the same data.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: I87316509ab1cd6d36756ff6af7fa2b5c5a76a8ea
    Reviewed-on: https://chromium-review.googlesource.com/827134
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 1bb8528c057f103070d8523c512adf1e0f83c2c3
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Dec 14 13:39:53 2017 +0200

    Remove TFunctionSymbolInfo from TIntermAggregate
    
    All the information stored in TFunctionSymbolInfo was duplicated from
    the TFunction that the aggregate node pointed to.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: I1f5574ab0416e5cae00c3dae6fc11d2fe1fa128c
    Reviewed-on: https://chromium-review.googlesource.com/827065
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 340b577196857c4403a9058f014a4075fc4cb239
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Dec 21 11:42:07 2017 -0500

    Vulkan: Roll loader/validation layers SDK (1.75/2)
    
    This hasn't been updated in a while, so there are many changes.
    It should also include better validation for memory barriers.
    
    Also includes updated builds for SPIRV Tools and glslang.
    A few pull requests need to land before landing this in ANGLE.
    
    This intermediate step rolls Vulkan again to include upstream
    fixes to the layers so they no longer need to copy the parameter
    validation headers to the current working directory. The prior
    changed missed a second generator script.
    
    Bug: angleproject:2237
    Change-Id: Ia6767af538c50e340ea5a68c69a2863c9fd9061d
    Reviewed-on: https://chromium-review.googlesource.com/840080
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 62fcf62aecc7dc23b73e1cfefb751191eafc39d3
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Thu Nov 30 16:16:12 2017 +0800

    ES31: Add DispatchComputeIndirect suport for OpenGL backend
    
    BUG=angleproject:2270
    TEST=dEQP-GLES31.functional.compute.indirect_dispatch.*
    
    Change-Id: Id062a80188b2a37f28833aaae8e6d31bac382276
    Reviewed-on: https://chromium-review.googlesource.com/802763
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit c6faa9745f889b838ec8a7c6ad255bbb1c51f48d
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Wed Dec 20 19:50:10 2017 -0500

    Skip UniformBufferTest.SimpleBindingChange on Mac NVIDIA GL
    
    Unskip UniformBufferTest.SimpleBufferChange,
    which was skipped by mistake instead of this test in
    https://chromium-review.googlesource.com/833287
    
    BUG=angleproject:2287
    
    Change-Id: Id79821b26ad38ed07d1193b717ad222df3bb58fe
    Reviewed-on: https://chromium-review.googlesource.com/838262
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 0c37100dfc684824ee3c532d90c8f2e3f03e10e2
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Dec 13 17:00:25 2017 +0400

    Always create TFunctions for function call nodes
    
    This simplifies code and ensures that nodes get consistent data.
    
    In the future function call nodes could have a pointer to the
    TFunction instead of converting the same information into a different
    data structure.
    
    BUG=angleproject:2267
    TEST=angle_unittests, angle_end2end_tests
    
    Change-Id: Ic0c24bb86b44b9bcc4a5da7f6b03701081a3af5c
    Reviewed-on: https://chromium-review.googlesource.com/824606
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 26143fdd0f82b7d2d25dbe548515b80547491a22
Author: Xinghua Cao <xinghua.cao@intel.com>
Date:   Wed Nov 1 18:19:05 2017 +0800

    ES31: Support bindImageTexture on Texture2D for compute shaders on D3D
    
    BUG=angleproject:1987
    TEST=angle_end2end_tests
    
    Change-Id: I3b0afb441a41dbd7f204b1d1bba7884c8d203ce1
    Reviewed-on: https://chromium-review.googlesource.com/749004
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 10d41397f144a9705995d690bf73c4c3c357d8c9
Author: JiangYizhou <yizhou.jiang@intel.com>
Date:   Mon Dec 18 18:13:36 2017 +0800

    Fix addDummyTextureNoRenderTarget workaround memory leak
    
    Add dummy attachment in FramebufferD3D as a private member and release
    the dummy attchment in destory of FramebufferD3D.
    
    BUG=angleproject:2282
    
    TEST=FramebufferTest_ES31.RenderingLimitToDefaultFBOSizeWithNoAttachments/ES3_1_D3D11
    TEST=dEQP-GLES31.functional.fbo.no_attachments.*
    
    Change-Id: I3a17282ef132185fbc25f4076f624e53661d4b20
    Reviewed-on: https://chromium-review.googlesource.com/831847
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 89c422adb41e5d4dc93c9e9d808c583737a84944
Author: Xinghua Cao <xinghua.cao@intel.com>
Date:   Wed Nov 29 18:24:20 2017 +0800

    ES31: Support memoryBarrier and memoryBarrierRegion APIs
    
    BUG=angleproject:2280
    TEST=dEQP-GLES31.functional.compute.basic.image_barrier_single
         dEQP-GLES31.functional.compute.basic.image_barrier_multiple
         dEQP-GLES31.functional.compute.basic.ssbo_cmd_barrier_single
         dEQP-GLES31.functional.compute.basic.ssbo_cmd_barrier_multiple
         dEQP-GLES31.functional.synchronization.*
    
    Change-Id: If14debab21247dc4b446e86d1642fbc9376b6dd7
    Reviewed-on: https://chromium-review.googlesource.com/798803
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 37385e11d38322cfc4d72e0b9cac51e380b263da
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Dec 19 11:50:30 2017 +0200

    Emulate tanh on HLSL
    
    This ensures mathematically correct results on large inputs.
    
    BUG=chromium:795269
    BUG=angleproject:1093
    TEST=dEQP-GLES3.functional.shaders.builtin_functions.precision.tanh*
    
    Change-Id: Id5ba05a3284e51a34f196b419abef0f4a41551e0
    Reviewed-on: https://chromium-review.googlesource.com/832463
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit d4529f304be7b8a2c4f9d0e4d6b586468f23c9a5
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Dec 12 13:06:40 2017 +0200

    Define symbol classes in a separate file
    
    The plan is to use symbols more also outside the symbol table, so it
    makes sense to define the symbol classes in a separate header file.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: I94167415ef43ba9bd9126ca32d9c498e1437f3f8
    Reviewed-on: https://chromium-review.googlesource.com/822414
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit ffd27d85371b27b6d7faf2aa675373537bf204b1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Dec 19 15:40:14 2017 -0500

    Vulkan: Roll loader and validation layers SDK (1.5/2)
    
    This hasn't been updated in a while, so there are many changes.
    It should also include better validation for memory barriers.
    
    Also includes updated builds for SPIRV Tools and glslang.
    A few pull requests need to land before landing this in ANGLE.
    
    This intermediate step rolls Vulkan again to include upstream
    fixes to the layers so they no longer need to copy the parameter
    validation headers to the current working directory also includes
    fixes for the GCC build.
    
    Bug: angleproject:2237
    Change-Id: I50deb70e43be36f7470c9fc2262b6da5bab39c3a
    Reviewed-on: https://chromium-review.googlesource.com/834230
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit ca71c75dce600b2a0fde5a72c15c2b437cb961db
Author: Bryan Bernhart (Intel Americas Inc) <bryan.bernhart@intel.com>
Date:   Fri Dec 15 13:39:57 2017 -0800

    Fix error handling of ID3D11DeviceContext::Map
    
    Refactors error handling should map() fail to avoid crashing
    during a device error event.
    
    BUG=angleproject:2284
    
    Change-Id: Ib1eb676860fa5c3a81e523f49aab82b7e6700f73
    Reviewed-on: https://chromium-review.googlesource.com/826485
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit ae4dbf32ba112c767d6e67d6e5734fc81d8c2d8c
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Dec 8 20:49:00 2017 +0100

    Don't allocate name strings for empty symbols
    
    This removes unnecessary memory allocations.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: Ide575ea19ab2f8e9fc93092490f1352efa6024a3
    Reviewed-on: https://chromium-review.googlesource.com/817415
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit f2afccca7b27bf2a2415cbf066771295106500c5
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Mon Dec 18 20:13:15 2017 -0500

    Skip UniformBufferTest.SimpleBufferChange on Mac NVIDIA GL
    
    BUG=angleproject:2287
    
    Change-Id: I1a5895a9b5c173b221da6ac511c05d8b7d646a5d
    Reviewed-on: https://chromium-review.googlesource.com/833287
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 5b1180df6835e403e5a9636fe9f7c987e1e48e2c
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Tue Oct 10 20:26:52 2017 -0400

    Add gyp deprecation warning.
    
    gyp_angle now prints a warning every time it is run.
    All targets print the same warning as one of their build steps.
    The DEPS change updates gypi_to_gn so it doesn't choke on
    files with 'target_defaults' sections.
    
    BUG=angleproject:1569
    
    Change-Id: Ibdf277fcc14cf4ebc7b7db78270210752cd8ef9d
    Reviewed-on: https://chromium-review.googlesource.com/711155
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit 0e74e059621b5eee49e10381a704d13a5713480a
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Sun Dec 17 22:17:17 2017 -0500

    Fix gcc builds.
    
    Remove unused function and fix dangling else's that gcc complains about.
    In the gyp build specify -std=c++14.
    
    BUG=none
    
    Change-Id: I552942ccc574104a5424a9add00e6e72d6efa28a
    Reviewed-on: https://chromium-review.googlesource.com/830750
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit a2d981418d78120269dfe7960578f7b7b82680aa
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Dec 15 14:18:55 2017 +0200

    Fix allowing non-constant ternary global initializer
    
    Check the qualifier of a node resulting from the folding of a ternary
    node correctly. The folded node might even be a TIntermConstantUnion
    with a non-constant qualifier.
    
    BUG=angleproject:2285
    TEST=angle_unittests
    
    Change-Id: I74516e44ce9d78bc54093a5b58d14cf33a57e6e5
    Reviewed-on: https://chromium-review.googlesource.com/829138
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 647dca7672f709d2cc3896c5ffb2fd9b904a15e4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Dec 15 21:31:00 2017 +0000

    Revert "Vulkan: Roll loader/validation layers SDK. (2/2)"
    
    This reverts commit f15f9cec318b5b0042cca7f819b1df9dbd1872ee.
    
    Reason for revert:
    Causing a compile failure on the Fuchsia config, due to a path
    difference. Will fix upstream and re-land, since it's breaking the
    auto-roller.
    
    https://chromium-review.googlesource.com/c/chromium/src/+/829878
    
    FAILED: clang_x64/gen/third_party/angle/src/vulkan_support/angle/vulkan/parameter_validation.cpp
    python ../../third_party/vulkan-validation-layers/src/scripts/lvl_genvk.py -o clang_x64/gen/third_party/angle/src/vulkan_support/angle/vulkan -registry ../../third_party/vulkan-validation-layers/src/scripts/vk.xml parameter_validation.cpp -quiet
    Error: Could not find vk_validation_error_messages.h
    [906/1359] ACTION //third_party/angle/src/vulkan_support:vulkan_gen_object_tracker_cpp(//build/toolchain/linux:clang_x64)
    FAILED: clang_x64/gen/third_party/angle/src/vulkan_support/angle/vulkan/object_tracker.cpp
    python ../../third_party/vulkan-validation-layers/src/scripts/lvl_genvk.py -o clang_x64/gen/third_party/angle/src/vulkan_support/angle/vulkan -registry ../../third_party/vulkan-validation-layers/src/scripts/vk.xml object_tracker.cpp -quiet
    Error: Could not find vk_validation_error_messages.h
    
    Original change's description:
    > Vulkan: Roll loader/validation layers SDK. (2/2)
    >
    > This hasn't been updated in a while, so there are many changes.
    > It should also include better validation for memory barriers.
    >
    > Also includes updated builds for SPIRV Tools and glslang.
    > A few pull requests need to land before landing this in ANGLE.
    >
    > This second step re-enables Vulkan and includes the updated build.
    >
    > Includes a workaround for parameter_validation.h no longer being
    > auto-generated, and the stale file clobbering the build.
    >
    > Also includes a fix for an incorrect memory barrier.
    >
    > Bug: angleproject:2237
    > Change-Id: Iae611764870281ed6aa7b187ec0c4e44226c722a
    > Reviewed-on: https://chromium-review.googlesource.com/759197
    > Commit-Queue: Jamie Madill <jmadill@chromium.org>
    > Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    
    TBR=fjhenigman@chromium.org,jmadill@chromium.org,cwallez@chromium.org
    
    # Not skipping CQ checks because original CL landed > 1 day ago.
    
    Bug: angleproject:2237
    Change-Id: I9bc60860668c1da773b6e2fdb83ecc20215e9125
    Reviewed-on: https://chromium-review.googlesource.com/830926
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 1955640afd0a05882d230a71416436905de4362e
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Wed Nov 1 17:36:11 2017 -0400

    Support ozone/gbm back end in standalone gn build.
    
    This makes it possible to do a standalone gn build of the ozone/gbm back
    end by using the following gn args.
      use_ozone = true
      ozone_platform_gbm = true
    
    BUG=angleproject:1569
    
    Change-Id: I70716b83943dae95df48b847ff8cca5e2c555c4a
    Reviewed-on: https://chromium-review.googlesource.com/749867
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit e42ec189cc9d416456ad85a0d194e426ac8977c7
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Mon Dec 11 23:58:53 2017 -0500

    Add angle_link_glx arg to standalone gn build.
    
    Port the angle_link_glx setting of the gyp build to the standalone gn build.
    When set to true, libGL will be linked into libANGLE, instead of dlopen-ed.
    This is useful when using apitrace.
    
    BUG=angleproject:1569
    
    Change-Id: I16a91504960169efdcde3b2c50b944de148d9ba6
    Reviewed-on: https://chromium-review.googlesource.com/821691
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit 9fc8733187c02470a9eadb6d295348b6d37a2004
Author: Brandon Jones <brandon1.jones@intel.com>
Date:   Wed Dec 13 15:46:52 2017 -0800

    Fix Bug in Intel Workaround
    
    Fixes an incorrect assert that is hit when trying to find a program
    output when none are present. It is valid to not have an output, so we
    should not check for an output when there are none.
    
    Bug:angleproject:2283
    Change-Id: Ia640482870c6ee589a933b989272177760237e3b
    Reviewed-on: https://chromium-review.googlesource.com/825957
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 9c8e1a361562a722e1218210d76129a9f4de4499
Author: Xinghua Cao <xinghua.cao@intel.com>
Date:   Wed Dec 6 17:59:58 2017 +0800

    ES31: Implement image state query
    
    BUG=angleproject:2278
    TEST=dEQP-GLES31.functional.state_query.indexed.image_binding*
    
    Change-Id: Ia624d55ccf1fdf92188d9e710265bdffe96a23c6
    Reviewed-on: https://chromium-review.googlesource.com/810465
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 195be9424f8b8446a0daba4d93dc7a8982d4842c
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Dec 4 23:40:14 2017 +0200

    Always create TVariables for TIntermSymbol nodes
    
    TIntermSymbol nodes are now constructed based on a specific TVariable.
    This makes sure that all TIntermSymbol nodes that are created to refer
    to a specific temporary in an AST transform will have consistent data.
    The TVariable objects are not necessarily added to the symbol table
    levels - just those variables that can be referred to by their name
    during parsing need to be reachable through there.
    
    In the future this can be taken a step further so that TIntermSymbol
    nodes just to point to a TVariable instead of duplicating the
    information.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: I4e7bcdb0637cd3b588d3c202ef02f4b7bd7954a1
    Reviewed-on: https://chromium-review.googlesource.com/811925
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit f414121d4971ec0c423441c84d9ccf195827803f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Dec 12 15:08:07 2017 -0500

    D3D11: Fix program uniform buffer dity bits.
    
    There were actually three missing state synchronization points:
    
    1. When re-binding a uniform buffer, we had no dirty bits.
    2. When modifying the Program bindings, we also had no update.
    3. When triggering a dependent state update via BufferData.
    
    This fixes all the missing syncs and adds tests for the cases.
    
    Bug: angleproject:1390
    Change-Id: I2f05766545784248bcca8308ae34ac5720237ab1
    Reviewed-on: https://chromium-review.googlesource.com/823150
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Kai Ninomiya <kainino@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit bd924af17363fda7e0e76e1ab4f07c9e45893e59
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Thu Nov 16 15:28:04 2017 +0800

    ES31: Remove support of GL_OES_geometry_shader in compiler
    
    This patch intends to remove the support of GL_OES_geometry_shader
    in ANGLE compiler.
    
    To make the implementation simpler, currently we decide to only
    support "GL_EXT_geometry_shader" as the extension string of geometry
    shader in ANGLE.
    
    This patch also updates all the related shaders in angle_unittests
    into R"()" format.
    
    BUG=angleproject:1941
    TEST=angle_unittests
    
    Change-Id: Ife9858abeedfb46b02c5c2fb1cda16fa27198511
    Reviewed-on: https://chromium-review.googlesource.com/773451
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit f15f9cec318b5b0042cca7f819b1df9dbd1872ee
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Dec 13 15:02:24 2017 -0500

    Vulkan: Roll loader/validation layers SDK. (2/2)
    
    This hasn't been updated in a while, so there are many changes.
    It should also include better validation for memory barriers.
    
    Also includes updated builds for SPIRV Tools and glslang.
    A few pull requests need to land before landing this in ANGLE.
    
    This second step re-enables Vulkan and includes the updated build.
    
    Includes a workaround for parameter_validation.h no longer being
    auto-generated, and the stale file clobbering the build.
    
    Also includes a fix for an incorrect memory barrier.
    
    Bug: angleproject:2237
    Change-Id: Iae611764870281ed6aa7b187ec0c4e44226c722a
    Reviewed-on: https://chromium-review.googlesource.com/759197
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit 9d4d7f06facbe5db0f178be7b4126d6072d4ee69
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Dec 7 17:11:41 2017 +0100

    Classify TSymbols using an enum
    
    Symbols can be either built-ins, user-defined, nameless, or for
    ANGLE's internal use. In addition we currently use TFunction symbols
    that are not yet resolved - they might later resolve to either a
    built-in or a user-defined function. Record this information in each
    TSymbol so that TSymbol contains sufficient information for deciding
    how to format symbol names in output.
    
    The goal is to eventually replace current uses of TName with pointers
    to different TSymbol objects. So far only built-ins and user-defined
    symbols have associated TSymbol objects, but that will be expanded to
    cover ANGLE's internal symbols as well.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: I927ce023fe257cc236da82c127700f3bd72bfe96
    Reviewed-on: https://chromium-review.googlesource.com/816952
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 9af765dd2e4463242df8175f74d7a99af6f31cb1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Dec 13 15:02:23 2017 -0500

    Vulkan: Roll loader/validation layers SDK. (1/2)
    
    This hasn't been updated in a while, so there are many changes.
    It should also include better validation for memory barriers.
    
    Also includes updated builds for SPIRV Tools and glslang.
    A few pull requests need to land before landing this in ANGLE.
    
    First part disables Vulkan and rolls the layers. The second part will
    re-enable Vulkan with the updated loader/layers build.
    
    Bug: angleproject:2237
    
    Change-Id: I112521541ea66b26eadeb959852418dc91be2e18
    Reviewed-on: https://chromium-review.googlesource.com/805417
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 21f67ae06684909234b8896de7d181a729ce34f4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Dec 7 18:30:42 2017 -0500

    Vulkan: Remove loader/layers from GYP build.
    
    This simplifies the rolling process since the build configuration was
    fairly complex. It allows us to save on maintaining the two sets of
    build files. The back-end is also disabled in GYP.
    
    The back-end sources are kept in libGLES.gypi for now to keep all
    libANGLE sources in the same place.
    
    Bug: angleproject:2237, angleproject:1569
    Change-Id: Ie73b40ef125cfc20da6f4ed3b33339256f1c5172
    Reviewed-on: https://chromium-review.googlesource.com/805416
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit bef918cb541a53429a6dc66dbce53dcbd9341001
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Dec 13 13:11:30 2017 -0500

    Vulkan: Add packed RenderPass descriptions.
    
    This change is two-fold: it splits the compatible parts from the
    RenderPass description, which allows for correct caching. It also
    will allow the pipeline state cache to cache the compatible RenderPass
    bits.
    
    In order to do this we introduce a packed version of the RenderPass
    description, which uses carefully aligned bit representations so we
    can hash the descriptions easily using MurmurHash, and compare them
    with memcmp.
    
    Bug: angleproject:2163
    Change-Id: I4179c0ff8762df81f29082168bd6e3056ceb1318
    Reviewed-on: https://chromium-review.googlesource.com/815816
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit ece125358ba245436769c56805edebc484a12ec5
Author: Yunchao He <yunchao.he@intel.com>
Date:   Tue Nov 21 15:50:21 2017 +0800

    ES31: Fix the issue for relink rendering/compute program.
    
    When link or relink fails, if we try to install the unsuccessfully linked
    program (via UseProgram) and start rendering or dispatch compute, We can
    not always report INVALID_OPERATION for rendering/compute pipeline.
    The result depends on the previous state: Whether a valid program has been
    installed in pipeline before. If a valid program has been installed, it
    should be OK to use the old executable residing in the GL state to start
    rendering or dispatch compute. No error should be reported.
    
    This change also add unit tests for unsuccessfully linked/relinked program
    for rendering pipeline to avoid potential error.
    
    If a program successfully relinks when it is in use, the program might
    change from a rendering program to a compute program in theory,
    or vice versa.
    
    BUG=angleproject:2266
    
    Change-Id: I4726112af2bc74f5beef25e35d2fcaa9f31e0768
    Reviewed-on: https://chromium-review.googlesource.com/784273
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 5f19810d5d1cfafdfd72323c707220f26dcfd080
Author: Bryan Bernhart (Intel Americas Inc) <bryan.bernhart@intel.com>
Date:   Tue Dec 12 14:21:39 2017 -0800

    WebGLCompat: Fix depth & stencil query results.
    
    getFramebufferAttachmentParameter returns incorrect
    result for framebuffers in an inconsistent state.
    
    BUG=angleproject:2281
    
    Change-Id: Ifb83ecaf16c95bf1237b2c4f2684de6aa2d55c46
    Reviewed-on: https://chromium-review.googlesource.com/823224
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 8225e73bb30f39848616d98ae837b12502861c71
Author: jchen10 <jie.a.chen@intel.com>
Date:   Tue Nov 14 16:29:03 2017 +0800

    Support struct varying for transform feedback
    
    Capturing struct members is vague In ES 3.00. But the ES 3.10
    explicitly says that base-level members of struct are feasible for
    transform feedback capture. This implementation fills the gap.
    
    TEST=angle_end2end_tests:TrasnformFeedbackTest*
    BUG=angleproject:2241
    Change-Id: Ibdf3ae6c2b8b28952e2f7fef1363545cbccad389
    Reviewed-on: https://chromium-review.googlesource.com/768613
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit ebe13bb1b964f7085b25d3b4615568edf3e840e0
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Dec 11 13:32:44 2017 +0200

    Remove SH_TRANSLATE_VIEWID_OVR_TO_UNIFORM
    
    Instanced multiview is fully implemented and performs much better than
    broadcasting draw calls on the CPU. There's no need to maintain
    translating ViewID_OVR to a uniform.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: If3a8fa573f37b7926c052aecfcd4271f266751dc
    Reviewed-on: https://chromium-review.googlesource.com/819417
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit e30edd6fcb9625e62985548917340360811e0d93
Author: Jiajia Qin <jiajia.qin@intel.com>
Date:   Wed Dec 13 13:12:33 2017 +0800

    Update deqp31 test expectations
    
    dEQP-GLES31.functional.shaders.builtin_functions.precision*compute* cases were
    fixed by https://chromium-review.googlesource.com/c/angle/angle/+/792951
    
    BUG=angleproject:1951,angleproject:1663
    TEST=dEQP-GLES31.functional.shaders.builtin_functions.precision*compute*
         dEQP-GLES31.functional.draw_indirect.compute_interop.*
         dEQP-GLES31.functional.layout_binding.image*
    
    Change-Id: I25a9272df8c66e1e5279de54a091b3077cd59b22
    Reviewed-on: https://chromium-review.googlesource.com/822606
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 87cc90dfaaf78e306eb4758bfdcb4c8977de4452
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Dec 12 15:28:06 2017 +0200

    Set proper precision on loop index for variable init
    
    Previously the index variable was missing a precision. This may have
    been behind loop-based init failing on some Android platforms.
    
    BUG=chromium:735497
    TEST=angle_unittests
    
    Change-Id: I0307891dfb2edf6c52efd5b495f602b380263d65
    Reviewed-on: https://chromium-review.googlesource.com/822413
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 495162b9bab53029df884515247136a07e50dcf2
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Dec 8 10:19:01 2017 +0100

    Don't create temporary ids ahead of time
    
    Now temporary ids are always only created for a specific temporary
    variable.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: Icbd369695abc166ef399bed9ae11a3669f1e7228
    Reviewed-on: https://chromium-review.googlesource.com/816951
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 9db70de8ecb6bf744c759fc8cd25b1cde717142c
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Jul 4 18:28:42 2017 -0400

    Reland: Implement EGL_ANGLE_iosurface_client_buffer
    
    Includes a fix for creating pbuffers with <buftype> EGL_D3D_TEXTURE
    with EGL_WIDTH and EGL_HEIGHT attributes.
    
    BUG=angleproject:1649
    TBR=geofflang@chromium.org
    
    Change-Id: Id2974b8fab02c3218febfac708b9b034e65cbc53
    Reviewed-on: https://chromium-review.googlesource.com/823248
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 3acfc6255c56069ffa9373d03f6215e3bddd8084
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Dec 12 13:25:40 2017 -0500

    Add test for Chromium's EGL_D3D_TEXTURE pbuffer creation
    
    When creating the pbuffer, Chromium specifies EGL_WIDTH and EGL_HEIGHT
    attributes that are unnecessary because they are extracted from the
    D3D11 texture passed as <buffer> to eglCreatePbufferFromClientBuffer.
    
    This is a regression test for crbug.com/794086 where a change to
    ValidateCreatePbufferFromClientBuffer made EGL_WIDTH and EGL_HEIGHT
    invalid for <buftype> EGL_D3D_TEXTURE and caused Chromium to fail
    creating the pbuffer, causing all black rendering.
    
    BUG=chromium:794086
    
    Change-Id: I262fd0991e0f46f255aeac25528ddb4a62fa1309
    Reviewed-on: https://chromium-review.googlesource.com/822296
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit a98a28112b0e915a511af9956ab92b3143338313
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Thu Nov 30 18:12:06 2017 +0800

    ES31: Add support for GL_DISPATCH_INDIRECT_BUFFER_BINDING binding point
    
    BUG=angleproject:2270
    TEST=dEQP-GLES31.functional.state_query.integer.dispatch_indirect_buffer_binding_*
    
    Change-Id: I2c286c219c5c849d7ba417069f53f2d0fae6abf1
    Reviewed-on: https://chromium-review.googlesource.com/799990
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 3c613c0d79fa4501b154828ff853d007265ab082
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Thu Nov 16 23:45:34 2017 -0500

    Update docs for GN standalone and GYP deprecation.
    
    Explain how to use GN and say not to use GYP.
    
    BUG=angleproject:1569
    
    Change-Id: I972126dced28fa7a70eb301b500f172376a569c1
    Reviewed-on: https://chromium-review.googlesource.com/775858
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 7f5c3eb76834b4eb71c05dfc9cf22b3c45ae8978
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Dec 12 14:54:17 2017 +0000

    Revert "Implement EGL_ANGLE_iosurface_client_buffer"
    
    This reverts commit c7abc08034a30a41748eefc5b628a76d4e2daa8a.
    
    Reason for revert: Might have broken Chromium Win10 composition due to validation changes.
    
    Original change's description:
    > Implement EGL_ANGLE_iosurface_client_buffer
    >
    > BUG=angleproject:1649
    >
    > Change-Id: I1e72c31d7c9497ad14039a8d3fb97317ab193cb2
    > Reviewed-on: https://chromium-review.googlesource.com/559107
    > Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    > Reviewed-by: Geoff Lang <geofflang@chromium.org>
    > Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    
    TBR=geofflang@chromium.org,cwallez@chromium.org
    
    Change-Id: I605b710b6d76056d6276b09822cd6ddca277bfd0
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:1649
    Reviewed-on: https://chromium-review.googlesource.com/822172
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit feb2c63b7b055924ea83e0833d88490cab629464
Author: Jiajia Qin <jiajia.qin@intel.com>
Date:   Fri Dec 8 17:59:19 2017 +0800

    ES31: Fixed the SSBO instance array error
    
    In ESSL 3.10 spec, there are below descriptions:
    1. Any uniform or shader storage block declared without a binding qualifier
    is initially assigned to block binding point zero.
    2. If the binding qualifier is used with a uniform block or shader storage
    block instanced as an array, the first element of the array takes the
    specified block binding and each subsequent element takes the next
    consecutive binding point.
    
    So explicitly specifying the binding to zero is different with not declaring
    a binding qualifier for a block instance array.
    
    For example:
    1)    layout(shared, binding = 0) buffer blockName {
              uint data;
          } instanceName[3];
    
    2)    layout(shared) buffer blockName {
              uint data;
          } instanceName[3];
    In 1), the binding point of each element instance is 0, 1, 2.
    In 2), the binding point of each element instance is 0, 0, 0.
    
    BUG=angleproject:1951
    TEST=dEQP-GLES31.functional.ssbo.layout.*
    
    Change-Id: If770d6e1fd8e13d2cdc762bab289772076258e4c
    Reviewed-on: https://chromium-review.googlesource.com/816340
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 629a64498dde1898aa45e236f1a8cbb75eb5db10
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Dec 11 10:55:43 2017 +0200

    Fix HLSL integer pow workaround
    
    The exponent should be rounded prior to casting it to an integer.
    
    Also if the exponent has a significant fractional part the expression
    should not be turned into a multiplication. The previous code failed
    to check this correctly if the exponent's fractional part was greater
    than 0.5.
    
    The test case is expanded to cover the previously failing cases.
    
    BUG=chromium:793115
    TEST=angle_end2end_tests
    
    Change-Id: Ic72cd6ddc7f3d2495f7c87a3e3cfac5791445e72
    Reviewed-on: https://chromium-review.googlesource.com/817299
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit c7abc08034a30a41748eefc5b628a76d4e2daa8a
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Jul 4 18:28:42 2017 -0400

    Implement EGL_ANGLE_iosurface_client_buffer
    
    BUG=angleproject:1649
    
    Change-Id: I1e72c31d7c9497ad14039a8d3fb97317ab193cb2
    Reviewed-on: https://chromium-review.googlesource.com/559107
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 9b88991c7211fdc9144c793b66f429ee01fce032
Author: Kai Ninomiya <kainino@chromium.org>
Date:   Fri Dec 8 15:37:49 2017 -0800

    Disable DIRTY_BIT_PROGRAM_UNIFORM_BUFFERS
    
    This dirty bit isn't getting set somewhere where it should be, so work around this by
    just enabling the dirty bit always. The bit was added here:
    https://chromium-review.googlesource.com/c/angle/angle/+/659228
    There will be a followup to re-enable this dirty bit once the correctness has been fixed.
    
    Test: https://github.com/KhronosGroup/WebGL/pull/2559
    Bug: chromium:792966
    Change-Id: I473a60b39eff70e59ab55ff7b74f06fdb0db1305
    Reviewed-on: https://chromium-review.googlesource.com/818178
    Commit-Queue: Kai Ninomiya <kainino@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit 58ba6bf5ecedaadbbe4d469545dca5017cf53034
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Nov 28 16:40:58 2017 -0500

    Enable debug layers by default whenever assertions are enabled.
    
    BUG=angleproject:2279
    
    Change-Id: I7e7ef359fa3021aa10585653b2fec169f5d4a51f
    Reviewed-on: https://chromium-review.googlesource.com/794536
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit d5f1afb5594ef5cddf9f2a7d2af73bc130cc4e2b
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Dec 4 15:42:59 2017 +0200

    Make TSymbol immutable
    
    There's still an exception for changing the names of structures, but
    otherwise the data stored in the TSymbol base class is never changed.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: I5b3f44cd365320ad09b46d2cfa3654a7d3f4bbc3
    Reviewed-on: https://chromium-review.googlesource.com/806556
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 030017a4855c7b6e7f2ff8d9566c146f31eb301b
Author: Kai Ninomiya <kainino@chromium.org>
Date:   Wed Dec 6 14:06:53 2017 -0800

    Mark StaticType related functions as constexpr
    
    Fixes compilation on some versions of GCC and probably Clang.
    
    Follow-up to http://crrev.com/c/786317
    
    Bug: angleproject:1432
    Change-Id: I3fc3ad0f65492f9543eb27fcdce6ca29a9ad06e5
    Reviewed-on: https://chromium-review.googlesource.com/812220
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Kai Ninomiya <kainino@chromium.org>

commit 43fd0d44d2a641bc74333550891f21bd597773ee
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Dec 6 15:31:10 2017 -0500

    Add the EGL_ANGLE_iosurface_client_buffer extension text
    
    BUG=angleproject:1649
    
    Change-Id: Ie613ae835ea3e7c590f74429bdd36f7a42045131
    Reviewed-on: https://chromium-review.googlesource.com/811905
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 378c3a51d5f032268b4202cc11eed1a6d70e4f52
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Dec 4 11:32:13 2017 +0200

    Clean up storing interface blocks in the symbol table
    
    Merge TInterfaceBlock with TInterfaceBlockName, so that there are no
    duplicate data structures for interface blocks. This is similar to the
    refactoring that was already done to structs.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: I67d2af6ccbe5344bddf9c99030d118fe532fbbd8
    Reviewed-on: https://chromium-review.googlesource.com/805819
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 10a4d43462fa72c6b104a23a6958a0b82fd443be
Author: Xinghua Cao <xinghua.cao@intel.com>
Date:   Tue Nov 28 14:46:26 2017 +0800

    ES31: Enable some dirty bits and dirty objects for compute pipeline
    
    BUG=angleproject:2265
    TEST=dEQP-GLES31.functional.shaders.builtin_var.compute.*
         angle_end2end_test.ShaderStorageBufferTest31
                           .MultiStorageBuffersForMultiPrograms
    
    Change-Id: Icc3df122602951a2328003c10a76696ab4c9f0d8
    Reviewed-on: https://chromium-review.googlesource.com/792951
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 12a18ad357bc22bd8bafcc0bf1b90ac0930832d2
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Dec 1 16:59:47 2017 +0200

    Simplify interface block instance recording
    
    Instead of storing instance names as part of TInterfaceBlock, store
    instance names only in interface block instance symbols. Wherever the
    instance name is needed it can be fetched from the instance symbol.
    
    BUG=angleproject:2267
    TEST=angle_end2end_tests
    
    Change-Id: Ia265e4db7901eebec57c9c3769d84c17651a35ba
    Reviewed-on: https://chromium-review.googlesource.com/803221
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit e44770010a360f85f21a89bbb2dad211d86885ee
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Dec 1 14:39:58 2017 -0500

    Add PackedEnumBitSet, use it for buffer binding validation
    
    Includes angle::BitSetT changes from jmadill@chromium.org
    
    BUG=angleproject:2169
    
    Change-Id: I9f896613f5c6cdc91281cb9a00134f67291870d9
    Reviewed-on: https://chromium-review.googlesource.com/804177
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 4fba4a97bc086665e0ea4a0366a34d6b538b0426
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Dec 5 10:36:05 2017 -0500

    Include the D3D11 headers on Windows when OpenGL is enabled.
    
    The OpenGL backend on Windows uses D3D11 to implement several interop
    extensions.  Without this change, there are compile failures when the
    D3D11 backend is disabled.
    
    BUG=angleproject:2276
    
    Change-Id: I69ad524ca84aa0aa399cfc0b601315f3ee65ed16
    Reviewed-on: https://chromium-review.googlesource.com/809186
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 3dddccff31be90fe090a65568e1da61bd8b05402
Author: Jeff Gilbert <jgilbert@mozilla.com>
Date:   Tue Nov 14 16:44:36 2017 -0800

    Support RGB gl-tex-external stream consumers for StreamProducerNV12.
    
    This makes it relatively simple to sample from a D3D11Texture of
    arbitrary format.
    
    From: https://bugzilla.mozilla.org/show_bug.cgi?id=1322746
    
    BUG=angleproject:2233
    TEST=angle_end2end_tests
    
    Change-Id: I10cd3043b5cb0c5d36dd613467ba6c0ceadf41af
    Reviewed-on: https://chromium-review.googlesource.com/758042
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 614dd0f537d4cc1d0390e7cfa0691c3f0c698399
Author: Kai Ninomiya <kainino@chromium.org>
Date:   Wed Nov 22 14:04:48 2017 -0800

    Replace TCache with static TType instances
    
    Replaces TCache with (static generation + static/dynamic lookups) of
    TType instances, using compile-time template and constexpr magic.
    
    Work started by jmadill here: https://crrev.com/c/776280
    With more contributions from jmadill here: https://crrev.com/c/801494
    
    Bug: angleproject:1432
    Change-Id: I07181543f8fee4b2606cdd2d0738351e83d4ce57
    Reviewed-on: https://chromium-review.googlesource.com/786317
    Commit-Queue: Kai Ninomiya <kainino@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit ded7923b2553d825633c18cf092770a10be47a1f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Nov 28 15:21:11 2017 -0500

    GL backend: Only synchronize transform feedback state when it changes.
    
    BUG=angleproject:2188
    
    Change-Id: I5bfcc038c887dde0770564d103eb3cb234b248c9
    Reviewed-on: https://chromium-review.googlesource.com/794100
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 2eeb1b34ec59ecf701eb8fc31162b95d660cb90a
Author: Bryan Bernhart (Intel Americas Inc) <bryan.bernhart@intel.com>
Date:   Wed Nov 29 16:06:43 2017 -0800

    WebGLCompat: Fix depthstencil query results.
    
    getFramebufferAttachmentParameter returns incorrect
    result for framebuffers in an inconsistent state.
    
    BUG=angleproject:2259
    
    Change-Id: I76fa99f1b8847c30469d344bd93dedd9cf6657bf
    Reviewed-on: https://chromium-review.googlesource.com/798318
    Reviewed-by: Bryan Bernhart <bryan.bernhart@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit fdb400d7c3d2361fc305577563ee85b9117774ff
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Dec 1 15:12:36 2017 +0200

    Test multiview extension warning
    
    Ensure that a warning is generated if the shader tries to set a global
    layout qualifier. Since a num_views layout qualifier is the only valid
    global layout qualifier in GLSL ES 1.00, it's sufficient that
    checkCanUseExtension() that generates the warning is called for
    "num_views" specifically. Parsing "layout" or "in" storage qualifier
    may use the simpler isExtensionEnabled() check that doesn't generate a
    warning.
    
    BUG=angleproject:2238
    TEST=angle_unittests
    
    Change-Id: I19caff7be9cb4f53c581b5f5526b7cade08469d6
    Reviewed-on: https://chromium-review.googlesource.com/803577
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 3de2703d83bf9f3747e6f80d98e3ab70ea1ba5e8
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Nov 30 12:16:47 2017 +0200

    Fix handling matrix qualifiers on block members
    
    Individual block member row_major/column_major layout qualifiers may
    override the qualifiers set on the block. During parsing, this was
    already being handled correctly, so that the qualifier is resolved for
    each block member and recorded for each TField / InterfaceBlockField.
    
    Now we always write the qualifiers on a per-member granularity to the
    output GLSL shaders, so that the native driver gets the correct
    per-member qualifiers. This replaces earlier behavior where the matrix
    qualifiers were only written per-block.
    
    Also only use qualifiers from individual members in block layout.
    
    Since the block-level qualifier information is no longer used after
    parsing, it is no longer kept in the AST. A dummy value is still set
    to the InterfaceBlock structs exposed through the ShaderVars
    interface, since that has existing usage in Chromium that needs to be
    removed before the field can be removed.
    
    Some AMD OpenGL drivers don't seem to handle matrix layout qualifiers
    correctly, so most of the added tests need to be skipped for AMD GL.
    On NVIDIA and Intel the tests pass.
    
    BUG=angleproject:2271
    TEST=angle_unittests, angle_end2end_tests,
         dEQP-GLES31.functional.program_interface_query.uniform.matrix*
    
    Change-Id: I1baa7a633bc2da548743c2190cb72db491b5227a
    Reviewed-on: https://chromium-review.googlesource.com/800174
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit bf0a40bbcd6ef80e77073f641d4d9f9817908eeb
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Dec 1 11:30:14 2017 -0500

    Improve documentation about selecting intial CL reviewers.
    
    BUG=angleproject:2274
    BUG=769026
    
    Change-Id: I8128a438a0831ebc4d6693085a41c41182d259c7
    Reviewed-on: https://chromium-review.googlesource.com/803854
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit f5be5bafa6f6376f20131c5c03b23a21b2ff6f80
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Nov 29 13:17:01 2017 -0500

    StateManagerGL: Use dirty bits for program binding.
    
    BUG=angleproject:2188
    
    Change-Id: I7456692e779107514ab87bfb1a0ab91178c9fc3a
    Reviewed-on: https://chromium-review.googlesource.com/797356
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d5f44c986038fa80951834efa51123c7bf20d1d1
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Nov 29 17:15:40 2017 +0200

    Simplify parsing struct field declarators
    
    This removes the dummy type that was attached to struct declarators
    while parsing. This makes TParseContext::addStructDeclaratorList in
    particular simpler to understand.
    
    The new TDeclarator data type is the parsed representation of the
    struct_declarator grammar rule. It is completely immutable. The name
    and location stored in TField can also be qualified as constant now.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: I2834f87fc0eee0bdb7673ef495a55fb463023c55
    Reviewed-on: https://chromium-review.googlesource.com/797033
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 76746f9bc29d23a00a56eaa5941209976e3301bc
Author: Brandon Jones <brandon1.jones@intel.com>
Date:   Wed Nov 22 11:44:41 2017 -0800

    Optimize Fragment Shader Type Match Validation
    
    Improves ValidateFragmentShaderColorBufferTypeMatch by storing input and
    output types into a bitmask for quick comparison when validation is
    needed. This shows a 2% improvement to glDrawElements for the aquarium
    workload.
    
    BUG=angleproject:2203
    Change-Id: Iade2ecf28383164e370b48442f01fba6c0962fba
    Reviewed-on: https://chromium-review.googlesource.com/775019
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 361df070323f430aa0614c6eb04fb595dec3daa9
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Wed Nov 22 09:33:59 2017 +0800

    ES31: Implement Geometry Shader resource queries on OpenGL
    
    This patch intends to implement all geometry shader related
    resource queries on OpenGL back-ends.
    
    This patch also fixes a memory leak by releasing the geometry
    shader compiler handle in the destructor of the Compiler.
    
    BUG=angleproject:1941, angleproject:2261
    TEST=angle_end2end_tests
    
    Change-Id: Ieb69c162d2fc6c6550e145d1ec7948c3d36d4d15
    Reviewed-on: https://chromium-review.googlesource.com/784552
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 94f1e89fc8bd87e3177cf130f0c99a48a7e1765f
Author: Jiajia Qin <jiajia.qin@intel.com>
Date:   Mon Nov 20 12:14:32 2017 +0800

    ES31: Add atomic counter buffer data size
    
    BUG=angleproject:1729
    TEST=dEQP-GLES31.functional.ssbo.layout.*
         dEQP-GLES31.functional.compute.basic.atomic_counter*
    
    Change-Id: Ic78c0f089fd539c0b1064e8405d63505456dbc01
    Reviewed-on: https://chromium-review.googlesource.com/777958
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 5b18f487c2f043dde642f3618ad479b60b463707
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 30 17:24:22 2017 -0500

    Vulkan: Implement basic TexSubImage2D.
    
    This also adds a test for updating a Texture that is in-use. This will
    ensure our Texture updates occur at the right time when we're
    implementing command re-ordering.
    
    Bug: angleproject:2264
    Bug: angleproject:2200
    Change-Id: Id6040d7238eca031e3cc7b27564d8ea815bf3d73
    Reviewed-on: https://chromium-review.googlesource.com/801031
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit 37584b36aaf5e7358341b440e7748131be6ee267
Author: Xinghua Cao <xinghua.cao@intel.com>
Date:   Fri Dec 1 11:04:03 2017 +0800

    Refactor: replace SamplerType with ShaderType
    
    BUG=angleproject:1987
    
    Change-Id: I189e1606bd966eb369e8192a6866c8e90810e937
    Reviewed-on: https://chromium-review.googlesource.com/802956
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yunchao He <yunchao.he@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 1f679cc60c52ce77cc4a77f00288e6da73a47683
Author: Yunchao He <yunchao.he@intel.com>
Date:   Wed Nov 29 18:06:00 2017 +0800

    Code refactoring for angle::BitSet and EXPECT_GL_TRUE/FALSE.
    
    This change refactors two style issues to make it be consistent.
    1) This CL uses "using" to replace "typedef" for all angle::BitSet<...>.
    2) This CL uses EXPECT_GL_TRUE/FALSE to replace EXPECT_EQ for bool comparison.
    
    BUG=angleproject:2005
    
    Change-Id: I4afad92313ea2457bbfedf80f917a5873d7f29ee
    Reviewed-on: https://chromium-review.googlesource.com/795871
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 035419fad06e257e18a16cd39eeb14afb63ffb0e
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Nov 28 14:27:15 2017 +0200

    Clean up storing struct types in the symbol table
    
    Instead of storing struct symbols as TVariable objects, store them
    as TStructure objects. This way struct type symbols don't need to
    store bogus data that's associated with arbitrary types, and on the
    other hand the name and unique id of struct types are only stored in
    a single place. This change is a refactoring with no effect on
    generated output.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: I173793e0cc77a890cdac6868d72d9f275ac9461a
    Reviewed-on: https://chromium-review.googlesource.com/793814
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 5d69db12d1944dc37b2c2a2039f6445073105934
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Nov 24 16:51:15 2017 +0200

    Reset symbol unique id counter between compilations
    
    This guarantees identical compilation results on different
    compilations using the same compiler instance, guards against
    overflow, and is useful as a building block for tracking more symbol
    information in the symbol table.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: Ib5a7cec2fff6712ead969d935d238d28a87fd4a7
    Reviewed-on: https://chromium-review.googlesource.com/796795
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit da854a272832f486a9dc491ac24b6069d22eefd9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 30 17:24:21 2017 -0500

    Vulkan: Clean up VAO cached resources.
    
    We can actually store a pointer to the base ResourceVk instead of
    BufferVk for updating serials. This will work a little nicer with
    streaming vertex data, which won't have a BufferVk but will have an
    accessible ResourceVk pointer.
    
    Also add an element array resource pointer for serial update. This was
    missing and could lead to incorrect behaviour. Also change the types
    of the caches from std::vector to gl::AttribArray, which is a
    std::array.
    
    Bug: angleproject:2264
    Change-Id: Ibd79b7676b5dbc3875ae9d110be477d228e01c5c
    Reviewed-on: https://chromium-review.googlesource.com/798170
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 9f2a861342019878301e2dc776ea6787f9625c57
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 30 12:43:09 2017 -0500

    Vulkan: Implement a RenderPass cache.
    
    This cache replaces the RenderPass-per-Framebuffer approach. Although
    the concepts of a RenderPass are closely associated with rendering to
    a Framebuffer, there can be multiple RenderPasses used with a single
    FBO, especially considering the nature of Load and Store operations.
    
    This code will then lend itself to the implementation of the deferred
    RenderPasses, which are created on flush. These RenderPasses won't
    be owned by a Framebuffer.
    
    Bug: angleproject:2264
    Change-Id: I4dce07c302118f7e05f5225e2a3b0569ad1e52bf
    Reviewed-on: https://chromium-review.googlesource.com/789534
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit e218f15fcc19af43a34d24fa9895784b380450ff
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 30 12:38:50 2017 -0500

    Vulkan: Remove std::vector arg from beginRenderPass.
    
    We don't want to force the RenderPass code to use std::vector when we
    are working with static data. Change it to take a pointer.
    
    Bug: angleproject:2264
    Change-Id: I07a077719fb9b4abc33a0cfcccc178d0544b7f06
    Reviewed-on: https://chromium-review.googlesource.com/789535
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 97fa85579f12c40f9e5b5d129ccca4e562f07302
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Nov 28 16:28:42 2017 +0200

    Refactor TStructure
    
    Move methods and member variables that generalize to different types
    of field lists into TFieldListCollection and put implementations of
    methods in cpp files.
    
    This prepares for making TStructure inherit from TSymbol.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: I63095242dd17aac2d2efd616b49be1143cfc1f92
    Reviewed-on: https://chromium-review.googlesource.com/793813
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 18841310d80bce535e8f1a4b7776758c2d9100b4
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Nov 28 12:48:47 2017 +0200

    Clean up MatchOutputCodeTest usage
    
    It's cleaner to use a generic function to test that a sequence of
    strings is found in a specific order rather than fetching and
    comparing string locations in test case code.
    
    Also make sure that string occurrences can't overlap when looking for
    a specific number of occurrences of the same string.
    
    TEST=angle_unittests
    
    Change-Id: I8ca66c73c7aaa5be8469ded466f51d97a36c801b
    Reviewed-on: https://chromium-review.googlesource.com/793041
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit c677795f9f7d27fbaf6d36da8201f8f09025d92c
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Mon Nov 27 00:15:54 2017 -0500

    docs: fix links and typos
    
    Update stale/broken links.  Use consistent link style:
     - links between our files should relative
     - omit filename for links within same file
     - don't specify heading id
    Don't use same heading twice in one file because the markdown compilers
    on googlesource.com and github have different ways of disambiguating them,
    so this is the easiest way to have links work on both sites.
    
    BUG=angleproject:1569
    
    Change-Id: Iefd5ab8014d582a017f64e383f301ea0b8e60433
    Reviewed-on: https://chromium-review.googlesource.com/789445
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit d3e213bc80021087b67ba3d7b7b0aaa785fa079a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Nov 27 18:33:41 2017 -0500

    Add a gl::AttribArray helper type.
    
    This is a generic std::array sized to gl::MAX_VERTEX_ATTRIBS.
    
    Bug: angleproject:2264
    Change-Id: I788659ad25be5708dbab422ac4a16dff60abf154
    Reviewed-on: https://chromium-review.googlesource.com/790750
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 3c1da04e0becfdd2cd37fe3db9bb435b6f8f3491
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Nov 27 18:33:40 2017 -0500

    Isolate GlslangWrapper header from most of ANGLE.
    
    Since we might want to use the ANGLE PoolAlloc in the Vulkan back-end,
    we want to make completely sure that it doesn't show up in any header
    that might be included with the Glslang headers, since this could
    cause a conflict.
    
    This change moves as much as possible to forward-declaring instead of
    including headers directly in ProgramLinkedResources.h. This means
    making several internal Program helper classes external. I.E. instead
    of Program::Bindings, we have ProgramBindings.
    
    It also redeclares a "using" in two places, since it isn't possible to
    forward declare these, and it seemed overdesigned to put the using in
    a separate header.
    
    Bug: angleproject:2264
    Change-Id: Idd08706580c927327dddf46e86acbcd2c4e3286f
    Reviewed-on: https://chromium-review.googlesource.com/792270
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit b944053a0e083fd32b0de979e1698ea42b5772af
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Nov 28 13:26:34 2017 -0500

    Add extra warnings for narrowing and bool conversion.
    
    BUG=angleproject:2258
    
    Change-Id: If571820fccca1daba0ea1ac5a204f95b1b3c59f9
    Reviewed-on: https://chromium-review.googlesource.com/794093
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 54a29ffd82e7782c764b5257365e7f148f48ca4a
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Nov 28 17:35:20 2017 +0200

    Refactor TSymbol to follow naming conventions
    
    This will make it easier to make TStructure inherit from TSymbol.
    
    BUG=angleproject:2267
    TEST=angle_unittests
    
    Change-Id: I73a5a25234c7f965b6970891821ee9d6f0a23aca
    Reviewed-on: https://chromium-review.googlesource.com/793812
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit ae04e1e4a6bf8584dc33d3a72cb943df8e554378
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Nov 27 16:00:39 2017 +0200

    Fix scalarizing vec and mat constructor args
    
    Scalarizing vec and mat constructor args can generate new statements
    in the parent block of the constructor. To preserve the correct
    execution order of expressions, scalarized vector and matrix
    constructors need to be first moved out from inside loop conditions
    and sequence operators. This is done whenever the compiler flag to
    scalarize args is on.
    
    BUG=chromium:772653
    TEST=angle_unittests
    
    Change-Id: Id40f8d848a9d087e186ef2e680c8e4cd440221d9
    Reviewed-on: https://chromium-review.googlesource.com/790412
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit f13cadd8bd5fa1f4f4ab78b594812117c26a4b95
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Nov 28 10:53:09 2017 +0200

    Fix checking negative index when indexing matrix/vector
    
    It's important that the test against the maximum of the valid range
    is only done if the index is positive, so the sanitized index value
    is guaranteed to end up in the valid range.
    
    This fixes a regression from commit "Add GLSL support for
    runtime-sized arrays in SSBOs".
    
    BUG=chromium:789029
    TEST=angle_unittests
    
    Change-Id: Ic7125e383a64e46994b072df6d7e642432c521af
    Reviewed-on: https://chromium-review.googlesource.com/792935
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 57ea533f79a7a30224ea641785cbd7a9485d33ed
Author: Kai Ninomiya <kainino@chromium.org>
Date:   Wed Nov 22 14:04:48 2017 -0800

    TType: Store array sizes vector as a pointer.
    
    This makes TType a literal type, and thus is something that could be
    constexpr.
    
    Work started by jmadill here: https://crrev.com/c/776278
    
    Bug: angleproject:1432
    Change-Id: I707ddf81eaf029f49d62d2836b7166d265cbdfa1
    Reviewed-on: https://chromium-review.googlesource.com/786316
    Commit-Queue: Kai Ninomiya <kainino@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 5201ce127afea0ef1d34e161ead085fe50e73da4
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Nov 28 11:36:28 2017 -0500

    Fix MSVC 2015 warnings.
    
    BUG=angleproject:2258
    
    Change-Id: I280eb0e461fd749b01594bb1bb9a417f2cbc23fa
    Reviewed-on: https://chromium-review.googlesource.com/793975
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit df68ca50b3105f2b70dca31b16ab41c1cb0e4cd9
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Nov 27 17:15:30 2017 -0500

    Add missing break in StateManagerGL::syncState.
    
    BUG=angleproject:2188
    
    Change-Id: I4baae8b13f217769cd10f5e559452ab49350174f
    Reviewed-on: https://chromium-review.googlesource.com/792173
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 0b684ce3c9f59fe9ba2e7adb19086e72f73e8605
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 23 12:57:39 2017 -0500

    Vulkan: Move RenderPass init into a helper function.
    
    Here it can be more easily accessed for command re-ordering, which
    will use a RenderPass cache instead of having RenderPasses be owned
    by the Framebuffer.
    
    Bug: angleproject:2264
    Change-Id: I9b06cff43e536a526d44e7e0c04027bc450051cf
    Reviewed-on: https://chromium-review.googlesource.com/789533
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit afa02a2f9e240d2e0f5de8e9b6acc5bed596bfe0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 23 12:57:38 2017 -0500

    ContextImpl: Make flush/finish take a gl::Context.
    
    This will more easily allow us to call gl::BindingPointer methods.
    The binding pointer will be used temporarily in the command graph.
    This is only temporary since we will likely not be using
    BindingPointer in the end result code, but it could be necessary
    for future work.
    
    Bug: angleproject:2264
    Change-Id: I33cf40ec2a1e334c4abfdcff2ad20bbcda3c9d78
    Reviewed-on: https://chromium-review.googlesource.com/789532
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit ebee5b3b7de574c434cd48679a6ab85c6b10b077
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Nov 23 12:56:32 2017 +0200

    Add GLSL support for runtime-sized arrays in SSBOs
    
    The GLSL parser now allows a runtime-sized array as the last member in
    a shader storage block. Clamping indexing against the memory bounds is
    done by determining the array length at runtime.
    
    Runtime-sized arrays are used in dEQP tests for many compute shader
    tests, so these now work on the OpenGL backend.
    
    BUG=angleproject:1951
    TEST=angle_unittests,
         dEQP-GLES31.functional.shaders.linkage.shader_storage_block.*
         dEQP-GLES31.functional.shaders.builtin_functions.*compute*
    
    Change-Id: Ibecca24623ca8e4723af6f0e0421fe9711ea828d
    Reviewed-on: https://chromium-review.googlesource.com/787976
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit cddcb59e8d697ad303ee1cf132bb4eeb539962e9
Author: Yunchao He <yunchao.he@intel.com>
Date:   Mon Nov 13 15:27:35 2017 +0800

    ES31: Fix the issue when rendering against compute program.
    
    It is a undefined behavior in gles spec, but we should generate an error.
    
    This change also refactored the coding style for shader in the test.
    
    BUG=angleproject:2260
    
    Change-Id: I7b480e8b66486d9954f7c7f6e8683298e94b6ad7
    Reviewed-on: https://chromium-review.googlesource.com/764797
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 994ee3f23ec5eaccaf8547ee497f30237bfd0a21
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Wed Nov 22 21:34:21 2017 -0500

    Remove static sNativeLib from FunctionsEGLDL
    
    It should be safe to never dlclose native EGL,
    since we want to do it only when process exits,
    in which case fd is closed and library destructor is called.
    
    BUG=angleproject:1459
    
    Change-Id: I8d3e5b323164d2f6473a083973f4d0adc9e655aa
    Reviewed-on: https://chromium-review.googlesource.com/786051
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 0250fd4a78aeb7b6768d21b331a112c59316237d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Nov 24 14:05:03 2017 -0500

    Handle DIRTY_BIT_LABEL in TextureGL::syncState.
    
    BUG=angleproject:1993
    
    Change-Id: I495589e638443060ee8c140ee44a990e89f0ecdd
    Reviewed-on: https://chromium-review.googlesource.com/789491
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit bcbe8e1acca9c486012951cf1a0c4481dc0bade7
Author: JiangYizhou <yizhou.jiang@intel.com>
Date:   Tue Nov 21 14:13:14 2017 +0800

    Update extension queries on OpenGL part
    
    Fix some incorrect extension queries on OpenGL part.
    GL_MAX_FRAMEBUFFER_WIDTH should be checked by
    GL_ARB_framebuffer_no_attachments.
    GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS should be checked by
    GL_ARB_shader_storage_buffer_object and GL_ARB_compute_shader.
    Also do code refactoring for query GL_MAX_FRAGMENT_UNIFORM_VECTORS,
    GL_MAX_VERTEX_UNIFORM_BLOCKS and GL_MAX_FRAGMENT_UNIFORM_BLOCKS.
    
    BUG=angleproject:2256
    
    Change-Id: Iea2471363551019dfeb97f224eea808de19914ab
    Reviewed-on: https://chromium-review.googlesource.com/781239
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit ed2e6aa5547c7099e0ecb54792c7ae806b3065f2
Author: Jiajia Qin <jiajia.qin@intel.com>
Date:   Thu Nov 23 17:17:17 2017 +0800

    GLES31: Use more compact entry point style.
    
    This migrates to the new generation style used in GLES2 and GLES3.
    
    BUG=angleproject:2254
    
    Change-Id: I10afa1f006ff68e8bafda2bd45dd9a048f8f7dff
    Reviewed-on: https://chromium-review.googlesource.com/787172
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit c7c0d1c1b08b584a7b2a64bbf9ce1ca7016aa799
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Nov 22 14:53:03 2017 -0500

    Expose OES_vertex_array_object on the GL backend.
    
    BUG=781164
    
    Change-Id: I92738c0f45efdf0efaecede509648fd5a4d00b8b
    Reviewed-on: https://chromium-review.googlesource.com/786338
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit cb59a9097aedefa055cd809f4fe9ff9b36bb19d4
Author: Jiajia Qin <jiajia.qin@intel.com>
Date:   Wed Nov 22 13:03:42 2017 +0800

    GLES31: Auto-generate entry points source.
    
    BUG=angleproject:2254
    
    Change-Id: If9071066571f09902657528053e4af68b7dcdd2d
    Reviewed-on: https://chromium-review.googlesource.com/781105
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 7881cfdfb58697a89bdc5447ebd7ee05a376ce52
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Aug 23 18:00:21 2017 +0300

    Add parsing of arrays of arrays
    
    This changes the grammar so that multiple array sizes can be chained
    together, and adds arrays of arrays support to TPublicType. In
    TPublicType the array sizes are stored using a pointer to a vector, a
    plain vector won't work due to bison restrictions.
    
    A larger subset of program interface query tests now pass. Some are
    still failing due to unrelated bugs.
    
    BUG=angleproject:2125
    TEST=angle_unittests, angle_end2end_tests,
         dEQP-GLES31.functional.shaders.arrays_of_arrays.*
         dEQP-GLES31.functional.uniform_location.nested_array.*
         dEQP-GLES31.functional.program_interface_query.*
         dEQP-GLES31.functional.ubo.*level*array.*
    
    Change-Id: Iee16477a3752b953f5068c0473a2ed62fead8155
    Reviewed-on: https://chromium-review.googlesource.com/633944
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 5d5253a3360a90d47e3d24d4bf30997664fc7364
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Nov 22 14:51:12 2017 -0500

    Clean up usage of EXT_debug_marker and KHR_debug in the backends.
    
    In RendererGL, the EXT_debug_marker functions were calling the
    KHR_debug entry points, now they fall back only when EXT_debug_marker is
    missing.
    
    Separated the ContextImpl methods for the two extensions.
    
    BUG=781164
    
    Change-Id: I615b5965b705e55eb730ebefa6e27e0ee6d86c31
    Reviewed-on: https://chromium-review.googlesource.com/786337
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 1f73b7c6d4a0fc8f056d626597b3f4f3645a3e93
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Nov 23 16:31:22 2017 +0200

    Add separate entries for inner arrays in block layout
    
    Generating separate entries for array of array members in blocks is
    needed so that block member queries work correctly.
    
    This change will be tested more fully once support for parsing arrays
    of arrays lands in the compiler.
    
    BUG=angleproject:2125
    
    Change-Id: I052837ddd4ee44a5c2390d3af44c0f1d21fa5fc7
    Reviewed-on: https://chromium-review.googlesource.com/787975
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 5451d532aaf9b714bef7537bc2308143f5ca52ea
Author: Jiajia Qin <jiajia.qin@intel.com>
Date:   Thu Nov 16 17:16:34 2017 +0800

    Refactor ES31 entry points
    
    BUG=angleproject:2254
    
    Change-Id: I4e837a831e0950330b243bd8aa01831af0a70cc4
    Reviewed-on: https://chromium-review.googlesource.com/775604
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 85072e8f4a22b7cdd56ae893c68895f7bee59164
Author: Yunchao He <yunchao.he@intel.com>
Date:   Tue Nov 14 15:43:28 2017 +0800

    ES31: Fix detaching/deleting compute shader after LinkProgram.
    
    This change also moves the ShaderType enum from D3D renderer to angletype.h.
    And it uses a bit mask to track the linked shader stages.
    
    BUG=angleproject:2247
    
    Change-Id: I5c7ee1445d353a02e24549ffcf6b0ac694dd1069
    Reviewed-on: https://chromium-review.googlesource.com/768629
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 8e4bb4b1103741ef0b6fc3a2456afc54734a2e44
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 22 18:59:51 2017 -0500

    D3D11: Cache element array buffer updates.
    
    This attempts to reduce the amount of redundant validation done
    between indexed draw calls. It keeps the cached info in the
    VertexArray11 class.
    
    It also includes a fix to a missing direct buffer invalidation in
    CopyBufferSubData which was turning up with the new caching.
    
    Reduces overhead in the D3D11 indexed rendering perf test such that it
    leads to an increased score of about 20%.
    
    BUG=angleproject:2229
    
    Change-Id: I63121bea19a9c8198e1925ed6a1460838e8f8955
    Reviewed-on: https://chromium-review.googlesource.com/765262
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit c7b0cf2a28f7a433368442fb9350d083a6feae96
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 22 16:34:09 2017 -0500

    D3D11: Remove "fast path" check in DrawElements.
    
    This was a bit of an anti-pattern. Many draw calls were being handled
    in the "slow" path, so the repeated checks were slowing the draw calls
    down more than the fast path was speeding things up.
    
    The new code tries to do all the checking for index ranges and restart
    index once only, and lazily when possible. The 'start' vertex is a bit
    of a special case - we known when the primitive restart index is
    not enabled, this will be always the same as the 'base' vertex (zero
    if the base vertex is not enabled - only currently available through
    draw indirect commands).
    
    In future work we can look at implementing a lazy evaluation for draw
    indirect commands so we don't need to do a check there either.
    
    Reduces overhead in the D3D11 indexed rendering perf test such that it
    leads to an increased score of about 5%.
    
    BUG=angleproject:2229
    
    Change-Id: I6330f30b66d1810624d03f4e7a012bf2391a3bf3
    Reviewed-on: https://chromium-review.googlesource.com/764677
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 5a654f5ff30f711c7e14ec278a56c5cfda2d52d5
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Nov 22 11:16:10 2017 -0500

    Fix reinterpret_cast size missmatch warning on 64-bit Windows.
    
    Change-Id: I9c4b102c60abb90281f778833be9b1d5bfdcb8f1
    Reviewed-on: https://chromium-review.googlesource.com/786110
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit e51ba63b31112458b25d46c2746547272f3a8164
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Nov 21 11:45:25 2017 -0500

    Optimize Texture initialization tracking with extra caching.
    
    In both Texture and State, track when all images/textures are
    initailized so that State::clearUnclearedActiveTextures can early-exit.
    
    Improves performance on the WebGL Aquarium by 26% (23->29 FPS) with 30000
    fish.
    
    BUG=angleproject:2188
    
    Change-Id: Ie2860a81d7be19ee87262325d8cf27bde43f80b8
    Reviewed-on: https://chromium-review.googlesource.com/782339
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 465835d61f394ba65b20b5951390c90ab55aec7b
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Sep 26 13:34:10 2017 +0300

    Support arrays of arrays in the API
    
    The ShaderVariable class that is used as an interface between the
    compiler and the rest of the code gets arrays of arrays support.
    
    Array of array variables are passed from the compiler just like any
    other variables. However, when stored in Program state each innermost
    array constitutes a separate variable. This is done to make the
    implementation match the GLES specification for program interface
    query APIs.
    
    This will be tested more fully once support for parsing arrays of
    arrays lands in the compiler.
    
    TEST=angle_end2end_tests, angle_unittests
    BUG=angleproject:2125
    
    Change-Id: I0f7159000f039be92a87a52b3b68cd9a215a21cb
    Reviewed-on: https://chromium-review.googlesource.com/684742
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit acf2f3adbac07ff91d280e9e2358d4bead0f0e67
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 21 19:22:44 2017 -0500

    Apply Chromium style fixes.
    
    This addresses several minor code quality issues that are validated
    in Chromium, but not yet applied to ANGLE:
    
    * constructors and destructors must be defined out-of-line
    * auto is not allowed for simple pointer types
    * use override everywhere instead of virtual
    * virtual functions must also be defined out-of-line
    
    Slightly reduces binary size for me (~2k on Win, 150k on Linux).
    
    Bug: angleproject:1569
    Change-Id: I073ca3365188caf5f29fb28d9eb207903c1843e6
    Reviewed-on: https://chromium-review.googlesource.com/779959
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit f1b47e89631848b074ae0892126e0d675aaa26e4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 21 22:58:31 2017 -0500

    Fix ComputeGenericHash.
    
    ANGLE's internal hash maps would run MurmurHash on c++ structs to
    come up with hash values. Since the hash ran on 4 byte words only,
    it would have no understanding that sometimes our structs would only
    have meaninful data in the first N bytes, and would include the
    garbage at the end in the hash calculation. This fixes the problem by
    forcing our structs to be aligned at compile-time.
    
    It also adds custom copy operators for a few classes to ensure that
    all bits are copied when the struct is initialized, including the
    padding.
    
    Bug: angleproject:1569
    Bug: chromium:721648
    Change-Id: I4d11f6e12d9a067b36e1416c7ed15586eff99aab
    Reviewed-on: https://chromium-review.googlesource.com/783990
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 89be29a5cdff6fc8ece7fa1284553f64a05048b7
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Mon Nov 6 14:36:45 2017 +0800

    ES31: Implement creation and attaching geometry shader on OpenGL
    
    This patch intends to implement the creation of a geometry shader
    and attaching a geometry shader to a program on OpenGL back-ends.
    
    This patch also adds all geometry shader related dEQP-GLES31 test
    failures to deqp_gles31_test_expectations.txt.
    
    BUG=angleproject:1941
    TEST=angle_end2end_tests
    
    Change-Id: Ib0b497030255b15dacd967e48bc59eef0009af46
    Reviewed-on: https://chromium-review.googlesource.com/757979
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 6e94c455c0589dd822bce754b7400adafc27bcb0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 21 12:48:13 2017 -0500

    Reland "Update cq.cfg for new compile-only builders."
    
    This is a reland of cc93cebf275a37e2f271f4856d7f13fc7eb3c1ad
    
    Re-landing after mb_config.pyl fix.
    
    Original change's description:
    > Update cq.cfg for new compile-only builders.
    >
    > This removes the x64 versions of the Windows tests from the ANGLE CQ.
    > They are still available to run as optional try jobs, if we suspect
    > a failure. This should reduce the amount of test duplication while
    > still keeping complete coverage.
    >
    > It also updates the Clang builder to the MSVC builder, since Chrome
    > has switched to Clang by default on Windows, and the clang builder
    > was a deprecated version of the MSVC builder anyway.
    >
    > Bug: chromium:786044
    > Change-Id: I786fe85dcdaa57b55b0b44244797c9285c577ea2
    > Reviewed-on: https://chromium-review.googlesource.com/782402
    > Reviewed-by: Geoff Lang <geofflang@chromium.org>
    > Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
    > Commit-Queue: Jamie Madill <jmadill@chromium.org>
    
    Bug: chromium:786044
    Change-Id: I85d1fe95d12a29e91755303423dd151450bb6a3b
    Reviewed-on: https://chromium-review.googlesource.com/784232
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit cce013c9b61466dd6571901aee44c7a04d5ab613
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 22 00:42:00 2017 +0000

    Revert "Update cq.cfg for new compile-only builders."
    
    This reverts commit cc93cebf275a37e2f271f4856d7f13fc7eb3c1ad.
    
    Reason for revert: There was a typo in mb_config.py.
    
    https://build.chromium.org/deprecated/tryserver.chromium.angle/builders/win_angle_compile_x64_dbg_ng/builds/0/steps/analyze/logs/stdio
    
    MBErr: Builder name "win_angle_compile_x64_dbg_ng"  not found under masters[tryserver.chromium.angle] in "E:\b\c\b\win\src\tools\mb\mb_config.pyl"
    
    Original change's description:
    > Update cq.cfg for new compile-only builders.
    >
    > This removes the x64 versions of the Windows tests from the ANGLE CQ.
    > They are still available to run as optional try jobs, if we suspect
    > a failure. This should reduce the amount of test duplication while
    > still keeping complete coverage.
    >
    > It also updates the Clang builder to the MSVC builder, since Chrome
    > has switched to Clang by default on Windows, and the clang builder
    > was a deprecated version of the MSVC builder anyway.
    >
    > Bug: chromium:786044
    > Change-Id: I786fe85dcdaa57b55b0b44244797c9285c577ea2
    > Reviewed-on: https://chromium-review.googlesource.com/782402
    > Reviewed-by: Geoff Lang <geofflang@chromium.org>
    > Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
    > Commit-Queue: Jamie Madill <jmadill@chromium.org>
    
    TBR=geofflang@chromium.org,jmadill@chromium.org,tandrii@chromium.org
    
    Change-Id: If13d3d69f0a1facd3876858afdaf0577f6ab1cb7
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: chromium:786044
    Reviewed-on: https://chromium-review.googlesource.com/784070
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit cc93cebf275a37e2f271f4856d7f13fc7eb3c1ad
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 21 12:48:13 2017 -0500

    Update cq.cfg for new compile-only builders.
    
    This removes the x64 versions of the Windows tests from the ANGLE CQ.
    They are still available to run as optional try jobs, if we suspect
    a failure. This should reduce the amount of test duplication while
    still keeping complete coverage.
    
    It also updates the Clang builder to the MSVC builder, since Chrome
    has switched to Clang by default on Windows, and the clang builder
    was a deprecated version of the MSVC builder anyway.
    
    Bug: chromium:786044
    Change-Id: I786fe85dcdaa57b55b0b44244797c9285c577ea2
    Reviewed-on: https://chromium-review.googlesource.com/782402
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 902e8c18432118f592a41e06ab8374ee4d984739
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Nov 18 09:34:16 2017 -0500

    Reland "Make TType store a const char * for mangled name."
    
    This is a reland of dc7bffd06b526bbffd3d1c1ddbd6c763a2cc7287
    
    Reland fixes the memory regression by not calling new, instead
    calling the pool allocator directly.
    
    Original change's description:
    > Make TType store a const char * for mangled name.
    >
    > We would only ever use the c_str value from the mangled name. This
    > makes it easier to make constexpr TTypes.
    >
    > Bug: angleproject:1432
    > Change-Id: I147b3a85f9b8b2453e2d7f4a713d767b22036cc9
    > Reviewed-on: https://chromium-review.googlesource.com/776277
    > Commit-Queue: Jamie Madill <jmadill@chromium.org>
    > Reviewed-by: Kai Ninomiya <kainino@chromium.org>
    
    Bug: angleproject:1432
    Change-Id: I1aaeea883186b9061955d55f2fa77d27f5d9b725
    Reviewed-on: https://chromium-review.googlesource.com/782406
    Reviewed-by: Kai Ninomiya <kainino@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c801e359a31cd410a344e783a7e8073ccb74b6cd
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Nov 21 13:53:48 2017 -0500

    Add configurations of the TexturePerf benchmark that use robust init.
    
    BUG=angleproject:2188
    
    Change-Id: Ia23b54044a85435c761478bceeb9aac961fac0d1
    Reviewed-on: https://chromium-review.googlesource.com/783230
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 7f738d4e8766549304e83a8f7b7708fbd9242cf8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Nov 20 17:06:27 2017 -0500

    Vulkan: Refactor CommandBuffer helper class.
    
    This makes the base vk::CommandBuffer class as close to the Vulkan
    API as possible. It moves the extra functionality and state tracking
    to a CommandBufferAndState helper class.
    
    Also no longer stores a reference to a CommandPool in a CommandBuffer.
    Eventually we won't need to free CommandBuffers explicitly, since they
    can be freed en-masse by deallocating the CommandPool on a flush.
    
    Bug: angleproject:2200
    Change-Id: I5095fe89e8da935ff8273b1a402ccfd6a3ffe0df
    Reviewed-on: https://chromium-review.googlesource.com/778184
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 4f407ce208e2ff978bdcaced06d70a274fb9216b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 21 11:52:12 2017 -0500

    Fix Clang dEQP build on Win.
    
    Rolls the build/ repos from Chromium to include the fixed config.
    Also includes incidental improvements to platform-specific hooks.
    
    Bug: chromium:727437
    Change-Id: Ia42a30acac1e800e593e304bfc59d86eb0a1e57c
    Reviewed-on: https://chromium-review.googlesource.com/782340
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 378734c51221c694f3b0bba56a5bfb4e2789ecfc
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Nov 20 16:32:56 2017 -0500

    D3D11: Lazy evaluation for draw call vertex params.
    
    The vertex params are the 'start' vertex index and the number of
    vertices in the draw call. For indexed draws, they sometimes mean we
    need to compute the index range. In other cases, we don't. Defer
    computing the index range as long as possible so we don't end up
    computing the index range when we don't have to.
    
    BUG=angleproject:2229
    
    Change-Id: I8e125416ef6767787a14509b322efa8dcd8e4a34
    Reviewed-on: https://chromium-review.googlesource.com/764676
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 39f74df5f715e73f2e493961e8bca38f90061e17
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Nov 20 16:09:57 2017 +0200

    Remove unreferenced struct types from the AST
    
    This expands pruning unreferenced variables so that unreferenced named
    struct types can also be removed from the AST.
    
    Includes a small cleanup in GLSL output so that the output code
    matching tests can test against clean output.
    
    BUG=chromium:786535
    TEST=angle_unittests
    
    Change-Id: I20974ac99a797e478d82f9203c179d2d58fac268
    Reviewed-on: https://chromium-review.googlesource.com/779519
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 03fd0356b4c938a72a7148e2ac9cbe87c513603f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Nov 20 16:30:10 2017 -0500

    D3D11: Push index range computation deeper.
    
    If we can make the index range computation happen as late as possible,
    we won't have to check it during the fastest draw call paths.
    
    This change makes it easier to skip re-computing some index range
    checks by only checking it in one place in IndexDataManager, and by
    making it a lazy check; the check is never evaluated if the primitive
    restart workaround is not enabled.
    
    Future work can also push the index range computation for vertex info
    later, so we only evaluate it in the cases where we need it.
    
    BUG=angleproject:2229
    
    Change-Id: Ic55fac9e23fd35a119ddff475355a43095d2e3e9
    Reviewed-on: https://chromium-review.googlesource.com/764675
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit c7965001b32fbd7c03a5ddd908af603ee29f0601
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Nov 20 23:29:11 2017 +0000

    Revert "Make TType store a const char * for mangled name."
    
    This reverts commit dc7bffd06b526bbffd3d1c1ddbd6c763a2cc7287.
    
    Reason for revert: Causes a memory leak, detected by ASAN bot:
    
    https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_asan_rel_ng/builds/494713
    
    Direct leak of 24 byte(s) in 1 object(s) allocated from:
        #0 0x847aa2 in operator new(unsigned long) /b/build/slave/linux_upload_clang/build/src/third_party/llvm/compiler-rt/lib/asan/asan_new_delete.cc:92:3
        #1 0x193a833 in sh::TType::buildMangledName() const third_party/angle/src/compiler/translator/Types.cpp:545:21
        #2 0x193d2e8 in getMangledName third_party/angle/src/compiler/translator/Types.cpp:751:24
        #3 0x193d2e8 in sh::TType::realize() third_party/angle/src/compiler/translator/Types.cpp:759
        #4 0x1834474 in sh::TCache::getType(sh::TBasicType, sh::TPrecision, sh::TQualifier, unsigned char, unsigned char) third_party/angle/src/compiler/translator/Cache.cpp:89:11
        #5 0x1859ac7 in getType third_party/angle/src/compiler/translator/Cache.h:36:16
        #6 0x1859ac7 in sh::InsertBuiltInFunctions(unsigned int, ShShaderSpec, ShBuiltInResources const&, sh::TSymbolTable&) third_party/angle/src/compiler/translator/Initialize.cpp:28
    
    Bug: angleproject:1432
    
    Original change's description:
    > Make TType store a const char * for mangled name.
    >
    > We would only ever use the c_str value from the mangled name. This
    > makes it easier to make constexpr TTypes.
    >
    > Bug: angleproject:1432
    > Change-Id: I147b3a85f9b8b2453e2d7f4a713d767b22036cc9
    > Reviewed-on: https://chromium-review.googlesource.com/776277
    > Commit-Queue: Jamie Madill <jmadill@chromium.org>
    > Reviewed-by: Kai Ninomiya <kainino@chromium.org>
    
    TBR=jmadill@chromium.org,kainino@chromium.org
    
    # Not skipping CQ checks because original CL landed > 1 day ago.
    
    Bug: angleproject:1432
    Change-Id: Ib112a2ce9871a4f4afc53101ac1a3ddd166008cf
    Reviewed-on: https://chromium-review.googlesource.com/780420
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 85c93c41e95cb046b85a979b408c4da4bd60248a
Author: jchen10 <jie.a.chen@intel.com>
Date:   Sun Nov 12 15:36:47 2017 +0800

    Refactor VaryingPacking
    
    Move all packing related logic from Program to VaryingPacking.
    Do linkValidateTransformFeedback check first to simplify packing.
    Make getPackedVaryings collect all required VaryingPackings in one
    run pass, so that packUserVaryings can focus on packing merely.
    
    BUG=angleproject:2241
    Change-Id: I5e84e6e4688c80ba7a77a265b8ffaf79f4ddbb87
    Reviewed-on: https://chromium-review.googlesource.com/764821
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 578b51fd95ed3a676125a6612aa6c6ffadc0d1a3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Nov 20 16:13:34 2017 -0500

    D3D: Add helper for index translation type.
    
    This makes it a bit simpler to work with the prepareIndexData method.
    Also removes the mRendererClass member of the index data manager
    since it was no longer necessary.
    
    BUG=angleproject:2229
    
    Change-Id: I03768b104da21f57c499239bbbb5f716efb0fd48
    Reviewed-on: https://chromium-review.googlesource.com/765261
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 92019431df4d28b222bdcb58f441a172e7d1409b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Nov 20 13:09:34 2017 -0500

    Make conversion from GL types to native bools consistant.
    
    Some places would compare with "== GL_TRUE" and others with "!= GL_FALSE".
    This behaviour is not in the OpenGL spec but "!= GL_FALSE" is the most
    standard and follows the same rules as C and C++.
    
    Remove un-necessary validation that params are either GL_TRUE or
    GL_FALSE.
    
    Update some internal storage from GLboolean to bool.
    
    BUG=angleproject:2258
    
    Change-Id: I12adbe2d24318a206521ca6ad1099ee7e2bf677e
    Reviewed-on: https://chromium-review.googlesource.com/779799
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 2f294c9abbd17c2d049541aded11beb1dd7dccfa
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Nov 20 14:47:26 2017 -0500

    Add constructors for TMemoryQualifier and TLayoutQualifier.
    
    These replace the ::create methods, to facilitate constexpr versions.
    Also adds a constructor of WorkGroupSize that can be made to be
    constexpr.
    
    Bug: angleproject:1432
    Change-Id: I413d1a56102c94d6a383775110a2b850a7532ea0
    Reviewed-on: https://chromium-review.googlesource.com/776279
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kai Ninomiya <kainino@chromium.org>

commit 416a23e855bc79ff82a81898ac475e8e40491f4b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Nov 20 12:34:20 2017 -0500

    ProgramGL: Make sure the binary vector does not read out of bounds.
    
    By sizing the vector to at least one element, it is not possible to pass
    invalid pointers to the driver or binary stream even if the binary is
    zero-sized.
    
    BUG=angleproject:2257
    
    Change-Id: Ie0e42bff1192207e0e069934b03dfd49e8d34824
    Reviewed-on: https://chromium-review.googlesource.com/779739
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 4dd167fbac9eed7988407b36b1f05043d1e34d11
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 9 13:08:31 2017 -0500

    Vulkan: Assign locations to varyings.
    
    These were actually always required, but only was caught by the newer
    versions of the SPIR-V toolchain.
    
    BUG=angleproject:2237
    
    Change-Id: I43fef179e8792e46a602b39a6decafcab03b19df
    Reviewed-on: https://chromium-review.googlesource.com/760638
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 05fd3860950eb29d1e4404e6d3250fb93963058b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Nov 13 10:59:35 2017 -0500

    Make sure non-multi-sampled EGL configs are always exposed.
    
    It is possible for some hardware to not support multisampling on any
    texture formats which results in an empty sample set for all formats.
    
    BUG=angleproject:2242
    
    Change-Id: I8148c781ec22ec02562b6a8b5d1b966c6f13915e
    Reviewed-on: https://chromium-review.googlesource.com/766568
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 491b0d604b18e7b238b0b4c9f9a2e4ffa6971649
Author: Bryan Bernhart (Intel Americas Inc) <bryan.bernhart@intel.com>
Date:   Fri Nov 10 12:48:22 2017 -0800

    WebGLCompatibility: Allow GL_DEPTH_STENCIL_ATTACHMENT.
    
    Permits depth-stencil attachment points for WebGL.
    
    BUG=angleproject:2090
    
    Change-Id: I7f5a7c63f2a4a76116ce5639833e5fd8d7f50ffb
    Reviewed-on: https://chromium-review.googlesource.com/764591
    Reviewed-by: Bryan Bernhart <bryan.bernhart@intel.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit be0e2c0c748af976f74c9ecc55a141672657cc19
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Nov 20 11:38:16 2017 +0200

    Fix type conversion warnings
    
    Warnings about implicit type conversions were showing up as errors on
    MSVS 2017.
    
    TEST=build with MSVS 2017
    
    Change-Id: I5f173a6838da16e96fad134756d31f56890c147b
    Reviewed-on: https://chromium-review.googlesource.com/778841
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit dc7bffd06b526bbffd3d1c1ddbd6c763a2cc7287
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Nov 18 09:34:16 2017 -0500

    Make TType store a const char * for mangled name.
    
    We would only ever use the c_str value from the mangled name. This
    makes it easier to make constexpr TTypes.
    
    Bug: angleproject:1432
    Change-Id: I147b3a85f9b8b2453e2d7f4a713d767b22036cc9
    Reviewed-on: https://chromium-review.googlesource.com/776277
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kai Ninomiya <kainino@chromium.org>

commit 90ed1e4971ae274d125654a0508d60a75a4be252
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Nov 17 11:14:43 2017 -0500

    Reland "Clean up the TType class."
    
    This is a reland of 3f286cd1b6e29605a159ee0bd20c76929d4d5a9f
    Original change's description:
    > Clean up the TType class.
    >
    > Move more methods into the cpp file, and rename member variables to
    > start with the "m" prefix.
    >
    > Also move most of the TPublicType methods into the cpp.
    >
    > Bug: angleproject:1432
    > Change-Id: Ib11a3c8c6ace654fd52077a317814665f81a7261
    > Reviewed-on: https://chromium-review.googlesource.com/776276
    > Reviewed-by: Kai Ninomiya <kainino@chromium.org>
    > Commit-Queue: Jamie Madill <jmadill@chromium.org>
    
    Bug: angleproject:1432
    Bug: chromium:786603
    Change-Id: I7f91557d9f9065f4aa90130ce30dc27e9f796065
    Reviewed-on: https://chromium-review.googlesource.com/777715
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit c622833c5a010675af61882c9036dc9b16c05a88
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Thu Nov 16 21:21:56 2017 +0800

    Re-enable SimpleStateChangeTest.RedefineBufferInUse on Win/Intel
    
    Now SimpleStateChangeTest.RedefineBufferInUse can pass on Win/Intel
    with https://chromium-review.googlesource.com/756959
    
    BUG=angleproject:2221
    TEST=angle_end2end_test
    
    Change-Id: Ibdb619a61fcaa35c72ff5a22dc6905edf9f0ec7b
    Reviewed-on: https://chromium-review.googlesource.com/774679
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 758bc6a90b673690f0c17672d38064e49ff6ac66
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Sat Nov 18 00:02:09 2017 +0000

    Revert "Clean up the TType class."
    
    This reverts commit 3f286cd1b6e29605a159ee0bd20c76929d4d5a9f.
    
    Reason for revert: crbug.com/786603
    
    Original change's description:
    > Clean up the TType class.
    >
    > Move more methods into the cpp file, and rename member variables to
    > start with the "m" prefix.
    >
    > Also move most of the TPublicType methods into the cpp.
    >
    > Bug: angleproject:1432
    > Change-Id: Ib11a3c8c6ace654fd52077a317814665f81a7261
    > Reviewed-on: https://chromium-review.googlesource.com/776276
    > Reviewed-by: Kai Ninomiya <kainino@chromium.org>
    > Commit-Queue: Jamie Madill <jmadill@chromium.org>
    
    TBR=jmadill@chromium.org,oetuaho@nvidia.com,kainino@chromium.org
    
    Change-Id: Ib3062a71118095a3e58e75bfee2474c2e4ae9431
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:1432
    Reviewed-on: https://chromium-review.googlesource.com/777801
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Commit-Queue: Zhenyao Mo <zmo@chromium.org>

commit 3f286cd1b6e29605a159ee0bd20c76929d4d5a9f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Nov 17 11:14:43 2017 -0500

    Clean up the TType class.
    
    Move more methods into the cpp file, and rename member variables to
    start with the "m" prefix.
    
    Also move most of the TPublicType methods into the cpp.
    
    Bug: angleproject:1432
    Change-Id: Ib11a3c8c6ace654fd52077a317814665f81a7261
    Reviewed-on: https://chromium-review.googlesource.com/776276
    Reviewed-by: Kai Ninomiya <kainino@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 3d70ca9cc194d2e946ca7baf0ed5dec30b2149c7
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Nov 10 16:53:26 2017 +0200

    Remove unreferenced variables from the AST
    
    Unreferenced local and global variables are now pruned from the AST.
    They will be removed unless their initializer has side effects.
    
    The CollectVariables step needs to be run after the pruning, as the
    pruning may affect which interface variables are statically used.
    
    It's also good to gather built-ins that need to be emulated after the
    pruning, so unnecessary built-in emulation functions are not added to
    the translator output.
    
    This will help handle some dEQP tests for arrays of arrays that have
    extremely large local arrays that are only used in an array length
    query. By constant folding the length and pruning unused variables we
    will avoid adding a large amount of array initialization code to the
    generated shaders.
    
    BUG=angleproject:2166
    TEST=angle_unittests, angle_end2end_tests
    
    Change-Id: Ic918bfe8f16460bcd6101d73a7a674145f5aeecd
    Reviewed-on: https://chromium-review.googlesource.com/766434
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 2c7f34c833b4a9ca4d016dbc55f1755f40826e6e
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Oct 9 17:18:02 2017 +0300

    Initialize uninitialized GLSL arrays in a for loop
    
    Previously, creating nodes for initializing each single array element
    could result in memory bloat during translation when dealing with
    large arrays. The resulting shader could also end up very long.
    Initialize most arrays using a simple for loop instead. The loop is
    compatible with ESSL 1.00 Appendix A limitations.
    
    An exception is made for fragment outputs, so that they are not
    indexed by non-constant values.
    
    On some platforms using the a loop to initialize variables can cause
    problems, so we also have a compiler flag for turning this behavior
    off. The flag was already added earlier for a staggered rollout of
    this functionality.
    
    BUG=chromium:735497
    TEST=angle_unittests, angle_end2end_tests, WebGL conformance tests
    
    Change-Id: Iec727821d8137db56b440ddbe007879b1b55f61f
    Reviewed-on: https://chromium-review.googlesource.com/707195
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit bb27c3a1483cf71e971ffafa8778df275b14f5cc
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Nov 15 16:32:25 2017 +0200

    Fix VectorizeVectorScalarArithmetic statement insertion
    
    The traverser must avoid inserting two statements to the same position
    on a single traversal, so it doesn't trigger an assert.
    
    BUG=chromium:784078
    TEST=angle_unittests
    
    Change-Id: I855054e62cc1b1cf4e6bb02af527954151c7d0e7
    Reviewed-on: https://chromium-review.googlesource.com/771611
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 1eda27a6548972c673fa0b45f9414ef94fe02d68
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 16 13:06:38 2017 -0500

    Buffer11: Allow CopySubData from uninitialized.
    
    This fixes a very odd use case where an app would try to copy from an
    uninitialized buffer. I didn't search the spec too closely, but it's
    likely a valid operation that produces undefined buffer contents.
    Previously to this change we would genearte an OOM error.
    
    Also includes an unrelated fix to ensure the latest buffer storage is
    never nullptr when we have any data.
    
    Bug: angleproject:1155
    Change-Id: I4292bd302cc2b84d125a7d3e8d28e4d2b0210e53
    Reviewed-on: https://chromium-review.googlesource.com/774991
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 784134994bd025f7d81f2c3ab193c86b539cd26a
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Nov 16 17:36:13 2017 -0500

    Skip ShaderStorageBufferTest31.AtomicMemoryFunctions on Linux AMD GL
    
    BUG=angleproject:2255
    
    Change-Id: I986ee0e674d0f3fc2425c922ca92a3f8d86efb8c
    Reviewed-on: https://chromium-review.googlesource.com/775816
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 92a1459fb9d31d8180309f1a3ff7659d9617cc00
Author: Brandon Jones <brandon1.jones@intel.com>
Date:   Thu Nov 16 10:01:08 2017 -0800

    Add Regression Test for D3D11 Alpha Passthrough
    
    As a follow up to commit "8d6af08 Use dedicated ALPHA passthrough shader",
    this change adds a regression test that verifies RGB channels are set to
    zero when performing an ALPHA copy.
    
    BUG=angleproject:2239
    Change-Id: Icc08deb523c388a0f2cbdcadd1eec69a97fbe136
    Reviewed-on: https://chromium-review.googlesource.com/774579
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit b5601eb67596805dd1d98237915430ba733fa095
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Nov 15 18:08:04 2017 +0200

    Only initialize globals if initialization flag is set
    
    This avoids the possibility of initializing globals twice in Chromium.
    Now we also never initialize variables redundantly in case we're
    writing HLSL output. This was already the intent of the code before,
    but a mistake had slipped in and the code didn't actually check the
    output type properly.
    
    This also simplifies DeferGlobalInitializers by running it after
    SeparateDeclarations.
    
    BUG=chromium:735497
    TEST=WebGL conformance tests
    
    Change-Id: I95036a24ac8cf18113755510376a2fca286b3ee6
    Reviewed-on: https://chromium-review.googlesource.com/771555
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 8957b6c07125432a3d2bfc98ff275f4d0f159c77
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 14 12:40:38 2017 -0500

    Add perf test for ushort DrawElements.
    
    The code path in the D3D11 back-end is sigificantly different for
    unsigned short indices vs unsigned int. Because of the workaround we
    have for the primitive restart index in D3D11, ushort rendering can
    be slower.
    
    BUG=angleproject:2229
    
    Change-Id: I303dcc55b0314ec45508044995ba47b250cbb87d
    Reviewed-on: https://chromium-review.googlesource.com/767149
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 0a05df48f52d4ac8007126f01d77434891d23bf9
Author: Jeff Gilbert <jgilbert@mozilla.com>
Date:   Thu Nov 2 21:39:08 2017 -0700

    Add TextureUploadFormatTest for texture unpack/upload behavior checks.
    
    Also force ANGLE_SKIP_TEST_IF() to require a semicolon.
    
    BUG=angleproject:2220
    TEST=angle_end2end_tests
    
    Change-Id: I2dc777ec75babb8fbb1a2dd8949636c5c05c5767
    Reviewed-on: https://chromium-review.googlesource.com/754337
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit a3106c585ae630bb4bf836a6e5ee6838a4b9bd16
Author: Jiajia Qin <jiajia.qin@intel.com>
Date:   Fri Nov 3 09:39:39 2017 +0800

    ES31: Add atomic memory functions
    
    BUG=angleproject:1442
    TEST=angle_unittests, angle_end2end_tests
         dEQP-GLES31.functional.compute.shared_var.atomic*
         dEQP-GLES31.functional.compute.basic.shared_atomic_op*
         dEQP-GLES31.functional.ssbo.atomic.*
    
    Change-Id: I82b54fde3a852d3bd917b1e19680baa1c28fce4d
    Reviewed-on: https://chromium-review.googlesource.com/765061
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 39644feebaf4a305b0d93f3f9af86bdc0ac9cee3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 15 16:31:44 2017 -0500

    Fix Clang build with dEQP.
    
    This will require a Chrome-side patch to the build/ folder to enable
    the new path, with appropriate Chrome-side changes.
    
    Bug: chromium:727437
    Change-Id: Iae8d8f4caeead703b322abce75c97c7c9d9e1619
    Reviewed-on: https://chromium-review.googlesource.com/773021
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 98f9f537bb2a7717f6b21e4db5c62c0faa7b5a7f
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Wed Nov 15 19:16:19 2017 -0500

    Skip RenderingLimitToDefaultFBOSizeWithNoAttachments on Linux AMD GL
    
    BUG=anglebug:2253
    
    Change-Id: I4c2fc6904f88a6d61c5d847b812a4272a99c1906
    Reviewed-on: https://chromium-review.googlesource.com/773063
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 4d1469315c99e81a8dbda5a226883dddf3cec4b1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 15 16:31:43 2017 -0500

    Roll all ANGLE internal DEPS.
    
    None of these deps are used in the Chromium builds, so this only
    affects the standalone version.
    
    Includes a change in the build repo necessary to enable fixing the
    Clang build with dEQP.
    
    Bug: chromium:727437
    Change-Id: Iea5f6299e9f17555891c812229a54a850776f117
    Reviewed-on: https://chromium-review.googlesource.com/773020
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 0acb268c99f6b90ff5016000b39ca2fd59562b1c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 14 12:40:37 2017 -0500

    TextureD3D: Only update storage if images dirty.
    
    This uses the existing dirty bit mDirtyImages to early return in the
    TextureD3D::updateStorage methods.
    
    Also fixes a couple missing cases for setting dirty images. The code
    could be improved in the future by using a bitset of dirty images per
    mip level instead of a single bit.
    
    BUG=angleproject:1392
    
    Change-Id: I58df2be455b6ee51c3e3f76a6fa44ad585d1480d
    Reviewed-on: https://chromium-review.googlesource.com/761243
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 192199a76defd7bb4fd82504ca34542566d9b53d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 14 16:12:20 2017 -0500

    ResourceManager11: Store resource sizes 64-bit.
    
    This prevents possible size count overflow when in 32-bit mode with
    a lot of very large resources.
    
    Issue originally reported via Mozilla:
    https://bugzilla.mozilla.org/show_bug.cgi?id=1412554
    
    BUG=angleproject:2234
    
    Change-Id: Idacfda98356c13bf22bc493ef7aa2bff1a287f97
    Reviewed-on: https://chromium-review.googlesource.com/769749
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 6226b8dfa03a5d88e8d036046ad87fcf156b9927
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 9 13:08:30 2017 -0500

    Vulkan: Fix missing index buffer usage.
    
    The newer validation layers picked up this missing bit.
    
    BUG=angleproject:2237
    
    Change-Id: I5bb2f1db3a4e284c003de0f5b23f7f613056af3a
    Reviewed-on: https://chromium-review.googlesource.com/760637
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit 858ff481e500435844ef6876854c40665d8a42c5
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Nov 15 13:41:46 2017 +0200

    Make isNamelessStruct a member of TType
    
    This will be needed outside of InitializeVariables when removing
    unreferenced variables is added. Named struct type declarations
    cannot be pruned as easily as they might be referenced later.
    
    BUG=angleproject:2166
    TEST=angle_unittests
    
    Change-Id: If1462abe67e62ae19bde97de3c8f3d15e99ae9ea
    Reviewed-on: https://chromium-review.googlesource.com/771790
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 10137d5981993affb2f8d761ea467e2ed61f4372
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Oct 30 15:36:44 2017 +0200

    Remove crash expectation on dEQP tests after driver fix
    
    NVIDIA 387.* drivers do not reproduce the issue anymore, so the test
    expectations for the previously failing indirect draw tests can be
    lifted.
    
    BUG=angleproject:1659
    TEST=dEQP-GLES31.functional.draw_indirect.random.*
    
    Change-Id: Iba69821d19bfad8d2f2e81045658f3ef08695c80
    Reviewed-on: https://chromium-review.googlesource.com/744021
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d33c77c02aa343707765235b510e70f450ee549f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 9 13:08:30 2017 -0500

    Vulkan: Use correct transfer access mask in layout change.
    
    When using a transfer destination, we should be using the transfer
    access mask, not bottom of pipe or other bits.
    
    Uncovered by using a newer version of the layers SDK.
    
    BUG=angleproject:2237
    
    Change-Id: I3ebcca707ac8889d2ece099e3765f5b0ca3dfdbc
    Reviewed-on: https://chromium-review.googlesource.com/760636
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit fea1e7541f445d64293a868f103541636f721be4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 14 16:42:37 2017 -0500

    Buffer11: Cleanup onCopyStorage.
    
    BUG=angleproject:1155
    
    Change-Id: I7bc5c196d10ae040487ecd1137d9b18c3000775a
    Reviewed-on: https://chromium-review.googlesource.com/769730
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 08943afdb79f0ca5bdcdc91137ac76829db9c371
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 14 16:51:00 2017 -0500

    Remove huge buffer data test.
    
    This is too difficult to implement without mocking new/delete.
    
    BUG=angleproject:875
    
    Change-Id: I7cdafe11d26939f14a43bc515454dd5cf70c4a2a
    Reviewed-on: https://chromium-review.googlesource.com/769849
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit fb7685f4035e38494aedbb3cb05163427d0daacf
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Nov 13 11:44:11 2017 -0500

    Validate texture parameters for >0 after rounding.
    
    From the spec (2.3.1 Data Conversion For State-Setting Commands):
    "Validation of values performed by state-setting commands is performed
    after conversion, unless specified otherwise for a specific command."
    
    BUG=783574
    
    Change-Id: I9edf585a17489ad284bc85a1c3c2236b53ee34d9
    Reviewed-on: https://chromium-review.googlesource.com/766569
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 7caa80e7598930a8663f4bdcfe91285a9460c70a
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Nov 14 15:03:14 2017 +0200

    Edit tests to reference temporary variables
    
    The shader translator is intended to prune unreferenced variables in
    the future. To maintain test coverage when this is done, most tests
    that used to have unreferenced GLSL locals and globals are edited to
    use built-ins or reference the necessary variables instead.
    
    BUG=angleproject:2166
    TEST=angle_unittests, angle_end2end_tests
    
    Change-Id: I3964e7a80d52fc04a95f57e73da6095e433095e8
    Reviewed-on: https://chromium-review.googlesource.com/768740
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 5ad52994ba18937eae281c735d240fa193fa395a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 14 12:43:40 2017 -0500

    Add generator for EGL proc table.
    
    This should improve ANGLE startup time by avoiding creating a large
    std::map filled with the entry points.
    
    BUG=chromium:781460
    
    Change-Id: I20cfdb10b99844d0f60759dda73b729991dc60fe
    Reviewed-on: https://chromium-review.googlesource.com/768209
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Antoine Labour <piman@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit e8afa90250dd251381a343c773d77d104c1f0350
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Sep 27 15:00:43 2017 -0400

    Make GL_ANGLE_framebuffer_blit enableable.
    
    BUG=angleproject:1523
    
    Change-Id: I5d6df35d2e65be6d73ec6100e3351ba5f9ff53a2
    Reviewed-on: https://chromium-review.googlesource.com/688639
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 1d33c219630c138019317f2d7a0ae84bd9c1335a
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Nov 13 10:21:39 2017 -0800

    Fix standalone mac compilation
    
    BUG=
    
    Change-Id: I225bd1693f595a64179b8e500cb1e7101fd2e197
    Reviewed-on: https://chromium-review.googlesource.com/766472
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 740aa41ddf59082ea7d92be12b6ae335bf7d5efa
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 14 10:35:35 2017 -0500

    Fix angle::Platform export definitions.
    
    This was only showing up in the GYP build on Windows.
    
    BUG=chromium:778918
    
    Change-Id: Ib9db0c928474be887ec1f46d7e99c0a3dedfb9e0
    Reviewed-on: https://chromium-review.googlesource.com/768947
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit f4f293effbc6ccba0b6462743d3f5bd9c794d75d
Author: Bryan Bernhart (Intel Americas Inc) <bryan.bernhart@intel.com>
Date:   Mon Nov 6 15:56:29 2017 -0800

    Harden uniform array index parsing.
    
    Add overflow handling when parsing uniform variables.
    
    BUG=angleproject:2191
    TEST=angle_unittests
    
    Change-Id: Ib2a69be1cc11a94420bc923a2aaaef8dc664d562
    Reviewed-on: https://chromium-review.googlesource.com/756209
    Reviewed-by: Bryan Bernhart <bryan.bernhart@intel.com>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit ff7aac5e4f5dfc86b820f135818d62e1962ab40d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Nov 13 16:57:14 2017 -0500

    Re-land "Export angle::PlatformMethods."
    
    This should fix undefined function call sanitizer warnings.
    
    Re-land fixes the build and uses proper export annotation. Also fixes
    the missing source includes in BUILD.gn for libANGLE so future
    changes to Platform.h (and other includes) will get picked up by the
    dependency analyzer step.
    
    BUG=chromium:778918
    
    Change-Id: I92cc8a43bbbdc70de50a67f73b223d8f903cd6cd
    Reviewed-on: https://chromium-review.googlesource.com/767111
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Antoine Labour <piman@chromium.org>

commit 36f34243334fa84507bebce5a3e9724c0a1bbc1d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Nov 13 21:41:42 2017 -0500

    Buffer11: Cache latest buffer storage.
    
    This saves needing to scan the list of buffers every time we query
    the latest buffer storage. Should slightly improve speed.
    
    BUG=angleproject:1155
    
    Change-Id: I6be8457aca1ee5aa871090241e6f67ae16b094a5
    Reviewed-on: https://chromium-review.googlesource.com/761242
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 8d6af086d478544b802b2cdbfb7e8df1de066088
Author: Brandon Jones <brandon1.jones@intel.com>
Date:   Wed Nov 8 09:14:06 2017 -0800

    Use dedicated ALPHA passthrough shader
    
    ANGLE previously used the RGBA passthrough shader for ALPHA copies. This
    commit adds a dedicated ALPHA shader that will not pass RGB components
    when doing an ALPHA copy.
    
    BUG=angleproject:2239
    TEST=angle_end2end_tests
    Change-Id: I52d1f18a8f968db005cd887803123c17e16df938
    Reviewed-on: https://chromium-review.googlesource.com/758717
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit c2eb32bad8de1c2033846db3f9e29d6a0af45095
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Nov 13 21:51:48 2017 +0000

    Revert "Export angle::PlatformMethods."
    
    This reverts commit 8b920b211d7363daef0d5fb8d2bd69f3253ab033.
    
    Reason for revert: This had a syntax error and skipped the compile step, so went undetected.
    
    BUG=chromium:778918
    
    Original change's description:
    > Export angle::PlatformMethods.
    >
    > This should fix undefined function call sanitizer warnings.
    >
    > BUG=chromium:778918
    >
    > Change-Id: I718d58edd7b75a3fca1089edc4df7f3251d85153
    > Reviewed-on: https://chromium-review.googlesource.com/767152
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    > Commit-Queue: Jamie Madill <jmadill@chromium.org>
    
    TBR=jmadill@chromium.org,piman@chromium.org
    
    Change-Id: I1825ce88bc82867a983bb08cd6732caff54f061c
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: chromium:778918
    Reviewed-on: https://chromium-review.googlesource.com/767128
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 87718a8759ee9880c1237d1f89dd1629cf79b8f6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Nov 13 15:01:19 2017 -0500

    Use more gl::Error in IndexDataManager.
    
    BUG=angleproject:2229
    
    Change-Id: I19f7c1600300298e7bc2a1f7dc4215a67053767c
    Reviewed-on: https://chromium-review.googlesource.com/764674
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 8b920b211d7363daef0d5fb8d2bd69f3253ab033
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Nov 13 15:09:56 2017 -0500

    Export angle::PlatformMethods.
    
    This should fix undefined function call sanitizer warnings.
    
    BUG=chromium:778918
    
    Change-Id: I718d58edd7b75a3fca1089edc4df7f3251d85153
    Reviewed-on: https://chromium-review.googlesource.com/767152
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit d5d3099e3cb78aeb9af115056c1bc1d929e0be52
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Nov 13 10:21:52 2017 -0800

    Avoid redundant BindingPointer::set in setBufferBinding
    
    BUG=angleproject:2169
    
    Change-Id: I91f099a53b456fc96988839e34733ce09fe38336
    Reviewed-on: https://chromium-review.googlesource.com/766473
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 7af63727f0582dd3a5d563c561dd86161e6105a9
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Nov 13 15:03:40 2017 +0200

    Fix nullptr dereference on struct parameter error
    
    Function parameter name string does not necessarily exist, so it's
    better to use the function name as the token in the error message.
    
    BUG=chromium:784158
    TEST=angle_unittests
    
    Change-Id: I8f3b8604fd702bdc9486b8d721a5f60de1ff3fa7
    Reviewed-on: https://chromium-review.googlesource.com/765972
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit c4eca923de1f480a63a0aa1b41ee371258518fa1
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Nov 13 12:27:23 2017 +0200

    Fix MSVS 2015 warnings
    
    Fix warnings about implicit int to bool conversion and noexcept.
    
    TEST=build on MVSV 2015
    
    Change-Id: I437977ca01f62ce2df39872da5903a0338a73bba
    Reviewed-on: https://chromium-review.googlesource.com/765371
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 1974452966bb05cc471f03864274af5c631f6370
Author: JiangYizhou <yizhou.jiang@intel.com>
Date:   Wed Oct 11 16:37:25 2017 +0800

    Clear up deqp cases for multisampled texture
    
    BUG=angleproject:1590
    TEST=dEQP-GLES31.functional.state_query.texture_level.texture_2d_multisample.*
    TEST=dEQP-GLES31.functional.state_query.internal_format.texture_2d_multisample.*
    TEST=dEQP-GLES31.functional.debug.negative_coverage.get_error.buffer.renderbuffer_storage_multisample
    
    Change-Id: Ic5b9867f3588dae4c930e844b1ee2b99467a60ff
    Reviewed-on: https://chromium-review.googlesource.com/711975
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 703671e9fddc6047e01c5beef17e67b4eb6d5cd7
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Nov 8 17:47:18 2017 +0200

    Unify extension behavior checks
    
    Some supportsExtension and isExtensionEnabled checks are now turned
    into checkCanUseExtension checks. Using checkCanUseExtension is
    preferable so that warnings are generated correctly when an extension
    is used and a warn directive is present.
    
    isExtensionEnabled is still used in some places where an error message
    about the extension could be confusing, particularly when a core spec
    version adds support for something that is also present in an
    extension.
    
    Also make it possible to disable ARB_texture_rectangle extension using
    an extension directive. ARB_texture_rectangle extension functionality
    is enabled by default in GLSL when the extension is supported.
    
    BUG=angleproject:2238
    TEST=angle_unittests
    
    Change-Id: I7455293412ff469f54bc7da79df146e7bc127379
    Reviewed-on: https://chromium-review.googlesource.com/760737
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit bb0775da28e3305ef0466f3542a60e3559aaf79f
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Nov 10 16:20:43 2017 +0200

    Add flag for turning off initializing variables with loops
    
    This flag is needed to toggle upcoming variable initialization mode
    which uses for loops to optimize the compilation process. Initializing
    variables using for loops will be turned on by default, but it needs
    to be turned off in Chromium in certain cases. Chromium will use the
    flag added in this patch and that code will need to go into Chromium
    before finishing the implementation in ANGLE.
    
    BUG=chromium:735497
    
    Change-Id: I3a0e7b7c6cebe60afa72964fbd0caf3b1eafccbc
    Reviewed-on: https://chromium-review.googlesource.com/763451
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 485903582c252daf31173d871763654e67c46f41
Author: Jeff Gilbert <jgilbert@mozilla.com>
Date:   Tue Nov 7 16:03:38 2017 -0800

    Remove formatType arg from computeCompressedImageSize.
    
    BUG=angleproject:2230
    
    Change-Id: Ie291ba05efa89bc4ea52966e975d5a21431a461f
    Reviewed-on: https://chromium-review.googlesource.com/757877
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit cac94a912493b1b7b0711700d03bbec3ffa894ad
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Nov 10 10:09:32 2017 -0500

    Optimize ShaderVariable::isBuiltIn.
    
    This makes the check a bit faster, by inlining the prefix check.
    Also some cleanups to ValidateVertexShaderAttributeTypeMatch.
    
    BUG=angleproject:2202
    
    Change-Id: Ifeab4cd85a91a1639a461f44776a68ac98c5bd79
    Reviewed-on: https://chromium-review.googlesource.com/761240
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 23cd4addeadbac12613f156d4c3c97bbaba33874
Author: Tom Anderson <thomasanderson@chromium.org>
Date:   Fri Nov 10 14:54:37 2017 -0800

    Add missing include to stddef.h on arm
    
    Change-Id: I28771a550a3188993635f55803093fc49590ceb1
    Reviewed-on: https://chromium-review.googlesource.com/764887
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 336129f66f63938212ca0f7069d1a5e483f02042
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Oct 17 15:55:40 2017 -0400

    Use a packed enum for buffer targets.
    
    BUG=angleproject:2169
    
    Change-Id: I4e08973d0e16404b7b8ee2f119e29ac502e28669
    Reviewed-on: https://chromium-review.googlesource.com/723865
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit e3bfefb410652d30658c112b862175d22ca75672
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Fri Nov 10 16:22:37 2017 -0500

    Align float access in InterleavedAttributeData perf test
    
    Used to crash on arm because of unaligned float access in positionColorData
    
    BUG=chromium:675997
    
    Change-Id: Iadc705986700248ce3cff9bb33fcd72c94ad1c59
    Reviewed-on: https://chromium-review.googlesource.com/764688
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 9776035d6ab04b60e6e72dcb8e1b9f05309b9193
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 9 13:08:29 2017 -0500

    Vulkan: Implement Buffer updates.
    
    This allows the app to update Buffer data while the data is in use
    by the GPU. For instance, uploading new vertex attribute data after
    a draw call.
    
    It introduces a StagingBuffer helper class, similar to StagingImage.
    These classes are somewhat temporary and could be redesigned.
    
    BUG=angleproject:2200
    
    Change-Id: If8634b1411779b16c2bd22cce18a5f37ed958d1c
    Reviewed-on: https://chromium-review.googlesource.com/756959
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 38d92b59c4b74c5c31dfaad4d23d04517ea2c570
Author: JiangYizhou <yizhou.jiang@intel.com>
Date:   Wed Sep 13 13:47:52 2017 +0800

    Workaround Intel driver bug on D3D when renderering with no render target
    
    When rendering with no render target on D3D, two bugs lead to
    incorrect behavior on Intel drivers < 4815. The rendering samples
    always pass neglecting discard statement in pixel shader.
    
    Two bugs are listed bellow,
    1. When a framebuffer has no attachments, the pixel shader will be
    recompiled to drop 'SV_TARGET'. On Intel drivers, when using a pixel
    shader with no 'SV_TARGET' in a draw, pixels are always generated even
    if they should be discard by 'discard' statements.
    
    2. When a framebuffer has no attachments, ID3D11BlendState.RenderTarget
    [].RenderTargetWriteMask were set to 0 in angle. If RenderTargetWriteMask
    is 0 and rendertarget is not set, then rendering samples also pass
    neglecting discard statement in pixel shader on Intel.
    
    So we add a dummy texture as render target to workaround this issue.
    
    BUG=angleproject:2152
    
    TEST=FramebufferTest_ES31.RenderingLimitToDefaultFBOSizeWithNoAttachments/ES3_1_D3D11
    TEST=dEQP-GLES31.functional.fbo.no_attachments.*
    TEST=dEQP-GLES31.functional.state_query.integer.max_framebuffer*
    TEST=dEQP-GLES31.functional.state_query.integer.max_color_texture_samples_*
    TEST=dEQP-GLES31.functional.state_query.integer.max_depth_texture_samples_*
    TEST=dEQP-GLES31.functional.state_query.integer.max_integer_samples_*
    
    Change-Id: I1cb974703b6c05c39b731d147f7c8c4fb7b5fe68
    Reviewed-on: https://chromium-review.googlesource.com/741544
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 3a9090fa0bfd9cb37daea250139dfe35db84435e
Author: Jiajia Qin <jiajia.qin@intel.com>
Date:   Wed Sep 27 14:37:04 2017 +0800

    ES31: Add BUFFER_VARIABLE and SHADER_STORAGE_BLOCK program interfaces
    
    This patch collects the shader storage block members information.
    It implements getShaderStorageBlockMemberInfo and getShaderStorageBlockSize
    for OpenGL backend. Meanwhile, it implements BUFFER_VARIABLE and SHADER_STORAGE_BLOCK
    interfaces for program query.
    
    BUG=angleproject:1920
    TEST=angle_end2end_tests:ProgramInterfaceTest*
         dEQP-GLES31.functional.layout_binding.ssbo*
         dEQP-GLES31.functional.compute.basic.empty
         dEQP-GLES31.functional.compute.basic.ssbo_rw*
         dEQP-GLES31.functional.compute.basic.ssbo_local_barrier*
         dEQP-GLES31.functional.compute.basic.copy_image_to_ssbo_small
         dEQP-GLES31.functional.compute.basic.copy_ssbo_multiple_groups
         dEQP-GLES31.functional.compute.basic.copy_ssbo_multiple_invocations
         dEQP-GLES31.functional.compute.basic.copy_ssbo_single_invocation
         dEQP-GLES31.functional.compute.basic.copy_ssbo_to_image_small
         dEQP-GLES31.functional.compute.basic.shared_var*
         dEQP-GLES31.functional.compute.basic.ubo_to_ssbo*
         dEQP-GLES31.functional.compute.basic.write_multiple_arr*
         dEQP-GLES31.functional.compute.shared_var.basic_type.*
         dEQP-GLES31.functional.compute.shared_var.work_group_size.*
         dEQP-GLES31.functional.atomic_counter.*
    
    Change-Id: Ie8b81fde5a2e919aab77adb3d137c9ff2f193409
    Reviewed-on: https://chromium-review.googlesource.com/712235
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 225bfa950a80f575e02347891565a056d756ee8e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Nov 10 10:53:57 2017 -0500

    Always update HALF_FLOAT_OES type to HALF_FLOAT on Desktop GL.
    
    TEST=webgl_conformance_gl_passthrough_tests on Linux/Windows
    
    BUG=angleproject:2231
    
    Change-Id: I17c7d693e2b75726e2478925e0f22963de6ab819
    Reviewed-on: https://chromium-review.googlesource.com/763987
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit ee6884e7be666efc9e06b77eab7f4ead2779f46b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Nov 9 16:51:11 2017 -0500

    Generate generic error messages for Error objects without messages.
    
    Makes sure that the debug output is fired for all generated errors.
    
    BUG=783054
    
    Change-Id: Ia30870cd950c53da892554e0862276d4be5360ac
    Reviewed-on: https://chromium-review.googlesource.com/761760
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Antoine Labour <piman@chromium.org>

commit 9e888a46f04dad0f40539ce5f0c241f6e6d6080a
Author: Jeff Gilbert <jgilbert@mozilla.com>
Date:   Mon Nov 6 21:34:22 2017 -0800

    Fix HALF_FLOAT/HALF_FLOAT_OES selection with the ES3 backend.
    
    Found via TextureUploadFormatTest.
    
    BUG=angleproject:2231
    Change-Id: I8f214c4cfe3d8fead9226db20e57f6e6039b5b44
    Reviewed-on: https://chromium-review.googlesource.com/756642
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit f5b8ba6b26b4fd3f554c54774cf654771375eac9
Author: Jeff Gilbert <jgilbert@mozilla.com>
Date:   Mon Nov 6 19:15:25 2017 -0800

    Set TextureGL dirty bits when workaround usage of levels changes.
    
    Previously, we wouldn't update the dirty bits when switching from a
    workarounded alpha/alpha/uint8 (r8/red/uint8) to something else.
    
    Found via TextureUploadFormatTest.
    
    BUG=angleproject:2232
    Change-Id: Idba63282f8a65daec5675798d3516345ca941447
    Reviewed-on: https://chromium-review.googlesource.com/756641
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 661fc487dd556531367f89eb108ed850b8fbe59a
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Oct 16 12:17:05 2017 +0300

    Work around NVIDIA GLSL vector-scalar op bug
    
    This adds a new AST transform VectorizeVectorScalarArithmetic. The AST
    transform works around incorrect handling of certain types of GLSL
    arithmetic operations by NVIDIA's GL driver. It works around only the
    most common cases where the bug reproduces, since detecting all the
    cases would take more sophisticated analysis of the code than what
    is currently easily implementable in ANGLE.
    
    When a float add operator has both vector and scalar operands, the AST
    transform turns the scalar operand into a vector operand. Example:
    
    vec4 f;
    f += 1.0;
    
    gets turned into:
    
    vec4 f;
    f += vec4(1.0);
    
    When a vector constructor contains a binary scalar float
    multiplication or division operation as its only argument, the AST
    transform turns both operands of the binary operation into vector
    operands. Example:
    
    float f, g;
    vec4(f * g);
    
    gets turned into:
    
    float f, g;
    vec4(vec4(f) * vec4(g));
    
    Another example with compound assignment:
    
    float f, g;
    vec4(f *= g);
    
    gets turned into:
    
    float f, g;
    vec4 s0 = vec4(f);
    (s0 *= g, f = s0.x), s0;
    
    This latter transformation only works in case the compound assignment
    left hand expression doesn't have side effects.
    
    BUG=chromium:772651
    TEST=angle_end2end_tests
    
    Change-Id: I84ec04287793c56a94845a725785439565debdaf
    Reviewed-on: https://chromium-review.googlesource.com/721321
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 73dcc60c868fddb884d4c8e48aa45b0863930718
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Nov 8 16:41:52 2017 -0500

    Support more always-available extensions in ContextNULL.
    
    Add some extensions that are required by the passthrough command decoder
    and exposed on all other ANGLE backends.
    
    BUG=781164
    
    Change-Id: Ie83143effd2460122e7a093c658f217fb460d8b2
    Reviewed-on: https://chromium-review.googlesource.com/759132
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 935cb7c580f448827fc482bd5cb1693ef44c7b47
Author: Sami Väisänen <svaisanen@nvidia.com>
Date:   Wed Nov 8 15:53:41 2017 +0100

    Support B8G8R8A8_UNORM_SRGB as D3D11 texture format
    
    Support B8G8R8A8_UNORM_SRGB as D3D11 texture format.
    
    BUG=angleproject:2172
    
    Change-Id: I2f15a55123601735d7fc6caa40bb056243a91b44
    Reviewed-on: https://chromium-review.googlesource.com/758600
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit fa125c9e5cf3869459ab51d1c1858f5ab7169272
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Oct 24 13:01:46 2017 -0400

    Validate GL_COLOR_ATTACHMENT0 separately from the draw buffers attachments.
    
    EXT_draw_buffers may not be enabled but the maxColorAttachments cap is
    always initialized so make sure to validate for the extension instead of
    just checking that the attachment is in the valid range.
    
    BUG=angleproject:2058
    
    Change-Id: I5b48cb496bf96cbc0911295aa5bf87784ce9241b
    Reviewed-on: https://chromium-review.googlesource.com/735749
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 70b715c9b8bcb1f0ec02d55b6688484286e7e45a
Author: Yunchao He <yunchao.he@intel.com>
Date:   Tue Nov 7 14:59:15 2017 +0800

    ES31: Add test for DispatchCompute with rendering program
    
    BUG=angleproject:1955
    
    Change-Id: Ib3ee1ead76c83c8dceafba30a1c7526dd0891f8c
    Reviewed-on: https://chromium-review.googlesource.com/756654
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 3ef06a9f8644bacd0ffdf17c8cdb3721b719396c
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Fri Nov 3 18:41:33 2017 +0800

    Skip hasMappedBuffer check in draw validations in WebGL contexts
    
    MapBufferRange, FlushMappedBufferRange, and UnmapBuffer entry points
    are removed from the WebGL 2.0 API[1], so we don't need to validate
    if a vertex array buffer or an index buffer is mapped or not in draw
    validations (ValidateDrawBase and ValidateDrawElementsCommon) in a
    WebGL context.
    
    According to profiling data, hasMappedBuffer weights over 1% (1.12%)
    CPU times in WebGL Acquarium benchmark (10K fishes, Intel HD630).
    With this patch, this hot spot has disappeared and no new hot spots
    are introduced.
    
    This optimization can also slightly improve FPS on WebGL benchmarks,
    or keep the same at least.
    
    [1] https://www.khronos.org/registry/webgl/specs/latest/2.0/#5.14
    
    BUG=angleproject:1671
    
    Change-Id: I96e770b19b691e81774cc8e0c1b66b65dcc3cc83
    Reviewed-on: https://chromium-review.googlesource.com/753281
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 0e88313412226e7c33c550a1a1c33b94bababbf5
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Thu Oct 26 09:53:50 2017 +0800

    ES31: Support EXT_geometry_shader in GLSL compiler
    
    This patch intends to support "EXT_geometry_shader" as a valid
    extension string in ANGLE GLSL compiler.
    
    We decide to support it because in dEQP-GLES31 all geometry
    shader related tests are using "EXT_geometry_shader" instead of
    "OES_geometry_shader".
    
    1. Support new extension string "EXT_geometry_shader"
    2. Enable geometry shader layout qualifiers with EXT_geometry_shader
    3. Enable geometry shader builtins with EXT_geometry_shader
    
    BUG=angleproject:1941
    TEST=angle_unittests
    
    Change-Id: Iaedd01a9100ccf56243c957db36ff0c983d17060
    Reviewed-on: https://chromium-review.googlesource.com/737933
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit c5de4d29ce16699ad8befdf9d6da12e113806d2d
Author: Jeff Gilbert <jgilbert@mozilla.com>
Date:   Tue Oct 31 15:07:53 2017 -0700

    KHR_create_context with GLES forbids _KHR reset notification enum.
    
    EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_EXT from
    EXT_create_context_robustness must be used with GLES instead.
    
    BUG=angleproject:2213
    
    Change-Id: Icaf3c7550c4eb7cb61c6d4ed37adba7824ca4bc8
    Reviewed-on: https://chromium-review.googlesource.com/759122
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 3fb0ca02af4b7eb93b5cfc5b04f49fde6664a1d8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 7 18:06:12 2017 -0500

    Move LazyResource::resolveImpl to the cpp.
    
    This avoids a compile error where GCC is not compatible with MSVS
    and Clang, who can both handle calls to forward declared functions
    in templates. It explicitly specializes LazyResource for the used
    template types.
    
    BUG=angleproject:2182
    
    Change-Id: Iedb1f157d0662b0ea4472c9b4e85828217be577e
    Reviewed-on: https://chromium-review.googlesource.com/757758
    Reviewed-by: Jeff Gilbert <jgilbert@mozilla.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 6db1c2e88a0b7871efbe41b189ce71c7f1ff5318
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 8 09:17:40 2017 -0500

    Link interface blocks in ProgramImpl::link.
    
    This allows the back-end to have access to the interface block info
    in the link operation, and also allows the interface block info to
    have direct access to the post-link Impl information.
    
    BUG=angleproject:2208
    
    Change-Id: Ib2bfb3c9155eee715bd3d29de1c3fdd67b16eed4
    Reviewed-on: https://chromium-review.googlesource.com/753521
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 8f8edd6eac1af12b7cdb2f69f2f00055bc4b5b31
Author: Jeff Gilbert <jgilbert@mozilla.com>
Date:   Tue Oct 31 14:26:30 2017 -0700

    attachmentsHaveSameDimensions should not compare depths.
    
    From: https://bugzilla.mozilla.org/show_bug.cgi?id=1372083
    
    BUG=angleproject:2210
    TEST=angle_end2end_tests
    Change-Id: I00539fb7e0bc9a21f90f5c87d7082c2a6b1ed907
    Reviewed-on: https://chromium-review.googlesource.com/747814
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit cda6af1960bbe7e5e180bd3af8f61fdfbad839fb
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Oct 30 19:20:37 2017 -0400

    Split pixelBuffer from pack/unpack state
    
    This will refactor will help use packed enums for buffer targets.
    
    BUG=angleproject:2169
    
    Change-Id: Ie7ed3e105f89457c67027e6598d7e29503ad355c
    Reviewed-on: https://chromium-review.googlesource.com/745181
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 29a20992de5a5a35280c43e476b2252caf84d058
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Nov 6 18:23:16 2017 -0500

    Add back dirty bits for pack / unpack buffer binding
    
    BUG=angleproject:2169
    
    Change-Id: I8cee9e1c7565d90022216d62b45f0eec5bc51f14
    Reviewed-on: https://chromium-review.googlesource.com/755461
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 7af0de52d12f2e85b35883402708eed6203164c1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Nov 6 17:09:33 2017 -0500

    Rename UniformLinker.cpp/h to ProgramLinkedResources.
    
    A more general name for a file that will house a collection of pogram
    variable related linking code.
    
    BUG=angleproject:2208
    
    Change-Id: I82710f6abadd2df58fb58a3c4179989fe956e7e4
    Reviewed-on: https://chromium-review.googlesource.com/755858
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit ef7fb38861f980c6deb7a5ed37286305e9cbcb01
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Nov 7 16:33:49 2017 +0200

    Size const unsized arrays without an initializer
    
    The array size for unsized arrays needs to be sanitized in all cases,
    since subsequent checks on array indexing depend on all arrays being
    sized.
    
    BUG=chromium:781729
    TEST=angle_unittests
    
    Change-Id: I3af6c08bb249a19f7c2ef169c877a2b863eb31d3
    Reviewed-on: https://chromium-review.googlesource.com/757101
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 1734e171109fd89d41aec792e138cab523981f18
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Oct 27 15:30:27 2017 +0300

    Only store innermost array offset in VariableLocation
    
    Separate entries will be generated for each innermost array of arrays
    of arrays in the variable tables. Because of this VariableLocation
    actually only needs to store the innermost array index.
    
    BUG=angleproject:2125
    TEST=angle_end2end_tests
    
    Change-Id: Id1ee35b3cecfc011d96b58e43cf0b1cccbfed408
    Reviewed-on: https://chromium-review.googlesource.com/741742
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit fb05264b5b0c5fb3f63e6b2ceb30b2e5ee7425c5
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Oct 24 13:42:09 2017 -0400

    Disallow null pixel data for TexSubImage that have non-zero size.
    
    BUG=angleproject:2055
    
    Change-Id: I4c338691776c6d807333c169ed876d686188a97c
    Reviewed-on: https://chromium-review.googlesource.com/735786
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit c9727f31b5093c381a423da8f0ffda85d929aaae
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 7 12:37:07 2017 -0500

    Pass InterfaceBlockLinker to ProgramImpl::link.
    
    This change is in preparation for moving the linking logic to the
    Implementation.
    
    Introduces a ProgramLinkedResources class that is passed into the Impl
    and holds linking-related info such as the UBOs, Varyings, etc.
    
    BUG=angleproject:2208
    
    Change-Id: I2ef0824b54bfb462c79d003bffe34e9cfad60d8a
    Reviewed-on: https://chromium-review.googlesource.com/746204
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit d80f2944cf130684ab0f3d7179572494180e80f4
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Nov 6 12:44:45 2017 +0200

    Struct definition not allowed as function parameter type
    
    Struct definitions are not allowed as a function parameter type now.
    This is specified in ESSL 3.00.6 section 12.10. ESSL 3.00.6 section
    6.1.1 contradicts this, but that seems like a mistake, it's been fixed
    in subsequent spec versions.
    
    BUG=angleproject:2225
    TEST=angle_unittests
    
    Change-Id: I6b97d120c440f0c0a45d31bbfaf292fb497160ce
    Reviewed-on: https://chromium-review.googlesource.com/754606
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 977abce7a24c3b4a9809b58407c97a998439cc8a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 7 08:03:19 2017 -0500

    Refactor interface block linking.
    
    This moves the logic for interface block linking. The new design is
    intended to be flexible enough to be passed into a back-end call to
    ProgramImpl::link. Then, the Impl object can be responsible for both
    filtering out unreferenced interface blocks as well as having access
    to the linked interface block information.
    
    A future change will pass the InterfaceBlockLinker objects (or objects
    when dealing with ES 3.1 and Shader Storage Blocks) to the Impl. This
    will help fix a D3D11 back-end bug where we would need acess to the
    Shader objects to finish a deferred uniform block link.
    
    This should also potentially make it easier for the back-ends to
    determine Shader Storage Block size and properties without defining
    new Impl methods.
    
    BUG=angleproject:2208
    
    Change-Id: Ic5244a808dba44ba1a8c08d9ee701952034d2b18
    Reviewed-on: https://chromium-review.googlesource.com/746203
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit bd3cd506fed7e64ef2f7b46f2ceb2dd757c9b808
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Nov 3 15:48:52 2017 +0200

    Clean up HLSL constructor output
    
    Split generating HLSL struct constructors from generating built-in
    type constructors, as these didn't have much in common. Struct
    constructors are now only generated when they are needed, as opposed
    to before, when they were generated on any use of a struct.
    
    This changes built-in constructor naming to include "_ctor" and gets
    rid of having special built-in type names just for constructors.
    
    This will make it easier to do changes to constructor output, for
    example to add constructors for structs in std140 layout. This might
    be needed to implement SSBOs efficiently.
    
    This includes one bug fix for writing out struct declarations for
    varyings.
    
    Also improves const-correctness of accessing structs through TType
    in general.
    
    BUG=angleproject:2218
    TEST=angle_unittests, angle_end2end_tests
    
    Change-Id: If865fb56f86486b9c4a2c31e016ea16427f4a5fa
    Reviewed-on: https://chromium-review.googlesource.com/753883
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 5b09d90d9cf70df2f357cc2df4bb8f61f243c131
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Nov 6 12:06:24 2017 -0500

    Skip RedefineBufferInUse Vulkan test on Win/Intel.
    
    Also cleans up GenerateWorkarounds a bit for D3D11.
    
    BUG=angleproject:2221
    
    Change-Id: I01667f850051045006d3439406aac3f4d094a374
    Reviewed-on: https://chromium-review.googlesource.com/754915
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a579ded1ef9bdbd7fdf67a7e4105bda8cb53b97e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Nov 6 10:45:45 2017 -0500

    Extend BGRA8 glGetInternalformativ workaround to ES drivers.
    
    Some ES drivers also generate INVALID_ENUM errors when querying this
    format, particuarly on linux Mesa+nouveau.
    
    BUG=angleproject:2219
    
    Change-Id: I7b9cf9b003a0125fabdda63038b4c8941710e1db
    Reviewed-on: https://chromium-review.googlesource.com/754329
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 2585816627e695b4ab20b1b83c7cb0ef546c5a1d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Nov 6 11:25:58 2017 -0500

    Skip several multiview tests on Windows NVIDIA after P400 upgrade.
    
    BUG=angleproject:2228
    
    Change-Id: If1ba74973e0c116e17de8ab77de712e281233d04
    Reviewed-on: https://chromium-review.googlesource.com/753795
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 5e5438fe1c506f48b4c50d8a2f8d64f1a99097d6
Author: Jeff Gilbert <jgilbert@mozilla.com>
Date:   Tue Oct 31 14:44:06 2017 -0700

    Make operator bool() explicit, and remove explicit from move ctors.
    
    Gecko bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1371190
    
    BUG=angleproject:2211
    
    Change-Id: I10b866728a844668de6373c3a0968ea4e8256ff7
    Reviewed-on: https://chromium-review.googlesource.com/747841
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 20c285ecd76f1bc20d83db64ae9dfb16b880de0a
Author: Jeff Gilbert <jgilbert@mozilla.com>
Date:   Tue Oct 31 19:01:09 2017 -0700

    callClearTwiceOnSmallTarget is needed for all sizes.
    
    Gecko bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1325733
    
    BUG=angleproject:2214
    
    Change-Id: I6837a0fbf0bbbd0877f333f0625729445a5999aa
    Reviewed-on: https://chromium-review.googlesource.com/748320
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 1f0b468c4b0303ff6fc0984092d3868490fe5e38
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sun Nov 5 19:56:28 2017 -0500

    StateManagerGL: Fix reserved indexed buffer count.
    
    We were reserving the count of shader resource limits instead of API-
    side binding limits. This fixes a broken dEQP test that was only
    showing up in some device configs. Also add an ASSERT.
    
    See:
    dEQP-GLES31.functional.layout_binding.ubo.fragment_binding_max_array
    
    BUG=angleproject:1920
    
    Change-Id: I993ebc7993cc3cc78e90f74e097c0bbab9d03909
    Reviewed-on: https://chromium-review.googlesource.com/754721
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit ebb1ea2ddccd055a536c5113c67a8e5c5f5df5d8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sun Nov 5 15:23:45 2017 -0500

    Fix dEQP test expectations.
    
    These were broken in 1f4d68d because of a lack of test expectation.
    Also narrow the expectations to the Quadro P400.
    Also add a new GLES3 OpenGL expectation.
    
    Note that putting in a certain configs breaks the GPU test
    expectations logic on Android:
    
    I   20.617s list_tests(01000be22172ac54)    Fail to identify GPU
    I   20.617s list_tests(01000be22172ac54)    [ CRASHED      ]
    
    BUG=angleproject:2222
    
    Change-Id: I783c5e36414a201df64b21c6b7cf8410b2260534
    Reviewed-on: https://chromium-review.googlesource.com/754591
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 1f4d68dbe474a4a060e9c5a669215c9fc4fc94b2
Author: Kenneth Russell <kbr@chromium.org>
Date:   Fri Nov 3 23:33:06 2017 -0700

    Suppress dEQP test failures on Quadro P400.
    
    BUG=angleproject:2222
    TBR=jmadill@chromium.org
    NOTRY=true
    
    Change-Id: Iec2a6b63920e026e78a3f8db58dcf84bb8f5040d
    Reviewed-on: https://chromium-review.googlesource.com/754344
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Commit-Queue: Kenneth Russell <kbr@chromium.org>

commit 2ef23e2d72e7811a607f53ea12e672c3287375bd
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Nov 1 16:39:11 2017 +0200

    Fix writing uniform block maps to HLSL output
    
    HLSL output maps structs in std140 uniform blocks to a different
    layout in order to eliminate padding. The padding may have been
    inserted to comply with std140 packing rules.
    
    There used to be two issues in writing the maps: Sometimes the same
    map could be written multiple times, and the maps were not being
    written for uniform blocks with instance names.
    
    Rewrite how the uniform buffer struct maps get generated so that
    the code works correctly. Instead of flagging accesses, structs inside
    uniform blocks are gathered from uniform block declarations. When
    accesses to structs in uniform blocks are written out in OutputHLSL,
    it's checked whether a mapped struct needs to be used instead of the
    original one.
    
    This code could still be optimized further by limiting mapped structs
    generation to those ones that really need to be used. This is left to
    be done later.
    
    BUG=angleproject:2084
    TEST=angle_end2end_tests
    
    Change-Id: Iee24b3ef15847d2af64554ac74b8e4be5060d18c
    Reviewed-on: https://chromium-review.googlesource.com/751506
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit d255123c63c331bc32402eeeb3ecd18d6b18e97d
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Oct 26 20:03:33 2017 +0300

    Store shader interface variables as per query spec
    
    GLES 3.1 section 7.3.1.1 specifies how active variable entries should
    be generated and how active variables are named. The specs for program
    interface variable queries are built on top of this section.
    
    ANGLE has already followed this spec for the most part for generating
    variable lists in ProgramState, but now we also follow the naming spec
    for arrays and include [0] at the end of the stored name.
    
    This will make implementing arrays of arrays more straightforward.
    Most logic for variable queries will just keep working as is when
    arrays of arrays are added instead of needing more complex logic for
    handling array indexing.
    
    BUG=angleproject:2125
    TEST=angle_end2end_tests
    
    Change-Id: I3acd14253153e10bc312114b0303065da2efb506
    Reviewed-on: https://chromium-review.googlesource.com/739826
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit c67323a9de6415d19344c69fc376c91288f2e124
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 2 23:11:41 2017 -0400

    Squash State dirty bits to below 64.
    
    This will dramatically speed up performance on 64-bit systems due to
    the efficiency of angle::BitSet64. Improves performance of the GL
    back-end on benchmarks quite a bit.
    
    Squashes the Pack and Unpack states together. Also moves the current
    value dirty bits to a single dirty bit, with a separate set for each
    attribute. Also squashes a multisample dirty bit.
    
    Also fixes an incorrect dirty bit in StateManagerGL.
    
    We may want to implement a semi-fast version of BitSet64 for 32-bit
    systems if we find performance is not satisfactory.
    
    BUG=angleproject:2188
    
    Change-Id: I4616782bf75413252ede3e3ac752b9ccdb9aab49
    Reviewed-on: https://chromium-review.googlesource.com/722423
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 1d7be50acf6f02defd767e1c41b4d238fcba7bd5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sun Oct 29 18:06:50 2017 -0400

    Vulkan: Upgrade RGB8 textures to RGBA8.
    
    It's unlikely any real hardware supports this format. Hack in a fixed
    fallback format for RGB8. We could consider implementing conditional
    support by checking the VkPhysicalDevice properties.
    
    This extends the Vulkan format support info in the RendererVk class
    to distinguish between a Buffer and Texture format. This is closely
    related to how Vulkan has separate format support bits for Linear
    Textures, Optimal Textures, and Buffers. We probably won't need to
    keep separate caps for Linear/Optimal, but it makes sense for Buffers
    to eventually use the same format tables.
    
    BUG=angleproject:2207
    
    Change-Id: I8d427a99db15b314b13dd99f31aa1ac5055f0881
    Reviewed-on: https://chromium-review.googlesource.com/742376
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit 7b62cf97d12bc23b4beff1085af677b074f2785b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 2 15:20:49 2017 -0400

    Refactor TextureFormatMap to store an array.
    
    std::map lookups are already showing up as a hot spot during some
    profile trace analysis. We can elimintate these by only doing a
    single switch at the entry point level to convert the GL internal
    format to an internal identifier or type info pointer.
    
    This change doesn't completely fix the hot spot, since now we are
    doing multiple switch statements, but it does remove the std::map
    storage in TextureCapsMap. It replaces it with a flat std::array
    indexed by angle::Format::ID, and gives us the option in the future
    to eliminate all by one switch statement.
    
    This should allow for a faster texture caps implementation in Vulkan.
    
    This also fixes the missing ANGLE format entries for ETC1 compressed
    formats.
    
    BUG=angleproject:2207
    
    Change-Id: I74ea2082e582a6790d5fde90e33246a618a2da0e
    Reviewed-on: https://chromium-review.googlesource.com/742375
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 0741c0f1e0b739ded0ba27a8a519741746c3f611
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 2 12:57:58 2017 -0400

    Add missing reset to GL multi-view dirty bits.
    
    This missing clear was costing quite a bit of performance on any
    use case that called for a lot of state changes.
    
    BUG=angleproject:2188
    
    Change-Id: I98fa6c21728c1655fa9e1019ddc10ccfbdb594d8
    Reviewed-on: https://chromium-review.googlesource.com/722422
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a59fc19f6577837e331e268a656fe155247f76bd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 2 12:57:58 2017 -0400

    Use active textures mask with robust init.
    
    This should speed up clearUnclearedActiveTextures considerably.
    It was showing up as a hotspot when running the aquarium demo with
    the passthrough command decoder.
    
    Also rename the complete textures mask in gl::State to an active
    textures mask, since it includes incomplete textures.
    
    BUG=angleproject:2188
    
    Change-Id: Idf020fc49c1e74f17a8005c3b88516829767b84c
    Reviewed-on: https://chromium-review.googlesource.com/722421
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 6a89d2275b81f25b719be2d09d73dc380daffa0d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 2 11:59:51 2017 -0400

    Vulkan: Refactor format table.
    
    This moves the Vulkan format table to dynamically generated, but
    keeps it easily indexed. Because Vulkan format support is not able
    to be fully determined until runtime, we'll need a dynamic way to
    build the table. The most straight-forward way seems to be to keep
    a copy of the full table in the Renderer. Initializing it once at
    startup makes it a bit slower to init, but saves us from any threading
    shenanigans with lazy init when (and if) we ever support multi-
    threaded Contexts.
    
    BUG=angleproject:2207
    
    Change-Id: Ib1ac879daa562c7ad1a965390be401fa2314e42c
    Reviewed-on: https://chromium-review.googlesource.com/742374
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit d10cf69e815fe0d1e6d92e7a035f42768c899c48
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Nov 2 11:06:14 2017 +0200

    Remove repeated "success" check from compileTreeImpl
    
    This refactoring simplifies the compilation code by putting AST checks
    and simplification into a separate function. This function will
    immediately return false when an error is encountered. This is easier
    to maintain than repeated checking of a "success" boolean.
    
    BUG=angleproject:2068
    TEST=WebGL conformance tests, angle_unittests, angle_end2end_tests
    
    Change-Id: I1ae1c8def3625ada1482104a6babe605405229ef
    Reviewed-on: https://chromium-review.googlesource.com/750085
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 58f67be0cfdf8e5c76246068f28fadbf3f606fa0
Author: jchen10 <jie.a.chen@intel.com>
Date:   Fri Oct 27 08:59:27 2017 +0800

    ES31 program query: support AtomicCounterBuffer and UniformBlock
    
    Calculates atomic counter buffer's shader reference according to its
    child counters.
    Merges GL_UNIFORM_BLOCK_* queries to GL_*.
    Refreshes deqp_gles31_test_expectations.
    
    BUG=angleproject:1920
    TEST=angle_end2end_tests:ProgramInterfaceTest*
         dEQP-GLES31.functional.state_query.program.active_atomic_counter_buffers_get_programiv
         dEQP-GLES31.functional.layout_binding.ubo.*
    Change-Id: Ia23ddfef5f5dd7e15628f4c259273e1c01c14d80
    Reviewed-on: https://chromium-review.googlesource.com/715436
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit a8b73ed051e1c8aa684233eca7a2600d00067451
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 2 09:22:29 2017 -0400

    Add a meta-script to run code generators.
    
    This script calls all the various GL and back-end python scripts to
    generate our internal format tables and entry points, etc. It uses
    a GYP-like scheme of inputs/outputs to check modified time before
    running the generators. It also will automatically call 'git cl
    format' if any generator was called.
    
    Also updates the copyright in a couple of touched files.
    
    BUG=angleproject:2207
    
    Change-Id: I4187a7622accc1c97a8d779b8f87fe00b74855ea
    Reviewed-on: https://chromium-review.googlesource.com/742372
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 5ca5c65c8d6de87d82f78f65b486280ec237131e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Oct 27 17:29:54 2017 -0400

    Pass offsets to base validation for CompressedSubTexImage3D.
    
    BUG=angleproject:2216
    
    Change-Id: I54716fe7ba08a19d5f4c3287701cffc650adb2d8
    Reviewed-on: https://chromium-review.googlesource.com/742504
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit e1f3ad4d886cd997e5c343bb4b940daae7961f13
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Oct 28 23:00:42 2017 -0400

    Vulkan: Add vk::GetImpl helper.
    
    Using reflection helpers, we can avoid having to pass the return
    type to the GetImpl method.
    
    BUG=angleproject:2200
    
    Change-Id: Id160fbdf0ea8b3de2f219d3cc92394c678189a48
    Reviewed-on: https://chromium-review.googlesource.com/742371
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 7bd166668f8c90216f8db85254cfd420134503fc
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Oct 28 19:40:50 2017 -0400

    Vulkan: Allow in-flight Framebuffer changes.
    
    This allows the app to alter Framebuffer attachments while there
    are existing command buffers using the resources and attachments.
    
    BUG=angleproject:2200
    
    Change-Id: I3298dafef5e3bd2c6efda8e8a32a6cf7febc13dc
    Reviewed-on: https://chromium-review.googlesource.com/742370
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 640d597d88906f10d187235447309ba38c6705b6
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Nov 2 10:37:31 2017 +0200

    Add missing check in Compiler
    
    Further AST traversals should not be run in case the expression
    complexity check failed and set success=false. Otherwise traversal
    can result in stack overflow.
    
    BUG=chromium:780545
    TEST=WebGL conformance tests
    
    Change-Id: Icfde8c051038c691563e199a6d3a17b1e8e5ebf5
    Reviewed-on: https://chromium-review.googlesource.com/750781
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 4ef250333c5c56a6f23b77fb0752312c5efe6975
Author: jchen10 <jie.a.chen@intel.com>
Date:   Wed Nov 1 09:36:51 2017 +0800

    Refactor StaticallyUsed
    
    Gather vertexStaticUse, fragmentStaticUse, and computeStaticUse
    into a new mixin class StaticallyUsed, from which various
    program resources can inherit to track their shader references.
    
    BUG=angleproject:1920
    Change-Id: Ibb3c0fe035bb8789aad65dbdfefaf7cb17b64c4e
    Reviewed-on: https://chromium-review.googlesource.com/748317
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 2348e21ad77501c23f2d10d96d7e0aa2a37212b6
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Sep 27 17:46:25 2017 -0400

    Make GL_OES_get_program_binary enableable.
    
    BUG=angleproject:1523
    
    Change-Id: Iad002e8cbc354b9a9d08a30ba57a293f889ecffb
    Reviewed-on: https://chromium-review.googlesource.com/688640
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit b8d2664fe9effff309c1053da9b79511e6f1fe4f
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Fri Oct 27 18:14:14 2017 -0400

    Run angle_perftests on GLES backend
    
    Adds OPENGLES_NULL configuration
    and selects between OPENGL and OPENGLES based on whether building for Android.
    
    Also 2 small changes to get the newly enabled tests to pass on N5X:
    1. Require GL_EXT_texture_storage in TexSubImage test
    2. Limit numVertexUniforms and numFragmentUniforms to 64 in MatrixUniforms test
    
    BUG=675997
    Change-Id: I5439e5fb7e93b3a928f12594761115d56f60d81b
    Reviewed-on: https://chromium-review.googlesource.com/748522
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 526543cb0065819701b604d7b1253c6a6334cc8a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Oct 28 10:59:16 2017 -0400

    Vulkan: Fix deleting in-use Framebuffer.
    
    BUG=angleproject:2200
    
    Change-Id: I13d661b690a6a9e67b3e8a27f9d7bd4126dca87f
    Reviewed-on: https://chromium-review.googlesource.com/742749
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 86f8116ba2b63a3fef2eef0f0a5b6d0853022e23
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Oct 30 15:10:45 2017 -0400

    Make compressed texture format extensions enableable.
    
    Fix allowing CompressedTexSubImage calls on ETC1 texture types
    (disallowed in the extension spec).
    
    BUG=angleproject:1523
    
    Change-Id: Ic90175ff4626da0170b6c94f204a9d31fd0154a7
    Reviewed-on: https://chromium-review.googlesource.com/744443
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 1b038241f36e00d69e994447c21ed1835ae6b623
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 1 15:14:36 2017 -0400

    Vulkan: Support Texture redefinition.
    
    Because initializing the texture can queue a copy from a staging
    vk::Image, we must ensure we're not in a render pass. To make this
    easier we move the current render pass tracking into the RendererVk
    from the FramebufferVk class. (Note: in the future we will have
    deferred command submission and this will become unnecessary.)
    
    BUG=angleproject:2200
    
    Change-Id: Ide8d4d70b50efbd79bbfa7006ad75cbc57cdf4c7
    Reviewed-on: https://chromium-review.googlesource.com/741549
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 91ab54b61d3d9c276b9972a2e2bef16db7ce6b6c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Oct 30 15:12:42 2017 -0400

    Make ANGLE_texture_usage enableable.
    
    BUG=angleproject:1523
    
    Change-Id: I4e6e4ec6ae7cfb616869373b62dc455d0c5c8c09
    Reviewed-on: https://chromium-review.googlesource.com/744444
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 8724e2549a83d219d00faf73942840725d1e6952
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Oct 28 10:44:40 2017 -0400

    Vulkan: Fix re-creating buffer storage.
    
    BUG=angleproject:2200
    
    Change-Id: Id60e857517cce9c0bfa272e4e6a399f236e395f7
    Reviewed-on: https://chromium-review.googlesource.com/741548
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 096f278e82859af2a81f1d064f6c6ba2b19455a5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Oct 28 10:44:40 2017 -0400

    Introduce SimpleStateChangeTests.
    
    BUG=angleproject:2200
    
    Change-Id: I5bf2305a6d98f16c3c2677d1c81b8285fa7ba3f9
    Reviewed-on: https://chromium-review.googlesource.com/737559
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 25301b603159d19eaadc3ceb5d6cc52de6a95d20
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Oct 28 20:59:31 2017 -0400

    Remove WrappedObject::retain.
    
    With resources being mostly deleted by the Renderer along with a
    serial number, the retain move semantics weren't very useful.
    
    Refactoring change only.
    
    BUG=angleproject:2200
    
    Change-Id: I7b72b1decfa7604cdd767e7d9b5213b9383eb240
    Reviewed-on: https://chromium-review.googlesource.com/742369
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 4751aabb7614b9a4057db9409def5e91eb4cb275
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Oct 30 15:14:52 2017 -0400

    Fix minor issues with ANGLE_texture_rectangle.
    
     * Some texture parameters were not initialized correctly.
     * Binding points were not created for enableable texture extensions.
    
    BUG=angleproject:1650
    BUG=angleproject:1523
    
    Change-Id: Id3436fe1dbb4069eafad97e722ac519a6b59e5db
    Reviewed-on: https://chromium-review.googlesource.com/744446
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit d78e33a8da3130f424a10c6053dad05a010beb6e
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Oct 30 12:33:52 2017 -0400

    preprocessor: Fix lineno overflow on line continuations
    
    BUG=chromium:774807
    
    Change-Id: I4b3fbee31683f411810080572cfff0f8307b93bf
    Reviewed-on: https://chromium-review.googlesource.com/744183
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 3590555ddbda4b55ed27bb9f898f477290ef4cfe
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Nov 1 10:27:09 2017 -0400

    Revert BGRA renderability change for ES drivers.
    
    While these should be supported on ES drivers, ANGLE's texture format
    caps generation does not correctly differentiate between renderbuffer
    and framebuffer attachment formats and leads to assertion failures.
    
    BUG=779346
    BUG=angleproject:1523
    
    Change-Id: I9a49abdf52ae8b1ef91f88a4434ff8c3f95b025b
    Reviewed-on: https://chromium-review.googlesource.com/748888
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 63458a3ed8190a995eb977addbdda9e5e11ba9d1
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Oct 30 15:16:53 2017 -0400

    CopyTextureCHROMIUM: Validate the texture target enums first.
    
    INVALID_ENUM should be generated before any INVALID_VALUE errors based
    on the texture state.
    
    BUG=angleproject:1932
    
    Change-Id: If74440602d56b1a86fa24ff87c38d2b0dec2bfb2
    Reviewed-on: https://chromium-review.googlesource.com/744448
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 206a58d1fbc7125d32b1ab3abe7993f6d0818573
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sun Oct 29 11:11:29 2017 -0400

    Slight reformat to ANGLE format table.
    
    Refactoring change only.
    
    BUG=angleproject:2207
    
    Change-Id: Id05972d2084f3254745cbf55d1b7577306020466
    Reviewed-on: https://chromium-review.googlesource.com/742373
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit e88ec8eed5a448b9fc470a6684c93f24404c7e89
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Oct 31 17:18:14 2017 -0400

    Vulkan: Refactor GarbageObject.
    
    Instead of allocating a small bundle for deferred deletion, store a
    small triple of {Serial,VkHandle,HandleType}. The HandleType can be
    used in a generic way to release the VkHandle, without needing to
    store a pointer and use a virtual call.
    
    BUG=angleproject:2200
    
    Change-Id: I30925c2f50fd11dafb1b986ced7d279a7dde827b
    Reviewed-on: https://chromium-review.googlesource.com/741163
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit c1f14fbea92bcf267d39cbce937b993913dc6578
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Sat Oct 28 19:17:23 2017 +0300

    Remove empty switch statements from translated shaders
    
    The native HLSL compiler does not accept switch statements with an
    empty statement list. The simplest way to accommodate this is to
    simply remove them from the AST after parsing and some initial
    pruning.
    
    This is done by the new RemoveEmptySwitchStatements traverser. It
    preserves init statements of switch statements in case they have side
    effects. So for example
    
    switch(++i) {}
    
    gets translated to
    
    ++i;
    
    BUG=angleproject:2206
    TEST=angle_end2end_tests
    
    Change-Id: I550a3c9b010a3566016bdfd93344ac30fd860604
    Reviewed-on: https://chromium-review.googlesource.com/742922
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit b8ee9dd35e6033293bd0644a010a5e3e2e7b484b
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Oct 30 12:43:27 2017 +0200

    Validate empty statements in switch statements
    
    Even an empty statement like ";" is a statement according to the
    grammar. They should not be allowed in switch statements before the
    first case statement, but on the other hand a switch statement that
    has just an empty statement after the last statement is valid.
    
    Now the parser creates AST nodes from empty statements so that we can
    validate switch statements correctly. However, they are pruned shortly
    after parsing completes in PruneNoOps, so they don't affect further
    processing of the AST.
    
    BUG=angleproject:2181
    TEST=angle_unittests
    
    Change-Id: I1085056fc34b146142546fc5f2b7f3124b910ab9
    Reviewed-on: https://chromium-review.googlesource.com/743621
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 1b605ee345902554c2ff1f747cb9360d286e664c
Author: Jeff Gilbert <jdashg@gmail.com>
Date:   Mon Oct 30 18:41:46 2017 -0700

    Use "python2" instead of undifferentiated "python".
    
    BUG=angleproject:2209
    
    Change-Id: I5a7a667d90160fe68a9dcf7bff5fc2dc62795270
    Reviewed-on: https://chromium-review.googlesource.com/745861
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 2c5c41f9b573e47483ed5cbec085c87b5298f4c9
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Oct 31 10:58:09 2017 -0400

    Skip WebGLCompatibilityTest.InvalidTextureFormat on Ozone.
    
    Attempting to figure out why the Linux Ozone (Intel) is failing.
    
    BUG=779346
    
    Change-Id: I94bb50f0b7746c90fe31ea1a9107319864d85438
    Reviewed-on: https://chromium-review.googlesource.com/746372
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit d922775b61373ec780c578483c8eeaf38e24d8f9
Author: Jiang <yizhou.jiang@intel.com>
Date:   Thu Oct 19 16:23:07 2017 +0800

    Clean up passed end2end tests on Intel Windows platform
    
    Intel driver has released its latest versions, many intel driver bugs are fixed.
    This patch cleans up end2end test cases skipped on windows 10 and windows 7.
    The test environment is as follows,
    Hardware: Skylake(HD 530), Kabylake(HD 630)
    Driver version: 4815, 4821
    OS: windows 10(15063), windows 7.
    
    BUG=angleproject:2205
    
    Change-Id: Iae14763aa86a572da1221e9ea35b28da2561d3b0
    Reviewed-on: https://chromium-review.googlesource.com/729549
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 6bb4f501f6789dc738421961d88f3c48c11a2d9f
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Oct 31 14:54:00 2017 +0200

    Fix MSVS 2015 compilation of tests
    
    "GLenum" needs to be prefixed to disambiguate between global GLenum
    and sh::GLenum.
    
    TEST=compile with MSVS 2015
    
    Change-Id: I31a13c8d410bf32c4d5114c03f4b119aae256778
    Reviewed-on: https://chromium-review.googlesource.com/746761
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 722bfb51d59188ee086839b69e00296b2d5d2da3
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Oct 26 17:00:11 2017 +0300

    Fix detecting duplicate field names in structures
    
    Previously field names that were listed in the first declarator list
    inside a struct declaration were not checked against each other.
    
    BUG=angleproject:2204
    TEST=angle_unittests
    
    Change-Id: Ibf821d45556f6dfe0223dae673644f6795daf4cb
    Reviewed-on: https://chromium-review.googlesource.com/739825
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 9088557fe47e0ce1487b248b60acbc740acd7801
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 30 20:43:38 2017 -0400

    D3D11: Fix dirty current value updates.
    
    Fixes a bug where subsequent updates to a "current value" (disabled)
    Vertex Attribute would not trigger the state change to D3D11 such that
    the updated buffer handle would be applied to D3D11. Also adds a test
    to cover the problem case.
    
    This bug was introduced in 2bc947334cad:
    "D3D11: Minor optimizations to vertex attribute application."
    
    BUG=chromium:779675
    BUG=angleproject:1155
    
    Change-Id: Ib0447231fb6969e7dad1e1e576315cab91acf4f4
    Reviewed-on: https://chromium-review.googlesource.com/744924
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d84a00b9ddadeb6a8f852a2a674c281405f759ff
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Oct 27 17:27:26 2017 -0400

    Make GL_OES_rgb8_rgba8 enableable.
    
    Allow unsized RGB/UNSIGNED_BYTE without the rgb8rgba8 extension.
    
    BUG=angleproject:1523
    
    Change-Id: Ic7b4236c7b8389952b093719f26840ea2bbd01bf
    Reviewed-on: https://chromium-review.googlesource.com/742501
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 163965d5ce2b333f4a017e542b43d5426de96453
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Oct 11 11:38:55 2017 -0400

    BUILD.gn: prepare dEQP test support on Mac
    
    BUG=angleproject:1569
    
    Change-Id: I703f4739726c849950ba103049fa39498a4ff1df
    Reviewed-on: https://chromium-review.googlesource.com/744361
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit e7c5f4f05c8781d79c79ce1e13204b34df3f5081
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 30 07:16:43 2017 -0400

    Fix compilation on mips devices.
    
    We need to include stddef explicity for size_t.
    
    BUG=angleproject:2167
    
    Change-Id: I66e75b8d29e94aa9b8427e39827a0267649bb0ec
    Reviewed-on: https://chromium-review.googlesource.com/743702
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 660b28cca9a45aa5c664f128555441aff9b68e1f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Oct 30 12:58:56 2017 -0400

    Disable WebGL texture_rg tests on all OpenGL ES.
    
    BUG=angleproject:1523
    BUG=779346
    
    Change-Id: I019597bea3f17f178d584b8a6f070d0640511781
    Reviewed-on: https://chromium-review.googlesource.com/743852
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 55bc905f0ffc93b3a851f0a8d2030aa7689999d4
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Oct 25 17:33:06 2017 +0300

    Always consider type arrayness for atomic counters
    
    Atomic counter arrays may be declared with various different syntax -
    the array size may be declared as a part of the type or as a part of
    the declarator. Take this into account when determining whether atomic
    counter offsets overlap.
    
    BUG=angleproject:1729
    TEST=angle_unittests
    
    Change-Id: I7435ded9401c4c1caab22c22d83fd2ad301df768
    Reviewed-on: https://chromium-review.googlesource.com/738140
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 87c358839ccde050baa73185a201779a1cd73e84
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Oct 19 15:19:38 2017 +0300

    Prune no-op statements with a single traverser
    
    We put pruning literal statements and pruning empty declarations in
    the same traverser, as some of the required logic is the same. This
    pruning of no-ops is always done as one of the first processing steps
    after parsing, so further processing of the AST is simpler.
    
    Since we now prune pure literals before removing no-op cases from the
    end of switch statements, we also don't need any sort of special
    handling for switch statements in pruning pure literals.
    
    BUG=angleproject:2181
    TEST=angle_unittests
    
    Change-Id: I2d86efaeb80baab63ac3cc803f3fd9e7ec02908a
    Reviewed-on: https://chromium-review.googlesource.com/727803
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 65c56dd941962c7dbb919e7e474fef7bfe8eb496
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Fri Oct 13 16:18:57 2017 +0800

    Fix incorrect hashing on built-in interface block fields
    
    This patch intends to fix an error in translating built-in interface
    block fields. Any field of a built-in interface block should be kept
    and cannot be hashed.
    
    This patch can fix a bug in handling the interface block gl_in when
    we try to output the translated geometry shader string.
    
    BUG=angleproject:1941
    TEST=angle_unittest
    Change-Id: Iebfba4b6a30c8942ed0f66131ad30d12ad96c62a
    Reviewed-on: https://chromium-review.googlesource.com/719454
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 2a35741bd1976339df3b63a0e0dfb323fd33ac40
Author: Bryan Bernhart (Intel Americas Inc) <bryan.bernhart@intel.com>
Date:   Tue Sep 5 10:42:47 2017 -0700

    WebGLCompatibility: Disable ES format extensions by default.
    
    Prevents format validation errors with WebGL context.
    
    BUG=angleproject:1523
    
    Change-Id: Iddc525eeb467de0139e166dad0893f3bea3ef35f
    Reviewed-on: https://chromium-review.googlesource.com/650807
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit aa9c396b7996a9629c0884312bcd1142ad294957
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Oct 27 14:54:39 2017 +0000

    Revert "BUILD.gn: prepare dEQP test support on Mac"
    
    This reverts commit 4b8b650c8e4586c14466faa9527175755860cd6b.
    
    Reason for revert: causes build failure on the Mac dEQP builder.
    
    Original change's description:
    > BUILD.gn: prepare dEQP test support on Mac
    >
    > BUG=angleproject:1569
    >
    > Change-Id: I77aa55d28b884fa648ff52aedddf3a23fe6e4a8c
    > Reviewed-on: https://chromium-review.googlesource.com/713194
    > Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    > Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    
    TBR=fjhenigman@chromium.org,jmadill@chromium.org,cwallez@chromium.org
    
    Change-Id: Idc08cf12294505600890d1c6e43f62c0261631a5
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:1569
    Reviewed-on: https://chromium-review.googlesource.com/741881
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit ca68d9886ff2c204a7ed8fd85ea6750a02846562
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Mon Sep 18 16:41:56 2017 +0800

    ES31: Add std430 support for OpenGL backend
    
    BUG=angleproject:1920
    TEST=angle_unittests
    
    Change-Id: Ie8e171abec053c2c5dca93d6e79db534f74520e7
    Reviewed-on: https://chromium-review.googlesource.com/737532
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 4ddae3598ace53662bee76250ba88be51bc53812
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Oct 26 16:20:18 2017 +0300

    Use array_specifier in struct declarator parsing
    
    This will make implementing arrays of arrays simpler for struct
    members as well. Similar refactoring was already done for other types
    of array declarations.
    
    BUG=angleproject:2125
    TEST=angle_unittests
    
    Change-Id: I0483c3a7c006d37090c7c972cb3d7763d3909c8f
    Reviewed-on: https://chromium-review.googlesource.com/739824
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 9cd7163e11c7d2b7582190eb8987a743239bf522
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Oct 26 14:43:20 2017 +0300

    Fix setting array sizes on a constructor
    
    Take any array sizes that have been explicitly specified in the shader
    text into account, and only set the ones that are unsized according to
    the arguments.
    
    BUG=angleproject:2125
    TEST=angle_unittests
    
    Change-Id: I37d08a86c25f7cd4f3ce5689f2c9fad444e7d5ad
    Reviewed-on: https://chromium-review.googlesource.com/738141
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 4b8b650c8e4586c14466faa9527175755860cd6b
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Oct 11 11:38:55 2017 -0400

    BUILD.gn: prepare dEQP test support on Mac
    
    BUG=angleproject:1569
    
    Change-Id: I77aa55d28b884fa648ff52aedddf3a23fe6e4a8c
    Reviewed-on: https://chromium-review.googlesource.com/713194
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 454c34cb56d9e074553558b25b7a05a2e3350cdf
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Oct 25 16:35:56 2017 +0300

    Accept valid geometry shader inputs regardless of syntax
    
    Before, only the following style of declarations were accepted:
    
    in float f[];
    
    Now also these styles are accepted:
    
    in float[] f;
    in float f[], g[];
    
    BUG=angleproject:2201
    TEST=angle_unittests
    
    Change-Id: I0af7d355a5e06a67ceef2d6bd69af7e23c180a04
    Reviewed-on: https://chromium-review.googlesource.com/738234
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 335d8bf2f2220d6dc2f3f821f587c04ee5223fa1
Author: Bryan Bernhart (Intel Americas Inc) <bryan.bernhart@intel.com>
Date:   Mon Oct 23 15:41:43 2017 -0700

    WebGLCompatibility: Fix shader validation using define macros.
    
    Backslash as line-continutation character is not permitted to be used
    within a pre-processor directive for WebGL1.
    
    BUG=angleproject:2093
    
    Change-Id: I649a914b9bc544a3e4f9e7eff23b95a62c9b7008
    Reviewed-on: https://chromium-review.googlesource.com/734218
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Bryan Bernhart <bryan.bernhart@intel.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c4f1dd83ffb1a52f29d7ddcf0082905e2f231966
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Wed Oct 25 17:02:29 2017 -0400

    Use angle::BitSetIterator optimizations on arm64 as well
    
    Previously were enabled only on x86_64.
    Also change from using target_cpu to current_cpu, as the doc recommends.
    
    BUG=angleproject:1814
    
    Change-Id: Ia7e8e930c76aab5cfb47b75e0ec78902ab313237
    Reviewed-on: https://chromium-review.googlesource.com/737438
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit b79e7bb691ae93f576837ffbaa85e30dda36054a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Oct 24 13:55:50 2017 -0400

    Vulkan: Implement simple render-to-texture.
    
    This was mostly working already, just needed to set up a few entry
    points.
    
    BUG=angleproject:2200
    
    Change-Id: I9c13d6d4dd42f23c69a58e42e07e3e28877671a1
    Reviewed-on: https://chromium-review.googlesource.com/734237
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit 971f85084c6f7751a536bf0a2a57c514582b7690
Author: Xinghua Cao <xinghua.cao@intel.com>
Date:   Tue Oct 17 13:01:24 2017 +0800

    Implement get compute work group size for glGetProgramiv
    
    BUG=angleproject:2187
    TEST=dEQP-GLES31.functional.state_query.program.compute_work_group_size_get_programiv
    
    Change-Id: Ic09153ffccfb207e37ad70cf7e14714be987e7e1
    Reviewed-on: https://chromium-review.googlesource.com/722178
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 55bde9169a177761d207af363da7584d1bae1e16
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Oct 25 13:41:13 2017 +0300

    Parse array specifier with a separate grammar rule
    
    This brings the grammar closer to the GLSL ES 3.10 spec.
    
    Some corner cases related to handling unsized arrays are fixed.
    
    BUG=angleproject:2125
    TEST=angle_unittests, angle_end2end_tests
    
    Change-Id: I9bcf87b17b97da0e2ec2954d32037c272fde3080
    Reviewed-on: https://chromium-review.googlesource.com/738233
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit f7480ad2e5781a30c2341ad4aaa361502af96456
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Oct 24 11:46:02 2017 -0400

    D3D11 FL 10: Create cubemap SRVs as cube maps instead of 2D arrays.
    
    The creation of these SRVs would fail and spew D3D11 runtime errors.
    
    BUG=angleproject:2171
    
    Change-Id: I80b6390822f74128b3443db7b6d48c4d318ec34d
    Reviewed-on: https://chromium-review.googlesource.com/735745
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 3d40488b6a769aac6ac19f6540d1866e5fb276da
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Mon Oct 16 13:30:48 2017 +0800

    Split varyings into input and output varyings in renderer
    
    This patch intends to split all vector<Varying> into two vectors
    to store input and output varyings separately in the renderer.
    
    This patch is a base of supporting program linking with geometry
    shader. Unlike the vertex shaders (their outputs are varyings)
    and fragment shaders (their inputs are varyings), the inputs and
    outputs of geometry shaders are all varyings, so we need two
    vector<Varying> to store them correctly.
    
    BUG=angleproject:1941
    TEST=angle_end2end_tests
    
    Change-Id: Ic4b8343f2fc3df87b764c45f2ea7810e565f7bee
    Reviewed-on: https://chromium-review.googlesource.com/720617
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit d4556dfc355a06b73d3ad64f2fea03f5aa0b1693
Author: Kai Ninomiya <kainino@chromium.org>
Date:   Wed Sep 27 16:45:22 2017 -0700

    Reland 'Adds TUnorderedMap and uses it for tLevel in TSymbolTableLevel.'
    
    Reland of https://crrev.com/c/526672
    
    Bug: 697758
    Change-Id: I410e4774c4ad85595eb8789603901878b209c857
    Reviewed-on: https://chromium-review.googlesource.com/688296
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Kai Ninomiya <kainino@chromium.org>

commit 54118be673602e7936a566d16185ed311e700ac2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Oct 24 09:20:14 2017 -0400

    Add script to generate GN/MSVS projects.
    
    BUG=angleproject:1569
    
    Change-Id: I0e47720d17cd1a29603e471482cac31d4c281ee5
    Reviewed-on: https://chromium-review.googlesource.com/735059
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 8e4b355b19e8e1dd96586c313fe734814f515709
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Wed Aug 30 14:20:58 2017 +0800

    ES31: Implement Geometry Shader inputs and outputs
    
    This patch intends to implement Geometry Shader inputs and
    outputs in ANGLE GLSL compiler.
    
    1. Only accept arrays as the inputs of a Geometry Shader.
    2. Allow unsized arrays as the inputs of a Geometry Shader after a
       valid input primitive declaration and assign size to them.
    3. Implement Geometry Shader outputs.
    4. Allow Geometry Shader inputs and outputs using interpolation
       qualifiers ('flat', 'smooth', 'centroid').
    5. Allow using 'location' layout qualifier on Geometry Shader inputs
       and outputs.
    
    BUG=angleproject:1941
    TEST=angle_unittests
    
    Change-Id: Ia7e250277c61f45c8479437b567c2831ff26b433
    Reviewed-on: https://chromium-review.googlesource.com/650211
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 73e4fde624094a23584d2ff54de0c971686ffecd
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Oct 24 11:09:38 2017 +0300

    Mention DEPOT_TOOLS_WIN_TOOLCHAIN=0 in DevSetup
    
    This is helpful for non-googlers. It wasn't previously mentioned on
    the page or other directly linked documentation.
    
    BUG=angleproject:1944
    
    Change-Id: I9c1db2c3cc9ec8ff32c4ac22edac2a07412e56cb
    Reviewed-on: https://chromium-review.googlesource.com/735341
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 283c2194dc1433cb6b543d89a844fd74590b704e
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Oct 23 17:11:50 2017 +0300

    Support arrays of arrays in UseInterfaceBlockFields
    
    This can be tested more fully once parsing arrays of arrays will be
    supported.
    
    BUG=angleproject:2125
    
    Change-Id: I89c8f33b8cca5d6f5aa3f20aab23dccac53a956f
    Reviewed-on: https://chromium-review.googlesource.com/733128
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit e7c2857dbe8835cc38faba90805918cb625c00f1
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Oct 23 16:29:33 2017 +0300

    Clean up direct access of ShaderVariable::arraySize
    
    This change is pure refactoring. It's intended to help with adding
    support for arrays of arrays.
    
    BUG=angleproject:2125
    TEST=angle_unittests
    
    Change-Id: I82881a98c3c476fd6666a551ce6be255ae0de4cf
    Reviewed-on: https://chromium-review.googlesource.com/733127
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 940c48b2799184a2f921e375011b21767478698a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 23 23:25:17 2017 -0400

    Add rc.exe hook to DEPS.
    
    This is necessary to build Windows ANGLE with the hermetic Win SDK.
    
    BUG=angleproject:1569
    
    Change-Id: Ic2c0aac6cab8d1a20f0bca8aea55418fe7defdc5
    Reviewed-on: https://chromium-review.googlesource.com/734980
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 138cf5e0005461e56a0c1b8ad619008e74309ce1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 23 22:52:12 2017 -0400

    Roll chromium/src/build.
    
    Includes the new script to generate a Visual Studio "meta" solution.
    
    BUG=angleproject:1569
    
    Change-Id: I6760b2fb26f588117cd310afc7f92e9b4571a89c
    Reviewed-on: https://chromium-review.googlesource.com/734709
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 5547b3840d46cf77d088ff68e3dd7673ee3e9efd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 23 18:16:01 2017 -0400

    Vulkan: Implement simple static textures.
    
    After this change, the SimpleTexture2D sample mostly runs.
    
    BUG=angleproject:2167
    
    Change-Id: Ie6d56f890b1aede329e11d1e987d0f8c17a2d0b4
    Reviewed-on: https://chromium-review.googlesource.com/720072
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit cc4ce4a2dd60a80d31951368e8ba428bcfece7d2
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Oct 23 16:40:12 2017 -0400

    Don't initialize textures on SubImage calls if the whole image will be filled.
    
    BUG=angleproject:2107
    BUG=angleproject:2196
    
    Change-Id: I3e7e78bfc64f1683921af2e48fe20c7be0b85af3
    Reviewed-on: https://chromium-review.googlesource.com/734228
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 815a6c9ae51779d616bed4111c19477d44e5d957
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Oct 21 14:33:04 2017 -0400

    Vulkan: Fix copyImage region parameters.
    
    In cases where we were reading back more than one pixel in ReadPixels,
    and in some cases for texture init, we weren't using the correct
    parameters to vkCmdCopyImage. This CL fixes both of those by using
    more correct copy regions, and fixing the row and depth pitch
    computation using vkGetImageSubresourceLayout.
    
    BUG=angleproject:2167
    
    Change-Id: Ib70217ed4a17be6b4b1b8aeec9a8a6199d210d88
    Reviewed-on: https://chromium-review.googlesource.com/732190
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 8df717350430c658b608519482a69453d4b352b4
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Oct 20 16:57:09 2017 -0400

    D3D9: Perform the MAD operation AFTER pre/unmultiply logic.
    
    The multiply/add uniforms are to mask the output of the shader based
    on the destination format.  The pre/unmuliply logic should be performed
    on the source data without masking applied.
    
    TEST=conformance/textures/canvas/tex-2d-rgb-rgb-unsigned_byte.html
    
    BUG=angleproject:2192
    
    Change-Id: I6e5f29a7d56e18bd1a81ff56500edb4c6b55eb55
    Reviewed-on: https://chromium-review.googlesource.com/730494
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 56ff3ce2f11909a6982f7b6dd42beb920a938058
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Oct 20 16:52:42 2017 -0400

    D3D9: Implement the CPU-copy path for CopyTextureCHROMIUM.
    
    This path is hit for LUMA formats.
    
    Only copy from storage to image when the storage is renderable,
    otherwise it already has up-to-date data.  D3D9 cannot sync storage to
    image without it being renderable.
    
    Commit the region after CPU copies to make sure everything is
    synchronized afterwards.
    
    TEST=conformance/textures/canvas/tex-2d-luminance_alpha-luminance_alpha-unsigned_byte.html
    
    BUG=angleproject:2192
    
    Change-Id: I74ff748bd051a52cf472ca7ff77f54dfb5ba65b9
    Reviewed-on: https://chromium-review.googlesource.com/730493
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit b1fa7d7467dbd01c555827fd2f9e781b3493af0a
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Oct 23 14:25:18 2017 -0400

    Fix -Wnon-virtual-dtor warning in DispatchTableGL
    
    BUG=angleproject:2188
    
    Change-Id: Ie229057f3338efc78d20b05edd0fcbdcc9735dda
    Reviewed-on: https://chromium-review.googlesource.com/733785
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit de03e003b4de8060ff49a681a2ab2ca7849feb38
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Oct 21 14:04:20 2017 -0400

    Vulkan: Add shader handling for textures.
    
    BUG=angleproject:2167
    
    Change-Id: I33940288331a23b940753795e5e43b8cabcb87f5
    Reviewed-on: https://chromium-review.googlesource.com/732189
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 89a69a039bff2b7ab6edfa3500148a6d6bdd2fab
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Oct 23 12:20:45 2017 +0300

    Generate performance warnings in HLSL translation
    
    Generate performance warnings for some code that undergoes heavy
    emulation when translated to HLSL:
    1. Dynamic indexing of vectors and matrices.
    2. Non-empty fall-through cases in switch/case.
    
    The warnings are generated only when code is translated to HLSL.
    Generating them in the parsing stage would add too much maintenance
    burden.
    
    Improves switch statement fall-through handling in cases where an
    empty fall-through case follows a non-empty one so that extra
    performance warnings are not generated.
    
    BUG=angleproject:1116
    
    Change-Id: I7c85d78fe7c4f8e6042bda72ceaaf6e37dadfe6c
    Reviewed-on: https://chromium-review.googlesource.com/732986
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 4cd889ec0f2278eebd13a1cc1e88f12346bf4c49
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Oct 20 11:19:57 2017 +0300

    Remove unnecessary work from VariablePacker
    
    The VariablePacker does not check the staticUse flag, variables should
    be pre-filtered according to their staticUse flag before passing them
    to CheckVariablesInPackingLimits if that's desired.
    
    The names of the variables are also not relevant to the packing. We
    keep the "name" field to make the code easier to debug, but updating
    the mappedName is not useful.
    
    This will make implementing arrays of arrays simpler.
    
    BUG=angleproject:2125
    TEST=angle_unittests
    
    Change-Id: I5ce91885f6478ad436e6fa60ca9675e161d10256
    Reviewed-on: https://chromium-review.googlesource.com/730104
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 6d94f064ae70479484f3435ad5fa2611992a3b81
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Oct 21 22:19:40 2017 -0400

    Add more complete NULL driver for the GL back-end.
    
    This implements a NULL driver in OpenGL by stubbing out most of the
    GL functions in FunctionsGL except a few static "Gets" that are needed
    for initialization with Chromium and the tests. It is intended to be
    used for performance testing ONLY and will not have correct behaviour.
    
    It also adds a define to enable conditionally excluding the null entry
    points for implementations that wish to save on a bit of binary size.
    
    Also fixes some of the typedefs in functionsgl_typesdefs.h that were
    turned up after implementing the direct assignment from NULL stub
    entry point, generated from gl.xml, to the function pointer with type
    defined from functionsgl_typedefs.h.
    
    BUG=angleproject:2188
    
    Change-Id: Ifa1e4739cb471ab6b52a4bf24c16d9eb4b334ac5
    Reviewed-on: https://chromium-review.googlesource.com/727530
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 29ddcc992f854f1d2e4f4ce33a78a8f0bb7be95d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Oct 21 16:10:02 2017 -0400

    Add an auto-generated dispatch table for GL bindings.
    
    This will more easily allow us to extend our implementation to make a
    NULL or "stub" set of bindings. It also exposes a lot more function
    permutations via extension variations.
    
    It might improve the loading speed for bindings obtained via
    extensions. Instead of generating a list every time an extension is
    checked, we use a single std::set for a fast query. However because
    more extensions are checked for more entry points, it might not make
    a huge difference.
    
    This also fixes an issue where the "real" ANGLE GL headers were being
    propagated to the entry point dispatch table definitions, instead of
    being in a totally isolated file. This patch adds the missing typedefs
    to our proxy headers.
    
    It also fixes the naming of a few entry points which was inconsistent
    with the spec. It also makes an XML adjustment to GL_NV_path_rendering
    to accomodate a hole in the spec where glLoadMatrixfEXT was not ever
    defined in OpenGL ES. A spec oddity with the TexStorage extension is
    not resolved - in this case, some methods are only exposed if other
    extensions are present, but this information is missing from gl.xml.
    
    BUG=angleproject:2188
    
    Change-Id: I0fd61dd32de6fadd55fa6bd79295833392d51104
    Reviewed-on: https://chromium-review.googlesource.com/726949
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 76e471e903220184ed9b3ebd7b97d0f94b1fcb20
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Oct 21 09:56:01 2017 -0400

    Vulkan: Implement basic uniforms.
    
    This implementation adds one descriptor set with two bindings: one for
    default vertex uniforms and the other for fragment. It adds two
    corresponding uniform buffers, and the logic for updating the
    descriptor sets bound to Vulkan. It doesn't handle much in the way of
    synchronization and dependency management, or uniform update.
    
    If there are only vertex or fragment uniforms the empty uniform buffer
    is omitted from the descriptor set. If both are missing, there is no
    descriptor set bound.
    
    Note that as our implementation progresses we might not be able to
    initialize our descriptor sets at link time, due to streaming in
    uniform data.
    
    BUG=angleproject:2167
    
    Change-Id: I4ce4c3879ab454114df43bfac8d87ddf817fc045
    Reviewed-on: https://chromium-review.googlesource.com/706340
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit fb9051a5883151819114dd175f919e7ea5b18910
Author: Jonathan Metzman <metzman@chromium.org>
Date:   Mon Oct 9 16:14:06 2017 -0700

    Switch from use_libfuzzer to using_fuzzing_engine.
    
    The current build configuration causes AFL based fuzzers to be built
    with incorrect options.
    
    Bug: 770970
    Change-Id: I712dd72a0f680df538e98622032cb13f39ed8c63
    Reviewed-on: https://chromium-review.googlesource.com/707933
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 711b7a12f1b54bfca9ca40ed9b93f8d7fd76f68c
Author: Xinghua Cao <xinghua.cao@intel.com>
Date:   Mon Oct 9 13:38:12 2017 +0800

    ES31: Support images in the compiler on D3D backend.
    
    BUG=angleproject:1987
    TEST=angle_end2end_tests
    
    Change-Id: I83f5f9ffda7e676a8f98b963d1f1c50e9463faf4
    Reviewed-on: https://chromium-review.googlesource.com/706247
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 7478ce7f4e074436d52c78bb704e47861495c4ab
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Fri Oct 13 13:19:07 2017 +0800

    D3D11: Minor Optimization to DrawCallNeedsTranslation
    
    Remove IsStreamingIndexData from DrawCallNeedsTranslation since
    IsStreamingIndexData is only needed for drawElementsIndirect for fast path.
    
    This change gives about a 4% improvement on the drawElements benchmark for
    the D3D11 backend with the null driver.
    
    BUG=angleproject:1155
    
    Change-Id: Ife2a9748f6b6fe9bc1f3a67c96672ab941a89d44
    Reviewed-on: https://chromium-review.googlesource.com/717946
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 111a99e82dd7ae15e5dd75596844d90d63d74d26
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Oct 17 10:58:41 2017 -0400

    Check that the requested extension is supported by the backend.
    
    Previously, we would only check that the extension was requestable and
    not verify that the driver could support it.
    
    BUG=angleproject:1523
    
    Change-Id: I5273920fc08a20beda54d4afaeb406c6c1c2056f
    Reviewed-on: https://chromium-review.googlesource.com/723559
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 02032bda51852a851501cbf7a2380ae67f2f7b05
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Oct 13 18:10:17 2017 +0300

    Generate an error if no XFB varyings are in use
    
    GLES specifies an error if BeginTransformFeedback is called when no
    binding points would be used.
    
    BUG=angleproject:2184
    TEST=angle_end2end_tests
    
    Change-Id: Ie4489b5ba63885e718dafdcdaacc02b603959be3
    Reviewed-on: https://chromium-review.googlesource.com/719136
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit cbcb96fcda67b3059f92486f295bc2cfcb8e2d53
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Oct 19 14:14:06 2017 +0300

    Fix switch/case last case validation for ESSL 3.10
    
    No statement should be required after the last case label of a switch
    statement in ESSL 3.10. The validation is still kept for ESSL 3.00 for
    dEQP compatibility. If the dEQP tests are changed in the future, we
    might consider just issuing a warning regardless of shader version.
    
    BUG=angleproject:2189
    TEST=angle_unittests
    
    Change-Id: Ic53e71e0176668a7dbffa315712885846e217f03
    Reviewed-on: https://chromium-review.googlesource.com/727802
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 6dee4d8c1f5c00afdc428225b2757fe66a5fd1e4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Oct 18 23:03:30 2017 -0400

    Remove second copy of gyp dependency.
    
    Also point gyp_angle back at tools.
    
    BUG=angleproject:1569
    
    Change-Id: Ib17ba6973db24aec9cd47000d869e5aa427c84a3
    Reviewed-on: https://chromium-review.googlesource.com/727529
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 082e70060d461282bdd8022c3008e0ce26bf5a4c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Oct 18 21:25:14 2017 -0400

    Fix gyp_angle gyp directory.
    
    This needed to be updated to third_party.
    
    BUG=angleproject:1569
    
    Change-Id: I13b5855b23ca9f7bfe3c4380c0bc701547f4f156
    Reviewed-on: https://chromium-review.googlesource.com/727528
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 23e028432c682454f0b52c2443f2c057a2ed4559
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Oct 17 13:24:09 2017 -0400

    Only validate texture layer if texture is non-zero.
    
    From the ES3.0 spec:
    The error INVALID_VALUE is generated if texture is non-zero and layer
    is negative.
    
    BUG=765919
    
    Change-Id: I0ac9bd0335ab4d55701d6def0158297d5add993e
    Reviewed-on: https://chromium-review.googlesource.com/723741
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit d0ef13a2505fe988d82037c9a3af91ecb141b97a
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Mon Aug 28 22:53:24 2017 -0400

    Stand-alone build with gn.
    
    This should do the same things as the stand-alone gyp build, but with gn.
    You should switch to gn as gyp support will go away.
    
    You need a recent enough version of gn.  If yours is too old try this one:
      ./buildtools/linux64/gn
    
    If "gclient sync" or anything fails with an ImportError on gyp stuff,
    try running it with the following PYTHONPATH in the environment:
      PYTHONPATH=tools/gyp/pylib
    
    BUG=angleproject:1569
    
    Change-Id: I56d19bec2d8b649a7bd65062c656cbfc69ea3dd8
    Reviewed-on: https://chromium-review.googlesource.com/642588
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit d042fba42d38294ec3545b71a36522253cb8f862
Author: Jamie Madill <jamie@nullspace.ca>
Date:   Tue Oct 17 23:15:37 2017 -0400

    Unset conflicting DSVs in StateManager11.
    
    This was showing up in BlitFramebufferPerf.Run/d3d11_depth_2_samples.
    It would only show up when running the perf tests with the D3D11
    Debug layer enabled.
    
    BUG=angleproject:2188
    
    Change-Id: I71f310641d4a4c017e8c4c907c2bdc61019978a4
    Reviewed-on: https://chromium-review.googlesource.com/724962
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 0a6752e3cedd7852193b0f3f8c0e47cd0939812a
Author: Jamie Madill <jamie@nullspace.ca>
Date:   Tue Oct 17 22:59:09 2017 -0400

    Use default window size in RenderTestParams.
    
    This fixes a D3D11 runtime warning in perf test init. We don't
    see it on the bots because we don't typically enable the D3D11
    runtime.
    
    BUG=angleproject:2188
    
    Change-Id: I512db7d5a34204f1d94e28d80cadb18f9b17e55f
    Reviewed-on: https://chromium-review.googlesource.com/724738
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit c514348e2a786a46a6e6da3ac9338719d51227d2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sun Oct 15 20:20:06 2017 -0400

    Vulkan: Minor cleanups to ProgramVk.
    
    This moves the Pipeline Layout and related layout code init into the
    LinkProgram implementation call. These resources don't depend on
    anything other than the state at link time. Moving the init makes
    the calling code a bit simpler since it doesn't need to process error
    conditions and check for validity every time.
    
    Also introduce a reset() method, similar to ProgramD3D. This will
    allow us to re-link a program multiple times (once resource lifetime
    management is properly implemented).
    
    BUG=angleproject:2167
    
    Change-Id: Ibe76ed9b901adf6b69b51ba8219b3ce79d55b87d
    Reviewed-on: https://chromium-review.googlesource.com/720071
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit ebf7299e4ad14812620036729f26537023ef6b93
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 13 14:09:45 2017 -0400

    Vulkan: Minimal dirty bits for ContextVk.
    
    Currently this won't speed up performance much, if at all, since we
    don't even really support state changes. It sets the stage for using
    a pipeline cache later, with better state change support. It also
    makes implementing descriptor sets for Textures a bit simpler, since
    we can just update descriptor sets when the dirty bits tell us of a
    Texture change.
    
    Add cache structures to VertexArrayVk and ContextVk so we only need
    to update the structures before we create a new pipeline. When we
    support pipeline caching, we will most likely be updating a compact
    representation for fast cache query.
    
    BUG=angleproject:1898
    BUG=angleproject:2167
    
    Change-Id: Id545f2c67c06d8b6e8b7eb63ca70464f6b9a51f6
    Reviewed-on: https://chromium-review.googlesource.com/713586
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit b9cb7f60da5735ade45c6311a352663ca1bc91c3
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Oct 16 11:48:04 2017 -0400

    Update gpu_test_expectations
    
    This adds support for macOS 10.13 "High Sierra"
    
    BUG=chromium:774309
    
    Change-Id: I9b5b13750608f703dd0a3e0afeb1e314b437b8cc
    Reviewed-on: https://chromium-review.googlesource.com/721520
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 8a9e0fc238a1153411b1b6d609a041215a868710
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Oct 17 16:15:15 2017 -0400

    Fix standalone compilation on Mac
    
    The std::pair constructor isn't constexpr there.
    
    BUG=
    
    Change-Id: I7711185c6c991fd5793cc6c785e9905710660cd9
    Reviewed-on: https://chromium-review.googlesource.com/723849
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit ba2eaea22f4f183d18b2844b91170ad6d9f7802b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 13 14:09:34 2017 -0400

    Refactor vk::Buffer memory allocation.
    
    Add the code that finds the right memory information into a shared
    location. This will allow it to be reused with other points in the
    code.
    
    BUG=angleproject:2167
    
    Change-Id: I72d0522e134666d0a00921cb5ef6bc093473afdf
    Reviewed-on: https://chromium-review.googlesource.com/717189
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 5ad26408893bc39937402eabf6c4392f1b476f4a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Oct 17 15:32:06 2017 -0400

    Add destructor to MultisampleTextureInitializer.
    
    This was generating a warning for missing virtual destructor in
    some configurations.
    
    BUG=angleproject:2167
    
    Change-Id: I05e335de4ab1160c6066665d588b50527ea34cbd
    Reviewed-on: https://chromium-review.googlesource.com/723980
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 1bfa6b71595c8dd2b26df42414af0e25f67d06c2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 13 14:07:45 2017 -0400

    Generalize GetUniformBlockInfo.
    
    This method is useful for the Vulkan back-end as well as D3D11. It can
    produce a uniform block layout for the default uniform blocks as well
    as for interface blocks. Put it in blocklayout.h in the translator.
    
    BUG=angleproject:2167
    
    Change-Id: I13160906921da439746c1811a623006250aaeefd
    Reviewed-on: https://chromium-review.googlesource.com/713941
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit cc8e2738df7dc98e66e00374c574c6968b55ca8e
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Mon Oct 16 22:42:29 2017 -0400

    Move libpng into src subdirectory.
    
    DEPS libpng into third_party/libpng/src, instead if third_party/libpng.
    Then we'll be able to put its BUILD.gn into third_party/libpng instead
    of the more distant build/secondary/... location.
    
    BUG=angleproject:1569
    
    Change-Id: I12b1c51d65682cba3954c26f1bd3f7491ac31b01
    Reviewed-on: https://chromium-review.googlesource.com/722176
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 15de9262ea7d54998a73987de7e4251f76793f8e
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Oct 13 11:08:13 2017 +0300

    Add array size functions to ShaderVars
    
    These can be used instead of direct access of the arraySize field in
    Chromium, so that arrays of arrays support can be implemented inside
    ANGLE without breaking the Chromium build.
    
    BUG=angleproject:2125
    TEST=angle_unittests
    
    Change-Id: I123c2a18549e8f6e40ade946870a5437faf2155e
    Reviewed-on: https://chromium-review.googlesource.com/718201
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 45f5d6f8912095a0c51809e018e70c095ed5bf9e
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Mon Oct 16 23:43:27 2017 -0400

    Add missing comma to deqp.gypi.
    
    BUG=angleproject:1569
    
    Change-Id: I2bcde845d70159c1047349673ec8417b7686eafc
    Reviewed-on: https://chromium-review.googlesource.com/721257
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit 2e568cfbe356d6f66fbb0fccc19c4adf01861a8c
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Sep 18 17:05:22 2017 -0400

    Add generator for packed GL enums.
    
    For testing this also converts two unimportant GLenums, gl::BufferUsage
    and gl::CullModeFace.
    
    BUG=angleproject:2169
    
    Change-Id: If1e86a97d0fed3fd567303aca6506ec579503076
    Reviewed-on: https://chromium-review.googlesource.com/688000
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit ce252b28851813bd3e7b3876b0178bbd89ac64f3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 16 17:58:32 2017 -0400

    Remove libpng and zlib from dEQP include dirs.
    
    These extra include dirs were not being rebased correctly in the
    BUILD.gn side. Instead add them later in angle_deqp_support. The
    GN build already had the correct deps in any case.
    
    BUG=angleproject:1569
    
    Change-Id: Ieb4fab47bd9948a3309da239f2efdafbfcc8782c
    Reviewed-on: https://chromium-review.googlesource.com/722065
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 2d88e9bc036a89479334e163306f7655576a5bfc
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Jul 21 16:52:03 2017 +0300

    Guarantee that symbol nodes get unique ids
    
    The code is refactored so that symbol nodes can only be initialized
    with an unique id object. This prevents accidentally forgetting to
    create an id for a symbol node.
    
    This opens up possibilities for future optimization: For example the
    names and types of symbols could be stored in a central location
    inside the SymbolTable, and TIntermSymbol nodes would only need to
    store the symbol id. The symbol id could be used to look up the name
    and type of the node.
    
    BUG=angleproject:1490
    TEST=angle_unittests
    
    Change-Id: Ib8c8675d31493037a5a28c7b36bb9d1113cc10f6
    Reviewed-on: https://chromium-review.googlesource.com/580955
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit bf90b603230ad0e881207d7b87fe1ef94ed641c4
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Sat Oct 14 20:46:14 2017 -0400

    Skip SubDataPreservesContents on Mac NVIDIA GL
    
    Also SubDataOffsetPreservesContents.
    
    BUG=angleproject:2185
    
    Change-Id: I73401e4b511313f14ee9659f3d20c8086e3d04a3
    Reviewed-on: https://chromium-review.googlesource.com/719890
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 2bdbf788b6b23a3169aec7708332e245b8cdbde6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 13 10:45:48 2017 -0400

    Add .vs to .gitignore.
    
    This seems to be a new thing with VS2017.
    
    BUG=angleproject:1569
    
    Change-Id: Ic46566b979e975e5e6eb3a1f80eac9e44b66f2d4
    Reviewed-on: https://chromium-review.googlesource.com/719296
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 40dbdd6c72fd8a0ea2c0c0b563368ad0db944acf
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Oct 13 13:34:19 2017 +0300

    Clean up remaining extra semicolons from HLSL output
    
    There are many types of statements after which a semicolon is not
    needed. Skip writing the semicolon in HLSL output in these cases to
    make the output code more readable.
    
    BUG=angleproject:1013
    TEST=angle_end2end_tests
    
    Change-Id: I8f6a5e4ecfe5def456fdf19cca5ca451c13d7f35
    Reviewed-on: https://chromium-review.googlesource.com/718420
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 3755c48d1ab7831ff122144afb8372fca5c406f8
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Oct 13 15:40:26 2017 +0300

    Fix multiview transform feedback test
    
    The multiview transform feedback test was not compliant with the GLES
    spec for transform feedback. The issue had to do with this part of
    section 2.15.2 of GLES 3.0.5 spec:
    
    "The error INVALID_OPERATION is also generated by
    BeginTransformFeedback if no binding points would be used, either
    because no program object is active or because the active program
    object has speciﬁed no output variables to record."
    
    Fix this.
    
    BUG=angleproject:2184
    TEST=angle_end2end_tests on NVIDIA 387.92 drivers
    
    Change-Id: I24816d2c24df0072179f21ead892bd2c9ba696d2
    Reviewed-on: https://chromium-review.googlesource.com/718702
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 42975644246d68d1d3dc5cfa476adff09d0c8cb8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 12 12:31:51 2017 -0400

    Move incomplete texture logic to shared helper.
    
    The incomplete texture handling is similar between the D3D and Vulkan
    back-ends. We create 1x1 textures, initialize them to black, and bind
    them when we detect incomplete textures. We would also bind incomplete
    textures when we detect feedback loops. In the GL back-end, we
    wouldn't detect feedback loops, and would allow the driver to handle
    incompleteness.
    
    Instead implement this in a shared helper class, and do the feedback
    loop detection in the front-end for every back-end. This makes our
    behaviour more consistent between back-ends, and prevents undefined
    behaviour.
    
    Because initializing multisample textures is tricky (they
    can't be updated with TexImage calls) we do a bit of a workaround so
    the back-end can clear the incomplete multisample texture initially.
    
    This progresses the initial Vulkan textures implementation.
    
    BUG=angleproject:2167
    
    Change-Id: I79ddcc0711fcc986f2578a52ac6f701231d241ac
    Reviewed-on: https://chromium-review.googlesource.com/700993
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 41200d21bf3883f301623a38db6a31c84548e5fc
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Oct 12 17:08:13 2017 -0400

    Skip WindowDifferentConfig on Windows
    
    Actually failing on Win Intel D3D11,
    but not possible to test for Intel D3D11 since GL_RENDERER is NULL.
    
    BUG=angleproject:2183
    TBR=jmadill@chromium.org
    
    Change-Id: I894b2772af1154a86354ca755a06f146b33a4ed8
    Reviewed-on: https://chromium-review.googlesource.com/716801
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 91c8de883f2cd736b758dfe3f6026b30f8f59c75
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Oct 12 16:32:44 2017 -0400

    WebGLCompat: Add test for ANGLE_instanced_arrays
    
    Also adds a test for an integer overflow in DrawArrays validation.
    
    BUG=602737
    
    Change-Id: I71c5bd155cf919964f46e2b0b48267253cab91eb
    Reviewed-on: https://chromium-review.googlesource.com/716841
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 22d7f1f3f5b96cb19d3ef91c90c8ecea8ee8f3f7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 12 16:29:16 2017 -0400

    Simplify uniform type table texture type.
    
    We can use Python's "endswith" more easily than using the current
    checks.
    
    BUG=angleproject:1390
    BUG=angleproject:2167
    
    
    Change-Id: I5a35602c91b989270cff1d42a9d5ede542039fbd
    Reviewed-on: https://chromium-review.googlesource.com/717188
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit f6d242edb5744d88246f5a98b282cd0d59c4b7c6
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Oct 12 17:21:06 2017 +0300

    Wrap switch statements in blocks in HLSL
    
    If variables are declared inside a GLSL switch statement, they are
    scoped until the end of the switch statement. This is not compatible
    with HLSL rules, where the scoping is until the end of the case. To
    work around this, wrap switch statements in a block that declares
    the variables in HLSL.
    
    This is done after most other transformations done to the AST are
    complete, since some of the other transformations may introduce
    temporary variables.
    
    BUG=angleproject:2179
    TEST=angle_end2end_tests
    
    Change-Id: Id0bb89affe103177fd3d6a6b2f3619b5e1ada0a6
    Reviewed-on: https://chromium-review.googlesource.com/716381
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit c3bc984156967837f0b17b866aca0b12a2edf0e6
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Oct 11 15:15:59 2017 -0400

    WebGLCompatibility: test for vertex OOB caused by indices
    
    BUG=602688
    
    Change-Id: I49a1a9b3753159c91058a7754534383fbc8a778e
    Reviewed-on: https://chromium-review.googlesource.com/713740
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 4bd730c8c1a97a3229cfbb9f1dfa79efef696210
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Oct 10 14:14:19 2017 +0300

    Recognize more non-fallthrough cases in switch/case
    
    RemoveSwitchFallThrough now treats cases where break; or return; is
    nested inside a block as non-fallthrough to avoid unnecessary
    duplication of code. For example, the case 1 below would previously
    get treated as fall-through:
    
    switch(foo)
    {
        case 1:
        {
            break;
        }
        default:
            break;
    }
    
    Now RemoveSwitchFallThrough doesn't do anything to this code.
    
    BUG=chromium:772695
    TEST=angle_end2end_tests
    
    Change-Id: Iafab6d8b05c63bcdb5f54834dbc1f41192c31dd4
    Reviewed-on: https://chromium-review.googlesource.com/709197
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 6aee8620c51f5afae8cad5b42e0ef96394626d25
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Oct 10 11:21:11 2017 +0300

    Fall back to D3D11.0 from D3D11.1 in device creation
    
    Some users of ANGLE might want to use the D3D11 backend on older
    Windows 7 platforms that only support DXGI 1.1. DXGI 1.1 doesn't
    recognize the FL 11.1 enum passed to D3D11CreateDevice, so special
    fall-back code is needed to fall back to FL 11.0 or lower in this
    case.
    
    BUG=angleproject:2173
    
    Change-Id: Id77401d0e2a16786ed44d117ca746908e8d0892c
    Reviewed-on: https://chromium-review.googlesource.com/716356
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit d736cccf045e75a099b06c6238f57810c9cf0634
Author: Ben Wagner <benjaminwagner@google.com>
Date:   Wed Oct 11 15:08:22 2017 -0400

    Add :extra_warnings to all units in BUILD.gn.
    
    Fix resulting warnings.
    
    Change-Id: Ie251012ee01aa484a8c489f9deeec385a50528f9
    Reviewed-on: https://chromium-review.googlesource.com/713695
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 56612d6adf9f7ddc454dba34009b8c814436debe
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Oct 12 15:46:30 2017 +0300

    Clean up TIntermTraverse API
    
    Make NodeInsertMultipleEntry private and clarify some comments in
    IntermTraverse.h.
    
    BUG=angleproject:2100
    TEST=angle_unittests, angle_end2end_tests
    
    Change-Id: Iae60a46714c8b5cb9ad1e9d70aa6776f9deaf3d5
    Reviewed-on: https://chromium-review.googlesource.com/715718
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 923ecef6be5658c97f34cad41e10f33a5e333315
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Oct 11 12:01:38 2017 +0300

    Fix switch statement validation corner cases
    
    The grammar needs to generate AST nodes even for no-op statements,
    since they might be the last statement in a switch statement that is
    required for switch statement validity. Change the grammar to generate
    nodes from empty blocks and empty declarations.
    
    We also need to do some further processing of the AST. This is because
    PruneEmptyDeclarations will still remove empty declarations, and at
    least the NVIDIA driver GLSL compiler doesn't accept some types of
    no-op statements as the last statement inside a switch statement. So
    after parsing has finished we do rudimentary dead code elimination to
    remove dead cases from the end of switch statements.
    
    BUG=angleproject:2181
    TEST=angle_unittests
    
    Change-Id: I586f2e4a3ac2171e65f1f0ccb7a7de220e3cc225
    Reviewed-on: https://chromium-review.googlesource.com/712574
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit d92e93b8caa4598e6e133c92de94056e0e92fc80
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Oct 11 14:28:34 2017 -0400

    Fix uniform type info for multisample textures.
    
    The way that the strings were generated was erroneously marking 2D
    multisample textures as "2D" instead of "2D_MULTISAMPLE". Fix this
    by changing how the types are parsed and generated.
    
    Fixes incomplete texture handling of 2D multisample textures.
    
    BUG=angleproject:1390
    BUG=angleproject:2167
    
    Change-Id: I8ffffca119cc7ca654ed1fe81cba37b758f9ef9f
    Reviewed-on: https://chromium-review.googlesource.com/713585
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 6b076a09e073af22c976994b8bc6ba83bd05c50c
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Wed Oct 11 13:28:22 2017 -0400

    Update and move gmock and gtest.
    
    Update to the version of googletest current in chromium.  Googlemock has
    merged into googletest so we get rid of the separate DEPs entry and point
    everything inside googletest.
    
    We put it in 'third_party' instead of 'testing' to prepare for the
    upcoming stand-alone gn build which borrows chromium build files that
    require other stuff in the 'testing' directory.
    
    BUG=angleproject:1569
    
    Change-Id: I51d1675efd5d0104bb6390721928010221a5d6fc
    Reviewed-on: https://chromium-review.googlesource.com/713466
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit 852fe87341b2a90a5ea12df93e91662235d045dc
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Oct 10 15:13:59 2017 +0300

    Fix HLSL for switch statements that don't end in a branch
    
    In case the last case inside a switch statement is not terminated in
    a branch statement, RemoveSwitchFallThrough needs to add it before
    calling handlePreviousCase. This ensures that all preceding
    fall-through cases will get a copy of the branch statement and so will
    not fall through.
    
    This also fixes running RemoveSwitchFallThrough so that it's only
    executed once per each switch statement.
    
    The error was not caught by the dEQP tests, so a new ANGLE test is
    added.
    
    BUG=angleproject:2178
    TEST=angle_end2end_tests
    
    Change-Id: I26b6989aa4d32de2d74cde56d72ee24f61195445
    Reviewed-on: https://chromium-review.googlesource.com/709196
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 211bff3f6ce21307b5e2c6a65861c77de9c02f10
Author: Ben Wagner <benjaminwagner@google.com>
Date:   Tue Oct 10 23:53:20 2017 -0400

    Enable inconsistent-missing-override for Clang
    
    Fix the resulting compile errors.
    
    No-Try: true
    Change-Id: I88e74f240b29ecf7b3883b0c5880dcb871e4c3cd
    Reviewed-on: https://chromium-review.googlesource.com/710415
    Commit-Queue: Ben Wagner <benjaminwagner@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 128e536ab62a86f51f6b23b62f717304c6879e29
Author: Yunchao He <yunchao.he@intel.com>
Date:   Wed Oct 11 22:31:53 2017 +0800

    Fix a small build issue.
    
    Strcmp in SampleApplication.cpp is a cstring function. So some
    compilers (at least the default gcc compiler in my Ubuntu 17.04)
    would think that strcmp is not declared and lead to build failure,
    even we have include <string> in header file.
    
    Now that we use std::string variable in SampleApplication.h, it is
    better to include <string> in that header file as what it is.
    Then add <string.h> to include cstring functions in .cpp file to
    fix the build issue.
    
    BUG=angleproject:2180
    
    Change-Id: Id97a6956480637c1218314c04d9b331031c7b911
    Reviewed-on: https://chromium-review.googlesource.com/711396
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 78507c6ee5f5cbbdb1bdce185be5796b33fec086
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Oct 10 15:06:45 2017 +0300

    Fix statements disappearing from switch statements in HLSL
    
    RemoveSwitchFallThrough now correctly records the existence of
    declaration and swizzle statements inside switch statements.
    
    BUG=angleproject:2177
    TEST=angle_end2end_tests
    
    Change-Id: I1ef83997db7ae510ded002a9568c29272c00c2fe
    Reviewed-on: https://chromium-review.googlesource.com/709195
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit bd159f06713bbef1198419acc3de832e3669861e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 9 19:39:06 2017 -0400

    Vulkan: Use minimal dirty bits in VertexArrayVk.
    
    This should slightly reduce draw call overhead.
    
    BUG=angleproject:1898
    
    Change-Id: I0e515bf2868f237f1d6948c12942f8cb6637c0c0
    Reviewed-on: https://chromium-review.googlesource.com/707690
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 492f58ec97ed4a1e2d773f305005ad409ea7061f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 9 19:41:33 2017 -0400

    Rename VertexArrayImpl::mData to mState.
    
    Refactoring change only.
    
    BUG=angleproject:1898
    
    Change-Id: I9f55651f923ff930c395a9bb575b4f86ad5d9cbd
    Reviewed-on: https://chromium-review.googlesource.com/707689
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit af5070f72d7c9e23de29ba0d43588136cbbfa44e
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Oct 10 13:53:25 2017 +0300

    Hide RemoveSwitchFallThrough implementation in the .cpp file
    
    This cleans up the API provided by RemoveSwitchFallThrough.h, and adds
    documentation about caveats of RemoveSwitchFallThrough. This change is
    pure refactoring without any functional changes.
    
    BUG=angleproject:2177
    TEST=angle_end2end_tests
    
    Change-Id: I2646e4fe3b53130b07977823cb1344e5096f67e4
    Reviewed-on: https://chromium-review.googlesource.com/709194
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit c853804c5a1b6c4c4df966656809597ea80f4232
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Sep 27 11:20:15 2017 +0300

    Add support for arrays of arrays to VariableLocation
    
    Array indices are sorted so that the outermost index is in the back.
    This is because we want to be consistent with future arrays of arrays
    parsing code. In parsing we'll have a utility function to make a
    TType object into an array, and there it's most natural to push the
    new outermost sizes to the back of the vector.
    
    Further patches will still be needed to parse arrays of arrays and
    add support to arrays of arrays into the API.
    
    BUG=angleproject:2125
    TEST=angle_unittests, angle_end2end_tests
    
    Change-Id: I6c88edabf68ae9dbd803ec6d20543016c408b702
    Reviewed-on: https://chromium-review.googlesource.com/686414
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit e416e527ba37ba6e47dd0aa55ab5620edc91ad14
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Tue Oct 10 11:01:20 2017 +0800

    Remove some unused codes
    
    This patch will remove unused functions syncVertexAttributes and
    hasDirtyOrDynamicAttrib, and private member mAppliedIBChanged.
    Meanwhile, it changes hasDynamicAttrib to hasActiveDynamicAttrib
    to avoid unnecessary update in some cases.
    
    BUG=angleproject:1155
    
    Change-Id: I29a0aa7fbc13874b7b070cf1ac5ec4134728f519
    Reviewed-on: https://chromium-review.googlesource.com/707014
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 1fce3283f0837a9e305c18272646687e5d158af5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 9 16:12:03 2017 -0400

    Samples: Add command line flag to select renderer.
    
    This gives us the ability to test Vulkan without a special recompile,
    and keeps the default setting to the default ANGLE renderer. Only
    implemented for the hello_triangle sample currently.
    
    Also includes an extra error message for missing EGL config, which is
    where the Vulkan init fails right now, due to missing depth/stencil
    support.
    
    Also includes a hack to get Vulkan samples running without depth/
    stencil.
    
    BUG=angleproject:2167
    
    Change-Id: I6925b9b84956fb69cbf602a828ea95d8c7125b68
    Reviewed-on: https://chromium-review.googlesource.com/707688
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a4810f71f7736b171d3797663ab58562d2e3b2df
Author: Brian Osman <brianosman@google.com>
Date:   Mon Oct 9 14:44:23 2017 -0400

    Fix several bugs in the timeout logic of clientWait
    
    1) timeout is unsigned, and clients tend to pass large unsigned values
       (like -1) to mean "wait as long as possible". Casting to signed at
       the start of the math meant that everything was negative, so we would
       never actually wait for fences to be signalled.
    
    2) When going from nanoseconds to seconds, we should divide by 10^9, not
       multiply by 10^6.
    
    3) Even with all of this, it's possible for a sufficiently large counter
       frequency to still cause overflow, so detect that case and clamp.
    
    Change-Id: I9e728aac72d8dc0b15582732b6fd4d87c90bd140
    Reviewed-on: https://chromium-review.googlesource.com/707202
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 8886f0fc8d6898af98451e277593f5218c54b1e8
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Oct 10 11:59:45 2017 +0300

    Clean redundant semicolons from HLSL branch statements
    
    Branch statements can only exist inside block nodes. The block node
    that contains a branch will take care of writing a semicolon after
    each statement.
    
    BUG=angleproject:1013
    TEST=angle_end2end_tests
    
    Change-Id: Ie5d9077c5d2e090c704282dba39b4d46845cbf1e
    Reviewed-on: https://chromium-review.googlesource.com/708894
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 180f43c6b39814e636b1ecabc8a41e6f18610577
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Oct 9 17:00:44 2017 +0300

    Refactor creating temporary symbols
    
    This makes creating temporary symbols easy also outside of traversers.
    This will be needed for improving variable initialization.
    
    TEST=angle_unittests
    BUG=chromium:735497
    
    Change-Id: Id048fc338e0be6c76bb6f082421ae106618e5003
    Reviewed-on: https://chromium-review.googlesource.com/707194
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit d63d0007c1192063eef1e409de681e4fb6f40041
Author: Kai Ninomiya <kainino@chromium.org>
Date:   Fri Oct 6 13:11:13 2017 -0700

    dontInitializeUninitializedLocals on Qualcomm only
    
    SH_INITIALIZE_UNINITIALIZED_LOCALS triggers a very unpredictable crash
    in the shader compiler on Qualcomm Adreno (at least 4xx) on Marshmallow.
    
    Bug: angleproject:2046
    Change-Id: I9a109f7ff442b4e9d3880d137f1a55a19105bcef
    Reviewed-on: https://chromium-review.googlesource.com/705930
    Commit-Queue: Kai Ninomiya <kainino@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 359487c822bbc119e8c12f0991b9fef37dc3caff
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Tue Oct 3 16:58:06 2017 -0400

    Build angle_perftests on Android
    
    BUG=chromium:675997
    
    Change-Id: Ib6690f9f25a4ba4510cf6e18ba2054a9936dc574
    Reviewed-on: https://chromium-review.googlesource.com/706455
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit a3d384ada3dc71d6e4ff8beecc6f2e039a5da9a7
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Oct 6 16:12:50 2017 +0300

    Fix signed integer overflow in GLSL preprocessor left shift
    
    Signed integer overflow is undefined in C++, whereas unsigned integer
    overflow is not. Always cast left shift operand to unsigned to avoid
    UB.
    
    On common compilers, the behavior was already the same before this
    patch, so this patch is done mostly for the benefit of automated fuzz
    testing.
    
    BUG=chromium:743136
    TEST=angle_unittests
    
    Change-Id: I7aab939036bb19a37f258cef4297b560da3cd9d5
    Reviewed-on: https://chromium-review.googlesource.com/704659
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit b433e872c87fb2448eaab84b0651b85c918a2331
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Oct 5 14:01:47 2017 -0400

    Change robust resource init into a context creation attribute.
    
    Enabled support on OpenGL even through the extension is not fully
    implemented so that testing with Chromium/Passthrough commmand decoder
    is still possible.
    
    BUG=angleproject:1635
    
    Change-Id: Ia417b1779aace1eae19514325701a79cd33f4ef3
    Reviewed-on: https://chromium-review.googlesource.com/678479
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit a87121f9d19aa665b9f88fdedf6e67e82135fd7c
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Oct 6 14:07:27 2017 +0200

    Fix build warning by specializing clampCast
    
    Casting integers to booleans generates a performance warning in at
    least MSVS 2015 x64 Debug build. Specialize the clampCast template for
    bool->int conversion to avoid this warning, which is treated as an
    error.
    
    BUG=angleproject:2165
    TEST=MSVS 2015 x64 Debug build
    
    Change-Id: Iaa9591c102cdd73fe9ff8a8739d356cc13cec248
    Reviewed-on: https://chromium-review.googlesource.com/704820
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit e159717d4bb5e278e4e90841fdb4e9672c65b7fd
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Oct 5 12:02:30 2017 -0400

    Filter EGL attributes before passing them to the native driver.
    
    Adding extensions that are not native driver extensions would cause
    surface creation to fail.
    
    BUG=angleproject:1635
    
    Change-Id: I2f683ee0560e463aa06f3ba92d0bf3f3d8c8927d
    Reviewed-on: https://chromium-review.googlesource.com/701602
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit af143feff929ac85f22565db054c962c7597ce62
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Oct 5 13:59:43 2017 -0400

    Refactor the eglQueryContext entry point.
    
    BUG=angleproject:1635
    
    Change-Id: Ia6ab5a2a7339d78912d7f871ed62941af1957eb1
    Reviewed-on: https://chromium-review.googlesource.com/702856
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 000dab88d3d34fa7038bab00600764b51b245526
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Sep 27 14:27:07 2017 -0400

    Make pack and unpack image extensions enableable.
    
    BUG=angleproject:1523
    
    Change-Id: Ic728a777ad7e05373de03ee98e9b0a17101cd45d
    Reviewed-on: https://chromium-review.googlesource.com/688102
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 63c5a59741df47d37719d575ef363b2a9143139c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Sep 27 14:08:16 2017 -0400

    Make GL_ANGLE_instanced_arrays enableable.
    
    BUG=angleproject:1523
    
    Change-Id: Id1dd5d0426c1b55bfd6cca8b0c8c73596080f2a9
    Reviewed-on: https://chromium-review.googlesource.com/688101
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit ce8602ab794ba23f8daa9470bc6fa02f9add9630
Author: Kenneth Russell <kbr@chromium.org>
Date:   Tue Oct 3 18:23:08 2017 -0700

    WebGL requires GL_FRAMEBUFFER_UNSUPPORTED for identical FBO attachments.
    
    If the same level of a texture is attached to multiple color
    attachments of a framebuffer object, for example, the WebGL
    conformance tests require generating a GL_FRAMEBUFFER_UNSUPPORTED
    error. The Direct3D backend already had this restriction; apply it to
    all backends when the WebGL compatibility extension is enabled.
    
    Fixes the following WebGL conformance tests with the pass-through
    command decoder in Chrome:
      conformance/extensions/webgl-draw-buffers-framebuffer-unsupported
      conformance2/rendering/framebuffer-unsupported
    
    BUG=angleproject:2168
    
    Change-Id: I340d06ca0ee969989c6c5725512b1b9542281477
    Reviewed-on: https://chromium-review.googlesource.com/699856
    Commit-Queue: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit c1abf91788b352af46f36242c358309746ebbb86
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Oct 3 15:08:33 2017 -0400

    Fix leaking objects with UniqueObjectPointer.
    
    BUG=angleproject:2170
    
    Change-Id: Ie0473022c153c4b70f350cab0c208dd3a0670c40
    Reviewed-on: https://chromium-review.googlesource.com/691374
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 6276b9221907958f1b73bf7227e132b637a690aa
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Sep 25 02:35:57 2017 -0400

    Vulkan: Implement basic uniform shader parsing.
    
    This is a first step at implementing uniforms with descriptor sets.
    It does not actually bind uniforms and upload data, but it does
    implement uniform shader parsing. Uniforms are gathered into a single
    uniform block which is bound to set 0, with binding 0 for vertex
    uniforms and binding 1 for fragment uniforms.
    
    Also adds a ReplaceSubstring helper to string_utils.
    
    Also removes the precision writing from OutputVulkanGLSL since this
    was generating warnings with glslang.
    
    BUG=angleproject:2167
    
    Change-Id: I9ec8351ec1973e583100f99292b0080ee968067b
    Reviewed-on: https://chromium-review.googlesource.com/699938
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 10d4026b3cafbe92f729d50bf606441faca6ed31
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Oct 4 16:34:09 2017 -0400

    Fix compilation error on 32-bit systems
    
    a99ed554ca606 introduced explicit template instantiations that tunred
    out to be the same on 32-bit CPUs because GLenum and size_t are the
    same type.
    
    BUG=angleproject:2165
    
    Change-Id: I85fafeff1996cb457f2b718e177944fc6aca50bf
    Reviewed-on: https://chromium-review.googlesource.com/699839
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit cb62d86fc1d54e5e786f5fd9cbe9b7d5339786d3
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Oct 4 14:42:55 2017 -0400

    Don't delete framebuffers multiple times if they are bound multiple times.
    
    BUG=angleproject:2107
    
    Change-Id: Icaa4cf7c708a68d63b45699255ddd3ced00ee119
    Reviewed-on: https://chromium-review.googlesource.com/700804
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit baf5d9458e6114ab4340f838e9bff91b9ca99dfc
Author: jchen10 <jie.a.chen@intel.com>
Date:   Mon Aug 28 20:45:48 2017 +0800

    ES31: Add UNIFORM support for ProgramInterface
    
    Add program resource properties for uniform.
    
    BUG=angleproject:1920
    TEST=angle_end2end_tests:ProgramInterfaceTest*
    
    Change-Id: Ia5cf6219db43b8b1f73efbb3565d21c86e9d3ec0
    Reviewed-on: https://chromium-review.googlesource.com/638050
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit a99ed554ca6061c46367d56baf3235f2f5ca0ece
Author: jchen10 <jie.a.chen@intel.com>
Date:   Fri Sep 22 08:10:32 2017 +0800

    Refactor data conversions for state commands
    
    This mainly enforces the rules as descripted in ES 3.10, section
    2.2.1 and 2.2.2, by enhancing the "queryconversions" to support
    more rules, removing the scattered type convertors in "utilities"
    , "mathutil" and "queryutils", and forcing to only use the
    convertors in "queryconversions".
    
    BUG=angleproject:2165
    
    Change-Id: I73c1dc850e2b3b8a479ece1d9c5eb7ae4ce851fe
    Reviewed-on: https://chromium-review.googlesource.com/680094
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit d03a849d79ad6b5a55802f12cc77b37f9fb68b3a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Oct 3 15:46:06 2017 -0400

    Vulkan: Implement very basic DrawElements.
    
    This implements getIndexRange for index validation, without any
    caching. Vulkan does support a version of robust access, but it would
    require the robust context creation attribute. Also, it differs slight
    from the OpenGL spec.
    
    Also note that this implementation does not create the index buffer
    with the correct usage bits, but seems to work and doesn't produce an
    error in the validation layers. We should probably update them.
    
    This CL also doesn't impement index support for immediate data,
    offsets, or the unsigned short index type.
    
    BUG=angleproject:2167
    
    Change-Id: I580930f85e23034b483f3ece62eb1faf8024d624
    Reviewed-on: https://chromium-review.googlesource.com/681874
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 035fd6b39845876e082b895e144b8b45ce3369ac
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Oct 3 15:43:22 2017 -0400

    Vulkan: Implement very basic textures.
    
    This is a quick implementation which supports only one backing Image
    and one type of ImageView at a time, for 2D texture only.
    
    It also implements a helper class for finding compatible memory pools.
    It's possible we can keep a cache of memory pool indexes given the
    guarantees the Vulkan spec has on compatible memory types (see the
    documentation for VkMemoryRequirements).
    
    BUG=angleproject:2167
    
    Change-Id: I1d7a8eaec90f240273ad75194e23430d6d4c5dc1
    Reviewed-on: https://chromium-review.googlesource.com/680000
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit 488130e0496cd6dd6e6dd34738e8233c8c5f87a0
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Sep 27 13:53:11 2017 -0400

    Make GL_ANGLE_framebuffer_multisample enableable.
    
    BUG=angleproject:1523
    
    Change-Id: Idc2cf338ba1fb5142ef2596603d291790fd6ddd6
    Reviewed-on: https://chromium-review.googlesource.com/688100
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 536eca105f9bea844dab68cfb5e03e7aeb5a1bb2
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Sep 13 11:23:35 2017 -0400

    Simplify GenerateMipmap validation now that sized format info is tracked.
    
    The previous validation used some workarounds because it didn't know if
    the texture format was sized or not.  Now that the InternalFormat struct
    tracks this, the validation can work correctly for floating point
    formats.
    
    BUG=angleproject:2149
    
    Change-Id: I583db4a36137a57dd1b7fc81cd4e3b6d5972fc67
    Reviewed-on: https://chromium-review.googlesource.com/665163
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 682efdc47a7c39a11a9f6e3aba6ac48ad1e12e95
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Oct 3 14:10:29 2017 -0400

    Fix a GCC warning found by Skia.
    
    This only seems to affect GCC's enum-compare warning,
    because we were comparing an untyped enum with a size_t enum.
    
    BUG=None
    
    Change-Id: I74b8315cff61344d1b7700b1c56a40d2ffce41e2
    Reviewed-on: https://chromium-review.googlesource.com/698296
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 7e7f7d25b88f7886794216ded96465d552a8941b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Sep 22 13:32:14 2017 -0400

    Implement robust resource init for D3D9.
    
    BUG=angleproject:2107
    
    Change-Id: I088956a1e13247c593cbb84677f346ef6f0fe983
    Reviewed-on: https://chromium-review.googlesource.com/678483
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit a150621370877cd68c92a4e30023f253e5ebea7a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Sep 21 10:49:18 2017 -0400

    Remove initialization of ImageD3D objects now that lazy init covers them
    
    Inintialize all D3D11 texture allocations with dummy values in debug.
    
    BUG=angleproject:2107
    BUG=angleproject:1635
    
    Change-Id: Ibcc6cc30480b32430563143f35f38dda16fdb83c
    Reviewed-on: https://chromium-review.googlesource.com/678477
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 09cd47779d2196c82927e2dcc698001087e94775
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Sep 27 13:44:41 2017 -0400

    Remove references to the framebuffer fetch extensions in the GL layer.
    
    BUG=angleproject:1523
    
    Change-Id: I145323661bc4fdd596784eb7b6e9d8f4588c7270
    Reviewed-on: https://chromium-review.googlesource.com/688099
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 8c5b31c29d785074bc0a7c0529bd9b965dc3e382
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Sep 26 18:07:44 2017 -0400

    Make query extensions enableable.
    
    BUG=angleproject:1523
    
    Change-Id: If2da4bff180664de997c981165672858c19ebe78
    Reviewed-on: https://chromium-review.googlesource.com/685649
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 05b35b210ef3dcdf7e3260d192ce51b602b6f3a7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Oct 3 09:01:44 2017 -0400

    D3D11: Lazy robust resource init.
    
    This patch moves the robust resource init logic to the GL front-end.
    Instead of initializing texture resources immediately on creation in
    D3D11, it defers the clear until before a draw call in some cases, or
    skips the update if we can determine if a texture (or other resource)
    has been fully initialized.
    
    Currently lazy init is only implemented for Textures, Renderbuffers,
    and Surfaces.
    
    Various places where lazy resource init is triggered:
    * Framebuffer operations (Draw, Blit, CopyTexImage, Clear, ReadPixels)
    * Texture operations (SubImage, GenerateMipmap, CopyTexImage)
    
    Some efficiency gains remain to be implemented, such as when a
    SubImage call fills the entire object. Similarly for Blit, and a few
    other operations. In these cases we can skip lazy init as an
    optimization. Edge cases with EGLImage are mostly untested.
    
    BUG=angleproject:2107
    
    Change-Id: I2bf3a69b1eae0d4feeb5b17daca23451f1037be8
    Reviewed-on: https://chromium-review.googlesource.com/576058
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit a60d35672ed9dba63e5141859fcb25d903de65b5
Author: Kai Ninomiya <kainino@chromium.org>
Date:   Mon Oct 2 22:10:28 2017 -0400

    Re-enable uninitialized-local test that should pass now
    
    Follow up to https://crrev.com/c/669642
    
    Bug: angleproject:2041
    Change-Id: I27bf4458f5c8be265b757fd5a3ea10f5ffa9e10e
    Reviewed-on: https://chromium-review.googlesource.com/696764
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit adaabc3658f4d58e83fc2705ad0a089e5fcf6437
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Oct 2 16:23:00 2017 -0400

    Support PBO and map buffer extensions in the NULL backend.
    
    BUG=770696
    
    Change-Id: Ic7bcc2b5c76817888647022505a2442ce4016b1e
    Reviewed-on: https://chromium-review.googlesource.com/696125
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 04d0646c947f765a5f5d82b4d605f5f03fe5a38d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Oct 2 16:01:13 2017 -0400

    Support GL_NV_fence in the NULL backend.
    
    BUG=770696
    
    Change-Id: Ice5345eddc4cec61cd5ce33a7cd5d45fa68379a5
    Reviewed-on: https://chromium-review.googlesource.com/695918
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 50cac57aad8ab591e2142588d3c489936a7d2a86
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Sep 26 17:37:43 2017 -0400

    Make GL_EXT_blend_minmax enableable.
    
    BUG=angleproject:1523
    
    Change-Id: I73df8d9a23c3d22792abde44b495be7478abfc22
    Reviewed-on: https://chromium-review.googlesource.com/685648
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 8c7133caf82db2b02323176ce4c71c553dcaec29
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Sep 26 17:31:10 2017 -0400

    Make GL_OES_fbo_render_mipmap enableable.
    
    BUG=angleproject:1523
    
    Change-Id: If50a4bf5e33bf0b9ad76a9c6bb999cf4d620c709
    Reviewed-on: https://chromium-review.googlesource.com/685647
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 3fab7634383647674d3c9eb398ce42e3cad1c241
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Sep 26 15:45:54 2017 -0400

    Make PBO and map buffer extensions enableable.
    
    BUG=angleproject:1523
    
    Change-Id: Ia934a186ce490083f93b59eedd3bdf48e0fcb727
    Reviewed-on: https://chromium-review.googlesource.com/685799
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 5b2a1760798debbb97674c267cf22734228a073c
Author: Jiawei-Shao <jiawei.shao@intel.com>
Date:   Fri Sep 29 13:19:39 2017 +0800

    ES31: Implement glSampleMaski on D3D11
    
    This patch intends to implement glSampleMaski on D3D11 backends.
    
    In D3D11 the sample mask word can be set by OMSetRenderState. This
    function can only accept an UINT as its parameter SampleMask, so
    the value MAX_SAMPLE_MASK_WORDS in D3D11 backends is set to 1.
    
    BUG=angleproject:1592
    TEST=dEQP-GLES31.functional.state_query.*.sample_mask*
    TEST=dEQP-GLES31.functional.texture.multisample.*.sample_mask*
    
    Change-Id: I27f509cf81624d95948b06739bb9fe21288d2d31
    Reviewed-on: https://chromium-review.googlesource.com/691259
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 8c5b69cbaa1084d42d2fd68e2781a78bd6dc6015
Author: Kai Ninomiya <kainino@chromium.org>
Date:   Mon Sep 18 20:23:08 2017 -0700

    Replace MurmurHash3 with PMurHash
    
    PMurHash comes from the smhasher repository at chromium/src/third_party/smhasher
    
    Bug: 697758
    Change-Id: Id2859edf37ae66bf27509d53db7f22db8831fe44
    Reviewed-on: https://chromium-review.googlesource.com/687970
    Commit-Queue: Kai Ninomiya <kainino@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 2a9e107c072e241a610a4496daac9590703e2fa0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Sep 22 11:31:57 2017 -0400

    Vulkan: Support multiple vertex outputs.
    
    This is a bit of a hack, similar to how D3D11 works. We need to write
    output locations in the GLSL shader before we send them to glslang,
    so we wait until the link call, then string-replace some hard-coded
    identifeir code to the attribute location determined by ANGLE.
    
    This CL also fills in some of the vertex format conversion tables in
    formatutilsvk.cpp.
    
    BUG=angleproject:2167
    
    Change-Id: I2424d0d990bdbcd831a4dd130e61e87d8f8f479f
    Reviewed-on: https://chromium-review.googlesource.com/677555
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit a9c60e9f9a23e78d0d2aefca1f125ee4f715a9ee
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 28 19:06:39 2017 -0400

    Vulkan: Allow for multiple frames in-flight.
    
    This should give us the ability to send off more than one frame to
    the presentation engine at once. Instead of using a single pair of
    Semaphores to lock each surface, we make a Semaphore pair per
    Swapchain image.
    
    BUG=angleproject:1898
    
    Change-Id: I9e833ed9969a79617d0a8968b0d5a25c27139e87
    Reviewed-on: https://chromium-review.googlesource.com/672149
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit db3422764a9bdebb924552169b3df8d42c4b463f
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Wed Sep 27 10:21:45 2017 +0800

    ES31: Implement glSampleMaski on OpenGL
    
    This patch intends to implement glSampleMaski on OpenGL
    backends.
    Refers to: https://chromium-review.googlesource.com/c/487603
    
    BUG=angleproject:1592
    TEST=dEQP-GLES31.functional.state_query.*.sample_mask*
    TEST=dEQP-GLES31.functional.texture.multisample.*.sample_mask*
    
    Change-Id: If5ddd6ab57259593919a482be80fbdbe29f6f54d
    Reviewed-on: https://chromium-review.googlesource.com/573727
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 49bb7e131c9b329cdd6c3c60dfb9c0e66f5ec92f
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Sep 27 18:24:23 2017 -0400

    Fixup Mac dEQP GLES3 expectations
    
    BUG=angleproject:2137
    
    Change-Id: I385eab17b60ae434b06c8235d7ee7849c145e765
    Reviewed-on: https://chromium-review.googlesource.com/688681
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 89588b90571197eaf2f095045cae76a7bad75242
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Sep 27 15:02:18 2017 -0400

    Add dEQP GLES3 Mac suppressions
    
    BUG=angleproject:2137
    
    Change-Id: If1b186de7aed3464427864b3a68dffd74cb497ed
    Reviewed-on: https://chromium-review.googlesource.com/687871
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit ffab70156b2c1cb33c6508b3d96f986c878ed99f
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Sep 26 18:43:11 2017 -0400

    Skip dEQP GLES3 performance tests on all platforms
    
    BUG=angleproject:2137
    
    Change-Id: I0d434f6b92164fecb10ee61c8cb662ccab8470f1
    Reviewed-on: https://chromium-review.googlesource.com/685937
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 0f2aa31d767f449a8e3aada9e29369b8e63c2182
Author: JiangYizhou <yizhou.jiang@intel.com>
Date:   Mon Jul 10 11:28:37 2017 +0800

    ES31: Fix bug on incomplete texture validation of internalformat and filterable
    
    Multisampled texture with unfilterable internalformat and default filter state shouldn't
    be justified as incomplete texture in angle. However, the default filter state is set to
    LINEAR and internalformat like R8I or R8UI is not filterable, which lead to texture
    incomplete.
    
    In es 3.1 spec 8.16, 'The effective internal format specified for the texture arrays is a
    sized internal color format that is not texture - filterable(see table 8.13), and either
    the magnification filter is not NEAREST or the minification filter is neither NEAREST nor
    NEAREST_MIPMAP_NEAREST'.
    
    As to Table 20.11, The default value of minFilter is NEAREST_MIPMAP_LINEAR, magFilter is LINEAR.
    
    Because in 11.1.3.3,'Multisample textures are not filtered when samples are fetched, and filter
    state is ignored.' So we ignore filtering for multismaple texture completeness.
    
    BUG=angleproject:1590
    TEST=dEQP-GLES31.functional.shaders.builtin_functions.texture_size.samples_*_texture_2d
    TEST=dEQP-GLES31.functional.shaders.builtin_functions.texture_size.samples_*_texture_int_2d
    TEST=dEQP-GLES31.functional.shaders.builtin_functions.texture_size.samples_*_texture_uint_2d
    TEST=dEQP-GLES31.functional.texture.multisample.samples_*.use_texture_color_2d
    TEST=dEQP-GLES31.functional.texture.multisample.samples_*.use_texture_int_2d
    TEST=dEQP-GLES31.functional.texture.multisample.samples_*.use_texture_uint_2d
    TEST=dEQP-GLES31.functional.texture.multisample.samples_*.use_texture_depth_2d
    
    Change-Id: I0533bd028e0bbb66d9f731a2395f6c8ae7db8938
    Reviewed-on: https://chromium-review.googlesource.com/564843
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit c71ea661e371833f4c20a19cbcd6936d5b3024e6
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Sep 26 17:06:02 2017 -0400

    Return HALF_FLOAT as an implementation read type in ES3.
    
    BUG=765953
    
    Change-Id: I4dc79921766975cd75c489887b7e57ec4666fbbb
    Reviewed-on: https://chromium-review.googlesource.com/685897
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 457ded9b4fc68d6f3522e48513bcfb177d9c981f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Sep 22 16:58:44 2017 -0400

    Print FILE in more debug info messages.
    
    Applies to UNREACHABLE and UNIMPLEMENTED.
    This helps track down the offending line more easily.
    
    BUG=angleproject:2167
    
    Change-Id: I97eb80677a6dd432a04f5e7516c3db3de8e7128a
    Reviewed-on: https://chromium-review.googlesource.com/679999
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit f0fd87d8264e89bd8d9676c4156cd7bd6dc69b7a
Author: Yunchao He <yunchao.he@intel.com>
Date:   Tue Sep 12 04:55:05 2017 +0800

    Code refactoring in validation part.
    
    Some code refactoring in this change:
    1) It moves some public methods to static.
    These methods are only used in validationES3.cpp. They are not necessay to be
    exposed to public.
    
    2) The error messages to check context version are inconsistent. It makes them
    to be consistent.
    
    BUG:angleproject:2005
    
    Change-Id: I5af4c3300634ccc44aac386c90dcb0522acbff83
    Reviewed-on: https://chromium-review.googlesource.com/661324
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit f32cd0b789b764d24a116716a99bf93a84aa1b88
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 21 15:33:32 2017 -0400

    Remove WindowSurfaceVk::swapImpl prototype.
    
    This method was removed in a prior patch.
    
    BUG=angleproject:1898
    
    Change-Id: I2ab3c36bbef4ce6c978cd4c09cc191c4e7ff7991
    Reviewed-on: https://chromium-review.googlesource.com/677547
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit d4826159545ca38c9b91694bb82d2bdc0fc3aadc
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 21 11:18:59 2017 -0400

    Vulkan: Only init RenderPass once per frame.
    
    This saves some time spent in the driver, by making multiple draw
    calls happen inside a single RenderPass.
    
    This also makes the ReadPixels impl method non-const. I think in
    the future we should avoid making const Impl methods unless they're
    totally trivial.
    
    BUG=angleproject:1898
    
    Change-Id: I39172270a2f7dc5c1c2e3d4cc50af3bac8a29fa1
    Reviewed-on: https://chromium-review.googlesource.com/672148
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 1f9d68437c9d3fd1bcb8fffff84fdd29d1857919
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 21 11:01:44 2017 -0400

    StateManager11: Defer RenderTarget invalidation to draw.
    
    Although this adds a boolean check (and state flag maintenance) cost
    to each draw call, it makes ANGLE's internal life a lot simpler
    because it doesn't have to process a framebuffer change until the
    draw call. It turns out there are a few dependent checks of the
    Framebuffer that aren't always easy to do. In one test, Context
    destruction was triggering RenderTarget invalidation, after the
    Context had already freed the Framebuffer manager.
    
    This also fixes the problem in feature level 9_3 with framebuffer
    invalidation affecting the internal dirty bit set. (Note that it
    still dirties the Framebuffer for the next frame).
    
    BUG=chromium:767279
    BUG=angleproject:2151
    
    Change-Id: I74d61bddf9926004a04f712a9f9eb1205d5df0e1
    Reviewed-on: https://chromium-review.googlesource.com/676657
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 981f0f8f6a34b6144e573692c6fcab1625a5f67c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 21 09:07:41 2017 -0400

    Add flag to do a fast pass through perf tests.
    
    This flag will only render the first frame of each perf test,
    regardless of their preferences for how many seconds to run.
    It will be useful for speeding up the run time of the perf tests
    on testing infrastructure that only cares about correctness.
    
    BUG=chromium:725308
    BUG=chromium:765321
    
    Change-Id: I926f488c42f27ef23ef06a0159902613cff04080
    Reviewed-on: https://chromium-review.googlesource.com/677306
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 2bc947334cad77bf5eb2b34ef7b54a7be3755de9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 20 21:57:29 2017 -0400

    D3D11: Minor optimizations to vertex attribute application.
    
    Introduce a dirty bit for current value attribs, and try to speed up
    the check for dirty vertex attribs.
    
    This series of small optimizations gives about a 15% improvement on
    the draw call benchmark for the D3D11 backend with the null driver.
    
    BUG=angleproject:1155
    
    Change-Id: Idf560efa3af62776e8bdbdf693f8b06db8792c21
    Reviewed-on: https://chromium-review.googlesource.com/666048
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit f15815835917daaca47022cbc2e9e020b6d1345f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 20 21:57:28 2017 -0400

    Minor cleanup to setIndexBuffer.
    
    This cleans up the point sprites dirtying logic into applyIndexBuffer.
    
    This series of small optimizations gives about a 15% improvement on
    the draw call benchmark for the D3D11 backend with the null driver.
    
    BUG=angleproject:1155
    
    Change-Id: I210dd408d11ef5a0b58b0ad32d1255c787a55fba
    Reviewed-on: https://chromium-review.googlesource.com/666047
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 74b30e461069cf5f36aa4952c2675025694fa92f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 20 21:57:27 2017 -0400

    Improve the speed of MarkAttachmentsDirty.
    
    Only iterate the enabled draw buffers, and the depth/stencil buffer.
    
    This series of small optimizations gives about a 15% improvement on
    the draw call benchmark for the D3D11 backend with the null driver.
    
    BUG=angleproject:1155
    
    Change-Id: I5b29362f93c016c146d2a6527b378853bc070239
    Reviewed-on: https://chromium-review.googlesource.com/666046
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 1b7ed0ef2d230989bb026ea7c6a1fc3246cc9647
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 20 21:57:26 2017 -0400

    D3D11: Minor optimizations to Renderer11.
    
    This moves the skipDraw logic into applyPrimitiveType, since it's
    more efficient to only check the primitive type once. Also merges
    the draw*Impl and genericDraw* methods, since the generic* methods
    weren't really doing anything anymore, and all the state logic lives
    in StateManager::updateState.
    
    This series of small optimizations gives about a 15% improvement on
    the draw call benchmark for the D3D11 backend with the null driver.
    
    BUG=angleproject:1155
    
    Change-Id: I299213da6d1bbcb08691d5b50162e6cae16cb4bb
    Reviewed-on: https://chromium-review.googlesource.com/666044
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 61491505e8775d9cd6f17ea0bf0ffa4c2e6ffe51
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Fri Sep 15 22:32:21 2017 +0800

    Tighten clear-twice workaround on Windows Skylake Intel GPU
    
    The workaround for calling clearRenderTargetView on small targets
    isn't needed on the newly released Intel D3D driver 15.46-4771
    because the fix of this bug has been merged into this driver.
    
    BUG=chromium:655534
    
    Change-Id: I90125971fd4b782b7363b8ca3104bd500e21a034
    Reviewed-on: https://chromium-review.googlesource.com/668223
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit a5dc625c9ab0dc81daa1320e72faed400d31effc
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 20 21:08:14 2017 -0400

    Suppress two failing angle_end2end_tests.
    
    "Add test for GL_KHR_robust_buffer_access_behavior"
    introduced a failure in Windows 10 NVIDIA OpenGL configs.
    
    "ES31: Enable shader storage buffer support for OpenGL backend"
    introduced a failure on Linux Intel HD 630 configs.
    
    BUG=angleproject:1463
    BUG=angleproject:1951
    
    Change-Id: I791bc729893b7f31093ab1678dc8d01edfbd0a5a
    Reviewed-on: https://chromium-review.googlesource.com/676473
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c8bee3351bb3421f06ea3428a26ae036abeafc68
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 20 15:42:09 2017 -0400

    D3D11: Implement a dirty bit for Shaders.
    
    This allows us to skip calling the dynamic shader generation and
    program shader application when there haven't been any state
    changes. It builds on the previous work that immediately update
    state caches in the VertexArray11 and Framebuffer11. It should
    improve performance in draw-call limited applications by a small
    margin.
    
    For reference, here are the conditions under which the shaders
    are refreshed:
    
    1. Directly changing the program executable
    2. The vertex attribute layout
    3. The fragment shader's rendertargets
    4. Enabling/disabling rasterizer discard
    5. Enabling/disabling transform feedback
    6. An internal shader was used
    7. Drawing with/without point sprites
    
    Improves the score of the draw call stress test for the D3D11
    back-end (with null driver) by about 40% on my test machine.
    
    The 9_3 back-end seems to have an issue where the getSRV call
    to a texture storage can change the "use level zero workaround"
    status of the storage, which in turn will invalidate the state.
    Since this is localized to 9_3 only, put in a hack to disable
    an assert check for now.
    
    BUG=angleproject:2151
    
    Change-Id: Idbd0a31376691b33972e735d5833a9b02a8a4aa9
    Reviewed-on: https://chromium-review.googlesource.com/666278
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit fb997ec1d162a73ff56a2eb8b3e1e8f2f58297a1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 20 15:44:27 2017 -0400

    Removed "name" and "used" from variable location.
    
    The used flag was redundant with the index (which used MAXUINT). The
    name was redundant with the stored uniform. Removing these gives a
    very minor performance speed up when iterating and retrieving
    uniform locations.
    
    BUG=angleproject:1390
    
    Change-Id: Ieeccdff7c131e1359e754e246d3648b73aad5baf
    Reviewed-on: https://chromium-review.googlesource.com/659224
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 805d281ae21eb92cf44b47436e59b90a7d6f291f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 20 13:21:42 2017 -0400

    D3D11: Fix ClearBufferiv with STENCIL.
    
    For some reason we were using the second GLint value passed into the
    method, when the spec says we should have a single clear value.
    
    Noticed when adding tests for lazy robust resource init (tests will
    be added in a subsequent patch).
    
    BUG=angleproject:2107
    
    Change-Id: Iadfc5072796255072bfb71ff1918253045e29576
    Reviewed-on: https://chromium-review.googlesource.com/675049
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit ea84f6fff2cf58379a962cda843a6281f716a414
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 20 13:20:30 2017 -0400

    Pass Context to Framebuffer11 dirty callback.
    
    This allows us to call StateManager11::invalidateRenderTarget from the
    Framebuffer11::signal function, which will then trigger state refresh
    on the next draw call.
    
    This requires passing Context through a few more Renderbuffer methods,
    and reorganizing the RenderTarget signalling so that it doesn't signal
    dirty in the destructor. Instead they are signaled as they are
    destroyed in the containing classes.
    
    BUG=angleproject:2151
    
    Change-Id: I4cf575e4a01b48275ff78d75bc55b2d1fced591d
    Reviewed-on: https://chromium-review.googlesource.com/673139
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit 8ec383e6a5833a660c8909758d96391d2b3dff7e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 20 13:20:29 2017 -0400

    Use array template aliases in TextureStorage11.
    
    This cleans up some of the iteration logic.
    
    BUG=angleproject:2151
    
    Change-Id: I8d80a8d732ee808babbb4859290b648b4fa67b4d
    Reviewed-on: https://chromium-review.googlesource.com/673138
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 136a274222ffcc6c0bf46cd72929055eb7fcf954
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 20 12:29:44 2017 -0400

    TextureStorage11: Use unique_ptr for RenderTargets.
    
    This ensures they are auto-freed when the Storage is destroyed.
    Also remove the 'delete this' design pattern.
    
    BUG=angleproject:2151
    
    Change-Id: I784b94c7125a1bbc15f5d6ae90e55317e199faa6
    Reviewed-on: https://chromium-review.googlesource.com/673137
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit 335101071a3f4b5ef218b70f11210066d715ba80
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 20 10:39:18 2017 -0400

    Pass gl::Context to more Buffer methods.
    
    This will allow us to pull out the Renderer from the Context in more
    places in Buffer11, for state update. Impacts a few method calls in
    a few places.
    
    BUG=angleproject:2151
    
    Change-Id: I1360caea65a94d3de4cd9f52d1b74b10439b02b3
    Reviewed-on: https://chromium-review.googlesource.com/673136
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 4cc89e2bfecaca32508ca724462cf5421e74f14c
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Thu Aug 31 14:25:54 2017 +0800

    ES31: Enable 'location' layout qualifier on shader interfaces in compiler
    
    This patch enables 'location' layout qualifier for vertex outputs and
    fragment shader inputs when the shader version is 3.1 in ANGLE GLSL
    compiler and adds the check on location conflicts for these varyings.
    
    According to GLSL ES 3.1 SPEC (Chapter 4.4.1 and Chapter 4.4.2),
    'location' layout qualifier is allowed on both inputs and outputs of
    vertex and fragment shaders.
    
    'location' layout qualifier on shader interfaces is only valid on shaders
    whose version is 3.1 and above. According to GLSL ES 3.0 SPEC, vertex shader
    cannot have output layout qualifiers (Chapter 4.3.8.2) and fragment shader
    cannot have input layout qualifiers (Chapter 4.3.8.1).
    
    The 'location' qualifier on varyings is used in the shader interface
    matching defined in OpenGL ES 3.1. (OpenGL ES 3.1 SPEC Chapter 7.4.1). This
    new link rule will be added to Program.cpp in another patch.
    
    For the OpenGL ES 3.1 extension GL_OES_geometry_shader, according to
    GL_OES_shader_io_blocks SPEC (Chapter 4.4.1 and Chapter 4.4.2), 'location'
    layout qualifier is both valid on geometry shader inputs and outputs. This
    feature will be implemented together with other rules on geometry shader
    inputs and outputs.
    
    BUG=angleproject:2144
    TEST=angle_unittests
    
    Change-Id: I62d85f7144c177448321c2db36ed7aaeaa1fb205
    Reviewed-on: https://chromium-review.googlesource.com/645366
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 729b2c6e0902ba5683bf5c6ca4b6ff00778d92af
Author: Jiajia Qin <jiajia.qin@intel.com>
Date:   Mon Aug 14 09:36:11 2017 +0800

    ES31: Enable shader storage buffer support for OpenGL backend
    
    BUG=angleproject:1951
    TEST=angle_end2end_tests:ShaderStorageBuffer
    
    Change-Id: I1afc3cd005ad2e595c6ce937fc53e17423f8ec8b
    Reviewed-on: https://chromium-review.googlesource.com/618132
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 47bf2dc53c4cd561eae1522131ab15aec3038d5c
Author: Jiajia Qin <jiajia.qin@intel.com>
Date:   Tue Sep 5 15:00:25 2017 +0800

    Add test for GL_KHR_robust_buffer_access_behavior
    
    This test is ported from webgl test element-index-uint.html.
    
    BUG=angleproject:1393, angleproject:1463
    
    Change-Id: I165e3dd2913968c8cc035c570a7bcaf91aed095a
    Reviewed-on: https://chromium-review.googlesource.com/651239
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 84aa2dcf8a2de29f374177120f3b61bd6223c828
Author: Martin Radev <mradev@nvidia.com>
Date:   Mon Sep 11 15:51:02 2017 +0300

    Add textureGather and textureGatherOffset
    
    The patch adds new built-ins and extends the semantic parser to add
    support for textureGather and textureGatherOffset.
    
    BUG=angleproject:1442
    TEST=angle_unittests
    TEST=angle_deqp_gles31_tests.exe
         --deqp-case=dEQP-GLES31.functional.texture.gather*
         --deqp-egl-display-type=angle-gl
    
    Change-Id: Iaf98c3420fbd61193072fdec8f5a61ac4c574101
    Reviewed-on: https://chromium-review.googlesource.com/660124
    Commit-Queue: Martin Radev <mradev@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 72f58fa30559ff9f8444e1d6c3fd32e1112c6648
Author: Brandon Jones <brandon1.jones@intel.com>
Date:   Tue Sep 19 10:47:41 2017 -0700

    Change Returned Error For Invalid Hint
    
    When using FRAGMENT_SHADER_DERIVATIVE_HINT_OES as a hint with
    OES_standard_derivatives disabled, we should return INVALID_ENUM, not
    INVALID_OPERATION.
    
    Bug: angleproject:2158
    
    Change-Id: I5759f1e8bb19d2caed278506054aebc5d82d431c
    Reviewed-on: https://chromium-review.googlesource.com/673374
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 9abe07c652ed6e2a0f054a685a330226f4d58e51
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 19 00:25:00 2017 -0400

    Move Platform Context pointer to start of struct.
    
    This will ensure that new methods (placed at the end) don't collide
    with the context pointer when using a mismatched platform.
    
    BUG=angleproject:1892
    
    Change-Id: Ice6a3ccaf3cc2a1e36a04bc217386cf096612176
    Reviewed-on: https://chromium-review.googlesource.com/672147
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 7aa786c89d3777212cf8cb9a5ef85193b5489544
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 19 13:57:15 2017 -0400

    Fix warnings produced from MSVS code analysis.
    
    We could dereference a null pointer in a couple edge cases.
    
    BUG=angleproject:2151
    
    Change-Id: I0d40b930c5008b80928bfe8c93588f80127fd166
    Reviewed-on: https://chromium-review.googlesource.com/665995
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit b8bbbf9ec685699aedc55eecaca0a2c2c5156887
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 19 00:24:59 2017 -0400

    Vulkan: Use environment override to load layers.
    
    Instead of using a compile-time define, use an OS call to override
    the environment variable the loader uses to look for layers. This
    should allow us to have a run-time override mechanism, so we can
    more easily use ANGLE with RenderDoc and other tools that hook
    into the layers for debugging and profiling purposes.
    
    This should also allow the developer to install and use their own
    layers with ANGLE if desired.
    
    This patch removes the angle_loader.h generation since it is no
    longer necessary.
    
    It also fixes an unrelated loader warning that occured when releasing
    the current pipeline object.
    
    BUG=angleproject:1898
    
    Change-Id: Ic4a5120a6b73745397451ef9e3897e157da1feda
    Reviewed-on: https://chromium-review.googlesource.com/671490
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit abd313592dfe98bb82b72c98bb1db78606f88189
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 19 00:24:58 2017 -0400

    Vulkan: Fix deleting in-use Pipeline.
    
    This warning was popping up with a new version of the layers when
    running the hello_triangle sample. Fix it by assigning the current
    Serial ID to the Context for the current pipeline. A more robust
    fix in the future would probably be to assign Serial IDs to the
    Pipelines themselves.
    
    BUG=angleproject:1898
    
    Change-Id: Ib5e8ea7c4c26907d1987529d8127249f9b18e17f
    Reviewed-on: https://chromium-review.googlesource.com/672146
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 0f80ed8670be996436e711d33cb4d7e87a9683e6
Author: Jamie Madill <jamie@nullspace.ca>
Date:   Tue Sep 19 00:24:56 2017 -0400

    Improve speed of iterating dirty textures.
    
    We had a performance regression in the Textures benchmark. What the
    test was doing was iterating over all possible texture state,
    ensuring the active texture was dirty every frame. This is an attempt
    to improve on the speed by not doing as much resetting work in
    State::syncProgramTextures. It introduces an active textures mask to
    speed iteration over the active texture set.
    
    Also makes a refactoring change to Context to make it easier to limit
    caps to an implementation maxium. The number of active textures is
    limited to 64 so they easily fit in the bitset mask, with a limit of
    32 per shader stage. No mask is currenly kept for compute shaders.
    
    With the fix the performance should be about the same as before (which
    is good, as the test always sets the textures dirty).
    
    Test: TexturesBenchmark.Run/gl_8_textures_5_rebind_3_state_8_mips
    
    BUG=chromium:765363
    BUG=angleproject:1387
    
    Change-Id: I8bcf95be3671195373573f89f406edaba40aa1be
    Reviewed-on: https://chromium-review.googlesource.com/670279
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 8b2142e3734e5403ba247deea4bdda1cdde207db
Author: Kai Ninomiya <kainino@chromium.org>
Date:   Mon Sep 18 13:17:13 2017 -0700

    Put MurmurHash3 functions in the angle namespace
    
    To prevent collisions when linking with other copies of MurmurHash3.
    
    BUG=697758
    
    Change-Id: Id8a5c709ba972812ffa3ca143e7553cbf05fc57a
    Reviewed-on: https://chromium-review.googlesource.com/671194
    Commit-Queue: Kai Ninomiya <kainino@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 10ce2d284432f3cb69a45c8fdaa5d5df89cbcd0d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Sep 16 09:47:19 2017 -0400

    GL: Fix 64-bit caps query on older GL drivers.
    
    GetInteger64v wasn't introduced until GL 3.2, but some of the enums
    for caps that are 64-bit in 3.2 (eg, max uniform block size) were
    first introduced as 32-bit values in extensions. This comes up when
    trying to use RenderDoc's OpenGL simulator, since it exposes some
    relevant extensions and only uses core version 3.1.
    
    BUG=None
    
    Change-Id: Ie4be71b5c8656aae0fe08c270a53f5ef86c99710
    Reviewed-on: https://chromium-review.googlesource.com/599030
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit f3d574545e36e201c302484bd7717a77e808e799
Author: Kai Ninomiya <kainino@chromium.org>
Date:   Fri Sep 15 14:28:50 2017 -0700

    Enable SH_INITIALIZE_UNINITIALIZED_LOCALS on Mac
    
    BUG=angleproject:2041
    
    Change-Id: Id5a85c40358b018c17984ac26ee7f97f10584d4b
    Reviewed-on: https://chromium-review.googlesource.com/669642
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Commit-Queue: Kai Ninomiya <kainino@chromium.org>

commit 704e862f50563eeb9570a126c36c474a3ee8c7b1
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Sep 18 11:06:00 2017 -0400

    dEQP GLES2: skip some tests on Mac Intel
    
    These tests crash the OSX shader compiler. Skip them instead of
    expecting a failure.
    
    BUG=angleproject:2137
    
    Change-Id: I4476ba93390ce8dfc1e609e4297d6ce1236d2686
    Reviewed-on: https://chromium-review.googlesource.com/671285
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit afe8824b3b593fca912cc66342b23c635e2e7f93
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Sep 18 11:03:24 2017 -0400

    Fix standalone compilation on Mac
    
    Apple Clang 8.1 doesn't allow implicit conversion from gl::Error to
    egl::Error with the egl::Error::Error(gl::Error&&) constructor. Same
    thing for gl and egl reversed. This commits add conversion constructors
    taking errors by value. There should be not performance impact for
    non-error code paths.
    
    BUG=
    
    Change-Id: I91acf094af923080780b91850146d71016ec5ebc
    Reviewed-on: https://chromium-review.googlesource.com/671284
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit a336b90f6200a4aec5738f14baabe61190dd8c0f
Author: Yunchao He <yunchao.he@intel.com>
Date:   Wed Aug 2 16:05:21 2017 +0800

    ES31: Impl program pipeline object management entries for GL backend.
    
    The program pipeline object management entries are:
    GenProgramPipelines
    DeleteProgramPipelines
    BindProgramPipeline
    IsProgramPipeline
    
    BUG:angleproject:2123
    
    Change-Id: I114d054b90caf2ee3f9befef7439552a1c309bc4
    Reviewed-on: https://chromium-review.googlesource.com/629978
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 5307e15d3366bb9fd96a2cfc13249f160bccb603
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sun Sep 17 16:43:07 2017 -0400

    D3D11: Re-check disabled attribs on VAO switch.
    
    When switching VAOs, if we switch to a VAO which has disabled
    attributes, we could occasionally in some edge cases not have a buffer
    initialized to render with. Fix this by re-checking the current
    value (disabled) attributes every VAO switch.
    
    Probably a regression caused by d28758d:
    "D3D11: Re-enable updateVertexBuffer dirty bits."
    
    BUG=angleproject:2156
    BUG=angleproject:1156
    
    Change-Id: Ic1795f914b9b4fa846241b0b4f9a8fe9c1183320
    Reviewed-on: https://chromium-review.googlesource.com/669963
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a20af6d7e88129d571543f3e3eab6993adf87bc6
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Sep 18 13:32:29 2017 +0300

    Use C++11 raw string literals instead of SHADER_SOURCE macro
    
    This is better in many ways:
    1. It doesn't confuse clang format
    2. \n doesn't need to be included after preprocessor directives like
       the version directive.
    3. It's using built-in functionality instead of something custom.
    
    Raw string literals should be the preferred way to include shader
    source in C++ files going forward.
    
    BUG=angleproject:2157
    TEST=angle_end2end_tests
    
    Change-Id: I8b236a6e2d5c25d920297e5bc5b5b143eddeba1f
    Reviewed-on: https://chromium-review.googlesource.com/671046
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit bb5a7e29d2cccf9b10f010913a368037313a7118
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Aug 30 13:03:12 2017 +0300

    Allow length() on arbitrary array expressions
    
    This is required to pass some dEQP GLES 3.1 tests for arrays of
    arrays, and WebGL conformance tests were also recently fixed to
    require this behavior. The intent of the GLSL ES spec was not to
    restrict usage of length().
    
    In practice GL drivers don't implement array length() on expressions
    with side effects correctly in all cases. HLSL doesn't have an array
    length operator either. Because of this we always remove array length
    ops from the AST before output.
    
    BUG=angleproject:2142
    TEST=angle_unittests, angle_end2end_tests, WebGL conformance tests
    
    Change-Id: I863a92e83ac5315b013af9a5626348482bad72b3
    Reviewed-on: https://chromium-review.googlesource.com/643190
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 67a8a0148af4fa8cc9c7c1e00f26d4bfc0d13da1
Author: Martin Radev <mradev@nvidia.com>
Date:   Fri Sep 8 13:03:52 2017 +0300

    Clean up MultiviewDrawTest.cpp
    
    The patch cleans up MultiviewDrawTest.cpp by removing some calls to
    glUseProgram as that would be done by drawQuad anyway.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    
    Change-Id: If9aff686b0ea25e63467852845c46582fdf741c5
    Reviewed-on: https://chromium-review.googlesource.com/657678
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 634909433d563285106fa9c48cf98581cb8b657b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Sep 15 23:03:14 2017 -0400

    Work around VS 2017 compiler bug in dEQP.
    
    We should upstream this fix to dEQP once we have the chance.
    
    BUG=chromium:759402
    
    Change-Id: I64e5df9bc6552e6fabe2b4b60c877fa30fd4c1f2
    Reviewed-on: https://chromium-review.googlesource.com/670101
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 806cda936c62168f644f6e85bb5bf954fbb80d13
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Sep 15 15:57:26 2017 -0400

    Fix newly added Mac dEQP expectations
    
    BUG=angleproject:2137
    TBR=geofflang@chromium.org
    
    Change-Id: I16e0ca6422deed0c225f3eca11189ec7c62fb5c2
    Reviewed-on: https://chromium-review.googlesource.com/669361
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 7e2c0d373e38db9142ece5c2dd3af2d81c561526
Author: Martin Radev <mradev@nvidia.com>
Date:   Fri Sep 15 14:25:42 2017 +0300

    Fix cubemap completeness check
    
    The patch updates the cubemap completeness check to use the base level
    instead of always level 0. Without this change the cubemap faces at
    level 0 would have to be created in order to specify another base level
    through TexParameteri.
    
    BUG=angleproject:2153
    TEST=angle_end2end_tests
    
    Change-Id: Iee1fdc6adf0e69d797821a2ce2f2b2b85dfcdfc1
    Reviewed-on: https://chromium-review.googlesource.com/668439
    Commit-Queue: Martin Radev <mradev@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 71c88b31d95b2f1dcbe2c8b6f7b9403d9514440f
Author: Jamie Madill <jamie@nullspace.ca>
Date:   Thu Sep 14 22:20:29 2017 -0400

    Enable [[nodiscard]] for gl::Error.
    
    This forces all return values to be checked for gl::Error.
    Requires quite a bit of minor refactoring. I also added a macro to
    swallow an error without returning from a function.
    
    We could look at storing the errors in the Context at some point,
    since almost always when we're generating errors that we need to
    discard we have access to the Context as a parameter.
    
    BUG=angleproject:2150
    
    Change-Id: I457e48a30c002eda0993acbcd3180ba87bf169fb
    Reviewed-on: https://chromium-review.googlesource.com/665173
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 32b7e23797f9f4fa2f8a89083debc699e6db7032
Author: Peter Collingbourne <pcc@ad.corp.google.com>
Date:   Thu Sep 14 15:44:17 2017 -0700

    Fix bad casts in BindingPointer::set.
    
    The object owned by the BindingPointer does not necessarily derive
    from RefCountObject; it could also just derive from RefCountObjectNoID
    (e.g. Compiler).
    
    Found with Clang's CFI bad cast checker.
    
    BUG=chromium:507755
    
    Change-Id: I7e431746b2783e2fc0f2d347a4a27bd60da18473
    Reviewed-on: https://chromium-review.googlesource.com/667218
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit eccd7ece15b5145994bfb215f7aadd3e114c11c8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 14 15:46:22 2017 -0400

    Use a heap for the released handle list.
    
    This will prioritize re-allocating smaller handles. It should not
    affect performance in most cases, but will prefer allocating
    handles that are in the "fast" portion of the resource map.
    
    BUG=angleproject:1458
    
    Change-Id: Ib2853be936f09fc1e6b5bfb870c360ce8424ab5f
    Reviewed-on: https://chromium-review.googlesource.com/665993
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 80823cc82a1b7d9167b26317572d269e7bbc8d6b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 14 15:46:21 2017 -0400

    D3D: Add memcmp filtering for matrix uniforms.
    
    This was already implemented, it simply hooks it up to the
    rest of the code. Could improve performance on some badly
    behaved benchmarks.
    
    BUG=angleproject:1390
    
    Change-Id: I539df611d51ca085712fa8022bf8a7c1990afc65
    Reviewed-on: https://chromium-review.googlesource.com/663896
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 4148fd74e34fb83da64f469665cdc766d74f9572
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 14 15:46:20 2017 -0400

    Add separate dirty bits for Pixel and Fragment uniforms.
    
    Also use a single UpdateSubresource call to update the buffer.
    Should improve performance on some benchmarks.
    
    BUG=angleproject:1390
    
    Change-Id: I70d54d86d3d3beb0e2caee86338ee03081070ac8
    Reviewed-on: https://chromium-review.googlesource.com/663895
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 371ed53aa9123b09e1a0744cac692fd6c2be0f69
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 14 13:38:26 2017 -0400

    Enable D3D11 warnings in Release end2end_tests.
    
    Now that we have support for the Debug runtime on the Chromium bots,
    we can enable the feature in angle_end2end_tests that checks for any
    runtime messages after test execution. They should now show up in the
    Chromium CQ.
    
    BUG=angleproject:1878
    
    Change-Id: Ie7502b031a49bcb6a68cf7e3f5e40760fa076ec1
    Reviewed-on: https://chromium-review.googlesource.com/667724
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 9c6cfffec6783091f686740e8fbdd2ee24baaa84
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Sep 13 14:27:05 2017 -0400

    dEQP GLES2: Add suppressions for Mac
    
    BUG+angleproject:2137
    
    Change-Id: Ib33210cc89c846db665887f0e59e4b1c91fe29b7
    Reviewed-on: https://chromium-review.googlesource.com/665363
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 9dfa628dfc9b1501f06e24e98793c97b8503bb98
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Sep 8 11:06:03 2017 -0400

    Add RequestExtension to static link.
    
    This probably was left out accidentally. Also this fixes the return
    type of the prototype in the extension header (should be void, not
    boolean).
    
    BUG=angleproject:1523
    
    Change-Id: I7bf0b36b05a4cba4cb6fb2411fc53103dda54bfe
    Reviewed-on: https://chromium-review.googlesource.com/657898
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit da8e257cba5abbea9edef99f55d1357cbe8bad11
Author: Martin Radev <mradev@nvidia.com>
Date:   Tue Sep 12 17:21:16 2017 +0300

    Number of views should match when Draw* is called
    
    The ANGLE_multiview specification is modified so that Draw* generates
    an error if the number of views in the active program does not match
    with the number of views in the active draw framebuffer object.
    The tests and validation are modified accordingly.
    
    The patch also sets a contact person, updates the contributor list and
    sets the correct enum values in the ANGLE_multiview specification.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    
    Change-Id: I15fee4c5e729605bb1d6292f7ad1155637578dea
    Reviewed-on: https://chromium-review.googlesource.com/663160
    Commit-Queue: Martin Radev <mradev@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 7d4602fc4116f8fde22ffb541cfd25c52b317091
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Sep 13 10:45:09 2017 -0400

    Allow ReadPixels with GL_FLOAT type and EXT_color_buffer_half_float.
    
    BUG=angleproject:2148
    
    Change-Id: If3fa4a42a7343ed133f85be1a4d9d0fa48b427cd
    Reviewed-on: https://chromium-review.googlesource.com/665158
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 715e7f1a4ca78ed4826977987e95e064b9b60061
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Sep 12 16:50:25 2017 -0400

    Add GL_DEPTH_COMPONENT_24 as a depth format for surfaces.
    
    BUG=angleproject:2075
    
    Change-Id: Ic5e061d4908c072f92f80f70fa6da27b1346cd83
    Reviewed-on: https://chromium-review.googlesource.com/663944
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit ace6822c5753dcbb131bce44783eec6868308f13
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 12 21:56:20 2017 -0400

    Remove Renderer11::markAllStateDirty.
    
    Also remove StateManager11::invalidateEverything. With all state
    application consolidated in the StateManager, it should be aware of
    all state changes, and shouldn't need outside notifications.
    
    BUG=angleproject:2052
    
    Change-Id: I6748b3944b25f958fa093052bcb7336e66255dd4
    Reviewed-on: https://chromium-review.googlesource.com/659400
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 4dac6798b3db9cfbfcae4b393caf25a88607fd77
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 12 22:22:35 2017 -0400

    Lift AMD blit suppressions.
    
    BUG=angleproject:1474
    
    Change-Id: Ie80385a9c89453694f1411e49dba7b298c3a1a6c
    Reviewed-on: https://chromium-review.googlesource.com/664478
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 5c30729251ec992b2aac5306364770489b7056ba
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 12 18:59:45 2017 -0400

    Consolidate Index buffer application.
    
    Was used in a couple other places.
    
    BUG=angleproject:2052
    
    Change-Id: Ib335271a42c9569bbb452b6de8b683023cfc5900
    Reviewed-on: https://chromium-review.googlesource.com/659399
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 2cedb58c8dec80fbe6f86b554ef42adbe5aaba70
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 12 15:23:08 2017 -0400

    D3D11: Consolidate Scissor state application.
    
    BUG=angleproject:2052
    
    Change-Id: Ib6f55be3d71d083a87e845447f174a55413c8a2f
    Reviewed-on: https://chromium-review.googlesource.com/659398
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit da7185fb74579561c45d57ed981c08b95322a941
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 12 15:23:07 2017 -0400

    D3D11: Consolidate SRV and Sampler application.
    
    This adds an internal and external version of the setShaderResource
    method. The external version sets the state as dirty.
    
    BUG=angleproject:2052
    
    Change-Id: I6d2d47490c0af89ff5592d4e9c53eb69f8a3264d
    Reviewed-on: https://chromium-review.googlesource.com/659397
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 7ef2ddabefa5d0334e65e2ac68f6e724852e7d30
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 12 15:23:06 2017 -0400

    D3D11: Consolidate Viewport state application.
    
    BUG=angleproject:2052
    
    Change-Id: I1cbf2adc09c82b9de68785265def9361eff418b3
    Reviewed-on: https://chromium-review.googlesource.com/659236
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 7f4fed80d852d57aa39b83014562ac22af80a170
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 12 15:23:05 2017 -0400

    D3D11: Consolidate Rasterizer State application.
    
    BUG=angleproject:2052
    
    Change-Id: I11094744bab4570712632a424f29dff8b19a8dea
    Reviewed-on: https://chromium-review.googlesource.com/659235
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit b05f36599c26cb769aac2963e0ad972867b0879b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 12 15:23:05 2017 -0400

    D3D11: Consolidate Blend State application.
    
    This will make it easier to implement fast state switching on Context
    change.
    
    BUG=angleproject:2052
    
    Change-Id: I045cc2164200a93215629a2746068e686d7c99ff
    Reviewed-on: https://chromium-review.googlesource.com/659234
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 518f5d559b35267da0f056e5bfde27773643cf70
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 12 15:23:04 2017 -0400

    D3D11: Consolidate Depth Stencil State application.
    
    This will make it easier to do state update on context switch.
    
    BUG=angleproject:2052
    
    Change-Id: Ia73cfd07ced40a9e22d6b34a5619250ede9e8844
    Reviewed-on: https://chromium-review.googlesource.com/659233
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 85b63c8ebb333d1e27aba421e2f2d984acbeacd2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 12 15:23:03 2017 -0400

    D3D11: Consolidate OMSetRenderTargets calls.
    
    There were a few calls that were using the context directly.
    Consolidating them in the StateManager11 class should make efficient
    state update after a Context switch possible. Also remove the Context
    parameter from the setRenderTargets methods, since these are only
    used internally and should be dirtying other states themselves.
    
    BUG=angleproject:2052
    
    Change-Id: I878c99fbde7a467f30cc89f2ee5aca476b8cf506
    Reviewed-on: https://chromium-review.googlesource.com/659232
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 2617eada7a376ae579fe79b2860f69449c543d71
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 12 15:23:02 2017 -0400

    Cleanup to Resource11's reset method.
    
    Only reset when the resource is valid. This will prevent a memory
    allocation that could happen when triggering suprious reset() calls.
    
    BUG=angleproject:1155
    
    Change-Id: I3b9bc1f9e0542c14ed5fd4a03f82ad23c94b734b
    Reviewed-on: https://chromium-review.googlesource.com/659231
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 14bbb3f99409486dbee8709e05d7e6e9fb8a6b38
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 12 15:23:01 2017 -0400

    Context: Remove recompilation trigger impl method.
    
    Move this down into the D3D11 renderer. Achieve this by passing a
    mutable pointer to the memory program cache to the ContextImpl.
    
    This will allow the D3D11 back-end to more easily sync state then
    apply state changes. It also cleans up the gl-side Context a bit.
    
    BUG=angleproject:1155
    
    Change-Id: Ia2c63c05cf414e0d0b22b69c3ed7128f0e405933
    Reviewed-on: https://chromium-review.googlesource.com/659230
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 096fd623292260b3372a1ab35695cffb4a61fb57
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 12 15:29:06 2017 -0400

    Fix out-of-bounds reads in BlitFramebuffer.
    
    This was a missing part of the validation. Makes us pass the WebGL
    test conformance2/rendering/blitframebuffer-outside-readbuffer.
    
    Was necessary for lazy robust resource init.
    
    BUG=angleproject:2107
    BUG=chromium:644740
    
    Change-Id: I54c50012fc09ec80a65a2e75f5bde05101c8a1a7
    Reviewed-on: https://chromium-review.googlesource.com/663212
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c9fed8ddf60b06367f58daeaf881eedeec915484
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 12 15:23:00 2017 -0400

    D3D11: Move TF state management to StateManager11.
    
    This also changes the dirty TF object to use a Serial, which is more
    secure for very edge-care reallocation issues. It also moves the
    StateManager11::updateState call to be the very first thing that
    happens in a draw call. This prepares the back-end for making the
    state sync actually happen in Context11::syncState, instead of
    inside the draw call.
    
    Also moves a bit more TF management code out of RendererD3D and
    Renderer9.
    
    BUG=angleproject:2052
    
    Change-Id: I93d033a07be2049023111975a31637c53893e8c8
    Reviewed-on: https://chromium-review.googlesource.com/659229
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit cd8e97298730a2e325670fa506df951a139be963
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 12 15:22:59 2017 -0400

    StateManager11: Add internal dirty bits for uniforms.
    
    This eliminates some of the redundant work we do in uniform state
    updates. Driver uniforms and constant buffers are no longer synched
    with every draw call, but only when the StateManager11 thinks they
    might be dirty. Should improve overall draw call throughput.
    
    BUG=angleproject:1155
    BUG=angleproject:1390
    
    Change-Id: I351c23fb18dcb3ef2f79e3b4f411e1e09c6300dc
    Reviewed-on: https://chromium-review.googlesource.com/659228
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 2dc027da85390bf6aad9c39e0e0b75918834a7f4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 12 15:22:58 2017 -0400

    D3D11: Consolidate constant buffer application.
    
    This will let the StateManager11 work more easily with dirty bits.
    
    BUG=angleproject:1390
    BUG=angleproject:2052
    
    Change-Id: I9738d02e69e2062feeba4237487ad8e9ae86e78b
    Reviewed-on: https://chromium-review.googlesource.com/659227
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit d63961d0e72ac5f3046ab72760973c5ffc6a482d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 12 15:22:57 2017 -0400

    D3D11: Move Constant Buffer state to StateManager11.
    
    Also moves the logic of the constant buffer sync to
    StateManager11. Removes a few of the remaining virtual methods in
    RendererD3D.
    
    BUG=angleproject:1390
    BUG=angleproject:2052
    
    Change-Id: Ia6c1c3949fff84323331510d80bbfb6e1665d294
    Reviewed-on: https://chromium-review.googlesource.com/659226
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 9df395c86494d760fb4caf20177ad7b6d1ca2b3f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Sep 12 15:19:44 2017 -0400

    Include string.h for strncmp in ExtensionBehavior.cpp
    
    BUG=angleproject:2147
    
    Change-Id: I53062a84d48e1c106901a8c32fa49b0148baa344
    Reviewed-on: https://chromium-review.googlesource.com/664059
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 9959f544abb6155a6a1365c983951261d644fa21
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 12 15:22:56 2017 -0400

    Cleanups to ResourceSerial.
    
    Allow for "empty" bindings, which are valid but represent when no
    object is bound.
    
    BUG=angleproject:2052
    
    Change-Id: I0a41d1f0db3f5736e9e8f8ca3a74f41b748fd2d2
    Reviewed-on: https://chromium-review.googlesource.com/659225
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit af01602e0e33fab8e5d10f57d3af6e541f09c94f
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Sep 11 17:22:51 2017 -0400

    Allow compiling dEQP on Mac in Chromium checkout.
    
    BUG=angleproject:2137
    
    Change-Id: I5d840fcd7fda85d7c33a2f261586e8c3733b9781
    Reviewed-on: https://chromium-review.googlesource.com/661419
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit d68248be4ae81a77c5b1838dd561732f8695a213
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Sep 11 14:34:14 2017 -0400

    Update Texture dirty bits documentation.
    
    BUG=angleproject:1387
    
    Change-Id: Ie2277874acb9e7a3eed4bce327f2c08750213967
    Reviewed-on: https://chromium-review.googlesource.com/660419
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 265a6d432484aa90bfa4592b7b0123a9f62a39d1
Author: Martin Radev <mradev@nvidia.com>
Date:   Tue Sep 12 16:51:37 2017 +0300

    Fix viewport and scissor multiview updates in StatemanagerGL
    
    The patch fixes a bug with the viewport and scissor state not being
    correctly updated for side-by-side framebuffers.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    
    Change-Id: I5f85b8146174d78a363316a66e2761e37305cffe
    Reviewed-on: https://chromium-review.googlesource.com/663260
    Commit-Queue: Martin Radev <mradev@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit a16a84f38f803ffac2b5d6cf41e3bd4e3a5e21ad
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Sep 12 13:49:18 2017 +0300

    GLSL: Fix initializing globals declared after main()
    
    Initialize globals in a separate function instead of a block in the
    beginning of main(). This way it works also for globals declared after
    main().
    
    BUG=chromium:764036
    TEST=angle_end2end_tests
    
    Change-Id: I2fcbb97d046589301287757dc3dde5471172a3f6
    Reviewed-on: https://chromium-review.googlesource.com/663158
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 5b03f47550f43a41f95b0e4d7317c7bad0e90db7
Author: JiangYizhou <yizhou.jiang@intel.com>
Date:   Mon Jan 9 10:22:53 2017 +0800

    ES31: Implement getMultisamplefv for D3D part.
    
    Implement getMultisamplefv for d3d part.Because standard D3D sample
    positions from https://msdn.microsoft.com/en-us/library/windows/
    desktop/ff476218.aspx are fixed sample pattern,we put the sample
    positions into a constant array in renderer11_utils.cpp with a
    function to query it.
    
    BUG=angleproject:1590
    TEST=dEQP-GLES31.functional.texture.multisample.samples_*.sample_position
    
    Change-Id: I6e6006ed1c4e22fe006522e9ffd3297247bee75e
    Reviewed-on: https://chromium-review.googlesource.com/594970
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d9cd7b7f08a1c20d1bb119c82b61fcd89ed6228a
Author: jchen10 <jie.a.chen@intel.com>
Date:   Wed Aug 30 15:04:25 2017 +0800

    ES31: Add glGetProgramInterfaceiv API
    
    Add API entry and validation checks(GLES 3.1 section 7.3).
    Add the first 4 interfaces(PROGRAM_INPUT, PROGRAM_OUTPUT,
    UNIFORM and UNIFORM_BLOCK) implementation.
    
    BUG=angleproject:1920
    TEST=angle_end2end_tests:ProgramInterfaceTestES31.*
    
    Change-Id: Iab80ba332e2a5e2b3e677039359e60a420e3d6b0
    Reviewed-on: https://chromium-review.googlesource.com/642729
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 2a1e8f95a53b55cb232effd1c658c2bfefdb29b6
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Jul 14 11:49:36 2017 +0300

    Refer to GLSL extensions through TExtension enum
    
    Extensions are now referred to by enum values instead of strings most
    of the time. This gets rid of unnecessary copying of strings. The code
    is easier to work with than before as typoing the extension enum names
    will be caught by the compiler.
    
    BUG=angleproject:2147
    TEST=angle_unittests
    
    Change-Id: Ifa61b9f86ef03211188fc23bc23a5ce4e4d8c390
    Reviewed-on: https://chromium-review.googlesource.com/571002
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit ad17d2a07d9a7022ab09a3671057d71242eda14e
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Mon Sep 11 11:30:50 2017 -0400

    Add linux_angle_ozone_rel_ng to CQ.
    
    This provides compile testing of ANGLE's Ozone GBM back end.
    
    BUG=762377
    
    Change-Id: I3e6581307e303fe81fe754799cea9c09989e0d89
    Reviewed-on: https://chromium-review.googlesource.com/660380
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit 9d815378191a5c99cd0bbca2ef9fb2e154944b79
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Sep 9 23:32:54 2017 -0400

    D3D: Refactor driver uniform application.
    
    This is a preparation for more dirty bits. It moves the driver
    constant buffer application into the state manager, redesigns
    how the dirtiness is tracked (no more memcmp) and also removes
    a couple of virtual calls.
    
    BUG=angleproject:1390
    BUG=angleproject:2052
    
    Change-Id: I41a75c280600ad8ba1f23c721d436214a116422a
    Reviewed-on: https://chromium-review.googlesource.com/659223
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 33bb7c425689a8173edd21d4760554e8a089721c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Sep 9 23:32:51 2017 -0400

    ProgramD3D: Use more UniformTypeInfo.
    
    Instead of storing a type GLenum, store a pointer into the type info
    table. This makes looking up some values a bit easier.
    Also includes some micro-optimizations.
    
    Improves the score of the uniforms micro-benchmark by about 12.4% on
    a local Windows 10 machine.
    
    BUG=angleproject:1390
    
    Change-Id: I35f7f1c7bb3cf2c62d737b494dc56ff61ea2d1fb
    Reviewed-on: https://chromium-review.googlesource.com/659221
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit a9459dbc193ec8d68112699f22a1ed420f306ced
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Sep 9 23:32:52 2017 -0400

    Fix EXTERNAL and 2D_ARRAY sampler type info.
    
    The type info tables were incorrectly using some information.
    This bug was uncovered after trying to use the tables more.
    
    BUG=angleproject:1390
    
    Change-Id: I5eae01f51269bab05746a14bd3caabb614be210a
    Reviewed-on: https://chromium-review.googlesource.com/659220
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 0e7f1736983600eb4f75b966c85748e4045817dc
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Sep 9 23:32:50 2017 -0400

    D3D: Only scan cached shader executable lists once.
    
    Any time we would query ProgramD3D for a particular vertex or pixel
    shader, we would iterate over all the cached shaders of the program
    looking for the matching input or output layout signature. This change
    makes it so we only compute the index of the matching shader once,
    and subsequent calls will re-use the shader index. This should speed
    up the draw call benchmarks.
    
    Also include a fix to the Serial class that initializes a Serial value
    to an invalid sentinel value. This ensures that comparing any other
    Serial (including another invalid serial) to the invalid serial will
    return not-equals.
    
    BUG=angleproject:1155
    
    Change-Id: I7d913bf08d0bedf6155eae0661b2a5fa94565cc9
    Reviewed-on: https://chromium-review.googlesource.com/648730
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit eb3359503adade0224d4e0090efbc1b0360511f4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Sep 9 23:32:49 2017 -0400

    D3D11: Only update swizzles after a state change.
    
    Triggers the swizzle update whenever a new texture is bound, or when
    a subImage call triggers a swizzle cache update.
    
    BUG=angleproject:1387
    
    Change-Id: Ia2a82126a621d8a643f715ea7e4a9c35b97e0a18
    Reviewed-on: https://chromium-review.googlesource.com/648729
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit af4ffe0ad4e4cd33ff980b7806f2e4aac6dac062
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Sep 9 23:32:48 2017 -0400

    D3D11: Implement dirty bits for texture updates.
    
    BUG=angleproject:1387
    
    Change-Id: I5f759c3dc60b53a5d4f8a1dd1f4a1d3d5330bfda
    Reviewed-on: https://chromium-review.googlesource.com/648487
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 92515f444a84b0a6aad780878d608ad6ad760478
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Sep 9 23:32:48 2017 -0400

    Move swizzling and program update to StateManager11.
    
    This makes it in a centralized location where it can work with dirty
    bits.
    
    BUG=angleproject:1387
    
    Change-Id: I3bfeb53c265d1679f6b8556941c1d9d77747aa24
    Reviewed-on: https://chromium-review.googlesource.com/648486
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 39967e4e11a7123cdae0956cd01a46fabbe20759
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Sep 9 23:32:47 2017 -0400

    GL: Use dirty bits for texture and sampler bindings.
    
    In StateManagerGL, use the texture, sampler and program binding dirty
    bits to set a dirty bool that is checked once per draw call.
    
    This completes the GL back-end texture dirty bits.
    
    BUG=angleproject:1387
    
    Change-Id: I619a89bf98ded5e55353f6ca44e814605f7ce492
    Reviewed-on: https://chromium-review.googlesource.com/648055
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 06ef36b98878832c048f00a25dcfe03292d3728a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Sep 9 23:32:46 2017 -0400

    Add top-level state sync for Samplers.
    
    This also reformats the Sampler class to use a shared state struct
    with the implementation. It removes the call to sync the sampler
    state from the StateManagerGL::setGenericShaderState method, since
    it should all be handled at the front-end now.
    
    Also rename 'syncImplState' to 'syncState' methods.
    
    BUG=angleproject:1387
    
    Change-Id: I5f0219b719aee99aaaa486ec188b2af0c9128e6a
    Reviewed-on: https://chromium-review.googlesource.com/648054
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 81c2e253b975eef654d41ce714b7be53b0bd3f29
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Sep 9 23:32:46 2017 -0400

    Add top-level dirty bits for texture and samplers.
    
    These will have to be fleshed out in the back-ends.
    Also currently uses a single bit for all the bindings, and we can
    extend this to more fine-grained updates in the future.
    
    This patch implements top-level updates for texture completeness.
    Sampler completeness caches are removed from the Texture class, and
    replaced by a cache in the gl::State class. The State class also
    keeps a channel binding to the bound textures so it can be notified
    when textures might change from complete <-> incomplete.
    
    In future CLs we skip updating back-ends if texture state doesn't
    change.
    
    BUG=angleproject:1387
    
    Change-Id: If580b4851303c86f3240e62891f5f6047eefb6a2
    Reviewed-on: https://chromium-review.googlesource.com/648053
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit ef97c613f88cab9f28e72a3e7dd866eaafbc34af
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Sep 9 23:34:18 2017 -0400

    Roll GYP for VS2017 project support.
    
    Also includes a ToLower string helper for a VS2017 warning fix.
    
    https://chromium.googlesource.com/external/gyp.git/+log/aae1e3efb50786df2..c6f471687407bf28d
    
    BUG=angleproject:1569
    
    Change-Id: Iaf8a091a24d937db3adb242f05c8a5c9d2b03b0f
    Reviewed-on: https://chromium-review.googlesource.com/659219
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 1aa66bc73d748e807d6ce5a816633c3048118368
Author: Martin Radev <mradev@nvidia.com>
Date:   Wed Sep 6 14:53:23 2017 +0300

    Add ANGLE_multiview sample
    
    The patch adds a sample which makes use of the ANGLE_multiview
    extension to draw the same scene to two views each having its
    own camera matrix.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    
    Change-Id: I4b765a189047bf219a05e98b032ad95efbb36905
    Reviewed-on: https://chromium-review.googlesource.com/655166
    Commit-Queue: Martin Radev <mradev@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 6f0c17c7d5a5f6f6d40606a96cfe21cf011c2516
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Sep 8 13:05:06 2017 -0400

    Update docs to mention Win 10 SDK is required.
    
    Uncovered this after reports to the Google group.
    Also fix a minor documentation issue with Windows store.
    
    BUG=angleproject:1944
    BUG=angleproject:1255
    
    Change-Id: Ib4fc784a818cf65e280630db483987cc01366994
    Reviewed-on: https://chromium-review.googlesource.com/657881
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit ec3a9cbb54363bf94499e684342d8756f802747c
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Sep 7 12:18:01 2017 +0300

    Only support GL_OVR_multiview extension variant
    
    The WebGL spec proposal was changed so that only GL_OVR_multiview
    extension name is supported, instead of having two variants
    OVR_multiview and OVR_multiview2. We're only supporting the WebGL
    version of the shader extension, so we drop compiler support for
    GL_OVR_multiview2. Shader restrictions were also removed from the
    WebGL spec, so no special validation for how ViewID_OVR gets used is
    needed.
    
    Tests that were testing for the shader restrictions are either removed
    or changed from negative tests to positive tests.
    
    BUG=angleproject:1669
    TEST=angle_unittests
    
    Change-Id: I83f92b879376d41b727b5aca419fd75fb6f53477
    Reviewed-on: https://chromium-review.googlesource.com/654608
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 15c3406af65b4f9a5a3ab1afe383386188b4614b
Author: Martin Radev <mradev@nvidia.com>
Date:   Thu Sep 7 17:10:09 2017 +0300

    Restructure InstanceID initialization to fix HLSL warning
    
    This patch casts gl_InstanceID to uint before doing division by the
    number of views to circumvent the HLSL compiler's warning on performance
    degradation.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    
    Change-Id: I326530ee112f34f82becdec5239edd5054c4104f
    Reviewed-on: https://chromium-review.googlesource.com/655298
    Commit-Queue: Martin Radev <mradev@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 95644f92dd1be53c9e30a5cf8a63caf2cbaab484
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Sep 7 20:58:49 2017 -0400

    Make ScopedIgnorePlatformMessages work
    
    Maybe not the most elegant way, but I'd like to get the bot green.
    
    BUG=angleproject:2122
    
    Change-Id: Ib8f92034a8f42a42efd18c94a3623948490b7911
    Reviewed-on: https://chromium-review.googlesource.com/656717
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 1de29abad1899fca5d39a6fc2d7ba28b19b5281d
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Sep 7 18:07:23 2017 -0400

    Skip MultiviewRenderTest.FlatInterpolation on Win Intel D3D11
    
    MultiviewRenderTest.FlatInterpolation/ES3_D3D11_force_geom_shader_layered
    MultiviewRenderTest.FlatInterpolation/ES3_D3D11_force_geom_shader_side_by_side
    fail on Win10 Intel HD 630.
    
    BUG=angleproject:2062
    
    Change-Id: I1a0c19b89f0813efe7eef5c64dc510ad750916f9
    Reviewed-on: https://chromium-review.googlesource.com/656047
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit fe8b5989d0273d8b01a2270340b63deb7d56714c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 7 17:00:18 2017 -0400

    Program: Fixed unreferenced Samplers.
    
    The calculation for unreferenced was incorrect - it checked the 'used'
    flag of the uniform location, but if samplers started at index zero,
    all the unused uniforms were to be considered valid samplers. Instead,
    initialize the uniform index to INVALID_INDEX.
    
    This bug was uncovered after doing work on the Texture dirty bits.
    
    BUG=angleproject:1387
    
    Change-Id: I5e404e367caed38368bcc0e581699ae2c911bcc9
    Reviewed-on: https://chromium-review.googlesource.com/655930
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit e98e16eab828397062bc9d22713729de6e0053fc
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Aug 25 14:55:20 2017 -0400

    Update gpu_test_expectations and use angle_gpu_info_util
    
    This is to have the new "OS" for MacOS Sierra. Several types were
    introduced in angle_config.h to minimize the angle-mods.patch to make
    it easier to update in the future.
    
    BUG=angleproject:2137
    Change-Id: I7a98c5cb48d424f83eb39763eba0e51852a9b98f
    Reviewed-on: https://chromium-review.googlesource.com/636202
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 218ffc49e303e1f8af4283569cc1ac415efbeb47
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 7 11:32:59 2017 -0400

    SwapChain11: Create SRV copy texture lazily.
    
    We would allocate this texture for devices that don't need it. Instead
    do this lazily. This was showing up in the profiles for the MotionMark
    benchmark, possibly due to re-creating the surface.
    
    BUG=angleproject:1155
    
    Change-Id: I28b5eda29e21899fc8afef054e1b8063e3cc2e00
    Reviewed-on: https://chromium-review.googlesource.com/655479
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 3667dbd68662a719290bf179bd6d4a3696fe6097
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 7 12:48:42 2017 -0400

    D3D11: Cache multisample resolve texture.
    
    This was showing up in profiles of the MotionMark benchmark, possibly
    due to re-creating the canvas many times.
    
    BUG=angleproject:1155
    
    Change-Id: Id857b89770b846881fb381f7c3ab70c07b924271
    Reviewed-on: https://chromium-review.googlesource.com/655478
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 3ed604246f1ef647c2890257d4193ea4e08fb7d1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 7 11:32:52 2017 -0400

    Test using the same texture with multiple samplers.
    
    This covers a regression introduced with texture dirty bits.
    
    BUG=angleproject:1387
    
    Change-Id: Ic8112718c185298ef54ec5a6f6ed2cd519e010d6
    Reviewed-on: https://chromium-review.googlesource.com/653586
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit fca781309b6acda83d3266a7291c9ffb6dcc331c
Author: Martin Radev <mradev@nvidia.com>
Date:   Wed Sep 6 13:51:39 2017 +0300

    Extend multiview perf tests to cover all extension code paths
    
    The ANGLE_multiview extension can be supported with three possible code
    paths - through view being selected in the vertex shader on D3D and
    OpenGL, and through the view being selected in the geometry shader on
    D3D only. This patch extends the multi-view performance tests to
    benchmark these three different code paths.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    
    Change-Id: I443e4db64a95eede1142718a43a095ee5a03738c
    Reviewed-on: https://chromium-review.googlesource.com/652466
    Commit-Queue: Martin Radev <mradev@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>

commit a0d3887540997047b6bee950329d2413c0a2df80
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Sep 6 15:32:03 2017 -0400

    Don't create SRVs for multisampled depth stencil textures in FL10.0.
    
    Renderer11::createRenderTarget already fixed this issue but it also is
    exposed in SwapChain11::resetOffscreenDepthBuffer now that multisampled
    surfaces are supported in ANGLE.
    
    BUG=angleproject:2136
    
    Change-Id: I978666ebc1bb3db14ddf69954d7eb750391bf7a8
    Reviewed-on: https://chromium-review.googlesource.com/653779
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 7cadfcc70cc2f88c3a3551076d53893960c03a13
Author: Martin Radev <mradev@nvidia.com>
Date:   Thu Sep 7 16:38:57 2017 +0300

    Change ANGLE_multiview's enum values
    
    The enums introduced by the ANGLE_multiview extension are changed
    to use the values reserved specifically for ANGLE.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    
    Change-Id: Ib668f2e0e9022442a432b1a04050aeb2ff82a3d1
    Reviewed-on: https://chromium-review.googlesource.com/654864
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Martin Radev <mradev@nvidia.com>

commit 61e710b657b684f82d03320317fd42060a0c9fbb
Author: Martin Radev <mradev@nvidia.com>
Date:   Tue Sep 5 11:59:52 2017 +0300

    GL: Optimize multi-view layered Clear* commands
    
    Until this patch multi-view layered framebuffers used to be cleared by
    attaching a single layer of each attachment to a framebuffer and calling
    the Clear* command for that internal framebuffer.
    According to the GL 4.1+ specifications, Clear* commands clear all of
    the layers of an attached 2D texture array. If all of the layers are
    active for a multi-view layered framebuffer, then we can directly call
    the corresponding Clear* command instead of iterating over each layer
    and clearing it.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    
    Change-Id: Ie4dfd9fff47715b502f358272bfc47c0373c4e91
    Reviewed-on: https://chromium-review.googlesource.com/649209
    Commit-Queue: Martin Radev <mradev@nvidia.com>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>

commit c1d4e55094f164525ac24acf59e4ac17bc3e4562
Author: Martin Radev <mradev@nvidia.com>
Date:   Mon Aug 21 12:01:10 2017 +0300

    D3D11: Select view in vertex shader
    
    View selection can happen in the vertex shader through the optional
    feature VPAndRTArrayIndexFromAnyShaderFeedingRasterizer.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    
    Change-Id: Iaf65685e04f828b0936295fea867f6f6cbe69bee
    Reviewed-on: https://chromium-review.googlesource.com/628419
    Commit-Queue: Martin Radev <mradev@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 630d558fb6cccb6a90e59c7c3bf4bb6c6b538cf1
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Sep 6 12:45:38 2017 -0400

    TextureRectangleTest: Fix RAII ignore lifetime
    
    BUG=angleproject:2122
    
    Change-Id: Ia51c139197e1b90e54505278d301ae8ac7dab53d
    Reviewed-on: https://chromium-review.googlesource.com/653240
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit cecab59200d4170cdd7a81002ccf6fbea2373658
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Sep 6 11:13:39 2017 -0400

    Don't use native D3D11.1 formats unless they support enough samples.
    
    The MSDN documentation states that BGRA4, RGB5A1 and RGB565 should all
    support 4 samples with DXGI 1.2 and D3D11.1 but some drivers appear to
    not have full support.  Fall back to RGBA8 render targets when the
    driver cannot support at least 4 samples for ES3 feature levels.
    
    BUG=761489
    
    Change-Id: I6bcd417700f1188945e8032ca6a64c4fbb2bc8a8
    Reviewed-on: https://chromium-review.googlesource.com/652828
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 8cf8f7b08cfa0f2eee18d015de27ac465079593b
Author: Kenneth Russell <kbr@chromium.org>
Date:   Wed Sep 6 10:00:14 2017 -0700

    Remove linux_angle_chromeos_rel_ng from default bots.
    
    This trybot was broken during the removal of the Linux ChromiumOS
    Builder from chromium.gpu.fyi and is blocking all ANGLE CQ jobs.
    
    BUG=762377
    TBR=dpranke@chromium.org, jmadill@chromium.org
    NOTRY=true
    
    Change-Id: Ibc3ccf3af842ee8b040014732d179573f286afad
    Reviewed-on: https://chromium-review.googlesource.com/653244
    Commit-Queue: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit 74a0000f514cfe521a3c865a441f7df841a14ca5
Author: Martin Radev <mradev@nvidia.com>
Date:   Tue Jul 11 11:27:09 2017 +0300

    Request a D3D11.1 device and D3D11.3 context
    
    The patch extends Renderer11 so that a D3D11.1 device and
    D3D11.3 context can be created. This is necessary for using
    the D3D11.3 feature called
    VPAndRTArrayIndexFromAnyShaderFeedingRasterizer.
    
    BUG=angleproject:2062
    BUG=angleproject:2145
    TEST=angle_end2end_tests
    
    Change-Id: I84c761b2897d7d911686f5b6d79cb93e233015a0
    Reviewed-on: https://chromium-review.googlesource.com/591448
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 1a1ae0f85eb60bc287768d0e5a7e95c9514a787a
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Sep 5 15:11:06 2017 -0700

    SystemInfo: Find primary with EnumDisplayDevices
    
    Without DXGI, EnumDisplayDevices is the only way to get the
    primary device. Previously the code would work on most configs
    with a combination of AMD, Intel and NVIDIA GPUs but would fail
    on more esoteric system. Like our try bots that have Matrox GPUs.
    
    BUG=angleproject:1874
    BUG=angleproject:2137
    
    Change-Id: Ie2dfbb559001ccad2fd5b8a8fd6436e0fba9d003
    Reviewed-on: https://chromium-review.googlesource.com/651629
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit ad6e2b6a681062042b0cd3acf52f2318b2d3bbe8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sun Sep 3 16:28:29 2017 -0400

    D3D11: Fix memory allocation in markLevelDirty.
    
    This would drastically slow down some framebuffer updates.
    
    BUG=angleproject:1155
    
    Change-Id: Ibff428c49bd5127a101bce46cc1df355f4542ccf
    Reviewed-on: https://chromium-review.googlesource.com/649986
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 7d1f5c60dab68fa9a2e5ef6943ad423137cd18aa
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Sep 2 15:32:15 2017 -0400

    Sync dirty objects before Context dirty bits.
    
    This allows the dirty objects to notify the context if something
    needs to be communicated down to the ContextImpl. In this case it
    means a dirty Texture can notify the Context that it needs to re-apply
    texture bindings.
    
    BUG=angleproject:1387
    
    Change-Id: I162115e51112d1c27c0dab621d1b3d14446af96d
    Reviewed-on: https://chromium-review.googlesource.com/648052
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 8693bdb881d28e55de5ce62caae1c4062c17fb08
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Sep 2 15:32:14 2017 -0400

    Add a few missing dirty bit cases.
    
    Discovered some of these while investigating Texture dirty bits.
    
    BUG=angleproject:1387
    
    Change-Id: I8b170462bfd283e4b0f9d47b7f7ddbaa7957914d
    Reviewed-on: https://chromium-review.googlesource.com/648051
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 7d738e2661663763cb88e00210f6ad5fdd7f848c
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Sep 5 12:02:10 2017 -0400

    Disable platform message when expecting OOM
    
    BUG=angleproject:2122
    
    Change-Id: I99eed52b1f12004f0bab3f94bd3acddda8dafd69
    Reviewed-on: https://chromium-review.googlesource.com/650526
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 8a7b3a0ced4cb84cba4014c951a49aa94cce3ae2
Author: Jiajia Qin <jiajia.qin@intel.com>
Date:   Fri Aug 25 16:05:48 2017 +0800

    Reland 'Remove IndexRange retrieving in validation'
    
    This change adds GL_KHR_robust_buffer_access_behavior support.
    The old change is in https://chromium-review.googlesource.com/c/angle/angle/+/607413
    
    BUG=755897, angleproject:1393, angleproject:1463
    
    Change-Id: I04a1132c3ae8d3a766194df61c4ff7bf0b084f03
    Reviewed-on: https://chromium-review.googlesource.com/640750
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 72b4e1e5bbbb2b6749bf49bdba287a85abade649
Author: Martin Radev <mradev@nvidia.com>
Date:   Thu Aug 31 15:42:56 2017 +0300

    D3D11: Add support for multiview layered rendering
    
    A branch is added in the geometry shader to select either the
    viewport, or texture layer which is being rendered to based on the
    value of a uniform in the driver constant buffer. Using this approach
    there is no need for separate programs for side-by-side and layered
    rendering.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    
    Change-Id: I66701164ff02a851c13695d5409f8ad350534e69
    Reviewed-on: https://chromium-review.googlesource.com/645547
    Commit-Queue: Martin Radev <mradev@nvidia.com>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>

commit b5c5fb1b9ffbe9b9c465e50f0ef6c54451f79d49
Author: Dirk Pranke <dpranke@chromium.org>
Date:   Sat Sep 2 15:17:46 2017 -0700

    Remove linux_chromium_chromeos_ozone_rel_ng from the CQ.
    
    We're removing this bot as redundant now in Chromium.
    
    Change-Id: I35f00bff4e62780609f869c447839aa48b74b46c
    R: jmadill@chromium.org
    Bug: crbug.com/743212
    Reviewed-on: https://chromium-review.googlesource.com/648654
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 487653b1a6b7f0b46b427186fa11c6379ec70f49
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Sep 1 17:17:55 2017 -0400

    Don't divide in the validation of DrawElements
    
    BUG=angleproject:1671
    Change-Id: I58dd30d0aaffd1a776aa14a04011cbdd72181bf2
    Reviewed-on: https://chromium-review.googlesource.com/648356
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 6ab833add9a3b1c762bff1c38ecf1f30e55f5b54
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Sep 1 16:37:53 2017 -0400

    Add more comparators to Optional.h.
    
    BUG=angleproject:1387
    
    Change-Id: If3fc67f99716b2e5e6a8b0ffd139a07a06cdcab8
    Reviewed-on: https://chromium-review.googlesource.com/648050
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 134f93d1a83cfe4367c92d2e2b6efa2517122236
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Aug 31 17:11:00 2017 -0400

    D3D: Small optimizations to uniform updates.
    
    Uses more of the type info table for updates.
    Also special-case clamping when uniform count == 1.
    
    Improves the speed of the d3d11 uniform stress test by ~20%.
    
    BUG=angleproject:1390
    
    Change-Id: I6707c67db84c94a28b1519b0bbee5d28fe38b189
    Reviewed-on: https://chromium-review.googlesource.com/646828
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit edd5981f0313c4d5e333800425834d89d626dc85
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Aug 7 14:36:41 2017 -0400

    TextureRectangleTest: allow OOM on max size test.
    
    BUG=2122
    
    Change-Id: I82bed7215142b62b321c9676972386b74a9efa92
    Reviewed-on: https://chromium-review.googlesource.com/604211
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit fb2a871c0a907b5a6dc81533ce0636550f881bab
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Sep 1 10:07:36 2017 -0400

    Work around VC++ 2017 compiler bug
    
    A code-gen bug was found in 15.3.2 (VC++ 2017 Update 3.2) that causes
    test failures due to one loop being skipped. Attempts to disable
    optimizations for just the affected function failed so optimizations
    must be disabled at the end of the source file, which seems to cause all
    template functions and compiler generated functions to have
    optimizations disabled. A VS bug has been filed and cross-linked.
    
    BUG=759402
    
    Change-Id: Ida765a47234a63bad48e6a4e910f3b82919d6be9
    Reviewed-on: https://chromium-review.googlesource.com/647313
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit f00f7ffed59e69cae27554c91b65a1e9de5c3f26
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Aug 31 14:39:15 2017 -0400

    Add a Uniform type info table.
    
    Currently most uniform type info is determined by switching on the
    uniform type. Some values are computed from other values, which can
    result in three or more switch statements plus some multiplies or
    other math. This patch attempts to improve the speed by pre computing
    necessary values into constant static tables.
    
    Improves performance by about 7% in a uniform stress test.
    
    BUG=angleproject:1390
    
    Change-Id: I29bef259a17f6d6536171ade4950e2d712bfd39c
    Reviewed-on: https://chromium-review.googlesource.com/643791
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit bb6e6643405672465094a9fe1d497ce8b14278e6
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Aug 21 10:57:15 2017 -0400

    Implement EGL_surfaceless_context for Android/ChromeOS and optimize eglMakeCurrent
    
    BUG=angleproject:1651
    
    Change-Id: I13c1a669d83098e22c0d7fb003d13beacc20c4ae
    Reviewed-on: https://chromium-review.googlesource.com/623947
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit bb2bbfbbf443fe0c1f8af12bacfdf1a945aea5a4
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Aug 24 15:43:33 2017 +0300

    Refactor GLSL array length method parsing
    
    This prepares for accepting arbitrary expressions as the "this" node
    of the array length method.
    
    BUG=angleproject:2142
    TEST=angle_unittests
    
    Change-Id: I728adb6e76d2779dedbabfaeec7d096872e0d00d
    Reviewed-on: https://chromium-review.googlesource.com/633945
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 561ed3aeb0b9b621f78f2f6586d57652d596721a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Aug 31 16:48:09 2017 -0400

    D3D: Keep a single dirty bit for uniforms.
    
    This simplifies uniform management in D3D11. It will also facilitate
    further optimizations.
    
    Improves performance in a uniforms stress test by ~13% on a test
    machine. (UniformsBenchmark.Run/d3d11_null_400_vec4)
    
    BUG=angleproject:1390
    
    Change-Id: Iba2c15d420396aa8fb4e8c451cba2b4dde7b4b77
    Reviewed-on: https://chromium-review.googlesource.com/623930
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 851edac78541627a818ead64954be232e506b49d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Aug 31 14:41:47 2017 -0400

    GLES3: Use more compact entry point style.
    
    This migrates to the new generation style used in GLES2.
    
    BUG=angleproject:1309
    
    Change-Id: I43e9d33a0d7c5b1786452895855ff2bfbf82f139
    Reviewed-on: https://chromium-review.googlesource.com/638311
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit fa08cae7ca2501c4f27d3c06e829a9f99dbd48dd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Aug 31 14:39:13 2017 -0400

    Make perf_test_runner Python 2.7 and 3 compatible.
    
    BUG=None
    
    Change-Id: I915c99f21dc879a8e63955cd6a3dd892d05bbf5f
    Reviewed-on: https://chromium-review.googlesource.com/646590
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit be5e2ec3499522e67d3734aed5d04876bb7b48f9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Aug 31 13:28:28 2017 -0400

    Remove uniform memory copy from GL front-end.
    
    This moves the uniform query to the back-end. In D3D, this requires
    a bit more redesign, especially for matrix uniforms.
    
    Gives about a 10% speed improvement in the GL/NULL uniforms stress
    test on Windows (UniformsBenchmark.Run/gl_null_400_vec4).
    
    BUG=angleproject:1390
    
    Change-Id: Idac22a77118e9e94d2f28c585e31ff0bc785ba94
    Reviewed-on: https://chromium-review.googlesource.com/623929
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 6ee26d7a2e350f0f0078fd5686abab11ca06bf35
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Aug 31 14:23:20 2017 +0300

    Fix linking of non-existent XFB varyings with gl_ prefix
    
    Non-existent XFB varyings with the gl_ prefix used to pass linking on
    the D3D11 backend. On a debug build they would cause an assert. Fix
    these issues.
    
    BUG=angleproject:2141
    TEST=angle_end2end_tests
    
    Change-Id: Iecc3d03823d02700d6b28c44d77df7a2f9e70a5b
    Reviewed-on: https://chromium-review.googlesource.com/645747
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit c634a637a3b439005d29c24cae204ca52a65bafb
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu May 18 14:09:49 2017 +0300

    Remove webgl_ prefix from emulated function names
    
    The prefix is unnecessary now that user-defined names are prefixed in
    both GLSL and HLSL output. Removing the prefix makes compiler output
    a bit simpler to read.
    
    BUG=angleproject:2038
    TEST=angle_unittests
    
    Change-Id: I9ffc508f50d6146a2d85798875c88e2c385b83fe
    Reviewed-on: https://chromium-review.googlesource.com/508730
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit af11b53a2ae30c7f386233ff7c6d06b6a39205da
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Aug 30 15:51:36 2017 -0400

    FramebufferNULL::readPixels: write pixels for tests
    
    BUG=602737
    
    Change-Id: I8c24985358dcd297cb437c501b7a3944e36d98de
    Reviewed-on: https://chromium-review.googlesource.com/644210
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit e49058e7590d0e889bea56492c5856608ff1f9f0
Author: Martin Radev <mradev@nvidia.com>
Date:   Thu Aug 31 15:43:43 2017 +0300

    D3D11: Enable multiview performance tests
    
    The patch adds D3D11 as a testable platform to the multiview performance
    tests.
    
    BUG=angleproject:2062
    TEST=angle_perftests
    
    Change-Id: I2266073860fd53f546ce9a414bc343b582c77f70
    Reviewed-on: https://chromium-review.googlesource.com/645849
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 855d964bd0d05f6b2cb303f625506cf53d37e94f
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed May 17 14:05:06 2017 +0300

    Prefix user-defined names in GLSL output
    
    Now user-defined names are prefixed by _u in GLSL output in case name
    hashing is not on. Internal names such as names of temporary variables
    created in AST transformations are written out as such.
    
    This makes handling of internal function names and internal variable
    names consistent. It also removes the possibility of name conflicts
    between user-defined names and internal names in case name hashing is
    not on. In the same vein, it makes it safe to use GLSL reserved words
    that are not reserved in ESSL as variable names in case name hashing
    is not on.
    
    This also makes the GLSL output more consistent with how names are
    handled in HLSL output. Name hashing code is shared between
    VariableInfo and OutputGLSLBase to ensure names are handled
    consistently in both. The name that's used in the shader source for a
    given interface variable is written out to ShaderVariable::mappedName.
    
    An exception needs to be made for identifiers close to the length
    limit, since adding any prefix would take them over the limit. But
    they can be just written out as such, since we don't have any builtins
    or ANGLE internal variables that have as long names and could create a
    conflict.
    
    BUG=angleproject:2139
    BUG=angleproject:2038
    TEST=angle_unittests, angle_end2end_tests, WebGL conformance tests
    
    Change-Id: Id6ed052c4fab2d091227dc9a3668083053b67a38
    Reviewed-on: https://chromium-review.googlesource.com/507647
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit ced5c86c3a48ec9934e447e91f78120bb0ae5ee1
Author: Martin Radev <mradev@nvidia.com>
Date:   Thu Aug 17 16:05:29 2017 +0300

    D3D11: Handle multi-view Draw* calls
    
    Because the ANGLE_multiview extension uses instancing to multiply
    geometry for each view, Draw* calls with an active multiview program
    have to be handled in the follwing way:
    1) Convert non-instanced Draw calls to their instanced versions.
    2) Multiply the number of instances in an instanced Draw call by the
    number of views.
    The patch also applies the viewport offsets to the viewport and scissor
    rectangle and propagates the computed viewports and scissors to the
    D3D11 runtime.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    
    Change-Id: I8b4295c95c2cc0c1046c67e1fb1a782a46703292
    Reviewed-on: https://chromium-review.googlesource.com/618331
    Commit-Queue: Martin Radev <mradev@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 0abb7a2a269ea26c19f40a4298c6fb00bf8dd517
Author: Martin Radev <mradev@nvidia.com>
Date:   Mon Aug 28 15:34:45 2017 +0300

    Update multiview state on program executable change
    
    Relinking the active program can change its number of views and the
    state has to be correspondingly adjusted.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    
    Change-Id: I20102a428d7566a8cec5d81eeaa55980665812f4
    Reviewed-on: https://chromium-review.googlesource.com/637994
    Commit-Queue: Martin Radev <mradev@nvidia.com>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d28758de2d13d3846b40c39d8ddfc42cd67a5f95
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Aug 30 15:32:48 2017 -0400

    D3D11: Re-enable updateVertexBuffer dirty bits.
    
    In some cases, when the app would call glBufferSubData to do a small
    data update in an existing vertex buffer, the sync code would not
    flush out the data to the native D3D11 buffer from the temporary
    staging buffer.
    
    Fix this problem by notifying the VertexArray11 class when buffer
    data is updated. Note that in the future we can improve this by
    using a different update notification for when the buffer data changes
    and when the underlying storage changes. For now take a very broad
    approach.
    
    BUG=angleproject:1156
    
    Change-Id: I2e0fabc97c1f1d5a14d609247e61c602e9a5a85f
    Reviewed-on: https://chromium-review.googlesource.com/644208
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 57ae8c16c738fbf1fe83667eedab38dd8ae1a8e7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Aug 30 12:14:29 2017 -0400

    GLES3: Auto-generate entry points source.
    
    Lots of incidental fixes to formatting and naming.
    Adds specific default return type overloads for ClientWaitSync and
    GetUniformBlockIndex.
    
    BUG=angleproject:1309
    
    Change-Id: Id67cbc0b19fc2cb94c859ab8390f1ff36b1bbd25
    Reviewed-on: https://chromium-review.googlesource.com/637203
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit e8ef2bc4bd019fd6080db5a1a5f0dd18bc0ccd25
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Tue Aug 29 13:38:57 2017 +0800

    Add compile error on using inputs with interpolation qualifier as l-value
    
    This patch intends to fix a compile error in ANGLE GLSL compiler when
    parsing an expression with inputs which has interpolation qualifiers
    ('flat', 'smooth' and 'centroid').
    
    The compiler should report a compile error when a shader input with
    interpolation qualifier is used as a l-value.
    
    BUG=angleproject:2140
    TEST=angle_unittests
    
    Change-Id: I7c059d53bf001ac31d34519a98e5289797833ce7
    Reviewed-on: https://chromium-review.googlesource.com/640075
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 7c2e6a96a9d20a4f325fbbd0e044131bef7e1f4a
Author: Martin Radev <mradev@nvidia.com>
Date:   Mon Aug 28 11:13:16 2017 +0300

    Do not forward multi-view fields to backend on detach
    
    The patch fixes an unexposed bug in FramebufferGL which would pass
    an incorrect multi-view state to StateManagerGL on texture detachment.
    The bug is not exposed because upon a subsequent syncing step the
    correct state is queried and restored from the framebuffer state.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    
    Change-Id: Ie0e783c53e87497b3673ef87ab9c53c3c04054a7
    Reviewed-on: https://chromium-review.googlesource.com/636369
    Commit-Queue: Martin Radev <mradev@nvidia.com>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 1ba9b85a06d93ebd9cd91ad3d2249fdef49ef432
Author: Martin Radev <mradev@nvidia.com>
Date:   Tue Aug 29 14:08:41 2017 +0300

    HLSL: Declare gl_ViewID_OVR as fragment input if extension is enabled
    
    Previously a pixel shader would have gl_ViewID_OVR as input only if it
    were used in it. However, in a case with a user-specified varying and no
    usage of gl_ViewID_OVR in the pixel shader, a link-time error would
    occur whenever the geometry and pixel shaders were to be linked as the
    order of parameters in the signatures would not match.
    The patch addresses this by always having gl_ViewID_OVR declared as
    pixel shader input if the OVR_multiview(2) shader extension is enabled.
    
    The patch does not provide any tests because draw commands are not yet
    supported at this stage.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    
    Change-Id: Ia154fd53cbf3847cfaf0504e4ec44632b9cd5327
    Reviewed-on: https://chromium-review.googlesource.com/641151
    Commit-Queue: Martin Radev <mradev@nvidia.com>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 77d4d4da902464aeffcbaa7ade5b42c2012d63ee
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 29 17:31:32 2017 -0400

    D3D11: Temporarily disable vertex array dirty bits.
    
    In some cases we could end up with bufferSubData updates being left
    in staging buffers during a draw call. Currently we rely on
    InputLayoutCache::applyVertexBuffers to flush all pending buffer
    updates, but this could be done in VertexArray11::syncState, or
    even in the draw call sync state.
    
    BUG=angleproject:1156
    BUG=chromium:759403
    
    Change-Id: I7019425f874414bf5857b825ddae7e022750c759
    Reviewed-on: https://chromium-review.googlesource.com/642057
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit ed5b46f116c2fadfd44e1300efe3ef8404fe3e10
Author: Brandon Jones <brandon1.jones@intel.com>
Date:   Fri Jul 21 08:39:17 2017 -0700

    Add additional ES2 and WebGL 1.0 Validation
    
    Adds validation for various cases.
    
    Adds corresponding unit tests.
    
    Change-Id: I9451d286bcf2d6fa32de495e5d0bdec1eb5c955d
    Reviewed-on: https://chromium-review.googlesource.com/633157
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 2e29b13da2259c3dccc1c5d9761d0f7e92745ec5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 28 17:22:11 2017 -0400

    Fix some default return values in auto-gen.
    
    We don't generally test for the default return values of function
    calls that have validation errors, but the auto-gen script might
    not have been returning things correctly. For GLint values, default to
    returning -1 instead of zero.
    
    BUG=angleproject:1309
    
    Change-Id: I736b5a7ef9b50ca1509087fe933c4a4e526531d8
    Reviewed-on: https://chromium-review.googlesource.com/636522
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit b79b3f96274315838137eacd733609b1c5820632
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Jul 21 14:23:21 2017 +0300

    Assign symbol ids in RemoveDynamicIndexing
    
    Assign consistent symbol ids to out base, index and value nodes that
    get created in RemoveDynamicIndexing. Some utility functions in
    RemoveDynamicIndexing have also now become unnecessary now that there
    are better generic helpers and node constructors.
    
    BUG=angleproject:1490
    TEST=angle_unittests, angle_end2end_tests
    
    Change-Id: I98891e448b85d51518dbf3156ec93f9661def57e
    Reviewed-on: https://chromium-review.googlesource.com/580954
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 3db4072a26e3767c82b34ba9887c9da0104b6cc1
Author: JiangYizhou <yizhou.jiang@intel.com>
Date:   Mon Aug 28 17:59:13 2017 +0800

    Skip end2end test case due to failure on D3D Intel GPU
    
    Test case FramebufferTest_ES31.RenderingLimitToDefaultFBOSizeWithNoAttchments
    failed on Intel gpu on D3D.
    
    BUG=angleproject:1594
    
    Change-Id: Icda5179513b697b41aeb39bffad23fdb1977b55f
    Reviewed-on: https://chromium-review.googlesource.com/637750
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 14b2126ecfc333b8cf9ed85d8106983ea1be6ab6
Author: Martin Radev <mradev@nvidia.com>
Date:   Fri Aug 25 13:54:37 2017 +0300

    Relax multi-view end-point validation on detach
    
    Passing invalid arguments to the multi-view end-points should not
    generate an error if a texture is being detached from the framebuffer.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    
    Change-Id: I22e1ed13b64db046724031d0189612d5e111dcac
    Reviewed-on: https://chromium-review.googlesource.com/635166
    Commit-Queue: Martin Radev <mradev@nvidia.com>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 39e781220cbe2be9b6c6251ca1f645cfe8207ea2
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Aug 29 14:34:22 2017 +0300

    Fix assert when linking nonexistent transform feedback varying
    
    linkValidateTransformFeedback needs to be run after packing varyings,
    since it relies on nonexistent varyings being already handled.
    
    BUG=angleproject:2141
    TEST=angle_end2end_tests on debug
    
    Change-Id: I6178348f05a19070a2d17caf90f732df9eb06b9d
    Reviewed-on: https://chromium-review.googlesource.com/641152
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 54164b0cae1fc46f52521d489a35b42564a858dd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 28 15:17:37 2017 -0400

    Add getUniform impl methods.
    
    This will let us remove some of the uniform data management code in
    the GL front-end, and simplify the GL back-end. It will also enable
    us to implement uniform data more efficiently in the D3D11 back-end,
    and probably Vulkan back-end later.
    
    This also implements a new impl method for the ProgramGL class to
    flag optimized-out uniforms as no longer used, post-link. This is
    important because otherwise the optimized uniforms get assigned
    valid locations, and then the getUniform calls are expected to
    succeed.
    
    We also use a workaround for uniform value queries for the GL
    back-end. It seems as though some drivers (seen on NVIDIA and AMD)
    may not properly clamp to the maximum representable integer value
    when querying out-of-range floating point values. Work around this by
    always calling the driver with the proper type and then casting the
    value in ANGLE.
    
    BUG=angleproject:1390
    
    Change-Id: I03dc2382e7af52455c356a2bf3971a4d1bd46ec6
    Reviewed-on: https://chromium-review.googlesource.com/616785
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit ff161f83ceb506d1c69eca3e89e8d63afb92547b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Aug 26 23:49:10 2017 -0400

    Fix EP generation event output format for uint.
    
    This should be %u not %d.
    
    BUG=angleproject:1309
    
    Change-Id: I1fe1b8df9ea4f9123fc05e9ff58afa1f7723692c
    Reviewed-on: https://chromium-review.googlesource.com/636521
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a42a4e5ebfff75ef865a9d5623f1ff5dbf1539b2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 28 14:02:12 2017 -0400

    D3D11: Copy external offscreen texture when required.
    
    In some cases ANGLE gets an external back buffer texture for our
    SwapChain11 class, and in some of these cases we get an offscreen
    texture that can't be used as a shader resource. The becomes a problem
    for some copy operations that use a shader to convert texture formats.
    
    Work around this problem by making a shadow copy of the texture that
    has sampling enabled - it is possible to use CopyResource to copy
    between them.
    
    BUG=chromium:752917
    
    Change-Id: Ib757949d3d06295a118b055bf37311f820f7149c
    Reviewed-on: https://chromium-review.googlesource.com/638551
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 16daadba8a14e2f2314dbffa92bd07260e83f05f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Aug 26 23:34:31 2017 -0400

    GLES3: Auto-generate entry point header.
    
    BUG=angleproject:1309
    
    Change-Id: I40e3580c99df44338dfd1d06677e80fd0c57853e
    Reviewed-on: https://chromium-review.googlesource.com/636520
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 9696d073c98bb21a8707c515f3806e2fb999a89a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Aug 26 23:19:57 2017 -0400

    Clean up the ES3 entry points for auto-generation.
    
    Removes some unnecessary includes, and moves some validatoinfunctions
    to the ES3-only file.
    
    BUG=angleproject:1309
    
    Change-Id: I3b274014c48f6f39b5e67223987c91fbc5b4d390
    Reviewed-on: https://chromium-review.googlesource.com/636519
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 70b5bb00e87d1f99c014590329c4cbc5886b56e6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 28 13:32:37 2017 -0400

    Rename gl::FenceSync to gl::Sync.
    
    The spec refers to Sync objects, FenceSyncs being a subtype. The
    motivation for this fix is to clear up the FenceSync_ entry point for
    auto-generation.
    
    BUG=angleproject:1309
    
    Change-Id: I94c440476d701628575e7a3eea68b6dd110f41c3
    Reviewed-on: https://chromium-review.googlesource.com/636516
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 3ef140a9741e6f8410c7e3f464963f05730d17f3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Aug 26 23:11:21 2017 -0400

    Finish refactoring the rest of the ES3 entry points.
    
    BUG=angleproject:747
    
    Change-Id: I3da02120bfff5f33f15a5a9dd45ec99fd654425f
    Reviewed-on: https://chromium-review.googlesource.com/636518
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 7f0c5a4b17abf3c7237d3d4aaad8602e1b62aced
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Aug 26 22:43:26 2017 -0400

    Refactor sync EPs (plus one extra).
    
    More entry point validation refactor for auto-gen.
    
    BUG=angleproject:747
    
    Change-Id: I9462a28838df3f265e1401f66c838cc5a73d511f
    Reviewed-on: https://chromium-review.googlesource.com/636517
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 7e1197e01aed3a23d47a29658d7f1a114e39d4f0
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Thu Aug 24 15:48:38 2017 +0800

    Fix crash when indexing unsupported interface blocks by variable
    
    This patch intends to fix a compiler crash when indexing an
    unsupported interface blocks. We should not use UNREACHABLE() here
    because the compiler will continue parsing when this kind of error
    is generated. Instead, we use an ASSERT to ensure the compile error
    must have been reported before when the parsing reaches here.
    
    BUG=chromium:758159
    
    Change-Id: I4bc63316d156d51f721123fe963106d1e81d8d32
    Reviewed-on: https://chromium-review.googlesource.com/631797
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 97577623f516dfc008d868808770b06972b00bb0
Author: Martin Radev <mradev@nvidia.com>
Date:   Mon Aug 28 11:31:06 2017 +0300

    Fix assertion failure in CollectVariables.cpp
    
    The built-in gl_Layer can occur in the AST in cases in which either
    GL_OVR_multiview or GL_OVR_multiview2 is enabled.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    
    Change-Id: I7409b2712c715c3898c33300b7e5689e347742f0
    Reviewed-on: https://chromium-review.googlesource.com/636367
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 18b75bad852c717a302d521d3923b43a17e349ed
Author: Martin Radev <mradev@nvidia.com>
Date:   Tue Aug 15 15:50:40 2017 +0300

    D3D11: Handle Clear* commands for layered framebuffers
    
    According to the ANGLE_multiview spec, Clear* commands only affect
    the range of attached layers to the multi-view layered framebuffer.
    The patch extends ImageIndex so that the range of attached layers is
    tracked and a render target view can be created with that range of
    texture array slices attached.
    The special case of scissored clears for depth and stencil attachments
    is handled by instancing the same number of quads as there are views and
    selecting the layer within a geometry shader.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    
    Change-Id: Ibea248b980513f83d918652030a72c62c7ecd88b
    Reviewed-on: https://chromium-review.googlesource.com/632256
    Commit-Queue: Martin Radev <mradev@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 12e957f859685202f3b399f28d912766845592c6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Aug 26 21:42:26 2017 -0400

    Refactor uniform block and other query EPs.
    
    Also some minor fixes to validation and error messages.
    
    BUG=angleproject:747
    
    Change-Id: I4f97a45c2d39a8deec2255620e5cc2bcb8cad7b9
    Reviewed-on: https://chromium-review.googlesource.com/637126
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit f0dcb8b54a6abafec93832d2c1de9df828e7e4dc
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Aug 26 19:05:13 2017 -0400

    Refactor transform feedback EPs.
    
    BUG=angleproject:747
    
    Change-Id: I4891966cd7b3d478980202e795742e15dd1dcb01
    Reviewed-on: https://chromium-review.googlesource.com/637125
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit d7576737a94d3353608c50991bf27bdb54512726
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Aug 26 18:49:50 2017 -0400

    Refactor VAO entry points.
    
    This also touches the extension EPs for ES2.
    
    BUG=angleproject:747
    
    Change-Id: Iaa04d97465e518f6b0496e64bc7a737914709b8f
    Reviewed-on: https://chromium-review.googlesource.com/637124
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c8c958173134b5fa0accf2e70439052a278af0f2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Aug 26 18:40:09 2017 -0400

    Refactor uniform matrix entry points.
    
    This should also slightly speed up some of the validation.
    
    BUG=angleproject:747
    BUG=angleproject:1390
    
    Change-Id: I60735e2773788aef3f535bf7d3d8cd27bc4df5b1
    Reviewed-on: https://chromium-review.googlesource.com/637123
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit f0e0449ef3af46aa5a78027d06bfea8c4f5f80c0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Aug 26 15:28:42 2017 -0400

    Format ES3 query entry points.
    
    Also refactor some query extension entry points.
    
    BUG=angleproject:747
    
    Change-Id: I5a8a3b2616a3872b5645a655641ec9c12739f804
    Reviewed-on: https://chromium-review.googlesource.com/636062
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit ff325f1b07a349749306509c4f2376401bc50a9e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Aug 26 15:06:05 2017 -0400

    Refactor ES3 uniform entry points.
    
    This should improve validation speed slightly because it allows us to
    move the ES3-only check into the ES3-only code, and make it a bit
    simpler.
    
    BUG=angleproject:747
    BUG=angleproject:1390
    
    Change-Id: I41f9ffef1c6a552fde924e62e481831f07b1503a
    Reviewed-on: https://chromium-review.googlesource.com/636061
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit ef66151703318c4c5c975c01e8d1b1efbaf97b0b
Author: Kenneth Russell <kbr@chromium.org>
Date:   Sat Aug 26 11:13:04 2017 -0700

    Add ANGLE dEQP trybots to default set of tryservers.
    
    These trybots -- for Win, Linux, and Android -- are all working now
    per https://chromium-review.googlesource.com/636294 . Make them run
    for all ANGLE CLs so that the dEQP tests can be removed from the
    others. This will allow the dEQP bots' compiler configuration to
    ultimately diverge from the other bots'.
    
    BUG=727437
    TBR=geofflang@chromium.org
    
    Change-Id: I90ffcd358dfa888b77ecf718727d809c486170c7
    Reviewed-on: https://chromium-review.googlesource.com/636759
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Commit-Queue: Kenneth Russell <kbr@chromium.org>

commit 511937d9a3c7959629169b71851f9265628f07f9
Author: JiangYizhou <yizhou.jiang@intel.com>
Date:   Thu Aug 3 15:41:29 2017 +0800

    ES3.1: Implement framebuffer default parameters for d3d part.
    
    Set framebuffer default params with glFramebufferParameteri and
    glGetFramebufferParameteriv, keep framebuffer default parameters
    in cache for query.
    The es 3.1 spec section 9.2 states that, "If there are no attachments
    , rendering will be limited to a rectangle having a lower left of
    (0, 0) and an upper right of (width, height), where width and height
    are the framebuffer object's default width and height."
    If the Framebuffer has no color attachment and the default width or
    height is smaller than the current viewport, use the smaller of the
    two sizes.
    
    BUG=angleproject:1594
    TEST=dEQP-GLES31.functional.state_query.framebuffer_default.framebuffer_default*
    TEST=dEQP-GLES31.functional.fbo.completeness.no_attachments
    TEST=dEQP-GLES31.functional.fbo.no_attachments.*
    TEST=angle_end2end_tests --gtest_filter=FramebufferTest_ES31.*
    
    Change-Id: I8041fd655161390acf115efa08ce0f04b10810a0
    Reviewed-on: https://chromium-review.googlesource.com/609414
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d27f5c8d2bae201f412973d00904538f778f2f10
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Wed Aug 23 09:38:08 2017 +0800

    ES31: Implement GL_OES_geometry_shader built-ins in GLSL compiler
    
    This patch intends to implement all built-in constants, variables and
    functions defined in OpenGL ES 3.1 extension GL_OES_geometry_shader
    in ANGLE GLSL compiler.
    
    1. Add all built-in constants defined in GL_OES_geometry_shader.
    2. Add built-in functions EmitVertex() and EndPrimitive() required
       in Geometry Shader.
    3. Add built-in variables gl_PrimitiveIDIn and gl_InvocationID to
       Geometry Shader.
    4. Add built-in variables gl_PrimitiveID and gl_Layer to both
       Geometry Shader and Fragment Shader when GL_OES_geometry_shader
       is enabled.
    
    BUG=angleproject:1941
    TEST=angle_unittests
    
    Change-Id: I92821553ed0efee2ccb77fead6e065e7799819d0
    Reviewed-on: https://chromium-review.googlesource.com/627670
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 3c25ad071e65f9239c29a386cfbdb29064795000
Author: Martin Radev <mradev@nvidia.com>
Date:   Tue Aug 22 17:36:53 2017 +0300

    Enable all multiview rendering tests for layered framebuffers
    
    The patch restructures the tests in MultiviewDrawTests.cpp, so that
    all rendering tests can be instantiated for side-by-side and layered
    framebuffers.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    
    Change-Id: I2c32fd3bd57b6afd1eb8d6cedb2d1b88b9fd6525
    Reviewed-on: https://chromium-review.googlesource.com/627918
    Commit-Queue: Martin Radev <mradev@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 335d67b885767e37dba542e52e4c6278f195eba5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Aug 24 14:57:44 2017 -0400

    Fixes to the Uniforms Perf benchmark.
    
    Fix the REPEAT test, and add a D3D11 and OpenGL null test.
    
    BUG=angleproject:1390
    
    Change-Id: I491cbc9f9201ef85aeb9f70138a276078220b26d
    Reviewed-on: https://chromium-review.googlesource.com/623928
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 2c1183bb07b934f53a0d40f19be4a340519445be
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Aug 24 10:36:01 2017 -0700

    Fix compile on non C++14 configs.
    
    The WrappedArray move constructor was not contexpr under c++11
    rules. New code was introduced when fixing D3D11 runtime warnings.
    
    BUG=angleproject:2025
    
    Change-Id: Ie322d9fa3db36f320b7a9ef5048a23c31c153ad1
    Reviewed-on: https://chromium-review.googlesource.com/633911
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 41013bdd153183cd729420ceb24265977bd60f70
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Aug 24 14:07:33 2017 -0400

    Perf script runner Python 3 compatibility.
    
    No code changes in ANGLE, just a perf test runner fix.
    
    BUG=angleproject:1155
    
    Change-Id: If49c58da26f9224e09f292689b2d74f7e129a844
    Reviewed-on: https://chromium-review.googlesource.com/633786
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c1346fba608e11a8f4e7fc0d4c85d5dcf6a0b8df
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Aug 24 16:11:26 2017 +0000

    Revert "Remove IndexRange retrieving in validation"
    
    This reverts commit 59d9da089580afac175ff5f1a932b987c9d194d6.
    
    Reason for revert: <INSERT REASONING HERE>
    
    Original change's description:
    > Remove IndexRange retrieving in validation
    >
    > This change can improve the performance of drawElements which uses
    > the path without translation.
    > Paste a set of mean data (repeated 30) for reference on Intel skylake
    > Win10 desktop.
    > DrawElementsPerfBenchmark.Run/d3d11:
    > before                     after
    > mean: 13644.4666667 -> mean: 13887.8333333
    > DrawElementsPerfBenchmark.Run/d3d11_index_buffer_changed:
    > before                     after
    > mean: 45.8          -> mean: 46.3666666667
    >
    > BUG=755897, angleproject:1393
    >
    > Change-Id: I11f5db25445346958dfef52b1d23df5483cda32f
    > Reviewed-on: https://chromium-review.googlesource.com/607413
    > Reviewed-by: Geoff Lang <geofflang@chromium.org>
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    > Commit-Queue: Jamie Madill <jmadill@chromium.org>
    
    TBR=geofflang@chromium.org,jmadill@chromium.org,jiajia.qin@intel.com
    
    Change-Id: I4b00af2c32af36aa978ac2fddcf7514134497cf3
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: 755897, angleproject:1393
    Reviewed-on: https://chromium-review.googlesource.com/633296
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit e080387e435fae181b65cf71a71b02c6354c374e
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Aug 23 15:30:23 2017 +0300

    Refactor array element type checks
    
    Remove checks that would never fail, and refactor the functions into
    more self-contained checks. For example, it doesn't make sense to
    check the qualifier from the part of the type that doesn't contain the
    qualifier.
    
    This prepares for adding the parsing of arrays of arrays.
    
    BUG=angleproject:2125
    TEST=angle_unittests
    
    Change-Id: I1144bee35d2b04c7cb22e2bb7e17307298e35f8c
    Reviewed-on: https://chromium-review.googlesource.com/629016
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 59d9da089580afac175ff5f1a932b987c9d194d6
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Wed Aug 9 16:59:17 2017 +0800

    Remove IndexRange retrieving in validation
    
    This change can improve the performance of drawElements which uses
    the path without translation.
    Paste a set of mean data (repeated 30) for reference on Intel skylake
    Win10 desktop.
    DrawElementsPerfBenchmark.Run/d3d11:
    before                     after
    mean: 13644.4666667 -> mean: 13887.8333333
    DrawElementsPerfBenchmark.Run/d3d11_index_buffer_changed:
    before                     after
    mean: 45.8          -> mean: 46.3666666667
    
    BUG=755897, angleproject:1393
    
    Change-Id: I11f5db25445346958dfef52b1d23df5483cda32f
    Reviewed-on: https://chromium-review.googlesource.com/607413
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit abf66fb35d23734ac969eea4665f755d9f7e45d2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Aug 23 11:58:27 2017 -0400

    D3D11: Use dirty bits for applyVertexBuffers.
    
    If the vertex array has any dirty or dynamic attribs, we must do an
    update. Similarly, if a prior state change has left the vertex
    state invalidated, we do an update. For instance, a program change
    means we need a new input layout. If there was no such invalidation
    or dirtyness we can skip the call to InputLayoutCache.
    
    This improves the performance of the draw call benchmark (with no
    state changes) by about 50% on the D3D11 null driver. Increases the
    frames per second count of the aquarium demo with the passthrough
    command buffer by about 25% on a test machine.
    
    BUG=angleproject:1156
    
    Change-Id: I8381999029f5b1912030a3342e96285a58f95e82
    Reviewed-on: https://chromium-review.googlesource.com/616784
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit e3d8628d1dcd027a3cef5121a500b0ef4334d266
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 22 11:50:01 2017 -0400

    D3D11: Split input layout and VB application.
    
    This will enable future optimizations that only update either the
    applied vertex buffers or the input layout independenty. It also
    makes debugging a bit easier since we can force an update of the
    vertex buffer or input layout to diagnose potential state sync
    bugs.
    
    BUG=angleproject:1156
    
    Change-Id: Ib375561528da539e136ff4fd02398b03c9caabb7
    Reviewed-on: https://chromium-review.googlesource.com/627077
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 96f6adfa861c9a0b8baba7812b99c20ed4e0aa8f
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Aug 16 11:18:54 2017 +0300

    Add support for arrays of arrays in AST processing
    
    Data concerning arrays of arrays is added in TType.
    
    Parsing arrays of arrays and support for arrays of arrays in
    TPublicType are still left to be implemented later.
    
    ShaderVariable interface for arrays of arrays is also left to be
    implemented later.
    
    We rely on existing test coverage to make sure that arrays of arrays
    are not accidentally exposed.
    
    BUG=angleproject:2125
    TEST=angle_unittests, angle_end2end_tests, angle_deqp_gles31_tests
    
    Change-Id: Ie17d5ac9b8d33958e9126dc0fb40bf1c81ddeec9
    Reviewed-on: https://chromium-review.googlesource.com/616146
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 5e424faefe013de6772a67fe6349a15255f2598b
Author: Martin Radev <mradev@nvidia.com>
Date:   Wed Aug 9 16:25:36 2017 +0300

    Handle Clear* commands for layered framebuffers
    
    The patch adds support for clearing the layers of 2D array textures
    attached to a multi-view framebuffer. According to the ANGLE_multiview
    spec, the layers which are outside of the range
    [baseViewIndex; baseViewIndex + numViews) should remain unmodified.
    Because the native Clear* commands clear all of the layers, a workaround
    is implemented which creates a FBO, attaches a single layer from all
    multi-view attachments and clears the contents.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    
    Change-Id: Ibf711d02046233eed16bdd3f9c96fc38f82ed0a8
    Reviewed-on: https://chromium-review.googlesource.com/615242
    Commit-Queue: Martin Radev <mradev@nvidia.com>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 61bd999466729b88a3a93c4fdd7ce7155459ee77
Author: Martin Radev <mradev@nvidia.com>
Date:   Fri Aug 11 13:10:55 2017 +0300

    Test multi-view rendering of various primitives
    
    The patch adds tests to verify that all primitive types are rendered
    correctly in a multi-view context.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    
    Change-Id: Ied4521264841d29ba3b39a612e2da285d0fd9fc6
    Reviewed-on: https://chromium-review.googlesource.com/612243
    Commit-Queue: Martin Radev <mradev@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit d8105a03fa17e37ef66ab1a2a0b094abbc924e75
Author: Jiawei Shao <jiawei.shao@intel.com>
Date:   Tue Aug 8 09:54:36 2017 +0800

    ES31: Implement gl_in in Geometry Shader
    
    This patch intends to implement geometry shader built-in interface
    block instance gl_in defined in GL_OES_geometry_shader.
    
    1. Add the definition of gl_in and its interface block gl_PerVertex
       into the symbol table.
    2. Support gl_Position as a member of gl_in.
    3. Set the array size of gl_in when a valid input primitive type is
       known.
    4. Add check that it should be a compile error to index gl_in or
       call length() on gl_in without a valid input primitive declaration.
    
    This patch also adds unit tests to cover all these new features.
    
    BUG=angleproject:1941
    TEST=angle_unittests
    
    Change-Id: I8da20c943b29c9ce904834625b396aab6302e1e1
    Reviewed-on: https://chromium-review.googlesource.com/605059
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>

commit 401345e4a60e9c9cb7013164f6658233abce9c12
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 21 10:52:40 2017 -0400

    D3D11: Move more state into StateManager11.
    
    This moves the input layout cache and vertex and index data managers
    and related info into the state manager. This makes it easier to
    manage the state application with regards to dirty bits.
    
    Also updates the dirty current value handling in StateManager11.
    
    BUG=angleproject:1156
    BUG=angleproject:2052
    
    Change-Id: I8de968a1f8416363aa1c49d9e9da129942d21275
    Reviewed-on: https://chromium-review.googlesource.com/616783
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 3cb4894c9f11d5517002aae3301cc01fd4c6b4b9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 18 10:03:01 2017 -0400

    Make TextureD3D::clearLevel work with depth/stencil.
    
    Although we only used this method in one place that didn't need to
    clear depth or stencil, the method itself doesn't seem like it should
    be limited. It will become useful in later patches which initialize
    depth and stencil textures robustly.
    
    BUG=angleproject:2107
    
    Change-Id: I7dc67608972f2b31c0cb4d309941be10f47d1d47
    Reviewed-on: https://chromium-review.googlesource.com/585600
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 977ee7ebdb894c4c266f1f770bb0ca2fd4ed80a7
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Jul 21 11:38:27 2017 +0300

    Add gl_ViewportIndex to the symbol table
    
    gl_ViewportIndex is a GLSL built-in that's needed to implement
    instanced multiview. It is a bit of a special case: it only exists in
    desktop GLSL and not ESSL, and it shouldn't be exposed to the parser.
    We add a new level to the symbol table that's hidden from the parser
    to make adding this kind of builtins in AST transforms consistent with
    the way ESSL builtins are supported.
    
    BUG=angleproject:1490
    TEST=angle_unittests
    
    Change-Id: I51b2d983950b38c8e85e4b6ed00c6b39f9b3cb03
    Reviewed-on: https://chromium-review.googlesource.com/580953
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 4e619f58771d95d942e55821a095c376b698542b
Author: Martin Radev <mradev@nvidia.com>
Date:   Wed Aug 9 11:50:06 2017 +0300

    Add branch for viewport or layer selection in VS
    
    The patch extends the behavior of
    SH_SELECT_VIEW_IN_NV_GLSL_VERTEX_SHADER so that either the viewport
    or layer is selected based on the value of the internal uniform variable
    MultiviewRenderPath.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    TEST=angle_unittests
    
    Change-Id: Ia311b12b1fed642dac78eba8732e2535242f34fd
    Reviewed-on: https://chromium-review.googlesource.com/615260
    Commit-Queue: Martin Radev <mradev@nvidia.com>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 3dfaf265b48cefd7af8c863893073dc0c3d846ae
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 18 12:32:14 2017 -0400

    Add a Linux/Intel suppression for CopyTextureTestES3.ES3UintFormats.
    
    BUG=chromium:756087
    
    Change-Id: If7d318d58ce46b52a810b1a96fcdbff57a787f86
    Reviewed-on: https://chromium-review.googlesource.com/621408
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 0ce8ef332fa5a53c85a7243be92b89dc1976e714
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Aug 18 12:00:28 2017 +0300

    Add arrays of arrays negative test coverage
    
    Arrays of arrays have not been implemented yet, but these tests can
    already be enabled. This is useful to make sure that we don't
    accidentally enable arrays of arrays where they shouldn't be enabled
    and that the initial implementation generates errors correctly and
    doesn't crash on malformed inputs.
    
    BUG=angleproject:2125
    TEST=angle_unittests, angle_deqp_gles31_tests
    
    Change-Id: I538e5ae1f0903c42e06cfce352124130f160649d
    Reviewed-on: https://chromium-review.googlesource.com/620706
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 92996b0ddd7542fef9066387e32f7c678751630d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Aug 17 10:39:02 2017 -0400

    D3D11: Fix masked clear unused RTV warning.
    
    This benign warning would show up in the Debug layer messages. It was
    causing the test to fail in some standalone configurations.
    
    This fix implemented here is to keep 8 different pixel shaders, one
    for each total count of render targets, up to the implementation max.
    
    BUG=angleproject:2025
    
    Change-Id: I826ddae686ddb1cfad17879644152be2f6125c5b
    Reviewed-on: https://chromium-review.googlesource.com/617512
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 46d6c2b6304052d50fbc4f042f773c2cefc023e8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Aug 16 14:58:36 2017 -0400

    D3D: Make some helper methods static.
    
    A couple index data manager and Renderer helper methods didn't need
    to modify state or use any local member variables, so we can make
    them static to be more accessible from other parts of the code.
    
    BUG=angleproject:1156
    
    Change-Id: I522d0dfd396f0fed7b5087e90dcb70a0f9502a75
    Reviewed-on: https://chromium-review.googlesource.com/616782
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a836b4660604504e1eb5d40937f7cc6a8021344f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Aug 16 14:58:35 2017 -0400

    D3D11: Allow no-op pixel shader output.
    
    On HLSL 4+, the debug runtime issues a warning when we try to render
    to a color output in the pixel shader that doesn't have a matching
    render target bound. This happens when doing a depth or stencil-only
    render pass. We only need to bind a dummy output in HLSL 3, so tighten
    the workaround we had in place and fix the warning for D3D11.
    
    BUG=angleproject:2025
    
    Change-Id: I16ba9e907f3a6e59afff93fe4583d084cbdf42c5
    Reviewed-on: https://chromium-review.googlesource.com/617268
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit b18c33e94ba9be9d4af00765da1933c4c8d890c6
Author: Shao <jiawei.shao@intel.com>
Date:   Wed Aug 16 12:37:51 2017 +0800

    Remove arraySize in TInterfaceBlock
    
    This patch intends to remove the field 'arraySize' in TInterfaceBlock.
    
    The field 'arraySize' in TInterfaceBlock is redundant because:
    1. If the interface block has instance name, it is recorded as one
       symbol as a whole, and its array size is recorded in the TType
       of the symbol.
    2. If the interface block doesn't have instance name, its members are
       recorded separately, and it cannot be declared as an interface block
       array.
    
    This patch can make the implementation of Geometry Shader easier
    when we set array size to the built-in interface block 'gl_in' and other
    user-defined unsized input interface blocks during the compilation of a
    Geometry Shader.
    
    BUG=angleproject:1941
    TEST=angle_end2end_test
    
    Change-Id: I9a51aab9b8f9ea7e88af157505c092426cee7e6e
    Reviewed-on: https://chromium-review.googlesource.com/615759
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 41ac68e711f5dff564e02e7e0d41bf24ebc8f52c
Author: Martin Radev <mradev@nvidia.com>
Date:   Tue Jun 6 12:16:58 2017 +0300

    Select viewport index in GS for multi-view instanced rendering
    
    The patch extends the OutputHLSL and DynamicHLSL translators to
    select the viewport index in the geometry shader and propagate
    the ViewID variable to the fragment shader.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    
    Change-Id: I9e344a7521e2e1137e6eb38d0bfecea8bece778f
    Reviewed-on: https://chromium-review.googlesource.com/608967
    Commit-Queue: Martin Radev <mradev@nvidia.com>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit e86db0c1d4edc66710fd23052a7ed968524ca789
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Aug 11 15:24:58 2017 +0300

    Remove unused vectorSize() from OutputHLSL
    
    BUG=angleproject:2125
    TEST=compile
    
    Change-Id: Ideae29190bd9cd56ecdc0ea31a078d4460413540
    Reviewed-on: https://chromium-review.googlesource.com/616145
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 9b8dfb8032d88f3f3cf892c1b2ebc43ebfa037b6
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Aug 16 15:07:15 2017 -0400

    Support more display extensions in DisplayNULL.
    
    BUG=602737
    
    Change-Id: I05987f4806e179eb50f4b86533c88831e359b9e8
    Reviewed-on: https://chromium-review.googlesource.com/617514
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit c0094eca8187c4e2a1b98762761e28ba19783b3e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Aug 16 14:16:24 2017 -0400

    Validate the combination of type and internal format for CopyTextureCHROMIUM.
    
    Sized internal formats with invalid types would pass validation because
    GetInternalFormatInfo does not validate that the type is a valid upload
    type for the given internal format.
    
    TEST=conformance2/textures/misc/tex-image-with-bad-args-from-dom-elements.html
    
    BUG=angleproject:1932
    
    Change-Id: I07fd542630a4508383263c1fe3d7a80c037d7ca0
    Reviewed-on: https://chromium-review.googlesource.com/617508
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 200e2d237567e260bcbae1044d32f07754505bd0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 14 13:19:54 2017 -0400

    D3D11: Force level zero render target in FL 9.3.
    
    Since 9.3 doesn't support non-zero level render targets, we should
    always be getting the level zero render target. Previously the code
    would never try creating a render target when level zero mode was
    not enabled, but this can break if we refactor the code.
    
    Fixes a bug in a future patch which creates the storage as a render
    target instead of as a non-renderable texture first.
    
    BUG=angleproject:2107
    
    Change-Id: Ib2732a35e586bc4956d07783325429e8edeb0c66
    Reviewed-on: https://chromium-review.googlesource.com/614120
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit e59000c3d589aafa31595e7fa7474eef7bf705eb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Aug 16 11:13:49 2017 -0400

    Skip CopyTextureTestES3.ES3FloatFormats in Win/Intel/OpenGL.
    
    Possibly due to a driver bug.
    
    BUG=angleproject:1932
    
    Change-Id: I8b10457681c5635b89f898aab09fa244b3bf7d9c
    Reviewed-on: https://chromium-review.googlesource.com/616817
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 5c00d0dbe6e8eddc064bf81986ca2d9f1d822cc0
Author: Martin Radev <mradev@nvidia.com>
Date:   Mon Aug 7 10:06:59 2017 +0300

    D3D11: Handle Clear* commands for side-by-side framebuffers
    
    The patch modifies Clear11 to add support for clearing the color, depth
    and stencil attachments to a side-by-side framebuffer:
    - Color attachments are cleared through the command ClearView.
    - Depth and stencil attachments are cleared by drawing a quad on top of
    each view.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    
    Change-Id: I5753a72222216a48cd954eb1219bc58f968735fc
    Reviewed-on: https://chromium-review.googlesource.com/603853
    Commit-Queue: Martin Radev <mradev@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit eef80e4012c0bfa55e9379b02d14bfd31e05ec1d
Author: Martin Radev <mradev@nvidia.com>
Date:   Fri Aug 11 14:44:57 2017 +0300

    Do not implicitly enable the scissor test for side-by-side FBOs
    
    The patch modifies the ANGLE_multiview specification so that issuing a
    Draw* command has undefined results for side-by-side FBOs if the scissor
    test is disabled. Also, clearing a side-by-side framebuffer will result
    in clearing the whole content of the specified buffers if the scissor
    test is disabled.
    StateManagerGL and FramebufferGL are modified to address this change in
    the spec.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    
    Change-Id: I39a87d297944f12769dee2ead17b508ac22053db
    Reviewed-on: https://chromium-review.googlesource.com/612283
    Commit-Queue: Martin Radev <mradev@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 599555b588df79d6c4ff7cbddc5112d73563ddf4
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Aug 15 11:12:42 2017 +0300

    Clean up createSamplerSymbols
    
    The arrayOfStructsSize parameter can always be determined from the
    TType object, so there's no need to pass it to
    TType::createSamplerSymbols. Furthermore, it's more natural to do
    the processing for arrays of structs in TType::createSamplerSymbols,
    rather than in the TStructure::createSamplerSymbols helper it is
    using.
    
    Also rename some parameter names, and move createSamplerSymbols
    implementation to Types.cpp.
    
    This refactoring change prepares for implementing arrays of arrays.
    
    BUG=angleproject:2125
    TEST=angle_end2end_tests
    
    Change-Id: I3f8bec711c0434677ebcf3741abb4f910c36dba3
    Reviewed-on: https://chromium-review.googlesource.com/614883
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 28839f031e91f34337dc2f00e5686669b964f631
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Aug 15 11:38:16 2017 +0300

    Fix handling sampler arrays in structs as function arguments on HLSL
    
    Some of the code was written under the mistaken assumption that
    createSamplerSymbols would be splitting sampler arrays in structs into
    individual samplers. Fix it by adding array dimensions to sampler
    parameters generated by createSamplerSymbols when necessary.
    
    BUG=angleproject:2128
    TEST=angle_end2end_tests
    
    Change-Id: Ie622c777d78ae65b5629d12e0ae574800c1b78f5
    Reviewed-on: https://chromium-review.googlesource.com/614882
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit afa75152d99cd3694d15267b3bf63cc703cd78fe
Author: Brandon Jones <brandon1.jones@intel.com>
Date:   Fri Jul 21 13:11:29 2017 -0700

    Refactor More Validation Error Messages
    
    Replace many error string literals with variables existing in
    ErrorStrings.h
    
    BUG=:angleproject:1644
    
    Change-Id: If5665a6787a1fa8d789811d774711c3705dfb0ab
    Reviewed-on: https://chromium-review.googlesource.com/598588
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit aadc8f376a2c797db98d69d308c9980ca818f57f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Aug 11 17:34:44 2017 -0400

    Implement the CPU fallback for CopyTextureCHROMIUM on OpenGL.
    
    BUG=angleproject:1932
    
    Change-Id: Iabc1a3e361d66313dc16bf19b392402b7836f8a5
    Reviewed-on: https://chromium-review.googlesource.com/612562
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 79f7104ab9aa7777c0531bc6333160e7f45d9e50
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Aug 14 16:43:43 2017 -0400

    Validate that transform feedback buffers are not mapped.
    
    Mapping a buffer that is bound for active transform feedback or starting
    transform feedback on a mapped buffer is undefined behaviour under
    section 2.10.3.2 of the ES 3.0 spec "Effects of Mapping Buffers on Other
    GL Commands".  The spec suggests that an error is generated in this
    case.
    
    TEST=ES3MapBufferRangeTest.TransformFeedback
    
    BUG=754000
    
    Change-Id: I613defd07cc1a4348682d992cda61cc898936720
    Reviewed-on: https://chromium-review.googlesource.com/614483
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 78ed6cd9ea00fa2b905e849f6a54ad91ee68f3b3
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Aug 9 16:19:00 2017 +0300

    Rename VariableInfo files to CollectVariables
    
    Files that only have a single function should be named consistently
    with the function. Unnecessary include in CallDAG.h is removed.
    
    BUG=angleproject:2068
    TEST=angle_unittests
    
    Change-Id: I27d55a766b9eb66fcfd1e0a2341a2843bb9dc5bb
    Reviewed-on: https://chromium-review.googlesource.com/608368
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d93cd6c23c9cba837408926b19575ddf06425c3b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Aug 11 16:32:41 2017 -0400

    Refactor the CPU copy texture code into a function in renderer utils.
    
    BUG=angleproject:1932
    
    Change-Id: Iab79f2a09c2d8a85d2a9dde34acf4d2151072c2b
    Reviewed-on: https://chromium-review.googlesource.com/612561
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit d7487b135934e60e472f6dd07e0e7befe46ec598
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Aug 9 15:45:13 2017 +0300

    Clean up checking variable packing limits
    
    This encapsulates expanding struct variables inside the VariablePacker
    class that packs variables according to the GLSL ES spec.
    
    The variable expansion step is no longer run twice when checking
    uniforms against the max uniforms limit.
    
    BUG=angleproject:2068
    TEST=angle_unittests
    
    Change-Id: I012ddaa249f71c0a78d937c98007c61352e64888
    Reviewed-on: https://chromium-review.googlesource.com/608367
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 9b11ea4f2df63784bb34ccef2456d58939a0efb9
Author: Jiajia Qin <jiajia.qin@intel.com>
Date:   Tue Jul 11 16:50:08 2017 +0800

    Gather UniformBlock and ShaderStorageBlock separately
    
    Refactor InterfaceBlocks since it only stands for UniformBlock before
    ES31. But for ES31, uniform block and shader storage block both belong
    to interface block.
    
    This CL will add GetUniformBlocks and GetShaderStorageBlocks in
    ShaderLang.h. Meanwhile, keep GetInterfaceBlocks which can return all
    the interface blocks together.
    
    BUG=angleproject:1951
    
    Change-Id: I3036e201aadfbd490575ed03538c81bcc3793ff3
    Reviewed-on: https://chromium-review.googlesource.com/582546
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 0d671c9a77548c090843fddca8ac9e86157a01d1
Author: Martin Radev <mradev@nvidia.com>
Date:   Thu Aug 10 16:41:52 2017 +0300

    Verify occlusion query correctness in a multi-view context
    
    The patch adds tests to verify that an occlusion query correctly tracks
    whether any fragments pass the depth test for any of the views as
    according to the ANGLE_multiview extension.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    
    Change-Id: Ia85bac4935192554a337c27fad110fbb7f56cf8a
    Reviewed-on: https://chromium-review.googlesource.com/609961
    Commit-Queue: Martin Radev <mradev@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 82ef774b7397617e289b02b3e194224e80aace2f
Author: Martin Radev <mradev@nvidia.com>
Date:   Tue Aug 8 17:44:58 2017 +0300

    Save layered multiview end-point's arguments into attachment's state
    
    Handle glFramebufferTextureMultiviewLayeredANGLE calls by saving the
    arguments into the attachment's state.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    
    Change-Id: I9d7c0e00fe9e917ad2f9d903a39f30b2546dc7a3
    Reviewed-on: https://chromium-review.googlesource.com/609960
    Commit-Queue: Martin Radev <mradev@nvidia.com>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 5116d687593c5702662556f070b71c5623cc8ce0
Author: Shao <jiawei.shao@intel.com>
Date:   Wed Aug 2 12:39:44 2017 +0800

    ES31: Add missing initialization of MAX_*_SAMPLES on D3D
    
    This patch intends to add missing initialization of MAX_INTEGER_SAMPLES,
    MAX_DEPTH_TEXTURE_SAMPLES and MAX_COLOR_TEXTURE_SAMPLES required for
    multisampled textures on D3D backends.
    
    Since MAX_*_SAMPLES cannot be queried directly from D3D APIs, these
    values are initially assigned a large value in renderer11.cpp and
    re-calculated in context::updateCaps().
    
    This patch also adds tests to ensure these values are greater than 1
    as required in OpenGL ES3.1 spec.
    
    BUG=angleproject:1592
    TEST=angle_end2end_tests
    
    Change-Id: Iba586e311d40d2da4569816902f96e40bbd6935b
    Reviewed-on: https://chromium-review.googlesource.com/597411
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 936ea325068a5558a990f06bcc7faaeff1d51d55
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Fri Aug 4 20:58:06 2017 -0400

    Clip to framebuffer when copying to cube map.
    
    In D3D cube map textures use different code paths than regular 2D
    textures.  Add outside-the-framebuffer handling to those paths, same as
    was added the other paths earlier.
    
    Change-Id: I51896a07f73ae8d761cd9d7b18c68076f38d32a3
    Reviewed-on: https://chromium-review.googlesource.com/603050
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit c2157a09d2357b2a665634b1f429eeb735f5807c
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Aug 9 18:52:59 2017 +0300

    HLSL: Fix handling nested structs in interface blocks
    
    Make sure that the type definitions for nested structs get added to
    the HLSL header, and that the std140 padding information gets
    recorded. Prior to this trying to use nested structs in interface
    blocks crashed.
    
    BUG=angleproject:2084
    TEST=angle_end2end_tests
    
    Change-Id: If57870285c6feaf0c2e462f98f50f20730dd6470
    Reviewed-on: https://chromium-review.googlesource.com/608449
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit d23bcd8eb62c9634c9892be3883be0d0271503f9
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Tue Aug 1 23:40:17 2017 -0400

    Add cube map to read-outside-framebuffer tests.
    
    Cube maps go through a separate path on D3D so we need to test them.
    
    BUG=angleproject:1815
    
    Change-Id: Ifb7a85d7e2750f25bce382fdd7a00062d23b3573
    Reviewed-on: https://chromium-review.googlesource.com/597213
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit ed049ab44d08554c4f2d4730cb7de1316d4f2388
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Jun 30 17:38:33 2017 +0300

    HLSL: Fix handling arrays of structs in interface blocks
    
    In HLSL output, structs in interface blocks are not accessed directly.
    Rather they get copied from the D3D constant buffer to static structs
    in the shader header. Fix generating the copy/init code in the header
    to handle arrays of structs correctly.
    
    BUG=angleproject:2084
    TEST=angle_end2end_tests
    
    Change-Id: If66bd5be3f3570ba591b8b62c5284c06fc83dd45
    Reviewed-on: https://chromium-review.googlesource.com/608448
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 47bb4933fb83e51d5a01606423643e1b318804ea
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Aug 3 11:52:13 2017 -0400

    Implement CopyTexture functions for uint texture formats.
    
    BUG=angleproject:1932
    
    Change-Id: I6474237cbb82b59a0bd40c1b9b9e2455952d3755
    Reviewed-on: https://chromium-review.googlesource.com/600510
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 553590a57921fd83abb814fee943c0ccc9bf45a2
Author: Martin Radev <mradev@nvidia.com>
Date:   Mon Jul 31 16:40:39 2017 +0300

    Modify attribute divisor for multiview instanced rendering
    
    If the ANGLE_multiview extension is used in a program, the number
    of geometry instances is the number of instances passed to
    glDraw*Instanced times the number of views in the program. The attribute
    divisor has to be multiplied by the number of views so that the correct
    attributes are gathered in the input assembly stage.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    
    Change-Id: I960d6313c02e3eb83f7a07e72b9bcac072c736f4
    Reviewed-on: https://chromium-review.googlesource.com/593953
    Commit-Queue: Martin Radev <mradev@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 0f7714ecc0350210b4fae6828c6e4d611c2d9b0a
Author: Martin Radev <mradev@nvidia.com>
Date:   Mon Aug 7 15:13:42 2017 +0300

    Refactor FramebufferMultiviewTest.cpp
    
    The patch refactors the tests to use the GL RAII objects from
    gl_raii.h. It also specifies a correct internal format for a texture 2D
    array object in one of the tests so that the texture is
    color-renderable.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    
    Change-Id: Ie536ffeb5b2f2594f5273b795fe786a5042f63d4
    Reviewed-on: https://chromium-review.googlesource.com/603610
    Commit-Queue: Martin Radev <mradev@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>

commit 85d624a5101da5ed9b327dba5b8186ab25bcd9dc
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Aug 7 13:42:33 2017 +0300

    Fix null pointer dereference in redeclaration error message
    
    When a function parameter name conflicts with another, the pointer
    returned to ParseContext will be null.
    
    BUG=chromium:745242
    TEST=angle_unittests
    
    Change-Id: Ie53bb06b0c6660e382d85aeda41f3a1b7df5a917
    Reviewed-on: https://chromium-review.googlesource.com/603368
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 6a6199b4c8ad0029c44fd429fe087fc5c7ef104e
Author: Martin Radev <mradev@nvidia.com>
Date:   Mon Jun 5 17:30:55 2017 +0300

    Add multiview performance tests
    
    The patch adds two tests to measure the performance of the
    ANGLE_multiview extension implementation:
    1) The first test renders onto two views by issuing thousands of state
    changes and draw calls. The aim of the test is to stress the CPU.
    2) The second test renders onto two views by drawing with one draw call
    half a million quads with multiple attributes per vertex. The attributes
    are passed to the fragment shader where they are used for computing the
    color. The aim of the test is to stress the GPU's memory system.
    
    The patch also extends the ANGLEPerfTest's functionality to only run
    the benchmark if the necessary extensions are available.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    
    Change-Id: Ic63d54a69fdddb72439eeeb1951a500fb1247e95
    Reviewed-on: https://chromium-review.googlesource.com/597630
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>

commit a438f4e7254e290385293083feea169642960369
Author: Yunchao He <yunchao.he@intel.com>
Date:   Fri Aug 4 13:42:39 2017 +0800

    Fix some style issues
    
    BUG=angleproject:2123
    
    Change-Id: Ic3c70c7148297662d4fd9e08edcd208f5a1cc885
    Reviewed-on: https://chromium-review.googlesource.com/601370
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 880683b17381d11f6fab162a7e1604fc94ec0279
Author: jchen10 <jie.a.chen@intel.com>
Date:   Wed Apr 12 16:21:55 2017 +0800

    ES31: Add glGetProgramResourceiv API
    
    Add API entry and validation checks(GLES 3.1 section 7.3).
    Add the first 2 interfaces(PROGRAM_INPUT and PROGRAM_OUTPUT) implementation.
    
    BUG=angleproject:1920
    TEST=angle_end2end_tests:ProgramInterfaceTestES31.*
    
    Change-Id: I50057f7b99f4dc7c23ca87fa9b797ca424f66e3d
    Reviewed-on: https://chromium-review.googlesource.com/475075
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit ccb9fad3430300791384db4c4f64425e6b034f4b
Author: Martin Radev <mradev@nvidia.com>
Date:   Fri Jul 28 15:54:09 2017 +0300

    Initialize ANGLE_multiview in the D3D11 renderer
    
    The patch enables the ANGLE_multiview extension in the D3D11 renderer
    and determines the maximum number of available views.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    
    Change-Id: I56e434a14c61df3d6ab66c2863ce783fcdcc5a93
    Reviewed-on: https://chromium-review.googlesource.com/595507
    Commit-Queue: Martin Radev <mradev@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>

commit 3c76d59f12d35cfd3731d25a5b7710c360a004fe
Author: jchen10 <jie.a.chen@intel.com>
Date:   Thu Aug 3 08:47:56 2017 +0800

    Check GCC for __has_attribute
    
    The __has_attribute macro was one of improvements in GCC 5 release.
    See https://gcc.gnu.org/gcc-5/changes.html.
    This checks to make it work with older GCC.
    
    BUG=angleproject:2119
    
    Change-Id: I751249b9d028d1322829bebc1ca8d423edf27057
    Reviewed-on: https://chromium-review.googlesource.com/599152
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 188fd5f6fcc7d5574d4b0c344d335b023d8d3c75
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Fri Aug 4 20:44:08 2017 -0400

    Skip TimerQueriesTest.TimeElapsedMulticontextTest on all AMD
    
    Was skipped on Windows and Mac before, now seen flaky also on Linux.
    
    BUG=angleproject:1541
    
    Change-Id: Ic993eeadb104989416607271ce100b02aea7cecc
    Reviewed-on: https://chromium-review.googlesource.com/603087
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 90d874fc6ef36f545af9e68956e5f34838612894
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Fri Aug 4 17:33:35 2017 -0400

    Skip couple TextureRectangleTest tests on Window NVIDIA OpenGL
    
    TextureRectangleTest.TexStorage2D and TextureRectangleTest.TexImage2D
    failed on NVIDIA Quadro P400, previously disabled on Linux.
    
    BUG=angleproject:2122
    TBR=cwallez@chromium.org
    
    Change-Id: I471dc040ed51a0e4588cfaab7d1c4c46e69932d5
    Reviewed-on: https://chromium-review.googlesource.com/602779
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 53440f39c8c21c0caec2efaf7d88f211658e113c
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Aug 3 20:01:26 2017 -0400

    Skip couple TextureRectangleTest tests on Linux NVIDIA OpenGL
    
    TextureRectangleTest.TexStorage2D and TextureRectangleTest.TexImage2D
    failed on NVIDIA Quadro P400.
    
    BUG=angleproject:2122
    TBR=cwallez@chromium.org
    
    Change-Id: I72d1755881cb06ef4363266b368ada5ca954f6dd
    Reviewed-on: https://chromium-review.googlesource.com/601348
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 13c0dd4631b13c76c9d8bc8d01c5236567a57b14
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Jul 4 18:27:01 2017 -0400

    Add texture rectangle extension.
    
    This is needed to support binding IOSurfaces to textures on OSX. This
    commit adds support in the API and tests, but didn't need to implement
    compiler changes as it already supported ARB_texture_rectangle.
    
    Implementation of CHROMIUM_opy_texture for rectangle texture and the
    spec are left for follow-up commits.
    
    Change-Id: I45c66be763a9d3f6f619640f9f95f39b05c70867
    Reviewed-on: https://chromium-review.googlesource.com/559106
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit acd20b1ff9c0e75a51deffa2afaf6b0102a1528e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Aug 2 16:39:27 2017 -0400

    Refactor BlitGL to potentially hold multiple blit shader types.
    
    BUG=angleproject:1932
    
    Change-Id: I4d19892852540797c765916131498c96511b4f55
    Reviewed-on: https://chromium-review.googlesource.com/600509
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit d2d0b30e19fc84a510ef6f1ffdef7177da3d324a
Author: Nico Weber <thakis@chromium.org>
Date:   Thu Aug 3 12:27:28 2017 -0400

    angle: Fix chrome/win-on-linux build after https://chromium-review.googlesource.com/466106.
    
    Bug: 495204
    Change-Id: I6d460a9e6d110be4697e3cc1685e16395276dd42
    Reviewed-on: https://chromium-review.googlesource.com/600258
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit a0bcc50be0c726c14e9623b174e1bcbe61720428
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Aug 2 14:45:58 2017 -0400

    TextureD3D: Mark images clean after binding a surface.
    
    By marking the images as dirty after binding a surface, the surface would
    be cleared when it was first read or written to.
    
    BUG=750813
    BUG=angleproject:1635
    
    Change-Id: Ic0d1c985151d55a0f1a1af67bb1edc4b0e8f2063
    Reviewed-on: https://chromium-review.googlesource.com/598731
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 38abd6c9b1a74377eee81d9c938859ff03fe48da
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Aug 2 13:27:45 2017 -0400

    Skip all EGLContextCompatibilityTest tests on debug builds.
    
    BUG=angleproject:2121
    
    Change-Id: Ie7d09aca453753577dd26dcd35b1c743dbfcfce2
    Reviewed-on: https://chromium-review.googlesource.com/598495
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 6c58b06200ef0774ca28e263249965113664bf3e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 1 13:44:25 2017 -0400

    Add histograms for the program cache.
    
    Also includes some tracking of if a cache hit comes from a binary
    inserted after a Link call, or sourced from the external disk cache.
    
    Chromium-side CL: https://chromium-review.googlesource.com/c/592151/
    
    BUG=angleproject:2118
    
    Change-Id: I80eefd203d8ce31d1ac03dd1a36459d3581128f5
    Reviewed-on: https://chromium-review.googlesource.com/590689
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit c2493e381ea8eb0df44d9763026afe50f84dc0e3
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Tue Jun 20 17:16:25 2017 +0800

    Add DrawElementsPerf test
    
    This is a follow-up CL for
    https://chromium-review.googlesource.com/c/544634/.
    In this commit, we add drawElements perf test for d3d9, d3d11 and
    OpenGL. Specially, we test DrawElements with unchanged index buffer
    every frame and changed index buffer every frame. This is also a
    preparation for further remove IndexRange in validation.
    Paste a set of data (repeated 30) for reference on Intel skylake
    Win10 desktop.
    DrawElementsPerfBenchmark.Run/d3d11:
    mean: 13186.1666667, stddev: 200.479605502,
    truncated mean: 13192.5416667, stddev: 156.284190704
    DrawElementsPerfBenchmark.Run/d3d11_index_buffer_changed:
    mean: 43.6, stddev: 4.02160830183,
    truncated mean: 43.5833333333, stddev: 2.97092391166
    
    BUG=angleproject:1393
    TEST=angle_perftests
    
    Change-Id: I94bd181aa2b4515df1affc79f591f5db399feac3
    Reviewed-on: https://chromium-review.googlesource.com/585981
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 8f276e2554698642635642d585fe4b5c9ac2ff87
Author: Martin Radev <mradev@nvidia.com>
Date:   Tue May 30 12:05:52 2017 +0300

    Handle multiview Draw* calls
    
    Because the ANGLE_multiview extension uses instancing to multiply
    geometry for each view, Draw* calls with an active multiview program
    have to be handled in the follwing way:
    1) Convert non-instanced Draw calls to their instanced versions.
    2) Multiply the number of instances in an instanced Draw call by the
    number of views.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    
    Change-Id: I19119e8178f70336e5dbb1e5eed0658b5b9f43d7
    Reviewed-on: https://chromium-review.googlesource.com/593657
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Martin Radev <mradev@nvidia.com>

commit df7d7c9ec7e576990c244f1ef2409ddb8dfc4816
Author: Jiawei-Shao <jiawei.shao@intel.com>
Date:   Mon Jul 31 09:34:04 2017 +0800

    Split varyings into input and output varyings in compiler
    
    This patch intends to split all vector<Varying> into two vectors
    to store input and output varyings separately in the compiler.
    
    This patch is a base of implementing the built-ins, inputs and
    outputs of a geometry shader to ANGLE GLSL compiler. Unlike the
    vertex shaders (their outputs are varyings) and fragment shaders
    (their inputs are varyings), the inputs and outputs of geometry
    shaders are all varyings, so we need two vector<Varying> to store
    them correctly.
    
    BUG=angleproject:1941
    
    Change-Id: I9e8cc16045d5e29e9a80a09dc31b33a7ae39b345
    Reviewed-on: https://chromium-review.googlesource.com/593347
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit b0761934bcd79871a6841c3cb352d510091b092c
Author: Martin Radev <mradev@nvidia.com>
Date:   Tue Jul 25 17:42:25 2017 +0300

    Handle Clear* commands for side-by-side framebuffers
    
    Clear* commands for side-by-side framebuffers require special handling
    because only the scissor rectangle of the first viewport is used in the
    scissor test as defined in the OpenGL 4.1+ specs.
    
    To enable clearing of each view of a side-by-side framebuffer all views
    are iterated over, the corresponding scissor rectangle is set as first,
    and a Clear* call is made to the driver. Afterwards the scissor state is
    restored.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    
    Change-Id: I138663ea61b4f0c9302872108e7dfbadf451b3ec
    Reviewed-on: https://chromium-review.googlesource.com/590233
    Commit-Queue: Martin Radev <mradev@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 44183ccead4e9a6d2609ee1521e616c8d2cdf92d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 1 12:48:34 2017 -0400

    Micro-optimizations to draw call entry point.
    
    Thanks to Markus from NVIDIA. This inlines some methods and optimizes
    the check if a uniform is a bool type.
    
    BUG=angleproject:2119
    
    Change-Id: I6f2c2d22c577458b39de600d3c56ec8e1a456a7a
    Reviewed-on: https://chromium-review.googlesource.com/591699
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit 5788d24bb00c8bd148981b5a6680d0aadd8b8fc2
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jul 10 11:13:36 2017 -0400

    D3D11: Support stencil-only EGL configs.
    
    WebGL can request contexts with a stencil buffer but no depth buffer.
    
    BUG=angleproject:2075
    
    Change-Id: I46b272089e44d5f1725fa6252b68d34c9e9f37f6
    Reviewed-on: https://chromium-review.googlesource.com/565052
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 23176cead075fae6d43c122ec12c73f91773102e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 31 14:14:33 2017 -0400

    Fix performance regression in stream init.
    
    Regressed: https://chromium-review.googlesource.com/531798
    
    This was because the std::stringstream constructor was being called
    every draw call, for the InfoLog of the dynamically recompiled
    shaders in the D3D back-ends. The constructor was allocating memory
    and freeing it on destruction. Instead use a lazy init for the
    std::stringstream in InfoLog like we do for Error.
    
    BUG=chromium:750685
    
    Change-Id: I9cd429ae4e1439ae504943a9cad31cbbed17ef32
    Reviewed-on: https://chromium-review.googlesource.com/594629
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 878c8b1e5e89dc6cded6566e7e2fa2272afadb19
Author: Martin Radev <mradev@nvidia.com>
Date:   Fri Jul 28 09:51:04 2017 +0300

    Handle viewport and scissor state changes for side-by-side framebuffers
    
    Side-by-side framebuffers have viewport offsets as part of their state
    which have to be applied to the viewport and scissor rectangles to
    generate the final viewport and scissor rectangles of each view.
    Whenever there is a transition to or from a side-by-side framebuffer,
    viewport and scissor state has to be synced. Also, because rendering is
    done on the same 2D texture the scissor test has to be always enabled to
    guarantee that no fragments leak to a neighboring view.
    
    The patch addresses this by extending the viewport and scissor state
    in StateManagerGL to be a vector of rectangles instead of a single
    rectangle. Two new dirty bits are added to cover changes in the viewport
    offsets and whether the framebuffer has a side-by-side layout.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    
    Change-Id: I8107d7ba97d06b20cf24358f19963fa494844592
    Reviewed-on: https://chromium-review.googlesource.com/585012
    Commit-Queue: Martin Radev <mradev@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit ffe754b7795c9c9415fb52e3f34bf51854d48c91
Author: Martin Radev <mradev@nvidia.com>
Date:   Mon Jul 31 10:38:07 2017 +0300

    Disallow timer queries with multi-view draw framebuffers
    
    According to the ANGLE_multiview spec Draw* commands should generate
    an INVALID_OPERATION error if there is an active query object for
    target TIME_ELAPSED_EXT and the number of views in the active draw
    framebuffer is greater than 1.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    
    Change-Id: I8a4434784ecec753a39c5ef82fa3ee46255a0851
    Reviewed-on: https://chromium-review.googlesource.com/593315
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Martin Radev <mradev@nvidia.com>

commit 2803168e5b512ba73b9267e3c738d65e0801494b
Author: Martin Radev <mradev@nvidia.com>
Date:   Fri Jul 28 14:47:56 2017 +0300

    Disallow glReadPixels with multi-view read framebuffers
    
    According to the ANGLE_multiview spec, glReadPixels must generate an
    INVALID_FRAMEBUFFER_OPERATION error if the active read framebuffer has
    a multi-view layout.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    
    Change-Id: Ia5311ff7a62c5ff732491eb80befd32de57b9d44
    Reviewed-on: https://chromium-review.googlesource.com/591368
    Commit-Queue: Martin Radev <mradev@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 2bde9199f947cccf6694839c3565d1b816da75e6
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Jul 28 14:15:01 2017 -0400

    Extend suppression for new test that fails on AMD Linux too
    
    BUG=angleproject:1987
    
    Change-Id: Iebf9aeba61bfaa300de3ed50d7d57c61996f67dc
    Reviewed-on: https://chromium-review.googlesource.com/592139
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 05c31dae0933701e9b46a3f054f524f5a3472aaf
Author: jchen10 <jie.a.chen@intel.com>
Date:   Tue Jul 18 16:11:39 2017 +0800

    ES31: Enable atomic counter for GL backend
    
    This simply translates the offset qualifier and synchronizes
    the buffer binding state for GL translator and renderer.
    
    BUG=angleproject:1729
    TEST=angle_end2end_tests:AtomicCounterBufferTest31
    
    Change-Id: Ib8424918478ae4c47049d5856ea20ef022f12913
    Reviewed-on: https://chromium-review.googlesource.com/575913
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit a3ed457682e7991703f90ba3c8ec9a344ab00ff2
Author: Martin Radev <mradev@nvidia.com>
Date:   Thu Jul 27 18:29:37 2017 +0300

    Disallow glBlitFramebuffer for multi-view framebuffers
    
    According to the ANGLE_multiview spec, glBlitFramebuffer must
    generate an INVALID_FRAMEBUFFER_OPERATION error if either the active read
    framebuffer, or active draw framebuffer has a multi-view layout.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    
    Change-Id: I885bdc970c9606cfad882f31759f5780c65d15e5
    Reviewed-on: https://chromium-review.googlesource.com/590237
    Commit-Queue: Martin Radev <mradev@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 04e2c3bcd44e45b125f8548a510d698159db36d7
Author: Martin Radev <mradev@nvidia.com>
Date:   Thu Jul 27 16:54:35 2017 +0300

    Disallow glCopyTex* with multi-view read framebuffers
    
    According to the ANGLE_multiview spec, glCopyTex* functions must
    generate an INVALID_FRAMEBUFFER_OPERATION error if the active read
    framebuffer has a multi-view layout.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    
    Change-Id: Icadc4ac79843986076594da25a90ba807e511d1e
    Reviewed-on: https://chromium-review.googlesource.com/589447
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Martin Radev <mradev@nvidia.com>

commit 7e69f76a2afffc3dd12bb59711b78550e442ed43
Author: Martin Radev <mradev@nvidia.com>
Date:   Thu Jul 27 14:54:13 2017 +0300

    Disallow active transform feedback with a multi-view draw framebuffer
    
    According to the ANGLE_multiview spec Draw* commands should generate
    an INVALID_OPERATION error if there is an active transform feedback
    object and the number of views in the active draw framebuffer is greater
    than 1. The patch addresses this by extending the base draw call
    validation.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    
    Change-Id: I67221cb2cfee6febae8d97697b234aeffff313de
    Reviewed-on: https://chromium-review.googlesource.com/589268
    Commit-Queue: Martin Radev <mradev@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 7cf6166aa2677a0266a6f35b090a03a67374e661
Author: Martin Radev <mradev@nvidia.com>
Date:   Wed Jul 26 17:10:53 2017 +0300

    Generate error on program-framebuffer num views mismatch
    
    According to the ANGLE_multiview spec Draw* commands should generate
    an INVALID_OPERATION error if the program uses the multiview extension
    and the number of views in the active draw framebuffer and active
    program differs. The patch addresses this by extending the base draw
    call validation.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    
    Change-Id: I369070beb5ccb17211dbe61ebec40bfcbcf5bc4e
    Reviewed-on: https://chromium-review.googlesource.com/586605
    Commit-Queue: Martin Radev <mradev@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 6938285b197cff62b781c57aae95eff0609e7acb
Author: Kenneth Russell <kbr@chromium.org>
Date:   Fri Jul 21 16:38:44 2017 -0400

    Fix BlitFramebuffer validation for BGRA sources and targets.
    
    It is legal to blit between GL_RGBA8 and GL_BGRA8 sources and
    destinations when resolving multisampled renderbuffers. Expand
    BlitFramebuffer's validation to handle this case.
    
    Query GL_MAX_VERTEX_OUTPUT_COMPONENTS on the Core Profile to work
    around an error generated on macOS when querying
    GL_MAX_VARYING_COMPONENTS.
    
    Expand the BlitFramebuffer tests to cover these cases and start
    running them on the OpenGL backend.
    
    Fix detectition of multisampled D3D11 rendertargets when the sample count
    is 1.
    
    BUG=angleproject:891
    
    Change-Id: Ief5531756651caa66f612e647d3d5c05c8c51ff5
    Reviewed-on: https://chromium-review.googlesource.com/587459
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit 40ac783b9b08acef18ef0cf16b68e7904c81752e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jul 26 14:38:46 2017 -0400

    Implement remaining eglQuerySurface and eglSurfaceAttrib enums.
    
    BUG=angleproject:2075
    
    Change-Id: I3b500fe80512e7a3e3a9ae9a9724015952c9cbc8
    Reviewed-on: https://chromium-review.googlesource.com/587299
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 0328b575861f9aa612a2a3aa97833034f8e2144b
Author: Xinghua Cao <xinghua.cao@intel.com>
Date:   Mon Jun 26 15:51:36 2017 +0800

    Bind all elements of unbound image arrays to unit zero
    
    Spec GLSL ES 3.10, section 4.4.5, Any uniform sampler, image or atomic
    counter variable declared without a binding qualifier is initially bound
    to unit zero. If the binding qualifier is used with an array, the first
    element of the array takes the specified unit and each subsequent element
    takes the next consecutive unit.
    
    BUG=angleproject:1987
    TEST=angle_end2end_tests:ComputeShaderTest
    
    Change-Id: I6a8188449a91bf3e8ded37e067205dcae4e47fa7
    Reviewed-on: https://chromium-review.googlesource.com/547977
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 31ecbd704a6f24759fcf93ecb4361127225711c8
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jul 26 13:01:27 2017 -0400

    Refactor eglQuerySurface and eglSurfaceAttrib.
    
    BUG=angleproject:2075
    
    Change-Id: I6911a2a1e665237e1d262c06f3ccf2d84cc09669
    Reviewed-on: https://chromium-review.googlesource.com/586860
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 5505bdc70756f3d513cb85ad3db09078ac78fc95
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jul 26 14:39:27 2017 -0400

    Fix Win32Window::takeScreenshot.
    
    Several parts of this function were incorrectly checking for errors or
    passing the wrong parameters.  If screenshotting fails, throw an exception
    in dEQP so that it is converted to a test failure instead of hanging the
    test.
    
    BUG=angleproject:2075
    
    Change-Id: I19b55b273d0d3f1b47c1dac6affca69de8db21e0
    Reviewed-on: https://chromium-review.googlesource.com/587300
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit b5cc1198b8d5fd9b4ef0f095e7edcb8ba0932022
Author: Shao <jiawei.shao@intel.com>
Date:   Thu Jul 6 10:47:20 2017 +0800

    ES31: Add Geometry Shader layout qualifiers in GLSL compiler
    
    This patch intends to implement Geometry Shader layout qualifiers
    required in OpenGL ES 3.1 extension GL_OES_geometry_shader in ANGLE
    GLSL compiler.
    
    1. Add support to the shader type GL_GEOMETRY_SHADER_OES.
    2. Implement Geometry Shader layout qualifiers in the GLSL compiler:
    (1) Add support to OpenGL ES 3.1 extension "GL_OES_geometry_shader".
    (2) Add validations of the input and output primitive declarations
        in the Geometry Shader layout declarations.
    (3) Add 'invocations' and 'max_vertices' support in the Geometry
        Shader layout declarations
    3. Add unit tests to cover all the new features added in this patch.
    
    BUG=angleproject:1941
    TEST=angle_unittests
    
    Change-Id: Ie693e11f8a00dab3552626ed63e9336c7fbd3cb8
    Reviewed-on: https://chromium-review.googlesource.com/560647
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 4c19a8a82b2e93f936ea38c4772ce0182cd3dc2a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 24 11:46:06 2017 -0400

    D3D11: Update cached dynamically recompiled programs.
    
    This change makes it so that when we need to recompile a program on a
    draw call, we also update the cache. It also streamlines the internal
    queries of the dynamic vertex and fragment shaders such that we only
    update the input and output signatures a single time per draw. This
    should also facilitate dirty bit implementations for the D3D11 back-
    end.
    
    BUG=angleproject:2116
    
    Change-Id: Iccb0501b700bc894f40a8c68d7f297ff0c8f46bd
    Reviewed-on: https://chromium-review.googlesource.com/531798
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit b6664925cb8a35fec11efebb437b3e8706e26e43
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 25 12:55:04 2017 -0400

    Add error handling macro to Context.
    
    This is a small specialized macro to remove all the redundant
    handleError calls and return value checking.
    
    Also add a Context::prepareForDraw member that will be used in
    follow-up patches to do necessary work prior to a draw call.
    
    BUG=angleproject:2107
    BUG=angleproject:2116
    
    Change-Id: I8a32d2206c218fcca5236abfd3f2ce370296ca99
    Reviewed-on: https://chromium-review.googlesource.com/585288
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 14a26aeaf443f4ec7e9d104e3d5dc4cdc8be8fd3
Author: Martin Radev <mradev@nvidia.com>
Date:   Mon Jul 24 15:56:29 2017 +0300

    Disallow indirect draw calls for multi-view framebuffers
    
    According to the ANGLE_multiview spec indirect draw calls
    must generate an INVALID_OPERATION error if the number of
    views in the active draw framebuffer is greater than 1.
    The patch addresses this by extending the indirect draw call
    validation.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    
    Change-Id: Ic30ef9a0eabba454aeea6176df1be8bd2ccd9783
    Reviewed-on: https://chromium-review.googlesource.com/583027
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Martin Radev <mradev@nvidia.com>

commit 4c56c607f4caf74e84be768c9b5ae64a058c2ee3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 25 13:22:58 2017 -0400

    D3D: Make draw call translation check non-virtual.
    
    We don't support this call in D3D9, so need for it to be in
    RendererD3D. In general we want to have as few virtual calls in the
    hot draw call path as possible. Also rename it to
    'drawCallNeedsTranslation' (with inverted condition checks).
    
    BUG=angleproject:1393
    
    Change-Id: Ib212ec35aca4b5d45579acec65c20691b5853230
    Reviewed-on: https://chromium-review.googlesource.com/584826
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 6caf405c370e531770804f26367ee7ef7996703a
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Jul 26 07:50:08 2017 -0400

    StateManager11: Fix casing of include
    
    BUG=
    
    Change-Id: Ib237ce44644dba72bd55487756e0e69b724d30a3
    Reviewed-on: https://chromium-review.googlesource.com/586429
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 26cf35a8e7af3bff40e537e618813252e224ae79
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Jul 26 11:01:02 2017 +0000

    Revert "Fix BlitFramebuffer validation for BGRA sources and targets."
    
    This reverts commit 17d270311efcd8c72f251a67e726518278e81c26.
    
    Reason for revert:
     - New test fails on NVIDIA and AMD on Windows when using the backbuffer FAST_PATH.
     - SetUp code ASSERT_GL_NO_ERROR (line 269) but a GL error happens on all Windows and Linux Intel OpenGL.
    
    Original change's description:
    > Fix BlitFramebuffer validation for BGRA sources and targets.
    >
    > It is legal to blit between GL_RGBA8 and GL_BGRA8 sources and
    > destinations when resolving multisampled renderbuffers. Expand
    > BlitFramebuffer's validation to handle this case.
    >
    > Work around a bug in macOS' OpenGL driver querying the number of
    > samples for GL_BGRA8.
    >
    > Query GL_MAX_VERTEX_OUTPUT_COMPONENTS on the Core Profile to work
    > around an error generated on macOS when querying
    > GL_MAX_VARYING_COMPONENTS.
    >
    > Expand the BlitFramebuffer tests to cover these cases and start
    > running them on the OpenGL backend.
    >
    > BUG=angleproject:891
    >
    > Change-Id: I4829585d2b6428ce0bc7509c4734d33709a0930b
    > Reviewed-on: https://chromium-review.googlesource.com/582268
    > Commit-Queue: Geoff Lang <geofflang@chromium.org>
    > Reviewed-by: Kenneth Russell <kbr@chromium.org>
    > Reviewed-by: Geoff Lang <geofflang@chromium.org>
    
    TBR=geofflang@chromium.org,kbr@chromium.org
    
    Change-Id: I220bc482194cf7fad5e7e732a6d043ce0d504d79
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: angleproject:891
    Reviewed-on: https://chromium-review.googlesource.com/586428
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 17d270311efcd8c72f251a67e726518278e81c26
Author: Kenneth Russell <kbr@chromium.org>
Date:   Fri Jul 21 16:38:44 2017 -0400

    Fix BlitFramebuffer validation for BGRA sources and targets.
    
    It is legal to blit between GL_RGBA8 and GL_BGRA8 sources and
    destinations when resolving multisampled renderbuffers. Expand
    BlitFramebuffer's validation to handle this case.
    
    Work around a bug in macOS' OpenGL driver querying the number of
    samples for GL_BGRA8.
    
    Query GL_MAX_VERTEX_OUTPUT_COMPONENTS on the Core Profile to work
    around an error generated on macOS when querying
    GL_MAX_VARYING_COMPONENTS.
    
    Expand the BlitFramebuffer tests to cover these cases and start
    running them on the OpenGL backend.
    
    BUG=angleproject:891
    
    Change-Id: I4829585d2b6428ce0bc7509c4734d33709a0930b
    Reviewed-on: https://chromium-review.googlesource.com/582268
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 1da0065398992d53029e1422c699929530310f9c
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Tue Jun 20 17:16:25 2017 +0800

    Remove IndexRange in DrawElements functions
    
    This change will remove IndexRange parameter in DrawElements functions.
    And calculate it until we truly need it. Meanwhile we add direct
    drawing path to avoid retrieving index range for DrawElements*
    functions in D3D11 backend. This change may not bring much performance
    improvement since we still need to retrieve index range in validation
    at the beginning of every DrawElements* call entry point.
    
    BUG=angleproject:1393
    
    Change-Id: I86a8739c0893954c94eb398db62820ced7871565
    Reviewed-on: https://chromium-review.googlesource.com/544634
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a779b610924d43dd21772b082849a6551f951b9a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 24 11:46:05 2017 -0400

    Smart caching of VAO input layout.
    
    Don't recompute the cached attribute layout for a program if the
    vertex array info hasn't changed. We can use the Serial class to
    know when a vertex array has identical state.
    
    BUG=angleproject:1156
    
    Change-Id: Ia11f6ac268f63c3299f6d6d80c2866009cb8429c
    Reviewed-on: https://chromium-review.googlesource.com/529768
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit cab92ee4b6eee9c81f10effe50f96fa6716f1d21
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jul 19 17:32:07 2017 -0400

    Fix WebGL validation of characters in shader source strings.
    
    Shader source strings are allowed invalid ESSL characters when they are in
    comments.  Added a simple comment parser to determine which characters
    should be validated.
    
    BUG=angleproject:2093
    
    Change-Id: If78a4ecbd61f1700fc18dcb844f3de03314a6a39
    Reviewed-on: https://chromium-review.googlesource.com/578567
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 9bc9a3217e6990d94a8392025d4fa8b8c4dbcfc8
Author: Martin Radev <mradev@nvidia.com>
Date:   Fri Jul 21 14:28:17 2017 +0300

    Integrate multiview state in FBO completeness check
    
    The patch extends the FBO completeness validation to include the
    multiview state members according to the ANGLE_multiview specification.
    
    It also changes the numViews in FramebufferAttachment to be consistently
    of type GLsizei instead of GLint.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    
    Change-Id: Ibe550ba03204d808d96a4edf4807c68421aa1158
    Reviewed-on: https://chromium-review.googlesource.com/581193
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 7c5f52682ae225a30ebd845c17ad5e0215c5f2f2
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Jul 5 12:20:19 2017 +0300

    Assign symbol ids in ArrayReturnValueToOutParameter
    
    Assign symbol ids to out parameter symbol nodes that get created in
    ArrayReturnValueToOutParameter. Also assign the EvqOut qualifier to
    references to the out parameter - this is in line with what happens
    normally in ParseContext.
    
    BUG=angleproject:1490
    TEST=angle_unittests, angle_end2end_tests
    
    Change-Id: Ib1e8303e3ef09f2e0d24524277199785d6f47b53
    Reviewed-on: https://chromium-review.googlesource.com/559533
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 5aca193980016bb853e34e777cc73b15184aaea6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jul 21 12:22:01 2017 -0400

    Framebuffer: Fix enabled draw buffers bitset.
    
    This would start off the zeroth element as enabled even if there was
    no attachment. If we remove the extra set, then we no longer have to
    check if the attachment is valid when iterating over the enabled
    bitset.
    
    BUG=angleproject:2107
    
    Change-Id: I679f66156ced09d42add9e302ac974166713e0d5
    Reviewed-on: https://chromium-review.googlesource.com/581884
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 9603a9561a536216e6455681a7b509e5272fbbdb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 20 17:24:02 2017 -0400

    D3D11: Move applyShaders to StateManager11.
    
    This also moves the shader application to happen before any of the
    other state sync work. In order to do this, we must split off the
    uniform application to happen after the viewport sync, because the
    driver uniforms for the viewport size can change.
    
    This prepares the D3D11 back-end for updating the programs before
    a draw call, including refreshing binary cache entries.
    
    BUG=angleproject:1156
    
    Change-Id: Ie491e8ddb69ff44ebe076c56ebd39c4b46a4d2b2
    Reviewed-on: https://chromium-review.googlesource.com/531797
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 253daa56a24650a2c641bf967d76ef5b506a29f1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 20 17:24:01 2017 -0400

    D3D: Split applyTextures into each back-end.
    
    This paves the way for a dirty bits implementation for Textures, and
    also will allow more precise ordering of the state update in D3D11.
    
    The latter becomes important when moving the shader application.
    Because the texture update can affect the built-in driver uniforms,
    we neeed to update textures before we update the uniforms.
    
    BUG=angleproject:1156
    BUG=angleproject:1387
    
    Change-Id: I995e095517c598d8672c6400d08a430da0e8339b
    Reviewed-on: https://chromium-review.googlesource.com/580361
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 590f62359b5869f29c5b8d18551436c0a51e8068
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Jul 21 11:10:26 2017 +0300

    Fix getting temporary id in RewriteDoWhile
    
    There's been a long-standing bug in RewriteDoWhile where it would only
    call nextTemporaryId() after it had created the temporary variable.
    This escalated into a null pointer dereference in the recent symbol
    table refactoring, and initializing the traverser with the symbol
    table was also missing.
    
    BUG=chromium:747244
    TEST=angle_unittests
    
    Change-Id: I8987a609bb5d7d49e3c3e284fc42a2e53e38dafa
    Reviewed-on: https://chromium-review.googlesource.com/580887
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d2391983a1ddc76937cd82eef94ddb2fff393a3c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jul 20 16:26:01 2017 -0400

    Skip the RGBTextureTest.SRGB[A]Validation test on Ozone.
    
    Many of the other tests in this file are already skipped on this platform but
    now that GL driver errors cause tests to fail, these tests that previously
    did not verify their results started to fail.
    
    Change-Id: I0d5c88289de42464ae56ac7238c26b384819fe02
    Reviewed-on: https://chromium-review.googlesource.com/580255
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit b9c53d8d034fbae0a98db8d40e6da18d88e211c3
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Wed Jul 19 18:55:16 2017 -0400

    Remove FormatString
    
    And the global static it uses.
    
    BUG=angleproject:1644
    
    Change-Id: I6c8b186ef0dce83fe64620729af4d87ea81c77f5
    Reviewed-on: https://chromium-review.googlesource.com/577922
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 0d2ecb4ea992ee0b58c3730e826516c28c055882
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Jul 20 17:41:09 2017 +0300

    Output mapped name of shader variables in shader_translator
    
    This makes understanding and debugging the mapped names in the
    translator interface easier.
    
    TEST=shader_translator -u
    
    Change-Id: I2457142a6f0a8baa623e80b00cc86c8df90e6718
    Reviewed-on: https://chromium-review.googlesource.com/579968
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 0ca93f26eef8a9104baa0f37dd6f4c0d9653ad32
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Jul 17 15:13:36 2017 -0400

    eglplatform: add Wayland version of native EGL types
    
    BUG=angleproject:2105
    
    Change-Id: I46e5f4458be830e27345fc04ad4c9fd6e98aa946
    Reviewed-on: https://chromium-review.googlesource.com/575200
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 34d2007f96d2813f16d0e048378af3f237945da9
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Jul 18 20:07:18 2017 +0300

    Fix exposing internal shader interface variables
    
    Don't expose internal variables in the shader translator interface.
    This affects the ViewID_OVR varying needed for instanced multiview,
    which is so far the only variable of this kind.
    
    This fixes the translator trying to add initialization for internal
    variables in initializeOutputVariables. Since they are variables added
    by ANGLE, they should never need extra initialization.
    
    BUG=angleproject:2112
    TEST=angle_unittests
    
    Change-Id: I93ee2956c8180053806ce450d93f162f78a45d8f
    Reviewed-on: https://chromium-review.googlesource.com/579050
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 5dae57b0362ae66e26b75bb931f0ffc8a2d10cf8
Author: Martin Radev <mradev@nvidia.com>
Date:   Fri Jul 14 16:15:55 2017 +0300

    Save side-by-side function arguments into attachment's state
    
    Handle glFramebufferTextureMultiviewSideBySideANGLE calls by saving the
    arguments into the attachment's state.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    
    Change-Id: Idc5441d673b48640f47415b07b2854fbdf566c8d
    Reviewed-on: https://chromium-review.googlesource.com/574915
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>

commit 137032d93d583bfc436da25277feedc814ab02c3
Author: Martin Radev <mradev@nvidia.com>
Date:   Thu Jul 13 10:11:12 2017 +0300

    Validate ANGLE_multiview end-points
    
    The patch adds validation for the ANGLE_multiview end-points
    and propagates the calls to the unimplemented stubs in Context.
    
    The patch also removes the
    glFramebufferTextureMultiviewSideBySideRobustANGLE end-point
    because the size of the viewport offsets buffer can trivially
    be computed from the number of views.
    
    BUG=angleproject:2062
    
    Change-Id: I9a10bc00c19825e586d3df2750fabea4daf5ef8f
    Reviewed-on: https://chromium-review.googlesource.com/573861
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 222c517f709cef00fa4dafe6b81ac547b910f4f3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jul 19 16:15:42 2017 -0400

    Control Debug layers in ANGLE_platform_angle.
    
    Debug layers seem to be a universal thing among functional back-ends.
    D3D, OpenGL and Vulkan all need some kind of controls for debugging,
    so it seems to make sense to make this control part of the base
    extension.
    
    Default the extension to EGL_DONT_CARE, which allows the back-end to
    have a lot of flexibility in terms of implementation.
    
    Also enable the extension in the D3D11 and OpenGL back-ends, and set
    the extension to enabled for angle_end2end_tests.
    
    Remove EGLVulkanEXTTest since it no longer tests anything not tested
    in the base ANGLETest class.
    
    BUG=angleproject:2086
    
    Change-Id: I52d8170effd1846b9afbe6e4052c699fe5cb0de8
    Reviewed-on: https://chromium-review.googlesource.com/578369
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit a59a1c1e4a7a7d1be66fc108e2791b12dca223a9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jul 12 15:46:26 2017 -0400

    D3D11: Consolidate shader state application.
    
    This consolidates all the state changes for shaders into
    StateManager11.
    
    BUG=angleproject:2052
    
    Change-Id: I64dc3af5b0f1459442369e09f93a9ca8ce3232b3
    Reviewed-on: https://chromium-review.googlesource.com/531796
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 95107bc88262558fc3cde3efec32e58e5f533aeb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jul 12 15:46:25 2017 -0400

    D3D11: Consolidate primitive topology application.
    
    BUG=angleproject:2045
    
    Change-Id: Ie1deac50a534ee748518d9ec5e6f749f3c78b53d
    Reviewed-on: https://chromium-review.googlesource.com/531795
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 6dd06eaca3d0c50997294e2eedf39e1a29c206f4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jul 19 13:47:55 2017 -0400

    Give StateManager11 internal dirty bits.
    
    Intead of checking a series of bools and special variables, organize
    the state application into a switch with internal dirty bits. This
    should be faster for no-op, and makes it clear where we have to
    further optimize the state update to pre-compute certain values.
    
    BUG=angleproject:1156
    
    Change-Id: I8eca8716340499085afa170ff45f7788e84fecab
    Reviewed-on: https://chromium-review.googlesource.com/531794
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 298a35f03516a0839fa0abc6f6c3f615c07f85c0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jul 19 15:07:41 2017 -0400

    Rename EGL platform extension text files.
    
    This makes the naming more consistent with the rest of the EGL
    extensions.
    
    BUG=angleproject:2086
    
    Change-Id: If08e7a550d6b99fb5a3a2138b0c94afc82b2b417
    Reviewed-on: https://chromium-review.googlesource.com/578368
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit b3f26b9e4e579106209925df2790efede5b7b05b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jul 19 15:07:41 2017 -0400

    Add a zero-filled scratch buffer to Context.
    
    We need this in a few places for handling resource init.
    Centralize this in the context so we don't have to recreate
    and re-fill a large zero buffer.
    
    BUG=angleproject:2107
    
    Change-Id: Icf9ce417e7ee3498f03e47741dfff89e81b49519
    Reviewed-on: https://chromium-review.googlesource.com/576057
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit ab918821c28501967fc2aff5738578a6610e72b8
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Jul 14 17:03:42 2017 +0300

    Clamp point size to maximum point size from the API on NVIDIA
    
    NVIDIA OpenGL drivers have a bug where the point size range is being
    reported incorrectly - it appears the core GL driver incorrectly gives
    the range for smooth points, when it should be giving the range for
    aliased points. Clamp the actual point size to the maximum point size
    reported from the API so that the GLES spec is followed.
    
    The same workaround seems to be necessary also on Android. The issue
    was revealed by the trybots, and has not been fully diagnosed though.
    
    The newly added test fails on AMD OpenGL.
    
    As a part of this change, the existing tests in PointSpritesTest are
    refactored to use gl_raii.
    
    BUG=chromium:740560
    TEST=angle_end2end_tests
    
    Change-Id: Ic4a66c9ea16f5ae76beb3bb6577716d10c3b226e
    Reviewed-on: https://chromium-review.googlesource.com/574598
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 3860b6c0490079c3c19168980c2d98bc6d12007b
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Jul 19 16:17:24 2017 +0300

    Fix arrays of structs containing samplers as parameters on HLSL
    
    In HLSL output, samplers are never passed to functions as arrays, but
    rather sampler array arguments are expanded into single sampler and/or
    texture arguments. This applies also when the samplers were inside
    arrays of structs in the original source.
    
    BUG=angleproject:2103
    TEST=angle_end2end_tests
    
    Change-Id: Ib1fcba0c0ab3da592d15272eb56a03c3e536f349
    Reviewed-on: https://chromium-review.googlesource.com/576041
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 191381fd9b1f41203b66a18036982d8869862bf3
Author: jchen10 <jie.a.chen@intel.com>
Date:   Tue Apr 11 13:59:04 2017 +0800

    ES31: Add glGetProgramResourceLocation API
    
    Add API entry and validation checks(GLES 3.1 section 7.3).
    Add the first 2 interfaces(PROGRAM_INPUT and PROGRAM_OUTPUT) implementation.
    
    BUG=angleproject:1920
    TEST=angle_end2end_tests:ProgramInterfaceTestES31.*
    
    Change-Id: I5128cda43b0d9176c910b036cdc76bf37757670e
    Reviewed-on: https://chromium-review.googlesource.com/474212
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 24fe74c139576634bcce0e050977e499b673ba83
Author: JiangYizhou <yizhou.jiang@intel.com>
Date:   Thu Jul 6 16:56:50 2017 +0800

    ES31: Query multisampled texture binding id
    
    Add GL_TEXTURE_BINDING_2D_MULTISAMPLE option to State.cpp to
    query binding id of GL_TEXTURE_2D_MULTISAMPLE.
    
    BUG=angleproject:1590
    TEST=angle_deqp_gles31_tests.exe --deqp-case=dEQP-GLES31.functional.state_query.integer.texture_binding_2d_multisample_*
    
    Change-Id: I86b24f00ac4e75eb0e2986f7cf2eb108aae14674
    Reviewed-on: https://chromium-review.googlesource.com/561196
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yunchao He <yunchao.he@intel.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit a5e693afbf5213052f096a36ae7e0b1acc3e1922
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Jul 13 16:07:26 2017 +0300

    Make unique id counter a member of TSymbolTable
    
    This makes unique id counting thread-safe.
    
    BUG=angleproject:624
    TEST=angle_unittests
    
    Change-Id: Ie0f2c7e574470b39750d37d2181c790bc874b275
    Reviewed-on: https://chromium-review.googlesource.com/570419
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit e5285d298fb6608372fc2e4ce4707fa978b89762
Author: Martin Radev <mradev@nvidia.com>
Date:   Fri Jul 14 16:23:53 2017 +0300

    Handle ANGLE_multiview state queries
    
    The patch extends glGetIntegerv and glGetFramebufferAttachmentParameteriv
    logic to handle the new tokens from the ANGLE_multiview extension.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    
    Change-Id: Ide145279cd7b58cd03502458d7d3a1a0f5e9e86d
    Reviewed-on: https://chromium-review.googlesource.com/573780
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 6170bef8cff7983d75963bd63f7f0caf5993980d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jul 18 15:51:14 2017 -0400

    Fix validation of querying GL_FRAGMENT_SHADER_DERIVATIVE_HINT.
    
    This enum is queryable in ES3 or with the GL_OES_standard_derivatives
    extension.
    
    BUG=2110
    
    Change-Id: I688777bcc65468d796333a24223d24cc66170788
    Reviewed-on: https://chromium-review.googlesource.com/576156
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 9c33586521292840cb2a8f1bc5b7e2a692761996
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 18 11:51:38 2017 -0400

    Refactor StateManager11 for dirty bits.
    
    This will make iterating over an internal set of dirty bits simpler.
    
    This also reorganizes the framebuffer invalidation logic a  bit,
    including how the sample count is pulled from the Framebuffer.
    
    BUG=angleproject:1156
    
    Change-Id: I79dbcd11704ab52568c587d836af9c1bff1d2d1f
    Reviewed-on: https://chromium-review.googlesource.com/529708
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit ab4be84fb6ae5b805781a51835cc94a94de5b6c8
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jul 18 11:23:07 2017 -0400

    Add newlines when writing original shader source to shader debug output.
    
    Previously, the entire original shader would end up being written to a single
    line, not very readable.
    
    Change-Id: I8cdfd498bb47395da2bd11c3d3b2eecf266c914e
    Reviewed-on: https://chromium-review.googlesource.com/576064
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 282847e99bad1f3a7f0531dc011d3b348a3e9e9f
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Jul 12 14:11:01 2017 +0300

    Clean up recording declarations in OutputHLSL
    
    Relying on the AST conforming to known limitations makes the code for
    recording referenced varyings easier to understand.
    
    BUG=angleproject:2104
    TEST=angle_end2end_tests
    
    Change-Id: Icdcd7602f6ed54fa439f989bf256e261627d11f5
    Reviewed-on: https://chromium-review.googlesource.com/568018
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit dde78e8c47a6739a52d0c23166c9faecadedfa52
Author: Shao <jiawei.shao@intel.com>
Date:   Mon May 22 14:13:27 2017 +0800

    ES31: Implement Vertex Attrib Binding on OpenGL
    
    This patch intends to implement Vertex Attrib Binding on OpenGL
    back-ends:
    
    1. Add supports for updating vertex attributes by Vertex Attrib
    Binding APIs.
    2. Refactor the process of updating vertex attribtues in class
    VertexArray to make it easier to implement this feature.
    
    BUG=angleproject:1593
    TEST=dEQP-GLES31.functional.vertex_attribute_binding.*
    
    Change-Id: I800e61518c552b94b84c415895ad31668b0a84b2
    Reviewed-on: https://chromium-review.googlesource.com/510251
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit ffb35f64d247a1d8ed96f389c1fb4aab7f11f7c2
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Jul 14 18:01:07 2017 +0300

    Fix broadcasting gl_FragColor at the end of main
    
    Previously, the broadcast step would not get run in case the main()
    function returned before reaching its end. Now the broadcast step is
    put in a separate function that wraps main() if needed, so that it
    gets run even if the main() function in the original shader source
    returns in the middle.
    
    DrawBuffersTest is refactored to use ANGLETest::drawQuad() instead of
    calling glDrawArrays directly.
    
    BUG=angleproject:2109
    TEST=WebGL conformance tests, angle_end2end_tests
    
    Change-Id: Id5f05094e816df03bc9c8ca62b60de914072682c
    Reviewed-on: https://chromium-review.googlesource.com/574597
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 3e5695d1e3f10a0763ac59398f064966eea2aa8c
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Jul 17 15:21:14 2017 -0400

    Fix standalone OSX warnings
    
    BUG=
    
    Change-Id: I447900488559622108c0da12a352c88218f9ddc6
    Reviewed-on: https://chromium-review.googlesource.com/575201
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit d2e8792981a4c780bf7fc0fb09a1b28b277685c0
Author: Jerome Duval <jerome.duval@gmail.com>
Date:   Wed Jul 12 15:42:34 2017 +0200

    Enable Haiku in platform-specific headers.
    
    1. src/common/platform.h updated to define ANGLE_PLATFORM_POSIX on Haiku.
    2. include/EGL/eglplatform.h updated to add stubs typedefs for
    platform-specific primitives for Haiku.
    
    Change-Id: I28775e909ad9cabec1c474ff4fe0a241eb05d6a1
    Reviewed-on: https://chromium-review.googlesource.com/573022
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit cf42a7e8c6acf38f3817dcc0df5be0215f8563e3
Author: Martin Radev <mradev@nvidia.com>
Date:   Wed Jul 12 16:49:58 2017 +0300

    Add ANGLE_multiview end-points and tokens
    
    The patch adds the new end-points and tokens introduced
    by ANGLE_multiview without implementing them.
    
    BUG=angleproject:2062
    
    Change-Id: I9be175263ab54b4f6d7537f05505b87ad763ee2d
    Reviewed-on: https://chromium-review.googlesource.com/570051
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 4cff8d625ce5e187ac81cac0f892daaeab68ff7e
Author: JiangYizhou <yizhou.jiang@intel.com>
Date:   Thu Jul 6 14:54:09 2017 +0800

    ES31: TexParameter{if} validation for TEXTURE_2D_MULTISAMPLE on OpenGL
    
    When setting parameters by TexParameter{if} for TEXTURE_2D_MULTISAMPLE,
    an INVALID_ENUM error is generated if target is TEXTURE_2D_MULTISAMPLE,
    and pname is any sampler state from table 20.11. An INVALID_OPERATION
    error is generated if target is TEXTURE_2D_MULTISAMPLE, and pname
    TEXTURE_BASE_LEVEL is set to a value other than zero.
    
    BUG=angleproject:1590
    TEST=angle_deqp_gles31_tests.exe --deqp-case=dEQP-GLES31.functional.texture.multisample.negative.texture*
    
    Change-Id: I5d71731c11fb6e114a57e753e439e180695a7c79
    Reviewed-on: https://chromium-review.googlesource.com/560607
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yunchao He <yunchao.he@intel.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 0f68463f00f0aaca437c68ce4db4b5d67b577c3a
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Jul 13 12:42:15 2017 +0300

    Clean up inserting variables to symbol table
    
    This makes the TSymbolTable interface cleaner and prepares for making
    unique id counting thread-safe.
    
    BUG=angleproject:624
    TEST=angle_unittests
    
    Change-Id: Ief99c9fc777603de28ba1517e351bc8a00633590
    Reviewed-on: https://chromium-review.googlesource.com/570418
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit daaff1cc837f714325389db4f3c116c81c0c0eb8
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Jul 5 18:03:26 2017 +0300

    Set correct symbol ids when referring to GLSL built-ins
    
    The symbol ids are fetched from the symbol table. A new utility
    function is added to make this more convenient.
    
    BUG=angleproject:1490
    TEST=angle_unittests, angle_end2end_tests
    
    Change-Id: I780430e3386f6599503d8290c568ca9bc9cad147
    Reviewed-on: https://chromium-review.googlesource.com/559535
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit c7ba85c937300a8e416e332ed98bf905d31764c5
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jul 14 22:17:01 2017 -0400

    TexutreD3D: Only update storage level if it exists.
    
    This was causing an assertion failure in updateStorageLevel when the
    storage didn't contain the requested level.  Gate the call behind an
    isValidLevel check.
    
    TEST=conformance/misc/type-conversion-test.html
    
    BUG=angleproject:1815
    
    Change-Id: Iadf46d232d5a117ae1ae74c6e71677b1e06a5321
    Reviewed-on: https://chromium-review.googlesource.com/572705
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit a0016b7fc9eab42969296551d7411901ca18e338
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jul 14 14:30:46 2017 -0400

    Check depth-stencil attachment sample count.
    
    Currently we would only check for the color attachment sample count,
    which could return incorrect results for depth or stencil-only
    Framebuffers.
    
    BUG=angleproject:2108
    
    Change-Id: I378349c91c0139ee507d88fa6a36a86234fea0d4
    Reviewed-on: https://chromium-review.googlesource.com/571064
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit b50ccd3670e827a3e008eea916e094f9e1a6c5e2
Author: Martin Radev <mradev@nvidia.com>
Date:   Thu Jul 6 17:09:58 2017 +0300

    Use FindMainBody to retrieve node of main()'s body
    
    The patch addresses code duplication in cases in which main()'s body node
    has to be retrieved from the AST.
    
    TEST=angle_unittests
    
    Change-Id: I0ccee41821a5ecb2cdf09f5a928b178d6c037587
    Reviewed-on: https://chromium-review.googlesource.com/561521
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 318f9aa5e886b3ba1fc1fbdec01e9e29b58fa3cd
Author: Martin Radev <mradev@nvidia.com>
Date:   Wed May 17 17:47:28 2017 +0300

    Initialize ANGLE_multiview caps and workaround state
    
    The patch checks whether ANGLE_multiview can be supported in the OpenGL
    renderer, updates the caps and adds a workaround field to enable
    multiview support through the NV_viewport_array2 extension.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    
    Change-Id: I99dae10564db7bcca41d7624f8de272c1d996e09
    Reviewed-on: https://chromium-review.googlesource.com/567934
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit e71afb877d36fcda2891c3e47b3c7cccc6255c68
Author: Martin Radev <mradev@nvidia.com>
Date:   Mon Jul 3 16:47:14 2017 +0300

    Add specification for ANGLE_multiview
    
    The patch adds the specification for the ANGLE_multiview extension
    which enables efficient multiview rendering. The views can be laid
    out side-by-side onto a 2D texture or rendered on separated layers of
    a 2D texture array.
    
    BUG=angleproject:2062
    
    Change-Id: I4edd3ab0cfbb3906d90c2a5667d8d1f99f291f1c
    Reviewed-on: https://chromium-review.googlesource.com/559089
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 4cafb867cbb910e23f3c4d9b8bf1332231bcbd4e
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Jul 5 14:05:06 2017 +0300

    Sanitize AST nodes created by UseInterfaceBlockFields
    
    Don't add the same node pointer to the AST more than once, and assign
    the right symbol ids to symbol nodes.
    
    BUG=angleproject:1490
    TEST=angle_unittests, angle_end2end_tests
    
    Change-Id: I3f00e9234245fe4b81a2388df3f83e13c4c24856
    Reviewed-on: https://chromium-review.googlesource.com/559534
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit cca63f2ea71c9b42d67c9b5a4876b887db9703ff
Author: Martin Radev <mradev@nvidia.com>
Date:   Fri Jul 14 11:08:41 2017 +0300

    Fix compilation error in RobustResourceInitTest.cpp
    
    The patch fixes a compilation bug caused from having local variable
    names clash with the variables names from a parent scope.
    
    BUG=angleproject:1815
    
    Change-Id: I3d23faaafdea9be503da99512b204d7a50a3b228
    Reviewed-on: https://chromium-review.googlesource.com/571000
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit c43be720af332df4690303dc7934d7071208224e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 13 16:22:14 2017 -0400

    Implement ANGLE_program_cache_control extensions.
    
    This will give the browsers the ability to control the cache size,
    query and populate the contents, and trim cache contents on memory
    pressure.
    
    BUG=angleproject:1897
    
    Change-Id: I6edaa7d307b890223db98792d5b074e4a7fdfaa4
    Reviewed-on: https://chromium-review.googlesource.com/563606
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit bc58515eb63ffcf0e250bdb1cab09e493d501a29
Author: Jiajia Qin <jiajia.qin@intel.com>
Date:   Fri Jun 23 15:42:17 2017 +0800

    ES31: Add 'buffer' qualifier support in shader
    
    This change added 'buffer' qualifier support in shader which
    corresponds to ESSL 3.1 spec, session 4.3.7 'Buffer Variables'.
    
    BUG=angleproject:1951
    TEST=angle_unittests:BufferVariablesTest
    
    Change-Id: I2ecb5317d5ea9d378a60b03f86bdae04dbd89e9f
    Reviewed-on: https://chromium-review.googlesource.com/534960
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit c5af8ba6ebd2246b4c214f30bd50ba80fa8b1e3e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jul 11 12:18:31 2017 -0400

    D3D11: Make sure to resolve the storage for CopyTexImage3D.
    
    TextureD3D_3D::copySubImage worked around missing functionality in D3D11
    for copying a framebuffer directly to a texture storage but didn't handle
    the case of a texture storage already existing.  This caused the image to
    have out-of-date data before the new data was copied into it.  Simply copy
    the data from the storage back into the image before performing the copy
    from the framebuffer and then copy back to the storage afterwards.
    
    TEST=conformance2/textures/misc/copy-texture-image-webgl-specific.html
    
    BUG=angleproject:1815
    
    Change-Id: I308d6a1d3ecbc738f7d0e232bece433e6b353638
    Reviewed-on: https://chromium-review.googlesource.com/567199
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d90b214fc2d55b2e1aec05b643d1e70ec2788a31
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jul 12 15:33:35 2017 -0400

    D3D11: If an image is dirty, copy it to the storage before copying from a FB.
    
    If a storage already existed, it may have old data in it.  Check if the
    image is dirty and copy the initialized memory into the storage before
    copying data from the framebuffer.
    
    TEST=conformance/textures/misc/copy-tex-image-and-sub-image-2d
    
    BUG=angleproject:1815
    
    Change-Id: Ic69c5519b2e09e4b62025b1bf413d2a71a4a2afb
    Reviewed-on: https://chromium-review.googlesource.com/568410
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit d7ceaa167924f876e48a9a7d14aace85d2db4d21
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Jul 12 17:46:35 2017 +0300

    Remove TIntermSymbol::setId
    
    The only place it was being used was when parsing array declarators.
    The declarator only needs to be added to the AST when the variable
    has successfully been declared, so this usage was not necessary.
    
    BUG=angleproject:1490
    TEST=angle_unittests
    
    Change-Id: I05b8851cfdebc9253c9fda8b12733f23da604ca6
    Reviewed-on: https://chromium-review.googlesource.com/569160
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit d178aa46a05629278319cfca9bc67b1e21c43aa4
Author: Martin Radev <mradev@nvidia.com>
Date:   Thu Jul 13 14:03:22 2017 +0300

    Fix attachment validation bug
    
    Passing COLOR_ATTACHMENTm, where m is greater or equal to
    MAX_COLOR_ATTACHMENTS, to a FramebufferTexture* function should
    generate an INVALID_OPERATION instead of an INVALID_VALUE error.
    
    BUG=angleproject:2106
    TEST=angle_end2end_tests
    
    Change-Id: I99045defcbe5eb2afefac1b45062ee4245f50dd3
    Reviewed-on: https://chromium-review.googlesource.com/569966
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 34bc315d5cbbd9a9b9e5dbb1507c4d42ebb16186
Author: JiangYizhou <yizhou.jiang@intel.com>
Date:   Wed Mar 29 14:56:01 2017 +0800

    ES31: Implement multisampled Textures for D3D part.
    
    Implement TexStorage2DMultisample api for d3d part.
    
    BUG=angleproject:1590
    TEST=angle_end2end_tests --gtest_filter=TextureMultisampleTest*
    TEST=angle_deqp_gles31_tests --deqp-case=dEQP-GLES31.functional.texture.multisample.negative.fbo_*
    
    Change-Id: Icbfba45b9c2965af02b54dd4060b7b49970cb74b
    Reviewed-on: https://chromium-review.googlesource.com/457161
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 3ec75686fd9340bf1e0073e37466e1e082aa7e85
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Jul 5 17:02:55 2017 +0300

    Collect AST transform utilities to a separate file
    
    Collect static functions that are used to create nodes in AST
    transformations into a single file.
    
    BUG=angleproject:1490
    TEST=angle_unittests
    
    Change-Id: I6f87422988fa088f2f4b48986e378a2909705cb7

commit 84db5733d89b84fa659945287631061329ce2fef
Merge: e2a728aa9 06a06f5ec
Author: Commit Bot <commit-bot@chromium.org>
Date:   Thu Jul 13 08:00:02 2017 +0000

    Merge "Fix non statically used fragment input structs on HLSL"

commit e2a728aa9b196bead0825c96f09a7d2a36c691df
Merge: d5fbb8b01 caa5cda0d
Author: Commit Bot <commit-bot@chromium.org>
Date:   Wed Jul 12 20:39:35 2017 +0000

    Merge "Validate uniforms and attributes name conflicts when linking"

commit d5fbb8b01c2405ba43a837ff5295f033c971b0f7
Merge: 59bc668ca 293e114db
Author: Commit Bot <commit-bot@chromium.org>
Date:   Wed Jul 12 19:29:47 2017 +0000

    Merge "Add tests for the cache control extension."

commit 59bc668ca18c4c070d48d3f3f19b74489ef27786
Merge: 6fc8c9b99 280ba991b
Author: Commit Bot <commit-bot@chromium.org>
Date:   Wed Jul 12 18:57:24 2017 +0000

    Merge "Validate the ReadPixels type and format for INVALID_ENUM."

commit caa5cda0dcd890a4c878c5a6f5c08314e33a4de8
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Jun 15 21:14:03 2017 -0400

    Validate uniforms and attributes name conflicts when linking
    
    Uniforms and attribute names have global scope, according to:
    GLSL 1.017 sections 4.2.6, 4.3.3 and 4.3.4.
    Thus, they can't have same names.
    
    BUG=angleproject:2014
    
    Change-Id: Ibeb064aca877e404a67b9e3e9b57a0cc42e86f9f

commit 6fc8c9b99840d8c7072804c88aa7dd00b6b2c3eb
Merge: 9dd5dbd8b 3847f94d1
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jul 12 17:14:54 2017 +0000

    Merge "Validate that the mip level is not too large for CopyTextureCHROMIUM."

commit 9dd5dbd8b7485256795fe122be6c8afd9a9d6bb1
Merge: 1636e1b90 eaef1e5e2
Author: Commit Bot <commit-bot@chromium.org>
Date:   Wed Jul 12 16:26:42 2017 +0000

    Merge "Link atomic counters to buffers"

commit 293e114db2e50fbc81be39fcbb51ea4507eda6af
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 11 13:51:05 2017 -0400

    Add tests for the cache control extension.
    
    A first test verifies the validation of the extension, and a second
    compiles a simple shader and checks the cache behaviour.
    
    These tests don't currently run since the extension is disabled,
    but they will start running as soon as we expose it.
    
    BUG=angleproject:1897
    
    Change-Id: Id4a76b83090712a267576069b711eeee29aa81dd

commit 280ba991b127cee0954879a4a100dafa7739598e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Apr 18 16:30:58 2017 -0400

    Validate the ReadPixels type and format for INVALID_ENUM.
    
    GL_INVALID_ENUM should be generated if the type or format arguments were
    not valid for any ReadPixels command.  This validation should happen
    before validating if the combination of format and type is valid.
    
    TEST=conformance/reading/read-pixels-test
    
    BUG=angleproject:2000
    
    Change-Id: If49d69655f5ab0a3abbde58b49541c84249c1750

commit 3847f94d17231889ef1c39f6a5a411130d2cfb30
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jul 12 11:17:28 2017 -0400

    Validate that the mip level is not too large for CopyTextureCHROMIUM.
    
    When the mip level was greater than the maximum, it could cause an
    out-of-bounds read when trying to query the Texture's size and format
    later in the validation.
    
    BUG=740426
    
    Change-Id: Ibd6c977981e5f8b7368c161b7969d9e916c6095b

commit 1636e1b90985703b0cc8e7e7dd7c3aeca7eae753
Merge: f69ac0a5d bc5d7addb
Author: Commit Bot <commit-bot@chromium.org>
Date:   Wed Jul 12 14:29:06 2017 +0000

    Merge "D3D11: Clip copy rect to the source framebuffer for copyTexImage3D."

commit f69ac0a5dbe99b5b876f3f79af42cd6222b58873
Merge: 2c7c4268f 340b7b8ba
Author: Commit Bot <commit-bot@chromium.org>
Date:   Wed Jul 12 14:18:57 2017 +0000

    Merge "Add support for new internalformats in copyTextureCHROMIUM"

commit 06a06f5ecc41ce46e87fe0a5f3359afa9a449b19
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Jul 12 12:22:15 2017 +0300

    Fix non statically used fragment input structs on HLSL
    
    Add static use information to struct fields that mirrors the static
    use information on the struct itself. This way dynamically generated
    HLSL doesn't need special handling for initializing fragment inputs
    if they are structs.
    
    This fixes a problem with the previous code where dynamically
    generated HLSL ended up trying to initialize structs that are not
    declared in the HLSL output because they were not being referenced.
    
    BUG=angleproject:2104
    TEST=angle_end2end_tests
    
    Change-Id: I21283ce4fe26515d62d95e61f8155dc9a9b44cf1

commit 2c7c4268fd044e2102daae396706fa20d8207b1f
Merge: b74c769a8 c39a19aa9
Author: Commit Bot <commit-bot@chromium.org>
Date:   Wed Jul 12 07:53:34 2017 +0000

    Merge "Select viewport index in the GLSL/ESSL vertex shader"

commit eaef1e5e23df237770af19f289739b695d1c2c37
Author: jchen10 <jie.a.chen@intel.com>
Date:   Tue Jun 13 10:44:11 2017 +0800

    Link atomic counters to buffers
    
    Gather counters from each shader and group them according the
    layout qualifier 'binding' into each buffer.
    
    BUG=angleproject:1729
    TEST=angle_end2end_tests:AtomicCounterBufferTest
    
    Change-Id: I8d0cd0d2bf65be37c035b0e1540481c8bee0bae4

commit b74c769a8b71a5f701a19b050ff2ecb0ce5dc862
Merge: 315ecd207 59c41597b
Author: Commit Bot <commit-bot@chromium.org>
Date:   Tue Jul 11 19:48:41 2017 +0000

    Merge "Fix Clear validation assert for default FBOs"

commit bc5d7addb3d3ef97b5c609166e38d944f571739a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jul 10 16:17:26 2017 -0400

    D3D11: Clip copy rect to the source framebuffer for copyTexImage3D.
    
    TEST=conformance2/textures/misc/copy-texture-image-webgl-specific.html
    
    BUG=angleproject:1815
    
    Change-Id: I146fcf97a9c90f07d6270672c5e44e05602eecf8

commit 315ecd2074663fe5b6d5a6884576b3b81416a62f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 11 13:51:04 2017 -0400

    Add entry points for EGL_ANGLE_program_cache_control.
    
    This instruments the plumbing for the extension without adding any
    functionality or exposing the extensions string.
    
    The extension text is also updated to reflect the new entry point
    design and naming. Also this corrects a few mistakes.
    
    This will be followed up by the tests (which won't run) and then
    the extension functionality in ANGLE.
    
    BUG=angleproject:1897
    
    Change-Id: I5b009e23bc27da06b067375525bd6fc574027702

commit 59c41597b45fbad61c0b624b125cb6c3dfd9cd63
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Jul 11 13:19:54 2017 -0400

    Fix Clear validation assert for default FBOs
    
    The validation was iterating over maxDrawBuffers attachments when
    default framebuffers only have one attachment. Use the framebuffer's
    drawBufferCount instead.
    
    Also adds a regression test in the form of a WebGLComptibility test for
    glClearBuffer with the default framebuffer.
    
    BUG=angleproject:2091
    
    Change-Id: I07ee524db1fcb8a99dab4043248c0885100fd216

commit c39a19aa931e39f298babe866efe33a58052d2f2
Author: Martin Radev <mradev@nvidia.com>
Date:   Fri Jul 7 18:52:09 2017 +0300

    Select viewport index in the GLSL/ESSL vertex shader
    
    The patch enables viewport selection for multiview rendering in the
    GLSL/ESSL vertex shader through the use of the GL_NV_viewport_array2
    extension. The AST is modified only for GLSL and ESSL to include the
    viewport selection expression after ViewID_OVR's initialization.
    
    BUG=angleproject:2062
    TEST=angle_unittests
    
    Change-Id: Iee05bb5a4b687ed53ddbdd466f1572227b1f0cde

commit 37d96cce9d0267310db407eb156fe5dbfb50ab19
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Jul 11 14:14:03 2017 +0300

    Fix accepting arrays as array indices
    
    Previously, arrays were being incorrectly accepted as array indices.
    This was because the isScalar() check only checked that the type was
    not a vector or matrix, but still returned true for scalar arrays.
    
    This patch changes the isScalar() check so that it returns false for
    arrays. This makes usage of the term "scalar" more consistent in the
    shader translator. Most of the code using isScalar() was compatible
    with this change. Code in util.cpp that used to assume that isScalar()
    doesn't care about arrayness is refactored to work with the new
    behavior.
    
    BUG=angleproject:2102
    TEST=angle_unittests
    
    Change-Id: I2a7f4c30fca7917d1099d0400efe3de859338b2a

commit 56229f1bbe2411571a4505e42fd8e58eb60a5552
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Jul 10 14:16:33 2017 +0300

    Remove TIntermediate::addConstantUnion
    
    This includes asserts in TConstantUnion to reveal incorrect usage of
    union - reading a different field of an union that has last been set
    is undefined behavior in C++.
    
    Existing issues with accessing incorrect fields of constant unions
    are fixed.
    
    BUG=angleproject:1490
    TEST=angle_unittests
    
    Change-Id: Idd6b7a871d73e2928f117a9348c92043612fab82

commit eb7f90fdcc27224720cb6c694ddef765aaa8d1f7
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Jul 7 17:25:23 2017 +0300

    Remove simple Intermediate.h functions
    
    Most of the functions were just simple wrappers around node
    constructors. Dropping this extra redirection makes the code simpler.
    
    The fold() functions of node types are simplified, so that if the node
    can't be folded the pointer to the node itself is returned. This makes
    the code in ParseContext more straightforward.
    
    The few remaining functions in Intermediate are a bit more complex so
    they should be handled separately, but they'll be removed eventually
    as well.
    
    BUG=angleproject:1490
    TEST=angle_unittests
    
    Change-Id: I85e11919d1f62358cfba9c011b841e32bc25402f
    Reviewed-on: https://chromium-review.googlesource.com/563393
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 340b7b8baa5263ea95aebe6a9cc5aea80229af05
Author: Brandon Jones <brandon1.jones@intel.com>
Date:   Mon Jun 26 13:02:31 2017 -0700

    Add support for new internalformats in copyTextureCHROMIUM
    
    This adds support in blit11::copyTexture for LUMA, LUMA_ALPHA, and ALPHA
    formats as destinations. Added is handling for each case to match up
    the corresponding shader. This required new premultiply and
    unmultiply D3D11 shaders for some cases.
    
    Changed copyTextureCHROMIUM validation to allow new formats.
    
    Tests have been created to demonstrate using copyTextureCHROMIUM with
    the new formats with default parameters, as well as with the
    unpackPremultiply and unpackUnmultiply parameters.
    
    BUG=:angleproject:2101
    
    Change-Id: Id8cd303a46fe70710bc18172fc938552a6e4cfaf

commit 70c95fa6ffcbe0914adb5e641288b910ddf1db12
Author: Martin Radev <mradev@nvidia.com>
Date:   Fri Jul 7 18:45:49 2017 +0300

    Add function in MatchOutputCodeTest to find occurrence of a string
    
    The patch adds a function in MatchOutputCodeTest to get the position
    of the first occurrence of an expression in the translated output code.
    This can help design more complicated tests like a test which checks
    for the order of simple expressions.
    
    BUG=angleproject:2062
    TEST=angle_unittests
    
    Change-Id: I1249d4762c247848c4eec64ecb8c1357b5e8d40a
    Reviewed-on: https://chromium-review.googlesource.com/563659
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 88318b44f360b7d18c68114a6235fcc687163b85
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jul 5 14:39:01 2017 -0400

    Fall back to CPU copies for srgb textures in copy_texture_CHROMIUM.
    
    The copied data is not supposed to have sRGB conversions applied to it
    when written to the destination texture but an sRGB SRV is used by Blit11.
    Instead of creating multiple sRGB and non-sRGB SRVs for textures, simply
    fall back to the CPU copy path for this format for now.
    
    Clip color channels that should not exist in the destination texture
    formats in Image11::CopyImage.  This works around issues with texture
    formats with emulated channels.
    
    TEST=conformance2/textures/image_bitmap_from_canvas/tex-2d-srgb8-rgb-unsigned_byte
    TEST=conformance2/textures/image_bitmap_from_canvas/tex-2d-srgb8_alpha8-rgba-unsigned_byte
    
    BUG=angleproject:1932
    
    Change-Id: Ieeda3569f80d016fda781e7eb498acd3b97568d0
    Reviewed-on: https://chromium-review.googlesource.com/559857
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit ea39a2239f2366c88efd3e01b97a5caa83179773
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Jul 6 12:47:59 2017 +0300

    Simplify queueReplacement AST transform helper
    
    queueReplacement is always called to replace the node that's currently
    being visited in the traverser. The currently visited node can be
    fetched automatically from the traversal path so it can be removed
    from parameters of queueReplacement.
    
    BUG=angleproject:2100
    TEST=angle_unittests
    
    Change-Id: I62ab6d1cd9c0d2b4c260af9f7c85bc156fb3f349
    Reviewed-on: https://chromium-review.googlesource.com/562336
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 145e3cbbbb075e32874811ec9656c89218af90d0
Author: Sergey Ulanov <sergeyu@google.com>
Date:   Thu Jun 29 12:36:21 2017 -0700

    Enable Fuchsia in platform-specific headers.
    
    Two simple fixes to make libANGLE compile for Fuchsia:
    1. Added stubs typedefs for platform-specific primitives in
       EGL/eglplatform.h for Fuchsia.
    2. src/common/platform.h updated to define ANGLE_PLATFORM_POSIX on
       Fuchsia.
    
    Change-Id: I5f053de46632ac3f12bb93e57eeb94c3a34c867c
    Reviewed-on: https://chromium-review.googlesource.com/563758
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit caf20889e926a0dbf22f51f6dd9001e3edd962e1
Author: Bryan Bernhart (Intel Americas Inc) <bryan.bernhart@intel.com>
Date:   Wed Jul 5 15:26:44 2017 -0700

    Fix incorrect quality level with depth-stencil buffer and MSAA configs.
    
    Using a depth buffer format requires that the DSV and RTV have equal
    quality levels; otherwise, the bound render target will discard writes.
    
    BUG=angleproject:1917
    
    Change-Id: Ife25b0a8958fa2b31b43a0d877d27e440916a9bf
    Reviewed-on: https://chromium-review.googlesource.com/560716
    Reviewed-by: Bryan Bernhart <bryan.bernhart@intel.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 7ef89a426511e80c7ce9ae4fe29952892abcd8bd
Author: Martin Radev <mradev@nvidia.com>
Date:   Wed Jul 5 14:23:06 2017 +0300

    Expose ViewID_OVR impostor in the fragment shader
    
    The OVR_multiview specification states that gl_ViewID_OVR is visible
    at each pipeline stage. Previously to this patch the ViewID_OVR
    impostor was declared only in the vertex shader and occurrences of
    gl_ViewID_OVR in the fragment shader were not being handled. The
    patch addresses the issue by declaring the ViewID_OVR variable as
    a vertex output in the vertex shader and as a fragment input
    in the fragment shader.
    
    BUG=angleproject:2062
    TEST=angle_unittests
    
    Change-Id: I895953e81d3632d9bb873e8ac081fdf36f63f6b7
    Reviewed-on: https://chromium-review.googlesource.com/559337
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit e469de8a51b59073127fa7fc7ae5c88ff1a33b5b
Author: Martin Radev <mradev@nvidia.com>
Date:   Tue Jul 4 11:58:35 2017 +0300

    Refactor translator construction
    
    The patch adds functionality to determine whether compiler output belongs
    to the ESSL, GLSL, HLSL or Vulkan output family. The new functions can
    be now used in other parts of the compiler in which code paths are
    selected based on the compiler output.
    
    BUG=angleproject:2062
    TEST=angle_unittests
    
    Change-Id: I45ccf63f0a756c60df47a679c2da9f60856d5918
    Reviewed-on: https://chromium-review.googlesource.com/558990
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit cccf2b0029b3e223f111594bbd4af054fb0b1fad
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Jul 5 14:50:54 2017 +0300

    Reorganize AST traversal utility code
    
    Define TIntermTraverser and TIntermLValueTrackingTraverser in a
    separate header file. hash() function is moved out from
    TIntermTraverser as it is not related to the core functionality
    of traversing and transforming ASTs.
    
    Also reorganize some traversers to follow common conventions:
    
    - Intermediate output is now in OutputTree.h/.cpp
    - Max tree depth check is now in IsASTDepthBelowLimit.h/.cpp
    
    BUG=angleproject:1490
    TEST=angle_unittests
    
    Change-Id: Id4968aa9d4e24d0c5bac90dc147fc9f310de0184
    Reviewed-on: https://chromium-review.googlesource.com/559531
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit a3e1f5f73f2273d864a5da7080bef2a6c4345774
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Jul 6 13:21:07 2017 +0300

    Fix determining max combined uniform blocks
    
    The previous code was using a completely unrelated variable to compute
    max combined uniform blocks limit.
    
    BUG=angleproject:2099
    
    Change-Id: I9e56b50a92790f525dda50adca52b6ac5edfc95a
    Reviewed-on: https://chromium-review.googlesource.com/562276
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 115fc55e0f116110835c1991da58ab5651ae8186
Author: Martin Radev <mradev@nvidia.com>
Date:   Wed Jul 5 17:11:06 2017 +0300

    Populate gl_InstanceID attribute information explicitly
    
    While compiling ESSL1 shaders, with the compiler having both
    SH_INITIALIZE_BUILTINS_FOR_INSTANCED_MULTIVIEW and SH_VARIABLES
    set, variable collection terminates with an assertion failure. The reason
    behind this is that SH_INITIALIZE_BUILTINS_FOR_INSTANCED_MULTIVIEW
    adds gl_InstanceID to the AST to initialize the multiview builtins, but
    the variable collection pass cannot find gl_InstanceID information in
    the symbol table because the builtin is only available in ESSL 3.00 and
    greater.
    
    To address this the patch populates the gl_InstanceID attribute
    information explicitly in the variable collection pass instead of
    retrieving it from the symbol table.
    
    BUG=angleproject:2062
    TEST=angle_unittests
    
    Change-Id: I5ecb9967ebe6658e956d17a2637090f9b685ef33
    Reviewed-on: https://chromium-review.googlesource.com/559669
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 4dd06d5d443668a569abd03bef65aa40408d8e70
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Jul 5 12:41:06 2017 +0300

    Set proper symbol ids on temporary symbol nodes
    
    Temporary symbols used to all have symbol id 0. Now they get assigned
    unique symbol ids. This makes it possible to keep track of them
    according to the symbol id instead of their name, paving way to more
    robust AST handling in the future.
    
    BUG=angleproject:1490
    TEST=angle_unittests
    
    Change-Id: I292e2e483cc39173524fd30a30b48c4c808442e5
    Reviewed-on: https://chromium-review.googlesource.com/559335
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 69df242c28e048067672b2d6c3d091ae039fba49
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jul 5 12:42:31 2017 -0400

    Don't validate attribute types match for gl_VertexID and gl_InstanceID.
    
    TEST=conformance2/glsl3/no-attribute-vertex-shader
    TEST=deqp/functional/gles3/instancedrendering
    
    BUG=angleproject:2012
    
    Change-Id: I234410fabf6a8fcd87040c8085ca5dce82fa8932
    Reviewed-on: https://chromium-review.googlesource.com/559851
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit d7cd4ae5c2f71ff3acc51997a2b816839f4f5947
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Jul 6 15:52:49 2017 +0300

    Check that function declarations don't use a reserved name
    
    Reserved function names are now caught if the function is just
    declared without being called in the shader source. Actually, function
    calls don't need to be checked for reserved names, since that just
    generates a redundant error message if function declarations are being
    checked.
    
    Includes some cleanup of ParseContext::checkIsNotReserved. It doesn't
    need special handling of built-in symbols, as they are never passed to
    the function.
    
    BUG=chromium:739448
    TEST=angle_unittests
    
    Change-Id: I7115e1a7509626b5109b5c054c0704b0c3c19c58
    Reviewed-on: https://chromium-review.googlesource.com/561457
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 40a1a37c61e63bbd58144124f8f694ea145c7227
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jul 5 16:46:21 2017 -0400

    Update gl2ext.h.
    
    Also split the ANGLE modifications to the header into a separate
    include.
    
    BUG=angleproject:1897
    
    Change-Id: I06cdcc26bab6bfa4b5bcb488c46558583cab5a83
    Reviewed-on: https://chromium-review.googlesource.com/560020
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 2b853636700b35978512dab2d0c48cc12dbfcb7c
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Thu Jul 6 09:14:41 2017 -0400

    Skip CopyTexImage outside FB test on Win/Intel/GL.
    
    BUG=angleproject:1815
    
    Change-Id: Ia200cfe4ce4e6e3edd9ad2de841acbd1df49eb85
    Reviewed-on: https://chromium-review.googlesource.com/561636
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 1cbe920355a1a5fa03d30d5540f8e78d6c6c117f
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Thu Jun 15 18:13:31 2017 -0400

    Clip TextureGL::copyImage to framebuffer.
    
    Ensure the underlying GL does not modify areas of the texture that
    correspond to areas outside the framebuffer, as required for WebGL.
    Also zero out the texture in WebGL mode because CopyTexImage must return
    zeroes for areas outside the framebuffer.
    
    Enable corresponding test.
    
    BUG=angleproject:1815
    
    Change-Id: I51b1221dbf0dda0952e2ae89ee6ac925b5d1d4a4
    Reviewed-on: https://chromium-review.googlesource.com/551535
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 0cdf3683ea2da7f6b1626cd84454067a41efab31
Author: Martin Radev <mradev@nvidia.com>
Date:   Wed Jul 5 14:02:08 2017 +0300

    Do not propagate OVR_multiview extension directive
    
    The patch fixes the bug of having the OVR_multiview extension directive
    being outputted by the ESSL translator whenever the
    SH_INITIALIZE_BUILTINS_FOR_INSTANCED_MULTIVIEW option is enabled. The
    directive should not be outputted because the extension is emulated
    through that option.
    
    BUG=angleproject:2062
    TEST=angle_unittests
    
    Change-Id: I95d0a651ace6db42d496de08e774ec7ceca4c197
    Reviewed-on: https://chromium-review.googlesource.com/558981
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 83f0fb4d3bd33d565fef698156a6c91926d3a2c7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jul 5 16:44:04 2017 -0400

    Add program binary cache EGL and GL extensions.
    
    The EGL extension will allow for querying the cache and populating it
    with shaders on startup. The GL extension adds some language to the
    spec and allows for querying the program binary cache status of a
    Context.
    
    BUG=angleproject:1897
    
    Change-Id: I7233844e41008f097efbb30cf9fe9c89227085fc
    Reviewed-on: https://chromium-review.googlesource.com/556383
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 88f18d012591bd733801082f0a32fcf120ac5fc7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jul 5 14:24:04 2017 -0400

    Update eglext.h.
    
    Also move the ANGLE modifications to eglext.h to a separate file
    so we can more easily update and maintain the official header.
    
    This is in preparation for adding the new program cache control
    extension.
    
    BUG=angleproject:1897
    
    Change-Id: I3546e0c82f6536381301f62a115b42d580747a08
    Reviewed-on: https://chromium-review.googlesource.com/559917
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 95ba174ec6b35fe2953953918737ccdb895f08f7
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Thu Jun 22 20:38:04 2017 -0400

    Clip TextureD3D_2D::copyImage to framebuffer.
    
    WebGL CopyTexImage needs to zero the part of the texture corresponding
    to area outside the framebuffer, so we zero the whole texture then clip
    the read area.
    The clipping also avoids problems with code lower down that isn't prepared
    for read areas not entirely within the framebuffer.
    
    Enable corresponding test.
    
    BUG=angleproject:1815
    
    Change-Id: Ia7e0243ca72fa7c8f5bacda4d2022061d6a6d4f0
    Reviewed-on: https://chromium-review.googlesource.com/551056
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit 6cad566797964e33fbe35fd7d4723ad1574c8629
Author: Brandon Jones <brandon1.jones@intel.com>
Date:   Wed Jun 14 13:25:13 2017 -0700

    Improve Debugging Strings
    
    This change replaces common string literals used for
    error messages with const string variables mapped in
    a new header file.
    
    Additionally, more validation for WebGL naming scenarios
    has been added, along with unit tests.
    
    BUG=:angleproject:1644
    
    Change-Id: Icff44a456aa78221c6df12b0454a7cc147a7d26e
    Reviewed-on: https://chromium-review.googlesource.com/535974
    Commit-Queue: Brandon1 Jones <brandon1.jones@intel.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit fa36c33084ce16f0405c7ef9ac20d8e837ded82a
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Fri Jun 9 18:44:45 2017 -0400

    Clip FramebufferGL::readPixels to framebuffer.
    
    In GL, ReadPixels() is allowed to modify memory that corresponds to
    pixels outside the framebuffer.
    In WebGL it must not do that, so clip the read area to the framebuffer.
    
    Enable corresponding test.
    
    BUG=angleproject:1815
    
    Change-Id: I8113ae417dee7834e63498aec8291ce711bd7513
    Reviewed-on: https://chromium-review.googlesource.com/536434
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 088031e68069e00464b2b9ee2a5ab5152f86fa9e
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Jul 3 15:59:33 2017 +0300

    HLSL: Disambiguate between struct function parameters
    
    Structs with different names but identical members are treated as
    ambiguous by the native HLSL compiler when looking up user-defined
    functions. Add the struct name to the function name to work around
    this limitation.
    
    BUG=chromium:731324
    TEST=angle_end2end_tests
    
    Change-Id: Ie80ac0f1374bc5ac05dfebef3f94e2da7cdfc581
    Reviewed-on: https://chromium-review.googlesource.com/558929
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 50c562de05fb9b7800e47c56ee9b4b0cd1a5da43
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Jun 6 14:43:30 2017 +0300

    Re-land: Don't expose non-conformant multisampling modes on GL
    
    Re-landing with a fallback for failed internal format queries to work
    around issue seen on Shield TV. Also fixed wrong handling of integer
    RG formats in isRequiredRenderbufferFormat.
    
    Some NVIDIA GL drivers expose non-conformant multisampling modes. The
    conformance of multisampling modes can be queried using the extension
    NV_internalformat_sample_query. Use it to filter out the
    non-conformant modes from the modes that are exposed by ANGLE.
    
    The MAX_SAMPLES value and other similar values stored in caps also
    need to be lowered to match the maximum number of samples exposed
    for required formats.
    
    There seems to be an NVIDIA driver bug related to querying
    STENCIL_INDEX8 multisample format. Work around this by querying
    DEPTH24_STENCIL8 instead.
    
    There's also some confusion around whether RGB9_E5 should be
    renderable. Once the floating point texture extensions got rolled
    into the core GL spec, it was eventually made clear that RGB9_E5
    is intended not to be renderable. The extension specs that predate
    float textures in the core spec do suggest that it would be
    renderable, but in practice drivers that advertise the extension
    strings don't reliably implement RGB9_E5 as renderable. Solve this
    by disabling it as a renderable format and adding an explanatory
    comment.
    
    BUG=chromium:682815
    TEST=angle_end2end_tests,
         dEQP-GLES31.functional.state_query.internal_format.renderbuffer.*
    
    Change-Id: I727f03045a1534d6764b571e6d839243705d25b3
    Reviewed-on: https://chromium-review.googlesource.com/551957
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a5822b8aeff16393c104ee6fbdb29b5e56431e4b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 30 12:55:10 2017 -0400

    Temporarily disable the GPU program cache.
    
    We should give the app layer more control over the cache before we
    enable it, to save on memory usage in Chrome.
    
    BUG=angleproject:1897
    
    Change-Id: I532c05c3042cb0a2d9c62f362f25d6064042ca2c
    Reviewed-on: https://chromium-review.googlesource.com/558370
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 27a606316e1ec4ee7cd45178de40ae1a05235f45
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 30 15:12:01 2017 -0400

    Re-apply UBO binding workaround on program save.
    
    The workaround which was previously defined to only apply on load
    also seems to affect save on some AMD drivers.
    
    BUG=angleproject:1637
    BUG=angleproject:1897
    
    Change-Id: Ia01a1420a484f3c2682ce97eaab18baccfb66a50
    Reviewed-on: https://chromium-review.googlesource.com/558008
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit b12040c43d8c0c38921435fc4555c7efa12a1dd3
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Jun 27 14:20:45 2017 +0300

    Clean up redundant initialization of gl_Position
    
    In case gl_Position is statically used in the input shader, setting
    the INIT_OUTPUT_VARIABLES flag will initialize gl_Position. Avoid
    redundant initialization of gl_Position in this case.
    
    Includes cleaning up memory management in InitOutputVariables_test:
    all the pool-allocated variables will be freed at the end of each test
    when the memory pool is cleared, so manual memory management is not
    needed.
    
    Also includes making the zero node check used in unit tests stricter
    so that the tests are more reliable and moving it to
    ShaderCompileTreeTest.h so that it can be reused in the future.
    
    BUG=angleproject:2092
    TEST=angle_unittests
    
    Change-Id: I323a0a094afa6cea95c8a64e681d9fc485137423
    Reviewed-on: https://chromium-review.googlesource.com/549418
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 0fb0864e85e08d3fccffaf20c42b160c79677f31
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jul 4 15:07:23 2017 -0400

    Fix inverted validation check for glClearBuffer.
    
    The validation would generate the correct errors to satisfy tests but
    would skip clears.
    
    TEST=conformance2/reading/format-r11f-g11f-b10f.html
    TEST=conformance2/reading/read-pixels-from-fbo-test.html
    TEST=conformance2/rendering/clearbuffer-sub-source.html
    TEST=deqp/functional/gles3/fbocolorbuffer/clear.html
    TEST=deqp/functional/gles3/fboinvalidate/sub.html
    TEST=deqp/functional/gles3/framebufferblit/default_framebuffer_*.html
    
    BUG=angleproject:1954
    
    Change-Id: I0f220d06f98b630be5d27c7ffb1837d4ef29e0ac
    Reviewed-on: https://chromium-review.googlesource.com/558786
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 739bd8baafb4ba9720c18fde70dcfeaef7ab0f1f
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Mon Jun 19 21:02:27 2017 -0400

    Clip FramebufferD3D::readPixels to framebuffer.
    
    In GL, ReadPixels() is allowed to modify memory that corresponds to
    pixels outside the framebuffer.
    In WebGL it must not do that, so clip the read area to the framebuffer.
    
    Enable corresponding test.
    
    BUG=angleproject:1815
    
    Change-Id: Ie99401a2102c352ffb1193a57aa66a5b96c184aa
    Reviewed-on: https://chromium-review.googlesource.com/540556
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit e145def0fc48ed4b1c3ae1dd3ea2e6969e56bd45
Author: Martin Radev <mradev@nvidia.com>
Date:   Thu Jun 22 12:49:12 2017 +0300

    Propagate correct type to the lvalue in an output variable initializer
    
    With the SH_INIT_OUTPUT_VARIABLES option enabled, vertex and fragment
    shader outputs get initialized with zeros at the beginning of main.
    However, previous to this patch the lvalues in the binary expression did
    not receive the correct type. This can lead to incorrect modifications
    of the AST in subsequent stages or incorrect output code from the
    translator. The patch addresses the issue by copying the type
    information from the symbol table.
    
    BUG=angleproject:2081
    TEST=angle_unittests
    TEST=angle_end2end_tests
    
    Change-Id: I9e062376bcfad7d57b637a5248caebce1c9a0688
    Reviewed-on: https://chromium-review.googlesource.com/544982
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit ff526f144979c335e9be9009537016aec5f4319d
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Jun 30 12:26:54 2017 +0300

    Fix variable vs. function name conflict in HLSL output
    
    GLSL ES spec accepts the case where an initializer of a variable calls
    a function with the same name as the variable. The HLSL compiler
    doesn't accept that. Work around this limitation in the HLSL compiler
    by disambiguating user-defined functions from variables with a
    different prefix.
    
    BUG=angleproject:2095
    TEST=angle_end2end_test, angle_unittests
    
    Change-Id: I41b32a3fcc6fd4c548e8dc3aa680d1b07fcf8719
    Reviewed-on: https://chromium-review.googlesource.com/557872
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 77891c0a4271203bb0833786c2cfc9dd228373d7
Author: Shao <jiawei.shao@intel.com>
Date:   Fri Jun 23 16:30:17 2017 +0800

    Fix wrong assignment of maxUniformVectors in GLSL compiler
    
    This patch intends to fix a bug in ANGLE GLSL compiler.
    
    In TCompiler::Init(resources), we should initialize maxUniformVectors by
    resource.maxComputeUniformComponents / 4 when we attempt to initialize a
    compiler for compute shader instead of resource.maxFragmentUniformVectors.
    
    BUG=angleproject:2083
    
    Change-Id: I4901f71ef5ac4f5770e2d5f8ee21786fcf19fbca
    Reviewed-on: https://chromium-review.googlesource.com/545190
    Commit-Queue: Jiawei Shao <jiawei.shao@intel.com>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 690057da3e67d91fbfe9e5c6571034036d8188e2
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Jun 30 14:49:05 2017 +0300

    Remove incorrect cast of loop condition in GLSL parsing
    
    Loop condition node may be a declaration node when coming from the
    parser, so it shouldn't be casted to TIntermTyped*.
    
    BUG=chromium:738281
    TEST=angle_unittests under CFI
    
    Change-Id: Ie98befc4b02b1261949049ddff49404d73db8478
    Reviewed-on: https://chromium-review.googlesource.com/558083
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 69056a1ecf0d0aa025149d5b2c7b89cc2e1ba2e9
Author: Martin Radev <mradev@nvidia.com>
Date:   Thu May 18 11:14:50 2017 +0300

    Declare and initialize ViewID_OVR and InstanceID
    
    The patch modifies the vertex shader's AST to declare and initialize
    the global variables ViewID_OVR and InstanceID. Every occurrence of
    gl_ViewID_OVR gets replaced by ViewID_OVR and initialized in main
    with a value dependent on gl_InstanceID and the number of views.
    To guarantee correct results for instanced rendering, each occurrence
    of gl_InstanceID is replaced with InstanceID and initialized similarly.
    
    BUG=angleproject:2062
    TEST=angle_unittests
    
    Change-Id: I48be688605b5af869bc370758e70ccc209ea4419
    Reviewed-on: https://chromium-review.googlesource.com/548596
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit f0be43fee2a89588a63d4d7beb82ea18db7431e8
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Jun 29 21:25:56 2017 -0400

    Add missing dependency on exe_and_shlib_deps
    
    BUG=chromium:593874, angleproject:2095
    
    Change-Id: I97860f7978d509bb36dfdfb5fac7524e9d24f5fe
    Reviewed-on: https://chromium-review.googlesource.com/557599
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 802a73ba380a8d20b8a6f7be68f57b2873ac9813
Author: Tom Anderson <thomasanderson@chromium.org>
Date:   Thu Jun 29 18:20:25 2017 -0700

    [ANGLE] Add missing dependency on exe_and_shlib_deps
    
    BUG=chromium:593874
    Change-Id: I025f31e422cf3eb5db1730710cca26587c283839
    Reviewed-on: https://chromium-review.googlesource.com/557350
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 8ff73235653ea7e680380100a663b9ccb8a2057c
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Jun 29 19:11:52 2017 -0400

    Skip couple UniformBufferTest31 on Linux AMD
    
    Broken by https://chromium-review.googlesource.com/c/522874/
    on Linux Release (AMD R7 240) build 2431
    
    BUG=angleproject:1897
    TBR=jmadill@chromium.org
    
    Change-Id: I4c1f99a839f215b4c284ae1667d0a3b0774281c7
    Reviewed-on: https://chromium-review.googlesource.com/557259
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 834dd263c85c8d89176719983d2d512e6ec3c368
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Jun 29 17:19:37 2017 -0400

    Skip WebGLReadOutsideFramebufferTest.CopyTexSubImage2D on Win Intel
    
    Fails on Win10 Intel HD 530 and 630 bots.
    
    BUG=angleproject:1815
    TBR=fjhenigman@chromium.org
    
    Change-Id: I27227cfa882f448e8b2de76e16dfe0dfe91703d2
    Reviewed-on: https://chromium-review.googlesource.com/556759
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 360daeef19038dcd08129d8bcf250ee1171ef351
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jun 29 10:36:19 2017 -0400

    Add platform hook for program cache updates.
    
    This will need to be matched with a corresponding browser-side CL.
    It will enable writing out binary shaders to disk.
    
    BUG=angleproject:1897
    
    Change-Id: I443281086050b9711b92a034cf37f808dd919007
    Reviewed-on: https://chromium-review.googlesource.com/542963
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 56375021a19cbcaae5f649d8934e21064a998a51
Author: jchen10 <jie.a.chen@intel.com>
Date:   Wed Jun 21 11:38:04 2017 +0800

    D3D11: Fix Buffer11 for GPU-to-CPU storage copy.
    
    When copying from a non-mappable NativeStorage to a system memory
    based storage, a staging buffer storage should be used. Currently
    this is only done for PackStorage.
    
    This covers the missed SystemMemoryStorage and
    EmulatedIndexedStorage. Also it adds a triggering test case to
    expose the bug.
    
    BUG=angleproject:2076
    
    Change-Id: I278a0eef85751e966c1c48ddd71010092a14a3f7
    Reviewed-on: https://chromium-review.googlesource.com/542595
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit fcadd08ad72e5bd5150902ab9d5c6292286d1594
Author: Ken Russell <kbr@chromium.org>
Date:   Wed Jun 28 14:01:15 2017 -0700

    Provide build target for angle_shader_translator sample.
    
    This is useful for building the sample within Chromium rather than
    in ANGLE's standalone build, which has other requirements like a
    full Visual Studio installation.
    
    BUG=angleproject:2095
    
    Change-Id: I785d87ecb5166d8f640a5c8a5f321c3209017cc5
    Reviewed-on: https://chromium-review.googlesource.com/553399
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit ab04e6a7d838cff8a0fc18fb403ab5f599c560e1
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Thu Jun 22 20:38:04 2017 -0400

    Clip TextureD3D_2D::copySubImage to framebuffer.
    
    WebGL CopyTexSubImage does not allow touching parts of the texture that
    correspond to area outside the framebuffer, so we clip the read area to
    the framebuffer.
    The clipping also avoids problems with code lower down that isn't prepared
    for read areas not entirely within the framebuffer.
    
    Enable corresponding test.
    
    BUG=angleproject:1815
    
    Change-Id: I411223669dae2a456dfc3e22acda907b73177988
    Reviewed-on: https://chromium-review.googlesource.com/527411
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 79fd1e9fdbcf285c2ad5b4eb14ddf15ad5a83538
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Thu Jun 15 18:13:31 2017 -0400

    Clip TextureGL::copySubImage to framebuffer.
    
    Ensure the underlying GL does not modify areas of the texture that
    correspond to areas outside the framebuffer, as required for WebGL.
    
    Enable corresponding test.
    
    BUG=angleproject:1815
    
    Change-Id: I6092d39e43868902de7ae3aee430deea3b3ff8a1
    Reviewed-on: https://chromium-review.googlesource.com/538295
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 3244736a5d350313c5639e24e22013aa01274e47
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 28 14:53:52 2017 -0400

    Use MemoryProgramCache.
    
    Add the member functions for saving and loading from the binary cache,
    and hook them into the Program class. Requires that the Renderer
    supports the program binary extension.
    
    BUG=angleproject:1897
    
    Change-Id: I2dc8d21b02da705ded58c5cd1943562c9c97c49b
    Reviewed-on: https://chromium-review.googlesource.com/522874
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 68dfe0c5c62b254f885cb32c4d77d62de7958ab0
Author: Frank Henigman <fjhenigman@gmail.com>
Date:   Thu Mar 9 17:03:54 2017 -0800

    WebGL tests which read outside framebuffer.
    
    Add tests for readPixels, copyTexSubImage2D and copyTexImage2D which
    attempt to read outside the framebuffer boundary.  readPixels and
    copyTexSubImage2D should not touch destination pixels which correspond
    to pixels outside the framebuffer.  copyTexImage2D should write (0,0,0,0)
    to those pixels.
    
    BUG=angleproject:1815
    
    Change-Id: I94042b5b08e319f28cb97d13613fe52514b67213
    Reviewed-on: https://chromium-review.googlesource.com/452728
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 13b49757d1464f631480cd44d81a128c1f17d39f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 28 13:34:57 2017 -0400

    Add base SHA-1 routines.
    
    We will need these to implement a more secure version of hashing for the
    program binary cache. These versions of lightly modified from the Chrome
    versions to make compilation simpler.
    
    BUG=angleproject:1897
    
    Change-Id: Ibcadb56c2316e3f39655a07fa28b5fbd6103e452
    Reviewed-on: https://chromium-review.googlesource.com/550000
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 96a483bc8fc077ea9ba191f4230fc7e759402922
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jun 27 16:49:21 2017 -0400

    Add a ResourceMap class for faster GL resource maps.
    
    This gives a very fast query time for handles that are within a fixed
    range. For WebGL, where we don't allow create-on-bind, this will be
    100% of the time, unless we create a very large number of resources.
    
    It is implemented as a two-tier map - the first uses a flat array to
    index into a handle buffer. The second tier uses a map for out-of-
    range values.
    
    BUG=angleproject:1458
    
    Change-Id: I421bb3725cf523918cdfdbfaab035ad0dd3bf82d
    Reviewed-on: https://chromium-review.googlesource.com/544684
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit c8a8b84353340374173803ccff9d8635ff92d9c6
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Wed Jun 28 01:16:41 2017 +0000

    Revert "Don't expose non-conformant multisampling modes on GL"
    
    This reverts commit 3cd0dd370f08e7126fe19b761206280c64f80cd1.
    
    Reason for revert: crashes on NVIDIA Shield TV
    https://build.chromium.org/p/chromium.gpu.fyi/builders/Android%20Release%20%28NVIDIA%20Shield%20TV%29/builds/1816
    
    Original change's description:
    > Don't expose non-conformant multisampling modes on GL
    >
    > Some NVIDIA GL drivers expose non-conformant multisampling modes. The
    > conformance of multisampling modes can be queried using the extension
    > NV_internalformat_sample_query. Use it to filter out the
    > non-conformant modes from the modes that are exposed by ANGLE.
    >
    > The MAX_SAMPLES value and other similar values stored in caps also
    > need to be lowered to match the maximum number of samples exposed
    > for required formats.
    >
    > There seems to be an NVIDIA driver bug related to querying
    > STENCIL_INDEX8 multisample format. Work around this by querying
    > DEPTH24_STENCIL8 instead.
    >
    > There's also some confusion around whether RGB9_E5 should be
    > renderable. Once the floating point texture extensions got rolled
    > into the core GL spec, it was eventually made clear that RGB9_E5
    > is intended not to be renderable. The extension specs that predate
    > float textures in the core spec do suggest that it would be
    > renderable, but in practice drivers that advertise the extension
    > strings don't reliably implement RGB9_E5 as renderable. Solve this
    > by disabling it as a renderable format and adding an explanatory
    > comment.
    >
    > BUG=chromium:682815
    > TEST=angle_end2end_tests,
    >      dEQP-GLES31.functional.state_query.internal_format.renderbuffer.*
    >
    > Change-Id: I2218e3a23ea7b48a0615fea77a91897dc7d5fe9e
    > Reviewed-on: https://chromium-review.googlesource.com/525515
    > Reviewed-by: Geoff Lang <geofflang@chromium.org>
    > Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    
    TBR=geofflang@chromium.org,jmadill@chromium.org,cwallez@chromium.org,oetuaho@nvidia.com
    
    # Not skipping CQ checks because original CL landed > 1 day ago.
    
    Bug: chromium:682815
    Change-Id: I1ebdf52c3fab1526f5a561ac4c8555e305ef2243
    Reviewed-on: https://chromium-review.googlesource.com/551164
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit af01a064062d54540801789a8683d34f0c6a20bb
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Wed Jun 28 00:16:27 2017 +0000

    Revert "Adds TUnorderedMap and uses it for tLevel in TSymbolTableLevel."
    
    This reverts commit c14348a2589e5d995f63019433175545ba90040b.
    
    Reason for revert: crashes in murmurhash on Nexus 6
    See https://build.chromium.org/p/chromium.gpu.fyi/builders/Android%20Release%20%28Nexus%206%29/builds/7865
    
    Original change's description:
    > Adds TUnorderedMap and uses it for tLevel in TSymbolTableLevel.
    >
    > Change-Id: I27ba7a41c599ef6f7fe68b22c27bd2a40175ddf9
    > Reviewed-on: https://chromium-review.googlesource.com/526672
    > Commit-Queue: Jamie Madill <jmadill@chromium.org>
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    
    TBR=jmadill@chromium.org,kbr@chromium.org,bajones@chromium.org,kainino@chromium.org,lethalantidote@chromium.org
    
    Change-Id: Id4a428430c6d286b910790ba7c30503c98ce728f
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Reviewed-on: https://chromium-review.googlesource.com/551235
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 1d72298b3096ed3b485a18bd82e7c91f3b99a7c3
Author: Kenneth Russell <kbr@chromium.org>
Date:   Tue Jun 27 14:36:03 2017 -0700

    Fix memory leaks in invariant tests.
    
    Tests weren't properly destroying the compiler instance.
    
    BUG=angleproject:2094
    
    Change-Id: I65eb5a02ba741c6f48f09f03b84ded402581e89f
    Reviewed-on: https://chromium-review.googlesource.com/550569
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Kenneth Russell <kbr@chromium.org>

commit ffe00c0324bd339de73e6d0a32cf3e7674bd1d5a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jun 27 16:26:55 2017 -0400

    Add program cache transform feedback workaround.
    
    On Qualcomm devices, they don't seem to correctly save transform
    feedback info. Work around this by disabling caching on these devices.
    This mirrors a Chromium workaround.
    
    BUG=angleproject:2088
    
    Change-Id: I6496d2fb6a03788379a6968bcd5eb3a9cb9d15d4
    Reviewed-on: https://chromium-review.googlesource.com/549981
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 761b02c816407e4ecc6a5646142c08bc93fff668
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 23 16:27:06 2017 -0400

    Add an applyNativeWorkarounds context impl hook.
    
    This method can allow the implementation to override the Context's
    workarounds. Use this design pattern now that we have access to the
    gl::Context everywhere - we don't need to cache a local copy in the
    Renderer objects.
    
    This will be used to apply a Shader Program Cache workaround on the
    GL level, that will only be used for the GLES back-end on Qualcomm.
    
    BUG=angleproject:2088
    
    Change-Id: I6da25c5c29c3ba01b8820c5234d1b92dd2d2121a
    Reviewed-on: https://chromium-review.googlesource.com/549980
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 5fdaa2e37a2bcc3c573e8a34071809df2e7651e6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 23 16:05:18 2017 -0400

    Reduce test failure spam in TransformFeedbackTest.
    
    The multicontext test could spam thousands of lines of error text
    when the test was broken. The test will still produce a lot of
    errors when everything is broken, but it will produce a lot less.
    
    BUG=angleproject:2088
    
    Change-Id: Ia07e28897de3aba28cc8468acf27d5c9f56193a4
    Reviewed-on: https://chromium-review.googlesource.com/549979
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c14348a2589e5d995f63019433175545ba90040b
Author: CJ Dimeglio <lethalantidote@chromium.org>
Date:   Mon Jun 5 23:03:28 2017 -0700

    Adds TUnorderedMap and uses it for tLevel in TSymbolTableLevel.
    
    Change-Id: I27ba7a41c599ef6f7fe68b22c27bd2a40175ddf9
    Reviewed-on: https://chromium-review.googlesource.com/526672
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 1951501938b2cfeba1819e9cb50f14bdf5a27ac0
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Jun 26 18:00:17 2017 +0300

    Refactor CollectVariables
    
    New helper functions are added for collecting built-in variables, and
    the traverser is encapsulated inside VariableInfo.cpp. The helper
    functions get data for built-in variables from the symbol table, so a
    duplicate copy of the data doesn't need to be maintained in
    CollectVariables any more.
    
    BUG=angleproject:2068
    TEST=angle_unittests
    
    Change-Id: I42595d0da0e5d4fb634a3d92f38db1dd6dd9efab
    Reviewed-on: https://chromium-review.googlesource.com/549323
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 0dc97810e5e4ed49d4a6c31d071550e618e9e25e
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Jun 22 14:38:44 2017 -0400

    WebGL2 Compat: having no 0 divisor is now valid
    
    BUG=angleproject:TBD
    
    Change-Id: Icb19a685290f4313ad567391cab5152eda91a346
    Reviewed-on: https://chromium-review.googlesource.com/544545
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Zhenyao Mo <zmo@chromium.org>

commit aed7c570c3afebe22c8447444551697f5c5f174e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 23 14:18:36 2017 -0400

    GL: Don't call seamless cube cap on GLES.
    
    This cap is only valid on desktop GL. There might be extensions
    where the feature is available as well, so we should follow up
    and check for the extensions as well.
    
    This fixes a Debug runtime warning in almost every end2end_test
    on GLES.
    
    BUG=angleproject:2085
    
    Change-Id: I5edc1c667b58230df903da82de2a8aceb0369c0c
    Reviewed-on: https://chromium-review.googlesource.com/546597
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit e7b963401d4858f5d15e084d060b16a189b7e48a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 23 15:06:08 2017 -0400

    Fix uint indices WebGL test to draw something.
    
    This test was specifying a draw with two indices instead of six.
    This wasn't producing any error on most configurations, but on
    Android it was producing a driver error that was only visible in
    Debug.
    
    BUG=angleproject:2086
    
    Change-Id: I7c3cee4cc10d6c37e3bac8ed9fbc16ecb2cb9e63
    Reviewed-on: https://chromium-review.googlesource.com/546539
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 8033165b5360987c4899b3f755b9db3b287f3ad6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 23 10:59:51 2017 -0400

    Don't use constexpr pair constructor in translator.
    
    Although this seems to compile and pass on our bots, the std::pair
    constructor with arguments is not constexpr until c++14. Instead
    use a helper struct which achieves the same goal.
    
    BUG=chromium:697758
    
    Change-Id: I0f9873729485a5059f79af969cb56f84706e6c98
    Reviewed-on: https://chromium-review.googlesource.com/545796
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c6a34b03bbce9110bf8c26f702f7edf093844ef7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 23 10:51:00 2017 -0400

    Add guards around dxgi_support_table.h.
    
    BUG=angleproject:2082
    
    Change-Id: I6f20502bac3c664d5ef8c6d65b244c37a5727f26
    Reviewed-on: https://chromium-review.googlesource.com/545458
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit c74ff571d6983e4490225feebd55c3652b69128c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jun 22 14:45:45 2017 -0400

    Consolidate TypedResourceManager::isXGenerated.
    
    BUG=angleproject:1458
    
    Change-Id: Ib5c561610ab6dbcf0f65d915dfe8a8ca21ebe7f3
    Reviewed-on: https://chromium-review.googlesource.com/544683
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 84a6c5b29e1c5815f49566df95768857edf9009a
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Jun 21 16:12:58 2017 -0400

    Perform all glXMakeCurrent in DisplayGLX
    
    This allows caching the current surface more efficiently than at the
    egl layer because we can take advantage of having only one backing
    context.
    
    BUG=angleproject:1651
    
    Change-Id: I62867b16ac5e06901a988dc41a3d4812accdb74c
    Reviewed-on: https://chromium-review.googlesource.com/543835
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 665e4d977b27c94fa512999b5c229dab96c98ac2
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jun 21 15:04:48 2017 -0400

    Perform all wglMakeCurrent calls from DisplayWGL.
    
    Display WGL is the best place to track the currently bound surfaces and
    contexts and cache them appropriately.  This results in a ~40% speed
    increase in the WebGL Aqarium demo because wglMakeCurrent is now only
    called once at initialization.
    
    BUG=angleproject:1651
    
    Change-Id: I61132bb4a0db8de592600173c20787c67d18e067
    Reviewed-on: https://chromium-review.googlesource.com/543583
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 579d8c7dfcfaeb44fc7a650cd151539d87eedcd2
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jun 21 14:56:55 2017 -0400

    Only use the last context for the texture completeness cache.
    
    The frequency of contexts switches is very slow compared to draw calls.
    Instead of doing a map lookup, only store the completeness cache for the
    last context used with the texture.
    
    BUG=angleproject:2078
    
    Change-Id: Ia24c891e1b5781b61fd463ce70e90d4b394c6f8a
    Reviewed-on: https://chromium-review.googlesource.com/542946
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 65ec0b2ec4e19ef7cbebeef58122089785cc8890
Author: Xinghua Cao <xinghua.cao@intel.com>
Date:   Tue Mar 28 16:10:52 2017 +0800

    ES31: Add support for bindImageTexture on GL backend
    
    This patch refers to https://chromium-review.googlesource.com/c/380636/
    
    BUG=angleproject:1987
    
    Change-Id: If621eed6ecaa7298214843a2a133801ca1487b03
    Reviewed-on: https://chromium-review.googlesource.com/462088
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 7a20b97396073d34af4f94140fc0ef2cb94b92e9
Author: jchen10 <jie.a.chen@intel.com>
Date:   Tue Jun 13 14:25:26 2017 +0800

    Refactor uniform block binding
    
    Remove mUniformBlockBindings and move its bindings to mUniformBlocks.
    
    BUG=angleproject:1442
    
    Change-Id: I62b4471990a44e626d2357c41cb914abc27cb18f
    Reviewed-on: https://chromium-review.googlesource.com/532834
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit db9e5d31129abb16c5268897f157ed7d6ebb3b74
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Jun 12 12:05:45 2017 -0700

    D3D11: Only apply attachments that are written by the program
    
    This works around a bug in the AMD driver that writes 0's to the
    first attachment if it isn't written by the pixel shader.
    
    BUG=angleproject:2048
    
    Change-Id: I384fd60c0e0a37fbc0fd7b69fe1ec74fe4ffac8f
    Reviewed-on: https://chromium-review.googlesource.com/531630
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit cce8965d2c58daefb067c5de32b13ed0ffa3abe4
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Jun 19 16:04:09 2017 +0300

    Remove most of the remaining logic from glslang.y
    
    Move most of the logic in glslang.y to ParseContext. This will make it
    easier to change the code in the future.
    
    Only a few specific bits of logic are kept in glslang.y:
    
    * Disabling a parsing rule when a given shading language version is
      being parsed. This makes it easier to check the grammar against the
      grammar in the GLSL ES specs.
    * Scoping calls that need to be paired with another call. It's much
      easier to check these for correctness when the paired calls are next
      to each other.
    
    BUG=angleproject:911
    TEST=angle_unittests
    
    Change-Id: I52f42a1fc0f28463ca4b237dc6e88345e5173064
    Reviewed-on: https://chromium-review.googlesource.com/539640
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 83dde7b9e4b47c4435c4695efde6c27e8f0d37f5
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jun 21 15:02:54 2017 -0400

    Use the std::unordered_map::at method instead of operator[].
    
    It is known that the entry exists in the map, the at operator is slightly
    faster in this case.
    
    BUG=angleproject:2079
    
    Change-Id: I3a64212293fa0320f3df5327e92d11eb7ef28c4f
    Reviewed-on: https://chromium-review.googlesource.com/543683
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit da066657e041d2bc3e67aeeed91feb3a32a7308f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 21 11:33:48 2017 -0400

    Fix invalid storage recovery on FL 9_3.
    
    This problem was uncovered when I inadvertently changed TextureD3D to
    delete its storage before its images. Small mips of compressed
    textures must use a nullptr argument to CopySubResource, otherwise
    the runtime complains about un-aligned sizes.
    
    Also change the class to delete the Images before the Storage again
    so we don't wastefully recover the images before deleting them. Also
    change the Image pointers to use std::array and std::unique_ptr.
    
    BUG=angleproject:1156
    BUG=angleproject:2077
    
    Change-Id: Idb2e53835b7a9b973285ff0781f70b25f05c77aa
    Reviewed-on: https://chromium-review.googlesource.com/543438
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 6be3d4cd9be84888b2767a07b65df3970a246125
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jun 16 15:54:15 2017 -0400

    Fix incorrect format set being used for destination copy formats.
    
    This validation matches Chrome's.
    
    BUG=angleproject:1932
    
    Change-Id: I2dc75c21924231ab75000dff92ef92cbc12adf55
    Reviewed-on: https://chromium-review.googlesource.com/538956
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit e7bd218c3efaf59367dbf8f71fbb68dc1de8d7bf
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jun 16 16:13:13 2017 -0400

    Accept GL_FRAGMENT_SHADER_DERIVATIVE_HINT in ES3 contexts.
    
    BUG=angleproject:2070
    
    TEST=deqp/functional/gles3/shaderderivate_dfdx
    TEST=deqp/functional/gles3/shaderderivate_dfdy
    TEST=deqp/functional/gles3/shaderderivate_fwidth
    
    Change-Id: I4e10343036a813c122ca41913324051b5c02e785
    Reviewed-on: https://chromium-review.googlesource.com/538861
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 914b79a60f2b0e6f76b9369595d5d1658ef0f97a
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Jun 19 16:03:19 2017 +0300

    Fix parsing GLSL loop conditions that declare a variable
    
    Now the variable declaration is included in the AST, so that the loop
    body may refer to the variable. The variable declaration is placed in
    a block that wraps the loop. This way we can still only have
    TIntermTyped loop conditions in the AST, which keeps the code dealing
    with loops fairly simple and type safe.
    
    This change includes reversing the return value of executeInitializer,
    so that it returns true on success and false on error. This is more in
    line with other ParseContext member functions.
    
    BUG=angleproject:2073
    TEST=angle_end2end_tests
    
    Change-Id: I5c4ecbf1b438d3fff6d6237c0dcf191e2a19664c
    Reviewed-on: https://chromium-review.googlesource.com/539639
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 8700a98eea05d8c33fe8dde920ca998a8341a4b0
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jun 13 10:15:13 2017 -0400

    Fix missing return statement in VertexFormat validation.
    
    BUG=angleproject:2063
    
    Change-Id: Idc1c7b42ed0a2545d9ad4f3c645d0dea2c85c11e
    Reviewed-on: https://chromium-review.googlesource.com/533273
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 4928b7caac5d77501cb5dee71a3ae2f418e64176
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jun 20 12:57:39 2017 -0400

    Proliferate gl::Context everywhere.
    
    This gives the D3D back-end access to the GL state almost anywhere.
    This uses the onDestroy hook for Textures to push errors up from
    destructors, although they still don't quite make it to the Context.
    
    There are places, such as in EGL object (Context/Surface) destruction,
    where we end up calling through to GL implementation internals without
    having access to a gl::Context. We handle this via a proxy Context
    to a Display, basically a null context, that has access to impl-side
    state like the Renderer pointer if necessary. It does not have access
    to the normal GL state.
    
    Also Pass gl::Context to RefCountObject::release(). Since we're using
    destroy() methods now, we should not ever call the destructor directly.
    
    BUG=angleproject:1156
    
    Change-Id: Ie4c32ad6bf6caaff0289901f30b5c6bafa2ce259
    Reviewed-on: https://chromium-review.googlesource.com/529707
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 35bcad4295ac9db8a2a13dbf2bdf004d95ace79f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jun 6 15:12:27 2017 -0400

    Optimize builtin function emulator class.
    
    This refactor uses a generator to produce static arrays instead of
    using a bunch of std::map inserting statements. It speeds up shader
    translation because every shader compile would create and tear down
    this table.
    
    Currently it is implemented as a flat array, but in the future we
    could use compile-time hashing to implement faster lookup.
    
    BUG=chromium:697758
    
    Change-Id: I689f7de4d9b2c8c76095bb313f4c040116fc61d2
    Reviewed-on: https://chromium-review.googlesource.com/521226
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>

commit a71a98ee22167bd814a448fb932535ba0ca63084
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jun 19 15:15:00 2017 -0400

    Allow '\' characters in shader source for WebGL2.
    
    TEST=deqp/data/gles3/shaders/preprocessor.html
    
    BUG=angleproject:2016
    
    Change-Id: Ia5240a1ff65ebadc15604a5c3eb63042953c43a5
    Reviewed-on: https://chromium-review.googlesource.com/540198
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 672f7f3f467002c3408940cf648e668313bda957
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Jun 15 17:42:17 2017 -0400

    WebGL Compat: forbid client side arrays, even unused
    
    BUG=angleproject:2064
    
    Change-Id: I9a9c2df9a158799dbdc490446352cdf30fb87ca6
    Reviewed-on: https://chromium-review.googlesource.com/537812
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 6260b7aa22b3718c1ad94eb702c37b4c460210f7
Author: Bruce Dawson <brucedawson@chromium.org>
Date:   Mon Jun 19 11:07:19 2017 -0700

    Fix kResourceTypeNames initialization
    
    Due to a missing comma the kResourceTypeNames array contained a single
    long (concatenated) string instead of NumResourceTypes independent
    strings.
    
    This incorrect initialization caused a crash in out-of-memory
    situations, but this was only noticed on VC++ 2017 for some reason.
    
    This fix adds the missing comma and uses a static_assert to ensure that
    the array is initialized correctly.
    
    BUG=chromium:727671,728226,731089
    
    Change-Id: I9f0f3d3725b9f773505506513afb6c349db3a7fb
    Reviewed-on: https://chromium-review.googlesource.com/539536
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 3cd0dd370f08e7126fe19b761206280c64f80cd1
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Jun 6 14:43:30 2017 +0300

    Don't expose non-conformant multisampling modes on GL
    
    Some NVIDIA GL drivers expose non-conformant multisampling modes. The
    conformance of multisampling modes can be queried using the extension
    NV_internalformat_sample_query. Use it to filter out the
    non-conformant modes from the modes that are exposed by ANGLE.
    
    The MAX_SAMPLES value and other similar values stored in caps also
    need to be lowered to match the maximum number of samples exposed
    for required formats.
    
    There seems to be an NVIDIA driver bug related to querying
    STENCIL_INDEX8 multisample format. Work around this by querying
    DEPTH24_STENCIL8 instead.
    
    There's also some confusion around whether RGB9_E5 should be
    renderable. Once the floating point texture extensions got rolled
    into the core GL spec, it was eventually made clear that RGB9_E5
    is intended not to be renderable. The extension specs that predate
    float textures in the core spec do suggest that it would be
    renderable, but in practice drivers that advertise the extension
    strings don't reliably implement RGB9_E5 as renderable. Solve this
    by disabling it as a renderable format and adding an explanatory
    comment.
    
    BUG=chromium:682815
    TEST=angle_end2end_tests,
         dEQP-GLES31.functional.state_query.internal_format.renderbuffer.*
    
    Change-Id: I2218e3a23ea7b48a0615fea77a91897dc7d5fe9e
    Reviewed-on: https://chromium-review.googlesource.com/525515
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 30ca54f49e86b1f90756b294113f44ae4f6eae9d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 19 11:45:06 2017 -0400

    D3D11: Fix mingw64 build.
    
    Two small build errors were breaking ming64.
    
    BUG=angleproject:2071
    
    Change-Id: Ia5c8e629e77c09f151b888364e92475b4c3f1709
    Reviewed-on: https://chromium-review.googlesource.com/539796
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 125e220e11d44c27a248cbc5511ce653c13d0da7
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jun 19 13:23:18 2017 -0400

    Track LevelInfoGL per cube map face.
    
    When transitioning between formats in cube maps, tracking of luma
    workaround information would become incorrect because it was only tracked
    per-level.
    
    There are no failing tests due to this because once the cube map is
    complete again, the tracking is correct.
    
    TEST=conformance/more/conformance/quickCheckAPI-S_V.html
    
    BUG=angleproject:2074
    
    Change-Id: If4e1e94061208f0cf3668b2bd6be59a9a21e42b6
    Reviewed-on: https://chromium-review.googlesource.com/539956
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit fe54834f9fe5f197e704afea45ac55bc941bc2bb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 19 11:13:24 2017 -0400

    Proliferate gl::Context.
    
    This enables a few small things: it will enable making the platform
    a property of the Display rather than a global. The same goes for the
    global logging annotator. Also it ensures all back-end implementations
    have access to the GL / EGL state when available.
    
    Also introduces a smart pointer helper class to angleutils for objects
    that prefer to be destroyed with a context (gl::Context/egl::Display)
    parameter. We were using std::unique_ptr in a few places that would
    not work well with these objects.
    
    BUG=angleproject:1156
    
    Change-Id: I59e288a3d6f766ff8a0f4b48ff3a1fbf7489daba
    Reviewed-on: https://chromium-review.googlesource.com/529706
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 61e16b449e4104f9218b42e0cba40190162aedeb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 19 11:13:23 2017 -0400

    Context: Bind current display/surface.
    
    Looking at the EGL spec, it says for eglGetCurrentDisplay:
    
    "The display for the current context in the calling thread, for the
    current rendering API, is returned."
    
    This implies that MakeCurrent binds a display to a Context. There's
    also pretty clear language for the read/draw Surface as well, that
    they can only be bound to one Context/thread at a time. Hence we
    don't need to duplicate this storage in the egl::Thread structure,
    merely storing a pointer to the current Context, which has access
    to the read/draw Surface and current Display.
    
    BUG=angleproject:1156
    
    Change-Id: Ia3b99d50b3591012c43e851834c1af02ff62a33f
    Reviewed-on: https://chromium-review.googlesource.com/538865
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 12b0b399aaa22d0f5df0784997753f74ecdb8e36
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue May 30 13:22:31 2017 +0300

    Clean up ValidateOutputs
    
    Remove the validateOutputs method from Compiler and replace it with a
    static method alongside the traverser. This encapsulates the
    ValidateOutputs implementation better.
    
    TEST=angle_unittests
    BUG=angleproject:2068
    
    Change-Id: I1788cb9726db41ca35fd0e746f8d48ced7fee74f
    Reviewed-on: https://chromium-review.googlesource.com/535477
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit bb1b19b65d154d3a75161f74ff26868aa058fdb8
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jun 16 16:59:00 2017 -0400

    Generate INVALID_OPERATION when the copy texture destination level is missing.
    
    TEST=conformance2/textures/misc/tex-image-with-bad-args-from-dom-elements
    
    BUG=angleproject:1932
    
    Change-Id: I6e0e9213d86a72aa092131189ecaefa60afa4194
    Reviewed-on: https://chromium-review.googlesource.com/538864
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 638c7277e62f1570fbeda42d97c36ca96f7b57fe
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jun 13 15:50:26 2017 -0400

    Implement EGL_KHR_surfaceless_context for D3D, GL and NULL backends.
    
    Skip all config attributes that have the value of EGL_DONT_CARE.  From the
    EGL 1.5 spec: "If EGL_DONT_CARE is specified as an attribute value, then
    the attribute will not be checked.".
    
    BUG=angleproject:1651
    
    Change-Id: I30c95a1970543fb6f1d4b02d2babf3df61cad543
    Reviewed-on: https://chromium-review.googlesource.com/533937
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit e72595b460d3b160bcc177f505a3c51a118e3c73
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jun 6 15:12:26 2017 -0400

    Rename EOpFaceForward to EOpFaceforward.
    
    This mirrors the spec naming and makes auto-gen a little easier.
    
    BUG=chromium:697758
    
    Change-Id: I9bcbc2c874b9a93a6d542aedf2b239f01ee708ce
    Reviewed-on: https://chromium-review.googlesource.com/526393
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit d04908bc0ee5e8a35d8fb424260ad31d073b523a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 9 14:15:35 2017 -0400

    Refactor ProgramBinary entry points.
    
    These will need to set dirty bits for the program, and this is best
    done via the Context.
    
    BUG=angleproject:747
    
    Change-Id: I1379d2d4be0e94206c0aa7cb1546aa1a591f23ff
    Reviewed-on: https://chromium-review.googlesource.com/529767
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 2648d9297f25a0d1fa2837f020975a45d4e8a8b9
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jun 15 11:36:47 2017 -0400

    Fix scanForWantedComponents not ignoring attribute values of 0.
    
    Slightly refactor scanForWantedComponents to not iterate over every
    attribute and only check the needed ones.
    
    BUG=angleproject:2069
    
    Change-Id: I77bab7764552093f79472809aad3594be351831a
    Reviewed-on: https://chromium-review.googlesource.com/537132
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 165dcf15f8fa8fd1f9aa60096d040a20096fdba3
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jun 7 15:05:14 2017 -0400

    Allow CHROMIUM_copy_texture to copy to non-zero mips.
    
    Fix some errors in the GL backend related to source and destination mipmap
    targets.
    
    BUG=angleproject:1356
    
    Change-Id: I030529c8626f3bc30dbb4f7f859a02ba56e315e3
    Reviewed-on: https://chromium-review.googlesource.com/527653
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 8d471f907d8d4ec1d46bc9366493bd76c11c1870
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jun 13 16:05:35 2017 -0400

    Make distinct header guards for anglebase.
    
    BUG=angleproject:2065
    
    Change-Id: I7783d4866a2e16e0cee79aecccb6d5ee1b74165d
    Reviewed-on: https://chromium-review.googlesource.com/533724
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 97ee65488430a8612a39eb84e09c5f4aa368714f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 7 17:06:05 2017 -0400

    Shunt more code to StateManager11.
    
    Previously the Renderer11 would call directly into the state manager
    sync methods. Instead make a single updateState method, and make
    several state sync methods private to the manager. Also rename them
    to clarify they're for syncing state, not for direct use.
    
    BUG=angleproject:1156
    
    Change-Id: I94880a744e7ade3895fa2a312a2436ba4ef38dba
    Reviewed-on: https://chromium-review.googlesource.com/529705
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit fb05bcbacca837fe9cebfe6c7649c5885db3fbbb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 7 15:43:18 2017 -0400

    Move the vk Serial class to renderer_utils.
    
    This can be useful for other back-ends, for various types of state
    management. Also redesign the class to use an opaque factory instead
    of an increment operator. The class maintains the property of being
    ordered. Also assume we don't overflow with 64-bit serials. We could
    maybe redesign this to use 32-bit serials for memory constrained
    situations, and handle overflow more gracefully.
    
    I plan to use the serials to track state revisions for the vertex
    array class, to avoid doing redundant work.
    
    BUG=angleproject:1156
    
    Change-Id: I02c78b228bc6e2fb3ee786fe67a4e607baaca18e
    Reviewed-on: https://chromium-review.googlesource.com/529704
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c174db3a03efebfefd0189e24ad7e435cb54bcdf
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jun 13 15:44:00 2017 -0400

    D3D11: Apply a non-null blendstate in masked depth clear.
    
    In https://chromium-review.googlesource.com/c/453888/, we changed how
    blendstates were applied in masked clears. This change would apply a
    null blendstate when all color channels were disabled, but this seems
    to have an issue on Intel Cherry View drivers. Work around this issue
    by restoring the prior functionality of making a simple masked blend
    state.
    
    Also clean up some of the code style in the Clear11 class.
    
    BUG=chromium:730126
    
    Change-Id: I9a4044201b2f07e9483525513a59e19bb2a8bcd3
    Reviewed-on: https://chromium-review.googlesource.com/533684
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit dbcced8e67e70af3791ee5f7d5040c2572fee651
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jun 6 15:55:54 2017 -0400

    When validating image size, use format for SubImage calls.
    
    internalFormat is GL_NONE when validating these calls for glTexSubImage
    and leads to an expected minimum size of 0.
    
    Add extra unsized formats that are never supported to the format tables.
    These are needed for determining the size of input data.
    
    BUG=angleproject:2054
    
    Change-Id: Ic827a279a246ff92c9f279232574521692b1c6f2
    Reviewed-on: https://chromium-review.googlesource.com/526356
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit f18b8606111743080cb5545cfff2dcb63430fcbd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jun 13 15:39:40 2017 -0400

    Attempt to fix gyp build RangeChecks error.
    
    This puts explicit dependencies from white_box_tests and perftests
    on libANGLE. There may be one or two other places where it is
    necessary.
    
    BUG=None
    
    Change-Id: Iaa7ea2cade8313c00a396a38f99b5bc8006105db
    Reviewed-on: https://chromium-review.googlesource.com/533676
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d222d45425b8b72dab8ef04f8fb8f20746f6f73a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jun 6 17:48:35 2017 -0400

    Use HashingMRUCache in InputLayoutCache.
    
    This simplifies the state management code inside this manager. Also
    it should improve the speed of lookups due to using hashing instead
    of a tree lookup.
    
    BUG=angleproject:1156
    BUG=angleproject:2044
    
    Change-Id: I19ea8dbac6f2dfd7d30dd403d77b66ba0aa85d73
    Reviewed-on: https://chromium-review.googlesource.com/527693
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 34ca4f5bd00b741817bf9dd13bf54759df2c6e07
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jun 13 11:49:39 2017 -0400

    Remove Shader::getSemanticIndex.
    
    This method doesn't really belong to GL, and was only used by the D3D
    back-end to compute some attribute indexes. Simplify the code by
    moving it into ProgramD3D. Also add the ability for the ShaderImpl to
    assert that any pending compiles have resolved.
    
    BUG=angleproject:1156
    
    Change-Id: I0af3d3082ff8c908e6a87b9734989efbefd28808
    Reviewed-on: https://chromium-review.googlesource.com/526336
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit cabdd1a0314054c7e41ba1f475900d70fc52a39c
Author: Shao <jiawei.shao@intel.com>
Date:   Fri Jun 9 08:33:07 2017 +0800

    Clean up coding style issues in InstancingTest.cpp
    
    This patch intends to clean up all coding style issues in
    InstancingTest.cpp.
    1. Replace SHADER_SOURCE by std::string
    2. Use (expected, actual) as the order of the parameters
       in ASSERT_NE
    3. Replace C-style type cast operators into C++ ones.
    4. Use ANGLE_GL_PROGRAM to build shader programs
    5. Use constexpr when necessary
    6. Other format changes done by 'git cl format'
    
    BUG=angleproject:2005
    
    Change-Id: I37d866c5df681160a66226bf5927dd6e00a6d6b2
    Reviewed-on: https://chromium-review.googlesource.com/528649
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit dd5f27eee039d909b2400b1a78a378f18cc0fa7f
Author: Martin Radev <mradev@nvidia.com>
Date:   Wed Jun 7 10:17:09 2017 +0300

    Make VertexBinding's member variables private
    
    The patch decorates all members in VertexBinding as private and limits
    access to them only through getters and setters. This makes it easier to
    debug and keep track of any assignments to the class members.
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    
    Change-Id: Iddd49063d060f136bc9cf11c313a5af0931d433c
    Reviewed-on: https://chromium-review.googlesource.com/530786
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit cdadb3ff4329ce9d3630efc615f6b3ee48d4a75d
Author: Martin Radev <mradev@nvidia.com>
Date:   Fri Jun 9 15:13:30 2017 +0300

    Decouple ANGLETest functionality and test parameters
    
    ANGLETest provides useful functionality for end2end tests, but it
    cannot be used for tests which take other test parameters than the
    platform. The patch introduces another level of abstraction by moving
    all of ANGLETest's functionality to another class - ANGLETestBase -
    which does not inherit from ::testing::TestWithParam<>. New tests can
    either inherit from ANGLETest as before to have only platform
    parameters, or they can inherit from ANGLETestBase and add handling
    of custom test parameters.
    
    Example:
    
    // The new parameter type must inherit from PlatformParameters.
    struct MyCustomParameters : PlatformParameters
    {
        bool mWorkaroundState;
    };
    
    class MyTest : public ANGLETestBase,
                   public ::testing::TestWithParam<MyCustomParameters>
    {
        protected:
        void overrideWorkaroundsD3D(
            angle::WorkaroundsD3D *workaroundsD3D) override
        {
            workaroundsD3D->myCustomWorkaround = GetParam().mWorkaroundState;
        }
    
    };
    
    ANGLE_INSTANTIATE_TEST(MyTest, MyCustomParameters(ES3_D3D11(), false),
                                   MyCustomParameters(ES3_D3D11(), true));
    
    BUG=angleproject:2062
    TEST=angle_end2end_tests
    
    Change-Id: Ia36e429cff8c4c291fc87a286a1d1a3004d6fad6
    Reviewed-on: https://chromium-review.googlesource.com/530945
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 9f01a0d48d2ff01360569930c3fac46729e3cfd3
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Jun 12 10:54:53 2017 +0300

    Fix RewriteElseBlocks using a non-prefixed struct name
    
    RewriteElseBlocks used to have an issue where it could add an
    unprefixed struct name to the AST in a TIntermRaw node, as opposed to
    the prefixed name that the struct would be defined with. Use a proper
    return statement node instead of a raw node to fix this issue and make
    the code more robust.
    
    BUG=angleproject:2061
    TEST=angle_unittests
    
    Change-Id: I3993b5093646983f038268f3a5ffe26ccdae66e8
    Reviewed-on: https://chromium-review.googlesource.com/530785
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 4f86d053b3f6bd60aa28bea9398139c3151e662c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 5 12:59:26 2017 -0400

    Introduce MemoryProgramCache.
    
    This class will manage GPU binary programs in memory. It will be
    owned by the Display, and shared between Contexts. Currently this
    CL just refactors the Program binary saving and loading into static
    members of this new class.
    
    BUG=angleproject:1897
    
    Change-Id: I34f5afb2c02416f6fd80dd65ba3827a8637ce190
    Reviewed-on: https://chromium-review.googlesource.com/522873
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 9cf9e871a6bd2712df6b48efe1cd20b8391bbf10
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 5 12:59:25 2017 -0400

    Move LinkResult to the gl:: namespace.
    
    This is a derived type from gl::Error so makes sense to be there.
    Also makes it more accessible than in ProgramImpl.h
    
    BUG=angleproject:1897
    
    Change-Id: Id41b13e5a072745d8c361057f5bef8f152e0452b
    Reviewed-on: https://chromium-review.googlesource.com/522872
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 83418fb19d7295cbae8e6d4445b36fd62a0ed66e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 5 12:59:24 2017 -0400

    Don't allow for error in ProgramImpl::save.
    
    Refactoring cleanup patch only.
    
    BUG=angleproject:1897
    
    Change-Id: I6d12de5dab16ead9684886a1cf15b570e3c98156
    Reviewed-on: https://chromium-review.googlesource.com/522871
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 8832376105d05e29495952b6d6b91b0fd72e4377
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 9 12:48:32 2017 -0400

    Introduce SizedMRUCache.
    
    This class is an MRU cache for sized objects, like Textures or
    Program binaries. It is based on the base::HashingMRUCache type,
    and evicts objects automatically.
    
    BUG=angleproject:2044
    
    Change-Id: I83859a0388f984e872fb9209e4c9efbf5d6c93f1
    Reviewed-on: https://chromium-review.googlesource.com/517380
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c084de14508c2b1355a1238128e71e5d4b8af672
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Jun 5 14:28:52 2017 -0700

    ProgramD3D: only broadcast when the GL_EXT_draw_buffers is enabled
    
    The behavior is undefined in GL ES when multiple attachments are used
    with gl_FragColor but WebGL clarifies that:
     - If the extension is enabled, broadcast happens
     - If the extension isn't enabled, only the first attachment is written
    
    BUG=angleproject:2048
    
    Change-Id: I6d85ba91df77d42fb8863a03f1faa006cd7817bf
    Reviewed-on: https://chromium-review.googlesource.com/523809
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 0492d4479799f296c4b1db4cb4ea465bacc8cec0
Author: Kai Ninomiya <kainino@chromium.org>
Date:   Wed Jun 7 13:45:15 2017 -0700

    Move murmurhash to src/common/third_party
    
    Bug: chromium:697758
    Change-Id: I8a3a990b14cde0fdd45319d593040bfc571abf3e
    Reviewed-on: https://chromium-review.googlesource.com/527602
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 60f6eb20ed837fe259040b45216d709788297393
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Mon May 8 15:34:46 2017 -0400

    Add WebGL test that draws to missing attachment.
    
    In WebGL one can Clear, DrawArrays, and DrawElements to a framebuffer
    with a missing attachment with no error.
    
    BUG=angleproject:1822
    
    Change-Id: I4dece2fa8fad31c812e24ae18bdc380c2857a1f8
    Reviewed-on: https://chromium-review.googlesource.com/502967
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit 4cdac9ebd1c06c091ab776af2cec2b0ee05125f2
Author: jchen10 <jie.a.chen@intel.com>
Date:   Mon May 8 11:01:20 2017 +0800

    ES31: Add atomic counter for GLSL parsing
    
    This makes shader compiler support the new basic type 'atomic_uint'
    and validate its layout qualifiers properly.
    
    BUG=angleproject:1729
    TEST=angle_unittests:AtomicCounterTest
         angle_deqp_gles31_tests:dEQP-GLES31.functional.atomic_counter.layout.invalid*
         angle_deqp_gles31_tests:dEQP-GLES31.functional.debug.negative_coverage.*.atomic*
    
    Change-Id: Ia237eadf6ea72314f436a0abbb93a05598e71eba
    Reviewed-on: https://chromium-review.googlesource.com/500088
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 2cd45629d015f0eacbb134e860c3ac795d9cac80
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jun 8 20:14:13 2017 -0400

    D3D11: Consolidate Vertex Buffer application.
    
    With this change, IASetVertexBuffers is only called from a single
    code site in StateManager11. All other classes call through to here.
    This will make adopting the dirty bits for InputLayouts and VBs much
    simpler.
    
    BUG=angleproject:2052
    
    Change-Id: I6e7b6146deb7f80f5f0e75dd0aff18eb4cc2bfc2
    Reviewed-on: https://chromium-review.googlesource.com/524232
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 863b62361bfebd1a1f2093fc860ea1fa8fee4699
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jun 8 11:18:49 2017 -0400

    Refactor redefineImage and track dirty images properly.
    
    Several issues showed up in testing with WebGL:
     * Images should only be forcefully re-defined when there is no data to
       upload.
     * After an image is marked dirty, a later call to subImage would cause
       assertion failures because the texture storage would try to verify that
       the image was not dirty, don't try to copy directly to storage in this
       case.
    
    BUG=angleproject:1635
    
    Change-Id: I9e5d83850d743b7d4d2db938312ee5c35a3a79ee
    Reviewed-on: https://chromium-review.googlesource.com/527348
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 982f6e0125af4eaa40ee05157d27cbbd9259d969
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 7 14:33:04 2017 -0400

    Improvements to the gl::Range class.
    
    Make this a proper class, fix the extends method (previously did not
    work as expected), add a contains method, and add tests. Also add an
    iterator helper class so we can iterate over the range with range-for
    loops.
    
    This also fixes the shader resource unsetting code, which was not
    actually unsetting all the possible applied textures.
    
    BUG=angleproject:2052
    
    Change-Id: I2a6fa97f96ccb612ad01a5e3f24dc869c54c967b
    Reviewed-on: https://chromium-review.googlesource.com/527318
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 165361cabd2a9fe1e055fc7c8bbed900326facae
Author: JiangYizhou <yizhou.jiang@intel.com>
Date:   Wed Jun 7 14:56:57 2017 +0800

    Entry point refactoring
    Refactor texStorage2D and texStorage3D.
    
    BUG=angleproject:747
    Change-Id: Id5ab6bbff5ce6debc84318e28b12683bf8b106b1
    Reviewed-on: https://chromium-review.googlesource.com/526371
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 5ea762a660f9b042539c4f5eb7c738a48df03a54
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 7 14:59:51 2017 -0400

    Consolidate base:: imports.
    
    This merges the mrucache and numerics into one folder, to prevent
    having to make two identical versions of logging.
    
    BUG=angleproject:2044
    
    Change-Id: Iba6dab05b21eb9ba0de44f27a90579c590a9a7fd
    Reviewed-on: https://chromium-review.googlesource.com/522870
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c4d18aac0a4d65566652814402f6c4902e89395b
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Mar 9 18:45:02 2017 -0500

    Use ErrorStream everywhere
    
    Eliminates one more usage of FormatString and its static initializer.
    
    Add more ErrorStream types
    and replace gl::Error and egl::Error with them.
    
    BUG=angleproject:1644
    
    Change-Id: Ib498d0ae4b81a332ec71aed7cf709993b154e6bb
    Reviewed-on: https://chromium-review.googlesource.com/505429
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 794607025b69599dd2607391cb13e51f39423f5d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jun 6 15:30:45 2017 -0400

    Don't discard the storage on forceRelease, simply mark the image as dirty.
    
    It was overkill to always destroy the storage, especially for cube maps.
    Instead, just make sure the image thinks it's dirty when robust resource
    init is enabled so that it is always copied to the storage after
    redefinition.
    
    BUG=angleproject:1635
    
    Change-Id: Ieba065d1873ca66a216bd05f4f8afa9c75349ff9
    Reviewed-on: https://chromium-review.googlesource.com/526295
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 966cb898b8c0487299e17f1b4edbf0475f1f47ab
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 5 16:08:27 2017 -0400

    D3D11: Don't dirty all uniforms on program change. (2/2)
    
    Second patch for addressing missed comments.
    
    BUG=angleproject:2053
    
    Change-Id: I1268d571913f8ce7efa7b94a5d4e47cf9a80c3c0
    Reviewed-on: https://chromium-review.googlesource.com/526275
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit dcc9b51deebab6dba2c729b0c29e41f53227f5c4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 5 15:28:45 2017 -0400

    D3D11: Consolidate input layout application.
    
    This merges all calls to IASetInputLayout to a single place in
    StateManager11. This means we no longer have to invalidate the state
    for D3D11, and can always lazily apply the input layout state.
    
    Introduces a new ResourceSerial class to replace the uintptr_t and
    DirtyPointer design.
    
    BUG=angleproject:2052
    
    Change-Id: I76b874218b754395f25a129967c769b1f8f82115
    Reviewed-on: https://chromium-review.googlesource.com/523025
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 07b363656b839ba7abfc0b77e07c81ba6013fdd4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 5 16:08:27 2017 -0400

    D3D11: Don't dirty all uniforms on program change.
    
    Only dirty the uniforms if the uniforms are dirty. This gives about a
    20% reduction in ANGLE overhead on a targeted micro-benchmark. It
    probably won't have that large of an impact on most real-world
    applications, but it was strictly unnecessary work.
    
    Something that came up when investigating the internal program binary
    cache in ANGLE D3D11.
    
    BUG=angleproject:2053
    
    Change-Id: I2d55c010c29ce9627a9001dd2abe6e549f0b7e8c
    Reviewed-on: https://chromium-review.googlesource.com/524297
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 10bed9fc0634ed2a1fa2061d4c9dfe9068e523af
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 5 12:59:22 2017 -0400

    Minor optimizations to DynamicHLSL.
    
    This makes us use std::ostringstream in more places, instead of
    string concatenation.
    
    BUG=chromium:697758
    
    Change-Id: Ifdcaa2e7e119664fc9cfdc566ea13b519a294714
    Reviewed-on: https://chromium-review.googlesource.com/521729
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit bb1e750cb5929c7e817ad58b8f018fe40697e722
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jun 5 16:40:09 2017 -0400

    Validate that structure names match when linking uniforms.
    
    GLSL 1.017 4.2.4:
    Structures must have the same name, sequence of type names, and
    type definitions, and field names to be considered the same type.
    
    TEST=conformance/glsl/misc/shaders-with-uniform-structs
    BUG=angleproejct:2013
    
    Change-Id: Ieedaaca2d28ef4e1cc0b5480f413ebd513c1dc1f
    Reviewed-on: https://chromium-review.googlesource.com/524036
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit f2a060356f09f48117424e9058bd75524be90010
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jun 5 14:07:36 2017 -0400

    Force-release images on redefine when robust resource init is enabled.
    
    If the user repreatedly calls glTexImage with null data and the same size,
    it is expected that the texture would re-fill itself with zero'd data.
    TextureD3D and ImageD3D would no-op these calls when the texture is
    already the right size.
    
    TEST=conformance2/rendering/blitframebuffer-filter-outofbounds
    BUG=angleproject:1635
    
    Change-Id: I810b15922759a4acfc0ef7da198f068b81e9efc4
    Reviewed-on: https://chromium-review.googlesource.com/524436
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 93a540fc65ab49ae6b90c966bbfc206e770cbb88
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jun 5 14:26:47 2017 -0400

    D3D11: Reset the TF binding offsets when glBeginTransformFeedback is called.
    
    BUG=angleproject:2051
    
    Change-Id: I09e8548ef76b7d824743d06b0bba21633bc40a24
    Reviewed-on: https://chromium-review.googlesource.com/523671
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit bd044ed8b1c098d78a41e81e674f1530002b57c7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 5 12:59:21 2017 -0400

    Defer shader compiles when possible.
    
    When using the program binary memory cache inside ANGLE, this will
    give a potential fast path. If the user doesn't query the shader
    compile status or info log before calling LinkProgram, then we can
    check the program cache before translating the program, and if it
    finds a hit, we don't even need to call the translator.
    
    To preserve the shader settings at compile time, a reference to the
    current shader translator is kept in a binding pointer on the call
    to compile. This mirrors a similar implementation in Chromium's
    command buffer. Also the compile options and source are cached at
    compile to preserve the correct shader state.
    
    BUG=angleproject:1897
    
    Change-Id: I3c046d7ac8c3b5c8cc169c4802ffe47f95537212
    Reviewed-on: https://chromium-review.googlesource.com/517379
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit dc0fa46a224d4820b2c77ed08206e577de9d2ecf
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Feb 1 14:44:43 2017 -0500

    preprocessor: Check for line number overflow
    
    Also remove dead code in Tokenizer.l
    
    BUG=chromium:668842
    
    Change-Id: Ice18313a64f0bb2242299993bfaa882a6578ad54
    Reviewed-on: https://chromium-review.googlesource.com/435042
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 80cdc3769ae5628671a173b11761b48c92a00fb4
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Apr 18 13:27:30 2017 -0400

    DisplayWGL: try all GL context version from the highest
    
    The only way to get a core profile context of the highest version using
    CreateContextAttrib is to try creationg contexts in decreasing version
    numbers. It might look that asking for a core context of version (0, 0)
    works on some driver but it create a _compatibility_ context of the highest
    version instead which might not be supported on some drivers.
    
    BUG=angleproject:1994
    
    Change-Id: Ic8a33243909c54ea5940ee81c9c866b141bea420
    Reviewed-on: https://chromium-review.googlesource.com/480739
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 63fa2e940a44bc956c337f7882817d71b3837f66
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jun 1 17:11:41 2017 -0400

    D3D11: Consolidate Query allocation.
    
    This compiles the resource refactor for D3D11. The only remaining
    non-smart handles are for things like SwapChains and ID3D11Blob.
    
    This might be more easily managed by using angle::ComPtr or
    similar smart pointers instead of the Resource Manager class.
    
    BUG=angleproject:2034
    
    Change-Id: I53c753a1c19b05c4e72859dd5046e3ed10866847
    Reviewed-on: https://chromium-review.googlesource.com/506777
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 0fd806f18499530b050127a8a57ac25439418a68
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jun 1 17:11:40 2017 -0400

    D3D11: Consolidate Shader allocation.
    
    Similar to the InputLayout init, this adds a small helper type to act
    as a wrapper around shader init data (binary and size).
    
    This also adds error trapping to the blit shader compilation. It also
    removes the LazyResource2 class, and the CompileXS helper methods.
    
    BUG=angleproject:2034
    
    Change-Id: I3fd718393c8a0250e4263890f00d0e9147ec9567
    Reviewed-on: https://chromium-review.googlesource.com/506776
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit fccbac2c0807e6f52a60d8192d58468a1857ad98
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Sun May 28 17:29:26 2017 -0400

    Validate precision in uniform blocks for WebGL.
    
    In WebGL mode turn on checking that precision qualifiers match in
    corresponding vertex/fragment uniform blocks.  Add test for this behavior.
    
    BUG=angleproject:2015
    
    Change-Id: Ie035138e8c46e430bdcf8fb5bbc3e0a3ab7d6391
    Reviewed-on: https://chromium-review.googlesource.com/517724
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 2f348d2a1da296bf7293015e9efbfe6c61851260
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 5 10:50:59 2017 -0400

    Make gl::Compiler reference-counted.
    
    This is helpful for implementing program binary caching in ANGLE.
    
    in order to maintain the current behaviour in Chrome, we will need
    to defer shader compilation until link time. Since WebGL allows the
    app layer to enable and disable extensions explicitly, the app can
    enable or disable an extension between the calls to glCompileShader
    and glLinkProgram. Then, if we're deferring shader compilation, we
    will have to preserve the extension settings at the time of the call
    to compile, not the current settings at the time of link. Making the
    compiler reference-counted gives us a pretty simple and robust
    solution.
    
    This also changes the Context class to lazily init the shader
    compiler. Lazy init prevents any unexpected nulls, and also ensures
    the releaseShaderCompiler does exactly that: just releases the shader
    compiler, and does not immediately re-initialize it.
    
    BUG=angleproject:2044
    
    Change-Id: I0f0eeb4eb94dc4eee238f92482804a0921c77df0
    Reviewed-on: https://chromium-review.googlesource.com/522868
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 168d5e805a539945d565808c667f96f2a0d338be
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Feb 1 12:18:56 2017 -0800

    compiler: Regenerate parser with latest flex and bison
    
    Flex version is 2.6.4
    Bison version is 3.0.4
    
    BUG=chromium:668842
    
    Change-Id: Ia05ae338c9b9e588534f8346ff5c59ed747c56bf
    Reviewed-on: https://chromium-review.googlesource.com/435553
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 5978e28d3adc30d09c5cbdf51aa1e4b8dbfff6b1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 2 11:49:31 2017 -0400

    D3D11: Consolidate InputLayout allocation.
    
    This introduces a helper type to act as the initialization data type
    for input element arrays. A WrappedArray class acts as a helper class
    to wrap a C array and size into a C++ class, similar to std::array
    but without the data storage.
    
    Also move resource deallocation memory counting into a single code
    path.
    
    BUG=angleproject:2034
    
    Change-Id: I5e108254777f0df65f5f60fe26e760c71b95b542
    Reviewed-on: https://chromium-review.googlesource.com/506775
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 8d4db1fa5fa743eb931be3b257142f5ccb0ed9e9
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jun 2 14:32:01 2017 -0400

    Fix format info for unsized RG texture formats.
    
    The unsized GL_RED and GL_RG formats are only usable with the
    EXT_texture_rg extension and are always renderable.
    
    BUG=720325
    
    Change-Id: I813662f6c90f1a6a640be747ae40b81727e58cdc
    Reviewed-on: https://chromium-review.googlesource.com/523023
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 6e898aa30f026ddfeff20d6ff214bc1a1eb65088
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jun 2 11:17:26 2017 -0400

    Allow sized GL_RGB[A]_32F to be used for TexImage2D with the chromium extensions.
    
    GL_CHROMIUM_color_buffer_float_rgb[a] allows these sized formats to be
    used in TexImage2D even in ES2.  With this patch, the
    conformance/extensions/oes-texture-float and
    conformance/extensions/oes-texture-half-float tests now pass for WebGL1
    and WebGL 2 contexts.
    
    BUG=angleproject:1958
    
    Change-Id: I568dea5da42ba310463d2690c3e764c48598311b
    Reviewed-on: https://chromium-review.googlesource.com/522349
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit e755774407d24be85d764b5f871fe05a699eea42
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Jun 1 13:09:57 2017 -0400

    WebGL compatibility: remove UB for draw buffers in the GL backend.
    
    WebGL adds two rules:
     - Fragment outputs declared but not written to should default to black.
     - FBO attachments for outputs not declared in the shader should not be
    written to (it is UB in OpenGL ES).
    
    Fix the first one by using the SH_INIT_OUTPUT_VARIABLES compiler
    options, and the second one by messing with glDrawBuffers so that the
    enabled draw buffers are always a subset of the ones declared by the
    shader.
    
    BUG=angleproject:2048
    
    Change-Id: I1d851c190959c1acfc3e41d837e6990aec1d4086
    Reviewed-on: https://chromium-review.googlesource.com/521682
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit fff7a7dd138c8d3a6f3046a371d9a62e59e2f8b0
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jun 2 10:39:17 2017 -0400

    Mark the S3TC SRGB formats as requiring exact block sizes.
    
    TEST=conformance/extensions/webgl-compressed-texture-s3tc-srgb
    BUG=angleproject:2049
    
    Change-Id: I00d816299db914c078d140f791cd7c98c6428a54
    Reviewed-on: https://chromium-review.googlesource.com/522762
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 9ab5b8224bc7e3197ae494fba40ef76a4d72a9c2
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue May 30 16:19:23 2017 -0400

    Validate that vertex shader input matches the vertex attribute types.
    
    BUG=angleproject:2012
    TEST=conformance2/rendering/attrib-type-match
    
    Change-Id: Ic282e0933a5c3c377322dd484534fcc1dfcb3840
    Reviewed-on: https://chromium-review.googlesource.com/517974
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit b7d5e303339bb90447e12f05ee50e6269f97493e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jun 1 16:04:46 2017 -0400

    D3D11: Default init all textures.
    
    The resource manager factory methods will use ClearView or zero-filled
    buffers to set initial data. It assumes there are no 3D depth/stencil
    textures. This will lead to some wasteful re-creation of RTVs in some
    cases.
    
    This is a temporary measure until we can implement more efficient
    lazy resource init strategies.
    
    BUG=angleproject:1635
    
    Change-Id: I590e76587d3d96a359beedb79e21d24930e5f2e0
    Reviewed-on: https://chromium-review.googlesource.com/503254
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c564c070ff68a2f369ebb048d3c49847a2d342cf
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jun 1 12:45:42 2017 -0400

    Pass gl::Context to impl methods instead of ContextImpl.
    
    In some cases we might have to call back into the GL layer, passing
    the Context, and if we just have a ContextImpl pointer this isn't
    possible. It also removes the need for SafeGetImpl.
    
    BUG=angleproject:2044
    
    Change-Id: I6363e84b25648c992c25779d4c43f795aa2866d6
    Reviewed-on: https://chromium-review.googlesource.com/516835
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit fc32e8b7ff45549b61d3c2df1d6a42a78a437594
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed May 31 14:16:59 2017 -0400

    WebGL: Validate shader entry point names do not contain invalid characters.
    
    Section 6.20 of the WebGL spec states that all shader-related entry points
    that accept strings must validate that the string does not contain
    characters that are not valid in ESSL.
    
    TEST=conformance/misc/invalid-passed-params
    BUG=2016
    
    Change-Id: I220d9dd79c4b0e8e0195277093268b9e1e66f9d9
    Reviewed-on: https://chromium-review.googlesource.com/519445
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 948bbe51db337f51603098abda345be66a4c15c9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jun 1 13:10:42 2017 -0400

    Redesign robust resource init as a display extension.
    
    Also correct the enum allocation to values that are available to ANGLE.
    
    BUG=angleproject:1635
    
    Change-Id: I443f5654aa6a5049b4a1ae4c253cd6473b4e446e
    Reviewed-on: https://chromium-review.googlesource.com/520002
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit cae72d6ab32cca4c9ce4af6a10bc6f4b89138ed4
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jun 1 11:53:45 2017 -0400

    Call GetGlobalContext instead of GetValidGlobalContext for gl::GetError
    
    If the context is lost due to an OUT_OF_MEMORY error, it was
    impossible to check the error.
    
    BUG=angleproject:1309
    
    Change-Id: I50fbd46b139d44774dde804445f12b8d34d73e29
    Reviewed-on: https://chromium-review.googlesource.com/521203
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit cd930cf0fac89a09e07cc18e0643b33848a85d30
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed May 31 13:36:32 2017 -0400

    EGLDevice: Fix edge-case memory leak.
    
    This could happen if there was an error on device init.
    Reported by Microsoft.
    
    BUG=None
    
    Change-Id: I059fd9308d0536b4120c28e684e37567d14b3fd5
    Reviewed-on: https://chromium-review.googlesource.com/519642
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit e0cff1901d954800fe70bd17db69fd1d3ed036e3
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue May 30 13:04:56 2017 -0400

    Validate that fragment shader output matches the draw buffer type.
    
    TEST=conformance2/rendering/fs-color-type-mismatch-color-buffer-type
    BUG=angleproject:1688
    
    Change-Id: I17848baf40b6d32b5adc1458fe2369b850164da3
    Reviewed-on: https://chromium-review.googlesource.com/518246
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit 311d9999398dbc294b20a73d93393d3a0a889204
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue May 30 15:38:54 2017 -0400

    Add Program Binary test for reinitialization.
    
    This test tears down and recreates GL and re-uses the binary in
    a new GL context. Was meant to reproduce a bug in ANGLE, but the
    bug had been fixed previously.
    
    BUG=angleproject:2010
    
    Change-Id: Ic3a31ac044ef4d794dae14608877b6958452b55e
    Reviewed-on: https://chromium-review.googlesource.com/519463
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit ea19b4aca3efab5287c3118472f677a775f60f69
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 25 14:48:34 2017 -0400

    Don't store Renderer in RenderStateCache.
    
    Instead pass it around via methods. This makes the code a bit nicer.
    
    BUG=angleproject:2044
    
    Change-Id: I721e190a2ecde2b1a65e57debf419ee06a5dce29
    Reviewed-on: https://chromium-review.googlesource.com/516385
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 9216a6e26db957681faefc40884e8bf21fde5063
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed May 24 15:53:20 2017 -0400

    Introduce MRUCache.
    
    This library comes from Chromium's base, and is useful for many use
    cases in ANGLE. It can replace the custom MRU code we use in the
    RenderStateCache. It will also be useful for implementing a program
    binary cache.
    
    BUG=angleproject:2044
    
    Change-Id: Iba166fe380d7ed4e3123428b0227b9d299f756d1
    Reviewed-on: https://chromium-review.googlesource.com/516384
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit af713a2408dd93a74f765529310cd065a667c2e7
Author: jchen10 <jie.a.chen@intel.com>
Date:   Wed Apr 19 09:10:56 2017 +0800

    ES31: Implement binding layout for uniform blocks
    
    The binding point of uniform blocks can be specified in shaders with
    this CL. See spec ESSL 3.10, section 4.4.4, page 58 for more info.
    
    dEQP-GLES31.functional.ubo.* still can't completely pass as
    the missing of arrays-of-arrays feature. Neither can
    dEQP-GLES31.functional.layout_binding.ubo.* due to the incomplete
    implementation of program interface APIs.
    
    TEST=angle_end2end_tests:UniformBufferTest
    BUG=angleproject:1442
    
    Change-Id: If95d468fc109834a132b9b817730d3fdc3a615da
    Reviewed-on: https://chromium-review.googlesource.com/483848
    Commit-Queue: Jie A Chen <jie.a.chen@intel.com>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 0ffc441e2580ec3c514726cf19c344b132eb33e9
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri May 19 14:18:55 2017 +0300

    Initialize uninitialized globals in GLSL output
    
    Initializing globals is done by the DeferGlobalInitializers AST
    transformation, which makes sure that the global variable init
    proceeds in the correct order. This is important since some global
    variables may use other uninitialized globals in their initializers.
    
    The global variable init is only done in case the WebGL shader spec is
    being followed. This avoids adding global initializers twice in case
    the same shader goes through multiple translations, assuming only one
    of them is a WebGL shader translation.
    
    BUG=angleproject:1966
    TEST=angle_end2end_tests, WebGL conformance tests
    
    Change-Id: Iea701d3ae40edc906abd87303f2aa27fd23bf55a
    Reviewed-on: https://chromium-review.googlesource.com/509689
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 0a82f2fab246e2f4c6cd936fd9c9937dcea381ab
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue May 30 15:42:00 2017 -0400

    D3D11: Don't copy SharedSRVs around.
    
    This was causing a very large performance regression in Texture
    re-binding. Instead pass by const &, which should be fine, since
    values in std::map (and unordered_map) are not reallocated when the
    map changes.
    
    Also make the SharedResource type non-copyable, and add an explicit
    makeCopy method for when we need to clone the shared pointer.
    
    BUG=angleproject:2034
    BUG=chromium:727318
    
    Change-Id: I39508a6ca4b41e4da31fe68899caa4464138cada
    Reviewed-on: https://chromium-review.googlesource.com/517670
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit df7d13eba7b0528a8a9ce8bcef338fef312558e0
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue May 30 13:53:45 2017 +0300

    Lift outdated NVIDIA test suppressions
    
    Lift some test suppressions for bugs that have been fixed in the
    NVIDIA driver a good while ago.
    
    Also improve code style in some suppressions - prefer IsOSX() and
    IsLinux() to using ifdefs.
    
    BUG=angleproject:1305
    TEST=angle_end2end_tests
    
    Change-Id: Ia069f5b9696000c901956d2952801d5f5c339a11
    Reviewed-on: https://chromium-review.googlesource.com/518168
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 63d8c2662c284955459eccbf7f40fcf8a8f51651
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon May 29 13:35:09 2017 -0400

    Re-use std::hash in RenderStateCache.
    
    This will allow us to more easily take advantage of Chromium's
    MRUCache class.
    
    BUG=angleproject:2044
    
    Change-Id: I3fad82fc825861dc1c2095f25da83159da76e76b
    Reviewed-on: https://chromium-review.googlesource.com/517359
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit aa0a5446e1a7ba2ae2cd08ae52493778c86d33c1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 25 13:30:23 2017 -0400

    Ensure gl State structs are zero filled.
    
    In some cases we would hash or memcmp against structs with bools or
    other non-filled data. This could have implementation differences,
    and may have been causing cache errors on Clang.
    
    BUG=chromium:721648
    BUG=angleproject:2044
    
    Change-Id: I981a1e6e8d50a33f7fade568497b72b919accfce
    Reviewed-on: https://chromium-review.googlesource.com/516383
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 806162182267e61a365c77c718654e98c34684df
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed May 17 15:40:03 2017 -0400

    Support CHROMIUM_copy_texture for all formats on D3D11.
    
    Adds a CPU readback and conversion path when the destination texture is
    not renderable.
    
    BUG=angleproject:1932
    
    Change-Id: I71461ca991dc10dd636ff38e1ae20db2be0f8d63
    Reviewed-on: https://chromium-review.googlesource.com/508308
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 98de826c923ecfe80670d6e564d02825d5e609b0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon May 29 13:01:02 2017 -0400

    Platform: Fix initialization order in tests.
    
    Because of the platform refactor in abf38572062b91 we broke the way
    the tests override the D3D workarounds for the tiny depth/stencil bug.
    
    This change passes a pointer to the platform directly in the EGL init
    logic, which solves this issue. It also removes all decltype code in
    the platform header which might fix the UBSAN problem we were seeing
    previously.
    
    Also change a present mode selection error into a warning in the Vk
    back-end, since this was being triggered on AMD, but is safe.
    
    BUG=angleproject:2042
    
    Change-Id: Ibbd0c69ce11a840cf4b33c616f56020001e553aa
    Reviewed-on: https://chromium-review.googlesource.com/513519
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 208056509213b2ccd38dd0d0c1f391af7d132436
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 25 12:20:59 2017 -0400

    D3D11: Consolidate state allocation.
    
    This cleans up the allocation and deallocation of Blend, DepthStencil,
    Rasterizer, and Sampler states.
    
    This patch introduces a LazyResource2 class, basically a replacement
    for LazyResource, which will be removed once the refactor is done.
    
    BUG=angleproject:2034
    
    Change-Id: I4fa759ae479807ff69a629f89a08b01800ba3f66
    Reviewed-on: https://chromium-review.googlesource.com/503627
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 857c09db35792952f7ba022a3274505622e6ed62
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue May 16 15:55:04 2017 -0400

    Add missing completeness checks for texture attachments.
    
    Texture attachments need to validate that the attached mip level is within
    the [baseLevel,maxLevel] range and that the texture is complete if the
    attached mip level is not the base level.
    
    BUG=722684
    
    Change-Id: I859766506b295638572b75a0e2e9fed168be047a
    Reviewed-on: https://chromium-review.googlesource.com/506928
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 9733ceefa455165bbed9cd099244eada821fa96d
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu May 11 19:14:35 2017 +0300

    Initialize uninitialized locals in GLSL output
    
    Guarantee that local variables are initialized before they are used
    in GLSL output. In HLSL output all variables were already being
    initialized.
    
    Locals are initialized using an AST transform. The local variable init
    can only be run after some simplification of the AST, so that it is
    able to handle complex cases like:
    
    for (int i[2], j = i[0]; i[0] < 3; ++i[0]) {
    }
    
    If we're dealing with ESSL 1.00 which lacks array constructors, in
    this kind of case the uninitialized array initialization code needs to
    be hoisted out of the loop init statement, and the code also needs to
    make sure that j's initializer is run after i is initialized.
    
    Another complex case involves nameless structs. This can be an issue
    also in ESSL 3.00 and above:
    
    for (struct { float f; } s; s.f < 1.0; ++s.f) {
    }
    
    Since the struct doesn't have a name, its constructor can not be used.
    We solve this by initializing the struct members individually,
    similarly to how arrays are initialized in ESSL 1.00.
    
    Initializing local variables is disabled on Mac and Android for now.
    On Mac, invalid behavior was exposed in the WebGL 2.0 tests when
    enabling it. On Android, the dEQP test runs failed for an unknown
    reason. Bugs have been opened to resolve these issues later.
    
    BUG=angleproject:1966
    TEST=angle_end2end_tests, WebGL conformance tests
    
    Change-Id: Ic06927f5b6cc9619bc82c647ee966605cd80bab2
    Reviewed-on: https://chromium-review.googlesource.com/504728
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit bdc1e2a2c150203ccb76f014df6f7e7bfa9e42dc
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed May 24 14:40:27 2017 -0400

    D3D11: Consolidate Buffer allocation.
    
    We now allocate and release all buffer resources from a single place,
    allowing us to allocate junk memory, clear on init, and track the
    currently allocated buffer memory.
    
    BUG=angleproject:2034
    
    Change-Id: Id60b63a7f77bc369dfc494a7587ab06c8d34a8e2
    Reviewed-on: https://chromium-review.googlesource.com/503253
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a1b9d5a259c196b13eced67053fc650a994e07af
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu May 18 11:22:27 2017 -0400

    Refactor multisample framebuffer completeness checks.
    
    Re-land with protection against div-by-zero in samples compatibility
    check.
    
    BUG=722684
    
    Change-Id: I3d5c310d1f2cb4d8b92d80492435855c3c4ad807
    Reviewed-on: https://chromium-review.googlesource.com/517427
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 95468d17801c50a9a0edf5b0c696c07e7e98638e
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu May 4 11:14:34 2017 +0300

    Support multiview in ESSL 1.00 shaders
    
    Support is added according to the proposal for WEBGL_multiview. When
    the multiview extension is enabled in an ESSL 1.00 shader, num_views
    can be specified using a layout qualifier. To support this, enabling
    the multiview extension makes "layout" a keyword rather than an
    identifier in ESSL 1.00.
    
    The type of gl_ViewID_OVR is also different in case of ESSL 1.00: it
    has to be a signed integer, since unsigned integers are not supported
    in ESSL 1.00.
    
    Some existing tests for multiview shaders are extended in this patch.
    The changes make sure that vertex shader "in" qualifier is still
    allowed in ESSL 3.00 multiview shaders, since this patch adds code to
    disallow it in ESSL 1.00 multiview shaders.
    
    BUG=angleproject:1669
    TEST=angle_unittests
    
    Change-Id: I65dbbbebabdb24cf0bb647d40aa80cebf713c4f7
    Reviewed-on: https://chromium-review.googlesource.com/506088
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 7d79fe95bd353a9ca0805db7d7b6442b3c5e7469
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri May 26 20:50:45 2017 +0000

    Revert "Refactor multisample framebuffer completeness checks."
    
    This reverts commit ff77c359221485886b8207e8afd23c11e0768cf4.
    
    Reason for revert: Breaks FramebufferMixedSamplesTest on Android NVIDIA
    
    BUG=angleproject:2045
    
    Original change's description:
    > Refactor multisample framebuffer completeness checks.
    >
    > BUG=722684
    >
    > Change-Id: Iebe6968ebd693e7f051394a040eac1cf6f539e6e
    > Reviewed-on: https://chromium-review.googlesource.com/508221
    > Reviewed-by: Geoff Lang <geofflang@chromium.org>
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    > Commit-Queue: Geoff Lang <geofflang@chromium.org>
    >
    
    TBR=fjhenigman@chromium.org,geofflang@chromium.org,jmadill@chromium.org
    # Not skipping CQ checks because original CL landed > 1 day ago.
    BUG=722684
    
    Change-Id: I1abab021ba73b218cbbe60d4e7bfdaae56955c64
    Reviewed-on: https://chromium-review.googlesource.com/517390
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 2c479d6e9bc5ed6f004dc1abe7c09a43379085ad
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed May 24 14:37:22 2017 -0400

    D3D11: Use TextureHelper11 everywhere.
    
    This consolidates all texture allocation into ResourceManager11.
    It removes a lot of error checking and resource management code.
    In a few places we're storing some redundant information, like in
    TextureStorage11, we might store the Format pointer in two places,
    or the Texture's size.
    
    BUG=angleproject:2034
    
    Change-Id: I9369e76925a67632c444c662e5667c5ed7875547
    Reviewed-on: https://chromium-review.googlesource.com/503252
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a22aa4eda1d8b164887a22151da3d58f8f8943c7
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed May 24 18:17:23 2017 +0300

    Mark some internal functions as not having side effects
    
    Precision emulation rounding function calls and vector/matrix dynamic
    indexing function calls now get a flag that indicates that running the
    function body does not have side effects. This avoids triggering
    asserts in OutputHLSL when these internal function calls end up on the
    right hand side of a non-unfolded logical operator.
    
    BUG=chromium:724870
    TEST=angle_unittests
    
    Change-Id: Id1a2b6b744f6a04c6cdb86a8f4109ccc12bc70b9
    Reviewed-on: https://chromium-review.googlesource.com/516705
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit ff77c359221485886b8207e8afd23c11e0768cf4
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu May 18 11:22:27 2017 -0400

    Refactor multisample framebuffer completeness checks.
    
    BUG=722684
    
    Change-Id: Iebe6968ebd693e7f051394a040eac1cf6f539e6e
    Reviewed-on: https://chromium-review.googlesource.com/508221
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 26098cb2efc09b845fccc6560fbf6e8f375db315
Author: Tom Anderson <thomasanderson@chromium.org>
Date:   Wed May 24 20:39:28 2017 -0700

    Add missing dependencies on exe_and_shlib_deps (angle)
    
    BUG=chromium:723069
    
    Change-Id: I2b3c9be297c2b65955e31f393756ca266cc7c60b
    Reviewed-on: https://chromium-review.googlesource.com/514436
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 6811a3160ccea4ecaa6308ef018200c5308b0b63
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed May 24 16:50:06 2017 -0400

    Use GetPlatformDisplay instead of GetPlatformDisplayEXT.
    
    This will allow us to use EGLAttrib and pass pointers as Display
    init parameters if necessary.
    
    BUG=angleproject:2042
    
    Change-Id: Ib0f85d71bc9d3dff2db9453012f40303f3c3bd7c
    Reviewed-on: https://chromium-review.googlesource.com/513518
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 9d7d719c4ccfe9dc3938dab0ee8d459f7c885d15
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed May 24 14:35:59 2017 -0400

    D3D11: Move CreateStagingTexture to Renderer11.
    
    This will make staging texture tracking easier.
    
    BUG=angleproject:2034
    
    Change-Id: I2f0418cc5784100bf6fba59b4bda1b2dd9dc18d1
    Reviewed-on: https://chromium-review.googlesource.com/503251
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 4f0e003e5739e369aec2ed8c5eecf78052ab5650
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon May 1 16:04:35 2017 -0400

    Implement the new formats/features of the ES3 CHROMIUM_copy_texture.
    
    Some non-renderable texture formats remain unimplemented.
    
    BUG=angleproject:1932
    
    Change-Id: Id206432d6e26a70fc0e84478a4e43e9eefadcf2f
    Reviewed-on: https://chromium-review.googlesource.com/491948
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit caafd890bfce1579cc96253fff4e61c5aa9b4666
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri May 19 14:31:25 2017 -0400

    D3D11: Don't store device in InputLayoutCache.
    
    We will need the Renderer pointer for resource allocation, so
    pass it around instead of storing the device and context.
    
    BUG=angleproject:2034
    
    Change-Id: Iaf271913f88c5402895aa81de310aa22fcd72cc4
    Reviewed-on: https://chromium-review.googlesource.com/509930
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 341a36cce44053d3486da8f3755735f057e826bc
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed May 24 09:53:25 2017 -0400

    Fix zero size buffer robust init crash.
    
    We were not correctly checking for a zero-size buffer, which should
    not trigger allocating a scratch buffer.
    
    BUG=angleproject:1635
    
    Change-Id: Iac0a3d8f1eeeb7b39c59eec411bec78a4f21bcd3
    Reviewed-on: https://chromium-review.googlesource.com/513478
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 19ecebe799eaafe232788d8d450bd7983f27cda8
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed May 24 16:44:42 2017 +0300

    Fix compound assignment precision emulation
    
    Precision emulation for compound assignment used to set the wrong type
    for the compound assignment nodes, which could cause an assert to
    trigger. The wrong rounding function was also being called in the lowp
    rounded compound assignment function.
    
    BUG=chromium:699479
    TEST=angle_unittests
    
    Change-Id: I60b4cb3bf1830e8249511c13037348bb2423e5b9
    Reviewed-on: https://chromium-review.googlesource.com/514045
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit e0e009feecf1e74264c32a244f741cdb4e038357
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri May 19 14:13:03 2017 -0400

    D3D11: Consolidate SRV allocation.
    
    This change also moves all SRV storage to use the custom smart
    pointer classes in ResourceManager11. Every single SRV is now
    allocated in ResourceManager11. For TextureStorage11 and
    RenderTarget11, we use a shared pointer type since the SRVs use
    shared ownership by both classes.
    
    BUG=angleproject:2034
    
    Change-Id: I90666fbbbc23ff10870b7401f3da09ef79258136
    Reviewed-on: https://chromium-review.googlesource.com/503250
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 39b826fc8a511a8c92e15aa2316594ec59e6bbf2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed May 24 09:47:44 2017 -0400

    Reduce warning spam for failed D3D shaders.
    
    This prevents Chrome's about:gpu from being filled with bad shaders,
    and instead only prints the relevant error lines.
    
    BUG=None
    
    Change-Id: I75fcd2ef920d2ed7b98e8668c487b0921faf4c0b
    Reviewed-on: https://chromium-review.googlesource.com/513417
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 22717ce23808f219b8069d4e45d3ad382278cadd
Author: Lei Zhang <thestig@chromium.org>
Date:   Wed May 24 00:15:22 2017 -0700

    Wrap safe numerics library in namespace angle.
    
    When ANGLE is used with Chromium, having two copies of safe numerics
    code in namespace base causes ODR violations.
    
    BUG=449754
    
    Change-Id: I686049e7d8926373d00dd17ec8142fa3c508b9c5
    Reviewed-on: https://chromium-review.googlesource.com/513434
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 04a56818d510da7570c25f9e63217752eb25d17e
Author: Wei-Yin Chen (陳威尹) <wychen@chromium.org>
Date:   Wed May 24 00:45:54 2017 -0700

    Reduce absolute paths in generated ninja files in angle
    
    BUG=chromium:723856
    
    Change-Id: I7481d3335111c697f77aa0ea673614e79b4a86f6
    Reviewed-on: https://chromium-review.googlesource.com/513588
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 9e3bd310e66d66834ee3c00a23f1834db2897101
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Wed May 17 22:41:49 2017 -0400

    Enable CopyTex(Sub)Image default FB on Mesa/GLX.
    
    Allow CopyTexImageTest.SubDefaultFramebuffer and
    CopyTexImageTest.DefaultFramebuffer to work with Mesa and GLX back end
    by doing a clear before reading the framebuffer.
    
    BUG=angleproject:2027
    
    Change-Id: Ibb10369e3f5aceb60511fbed1d67a28132734b29
    Reviewed-on: https://chromium-review.googlesource.com/507952
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 487b63ab960b566a647a6c147034391fb9ed4d6d
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue May 23 15:55:09 2017 +0300

    Disallow structs as scalar/vector constructor arguments
    
    The spec isn't very explicit about disallowing this, but conversions
    from structs are not among the conversion constructors or specified
    in any other way either.
    
    BUG=angleproject:2036
    TEST=angle_unittests
    
    Change-Id: I23f2ceda1d1348cec0d3bba38a7a013275ff84eb
    Reviewed-on: https://chromium-review.googlesource.com/514002
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 83498433fc73cc016e0d81cd35c69088946713d5
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri May 19 14:57:23 2017 +0300

    Put global init code inside main() instead in a function
    
    Otherwise we may run into a name conflict issue if the shader code is
    run through the translator twice, since neither user-defined function
    names or internal function names are currently being prefixed in GLSL
    output. This could be fixed by prefixing user-defined variables in
    GLSL output, but this solution is much simpler.
    
    BUG=angleproject:1966
    TEST=angle_end2end_tests, WebGL conformance tests
    
    Change-Id: I15c8de5a0a5e596fafe9f55e8d370345c790d5cc
    Reviewed-on: https://chromium-review.googlesource.com/509688
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 538c7bcfd3a51d045a2d90a7ea332979dc75c377
Author: Kenneth Russell <kbr@chromium.org>
Date:   Fri May 19 15:58:24 2017 -0700

    Remove failure expectations for shader_random tests.
    
    Apparently the current clang roll has fixed these already.
    
    BUG=722345
    
    Change-Id: I59f07f197fdfd1eb6e000390ee93d41938fe4d42
    Reviewed-on: https://chromium-review.googlesource.com/510031
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit e01c02b69c01975e8d76e64c80241b723f612a39
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon May 8 14:41:49 2017 +0300

    Clean up ternary op validation
    
    Use "?:" as the operator string to make the error message clearer.
    
    Update some comments to refer to specific revisions of the spec, since
    there have been some spec changes in this area.
    
    BUG=angleproject:2032
    
    Change-Id: Ic5d128391bfa46187ad335228077f5eab9eac349
    Reviewed-on: https://chromium-review.googlesource.com/500270
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 764a1e767c7643bbfda0ff846010e5ec9f912308
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 18 11:11:47 2017 -0400

    D3D11: Consolidate DSV allocation.
    
    This uses the new classes introduced in ResourceManager11. Smart
    pointers mean we can use ANGLE_TRY in more places, and don't need
    to manually release these views. There is now a single point in the
    D3D11 back-end where depth stencil views are allocated.
    
    BUG=angleproject:2034
    
    Change-Id: If0de2529ece1298e8babf24c07cc4be9849cc4de
    Reviewed-on: https://chromium-review.googlesource.com/503249
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit df682a8e48644b0b1357ebbeddc2a6b00af0fe9f
Author: Shao <jiawei.shao@intel.com>
Date:   Fri Mar 31 15:13:21 2017 +0800

    ES31: Refactor syncState in VertexArrayGL
    
    This patch intends to solve several design issues by refactoring
    the process of syncState in VertexArrayGL before implementing
    ES3.1 feature Vertex Attrib Binding on the OpenGL back-end.
    1. Use nullptr as the flag of using client memory pointer
    2. Simplify comparisons in updateAttribPointer.
    3. Put all code related to mFunctions->vertexAttrib*Pointer()
    into an individual function
    4. Remove redundant mStateManager->bindVertexArray() in all
    update* functioins and only call it once in syncState().
    
    BUG=angleproject:1593
    
    Change-Id: I8f68534bb9291a601b9b77954d7281e5171c2b55
    Reviewed-on: https://chromium-review.googlesource.com/465378
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 9676d1af51ff860d177540a7ae455ad3073e81af
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue May 16 11:29:24 2017 +0300

    Handle multiple AST insertions to the same parent in updateTree()
    
    Multiple insertions to the same parent can be handled as long as the
    insertions don't have the same position as well. They're sorted in
    reverse order so that insertions to greater indices get processed
    first.
    
    This helps to make some AST transformations faster - they don't need
    multiple tree traversals and updateTree() steps anymore. The
    SimplifyLoopConditions AST transformation is changed to only use a
    single traversal.
    
    BUG=angleproject:1966
    TEST=angle_unittests, angle_end2end_tests,
         WebGL conformance tests,
         dEQP-GLES2.functional.shaders.*select_iteration_count*
    
    Change-Id: I3183f2644ad58b282926093c77b204fb7e4e9b71
    Reviewed-on: https://chromium-review.googlesource.com/506202
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit b427920eff77de7ae9be5e4c1b8e23b99a884c1a
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu May 18 15:08:24 2017 +0300

    Clean up ValidateMaxParameters
    
    It doesn't need to use a traverser, since all function definitions can
    be found simply by iterating over the children of the root node.
    
    BUG=angleproject:2040
    TEST=angle_unittests
    
    Change-Id: I18a98eff9710485c0cdce73e7fffe124f7d7afb2
    Reviewed-on: https://chromium-review.googlesource.com/508791
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit bb580b1b8b124bacb44fc3de06a57ddd375bd987
Author: Kenneth Russell <kbr@chromium.org>
Date:   Thu May 18 11:17:05 2017 -0700

    Fix names of some crashing shader tests.
    
    The names were wrong, so the test expectations weren't applying.
    
    BUG=722345
    
    Change-Id: Ic64abf08e512dbf3c297ee89a74b614cd4590b58
    Reviewed-on: https://chromium-review.googlesource.com/508166
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Kenneth Russell <kbr@chromium.org>

commit 403c1682db7aebdf071f80856c3eeb458919a761
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 18 11:11:46 2017 -0400

    D3D11: Add resource manager classes.
    
    The resource manager tracks the allocations and deallocations of all
    D3D11 resources that have device memory: Buffers and Textures (which
    are either 2D or 3D). It also tracks the number of active Views (DSV,
    RTV, and SRV, potentially UAV with ES 3.1).
    
    A new smart pointer type will wrap the resource deallocation so that
    the object notifies the manager when ANGLE is done with the resouce.
    This allows us to track precisely how much GPU memory we think we're
    using at any point, and will help prevent resource leaks for these
    object types. It also makes initialization and releasing much more
    trivial.
    
    The base class for a resource uses a template template parameter so
    that we can use a unique or shared pointer depending on if the object
    in question needs unique or shared ownership. For some resources
    (in our case, SRVs are shared between the TextureStorage11 and
    RenderTarget11 classes, and Textures are shared in many places) we
    need to have the ability to have shared ownership. Unique ownership is
    a little bit more efficient so supporting both can be helpful.
    
    In this patch RenderTargetView allocation is moved to use the unique
    smart pointer.
    
    BUG=angleproject:2034
    
    Change-Id: Idb1245c24cd66733b8b5ca524c727350b2d2c745
    Reviewed-on: https://chromium-review.googlesource.com/503248
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 9f10b775c9b17f901d940157e43e5a74b75c2708
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue May 16 15:51:03 2017 -0400

    Refactor checks for incomplete framebuffer attachments.
    
    BUG=722684
    
    Change-Id: I6f47d92b450a056a2344767bef28e96c4552f98e
    Reviewed-on: https://chromium-review.googlesource.com/506927
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 5df2b9d2a70d5c969c6858298b48ed875f5a0be5
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu May 18 12:15:28 2017 +0300

    Clean up AddDefaultReturnStatements
    
    It doesn't need to use a traverser, since all function definitions can
    be found simply by iterating over the children of the root node.
    
    BUG=angleproject:2040
    TEST=angle_end2end_tests
    
    Change-Id: I380942f90a0e73152f296b98d1fb027762d913b0
    Reviewed-on: https://chromium-review.googlesource.com/508689
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit df22132f386c762352883eddde0b6822cb5a6f8b
Author: Kenneth Russell <kbr@chromium.org>
Date:   Wed May 17 17:36:49 2017 -0700

    Skip, rather than fail, crashing functional_shaders_random tests.
    
    BUG=722345
    TBR=geofflang@chromium.org
    
    Change-Id: Ie4c488b730ed2b51ce8f62d5bf7961dcc8ac0104
    Reviewed-on: https://chromium-review.googlesource.com/508102
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Commit-Queue: Kenneth Russell <kbr@chromium.org>

commit 451b2b7f1f78e2bd106afc88dc245711929ac4d2
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon May 15 15:32:02 2017 -0400

    Correctly generate mipmaps for sRGB textures.
    
    sRGB textures need to linearize their data before averaging, this worked
    correctly on the GPU mipmap generation functions but not the CPU ones.
    
    BUG=angleproject:2019
    
    TEST=conformance/extensions/ext-sRGB
    
    Change-Id: I554dac89b12acf5ebf5b7cab6f6faf0bce5168a6
    Reviewed-on: https://chromium-review.googlesource.com/506241
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 44653302128dcdc82436bae64fc232ebecd1c3c8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed May 17 11:03:44 2017 -0400

    Use fprintf(stderr) instead of std::cerr.
    
    This allows us to include <ostream> instead of <iostream> to avoid
    including a static initializer.
    
    BUG=angleproject:2037
    
    Change-Id: Ib7e84a15018fa951bad1c87ffec4bfb0c896749f
    Reviewed-on: https://chromium-review.googlesource.com/507627
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 1a310b847e107d411d167d701473217c431236ad
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed May 17 18:04:14 2017 +0200

    dEQP expectations: suppress failures caused by a clang roll
    
    Hopefully this makes the bot green while we investigate whether the bug
    is in dEQP or clang, and find a fix.
    
    BUG=722345
    
    Change-Id: I2813881addb4ebfe23443244d175b4c6db698a7d
    Reviewed-on: https://chromium-review.googlesource.com/507767
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 1dd07a64930e181783d0167174fa51186ab3818c
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri May 12 17:01:22 2017 +0300

    Simplify DeferGlobalInitializers
    
    It doesn't need to use a traverser, it's simpler to just iterate over
    all statements in the global scope.
    
    BUG=angleproject:1966
    TEST=angle_unittests, WebGL conformance tests
    
    Change-Id: I11200f72842db86be2bcdd11934262da183cc3b4
    Reviewed-on: https://chromium-review.googlesource.com/504727
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 231c7f56cae4992d0fe99f893c555a8d993ac556
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Apr 26 13:45:37 2017 -0400

    Apply clang-format to many files.
    
    This cleans up the formatting in many places.
    
    BUG=None
    
    Change-Id: I6c6652ebc042f1f0ffecced53582d09d66b4f384
    Reviewed-on: https://chromium-review.googlesource.com/487884
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 73badc07df8dbfec05e61a0fc72e70d9e6a354f9
Author: Xinghua Cao <xinghua.cao@intel.com>
Date:   Wed Mar 29 19:14:53 2017 +0800

    ES31: Implement glDispatchCompute for D3D backend
    
    BUG=angleproject:1955
    TESTCASE=angle_end2end_tests
    
    Change-Id: I69b4df83d67017d39df67753d6d17fc15ececebf
    Reviewed-on: https://chromium-review.googlesource.com/462067
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 7854d86127177a1446b3ee28f7786ca50690329e
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue May 9 14:29:15 2017 +0300

    EmulatePrecision: Round constructor args only when needed
    
    Constructor arguments don't need to be rounded if the constructor
    result will be rounded to the same precision.
    
    This will make precision emulated shaders slightly faster to execute
    in some cases.
    
    BUG=angleproject:874
    TEST=angle_unittests
    
    Change-Id: I4220cd2289c97dcf5b7a25a4cbdd18487947c2d2
    Reviewed-on: https://chromium-review.googlesource.com/500288
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 9cbc07c3c8f437aa5b0680143796c3edc6affe5f
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed May 10 18:22:01 2017 +0300

    Simplify AST transformations that need to find main
    
    Share code for finding the main function from the AST between
    InitializeVariables, DeferGlobalInitializers,
    EmulateGLFragColorBroadcast and UseInterfaceBlockFields. This makes
    InitializeVariables simpler in particular, as it doesn't need an AST
    traverser anymore.
    
    BUG=angleproject:2033
    TEST=angle_unittests, WebGL conformance tests
    
    Change-Id: I14c994bbde58a904f6684d2f0b72bd8004f70902
    Reviewed-on: https://chromium-review.googlesource.com/501166
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 995c2ed27861d2873e260058b0b74cc138aa754b
Author: Jiawei-Shao <jiawei.shao@intel.com>
Date:   Mon May 15 13:31:45 2017 +0800

    Initialize currentValueAttrib->binding in updateCurrentValueAttribs
    
    This patch intends to fix a crash issue in the win-clang build of
    ANGLE by adding the missing currentValueAttrib->binding assignment
    in StateManager11.cpp::updateCurrentValueAttribs(). In D3D11 all
    vertex attributes (VertexAttribute and its VertexBinding) should be
    treated as a whole, so we should always ensure these two parts are
    availabe.
    
    This patch also add ASSERTs before using *translated->attrib and
    *translated->binding to prevent a TranslatedAttribute object
    having a null attrib or binding.
    
    BUG=chromium:721783, angleproject:1593
    
    Change-Id: Id11d6f1d4c37daabad2265e01ea38eb51046b9cb
    Reviewed-on: https://chromium-review.googlesource.com/505928
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit d5e8e196c7844cc4c97805f71ab1a5d8b5ab9a7a
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Mon May 15 18:37:48 2017 -0400

    Check FunctionsEGL::terminatePtr before use.
    
    FunctionsEGL::terminatePtr could be null if initialization failed,
    so check it before use to avoid crashing.
    
    Change-Id: Ide9378c8e26749ab9d58c01cb36cd923836cde98
    Reviewed-on: https://chromium-review.googlesource.com/506627
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit e9ed3d867f311a0cc12ef6df85a5a5b4441d63ca
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon May 15 15:51:37 2017 +0200

    Use unused uniform blocks workarounds on Linux AMD.
    
    The Linux AMD driver optimizes out uniform blocks where WebGL2 and maybe
    OpenGL ES 3 forbids it. Try to fix this by enabling the workaround that
    was made for the same problem on OSX.
    
    BUG=
    
    Change-Id: If3b18ec1f463582d7594221a6f2a08d25207e737
    Reviewed-on: https://chromium-review.googlesource.com/506189
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 07843cd66311531c1beb4f06388431912b0d09ab
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon May 15 15:24:53 2017 +0200

    Suppress default FBO CopyTexImage failure on Linux Intel
    
    BUG=angleproject:2027
    
    Change-Id: I337303c9f673558ed75826e96fc2cd75f6ec1441
    Reviewed-on: https://chromium-review.googlesource.com/506070
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit c895b4c7c4bab302c65f6fd1d8cbcfc9262f8d57
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu May 4 14:18:42 2017 -0400

    Make IGarbageObject's destructor virtual
    
    This fixes a warning.
    
    BUG=angleproject:1668
    
    Change-Id: Idf063be9dde0bfbf5f088d69ef38fd97baa69df3
    Reviewed-on: https://chromium-review.googlesource.com/495434
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 2b324d50bb978516bca302d8520ae7e7bd3b56c2
Author: Shao <jiawei.shao@intel.com>
Date:   Tue May 9 15:02:39 2017 +0800

    Fix formatting of struct indexing in intermediate output
    
    This patch fixes 2 format issues in the intermediate output of
    structs and interface blocks in indexing expressions.
    1. Adds the missing line feed (LF) so that the next expression can
    be started in a newline correctly.
    2. Remove unnecessary mDepth++ and mDepth-- to avoid redundant
    indentions.
    
    BUG=angleproject:2031
    
    Change-Id: I04e36443a851df4c26ba6b1cbf3a7f8fd6405d3a
    Reviewed-on: https://chromium-review.googlesource.com/499569
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 8fab320c101f1a9bfefa4322786167c8a4821a9d
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon May 8 18:22:22 2017 +0300

    Share a single TOperator enum among all constructor AST nodes
    
    The code is a lot simpler when the type information is only carried
    in the TType of the node, instead of being partially duplicated in the
    enum value.
    
    BUG=angleproject:1490
    TEST=angle_unittests
    
    Change-Id: I956376225ec01e469c7afb7378fa48cc097c0cea
    Reviewed-on: https://chromium-review.googlesource.com/498768
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 9405005f5a9ac24b131680bff8c7517ed08b5bc0
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon May 8 14:17:44 2017 +0300

    Disallow interface blocks in arithmetic expressions
    
    Interface blocks were mistakenly being allowed in some types of unary,
    binary and ternary expressions, when they should not have been.
    
    BUG=angleproject:2030
    TEST=angle_unittests
    
    Change-Id: Ie75833ee208e1b7fef8f77fa91b90da278bc6498
    Reviewed-on: https://chromium-review.googlesource.com/500269
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit cbd14085566fa02213240f7ead128f0b4000d218
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Tue May 2 18:26:34 2017 -0400

    Test CopyTex(Sub)Image on default framebuffer.
    
    Add end2end tests that attempt CopyTexImage2D and CopyTexSubImage2D from
    the default framebuffer.
    
    BUG=angleproject:2027
    
    Change-Id: Ic16527a0665317fe7d08d8204d1bd3f6309b0343
    Reviewed-on: https://chromium-review.googlesource.com/494266
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 82830edeacade1dd52ba8bc2338ecb195641c5e3
Author: Eric Engestrom <eric.engestrom@imgtec.com>
Date:   Tue May 9 11:17:00 2017 +0100

    Fix assert in EGLSyncControlTest
    
    `ust`, `ust2`, `msc`, and `msc2` are unsigned, so their difference is
    still unsigned. The `>0` assert could never fail.
    Fix this by simplifying the test to compare the pairs of values directly.
    
    Fixes: 5d9f5df01ac5a384d9b7 ("Implementation of eglGetSyncValuesCHROMIUM extension.")
    Fixes: ee218f273f3eb4e14d96 ("Re-land eglGetSyncValuesCHROMIUM extension.")
    Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com>
    Change-Id: I0b19d786720f545c846640d48c30a83a1d001396
    Reviewed-on: https://chromium-review.googlesource.com/500189
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 8d835fba1d78797d97d27bcebbd4b84274a5eb3b
Author: jchen10 <jie.a.chen@intel.com>
Date:   Mon May 8 13:26:15 2017 +0800

    UniformBufferTest: fix invalid uniform index
    
    To get the index value of an uniform or uniform block, the Spec suggested way
    is to enumerate according to its name. There is no mention that index has any
    correspondence regarding the order of uniforms in shader source code.
    
    BUG=angleproject:1622
    BUG=angleproject:1543
    
    Change-Id: I76dbf0ef05f89cd93ea2bdaf93a47f0f5d318f87
    Reviewed-on: https://chromium-review.googlesource.com/497976
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 0c09e265c386eacd5367d1eed7503d27d2d83c1d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed May 3 09:43:13 2017 -0400

    Add BGRA formats to glCopyTexSubImage validation.
    
    These formats were already accepted by glCopyTexImage and allow
    glCopyTexSubImage to work on the default framebuffer for D3D9 and D3D11.
    
    BUG=angleproject:2027
    
    Change-Id: I5d8b839ae2c69e1e8381aa011df6223e18afb308
    Reviewed-on: https://chromium-review.googlesource.com/493803
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 29e9035d00931909e9b6e5bd2ebdf0c8a6fdaf5c
Author: Shao <jiawei.shao@intel.com>
Date:   Fri May 5 16:41:29 2017 +0800

    Add Linux and MacOS support to perf_test_runner.py
    
    This patch enables perf_test_runner.py to run on Linux and MacOS.
    
    BUG=angleproject:2029
    
    Change-Id: Ia7176a3f5fed0245ab72d5def1199623c4fb4fe2
    Reviewed-on: https://chromium-review.googlesource.com/497648
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 8ceaedf8b755fa920224447cd98af3b84574b8de
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue May 9 10:32:22 2017 -0400

    Generate an INVALID_OPERATION error if a texture format is not supported.
    
    We already generate an INVALID_VALUE in the ValidES3InternalFormat check
    above.  If an error is generated here, it is because the internal format
    and type are not valid.
    
    TEST: conformance2/textures/misc/tex-image-with-bad-args
    BUG=angleproject:1958
    BUG=angleproject:1715
    
    Change-Id: I50d479e64d687cc971c8f41b5691dcb123da0391
    Reviewed-on: https://chromium-review.googlesource.com/499690
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 65ac5b9ccf8144f45f81aa0a2487dc2ee3952f1b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon May 1 13:16:30 2017 -0400

    Allow glGenerateMipmaps on sRGB textures in WebGL.
    
    The generated mipmaps are still not correct on all ANGLE backends.
    
    TEST=conformance/extensions/ext-sRGB
    
    BUG=angleproject:2009
    
    Change-Id: I6299dcb93c71f48e61ec660347b4747366ecfb71
    Reviewed-on: https://chromium-review.googlesource.com/491367
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit a7ecec387cc5c68d688be7b5e5a0e05645e4f78c
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon May 8 17:43:55 2017 +0300

    GLSL: Simplify constructor parsing
    
    Constructor argument checking rules are reorganized to make them
    easier to understand and constructor node creation is made simpler.
    This removes usage of constructor op codes from ParseContext. This
    paves the way for getting rid of constructor op codes entirely, which
    will remove duplicate information from the AST and simplify lots of
    code.
    
    This refactoring will make adding arrays of arrays slightly easier.
    
    BUG=angleproject:1490
    TEST=angle_unittests
    
    Change-Id: I4053afec55111b629353b4ff7cb0451c1ae3511c
    Reviewed-on: https://chromium-review.googlesource.com/498767
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 73fa4b83f75fcef1fcfd1af1b4833b43b8f3fe9a
Author: Andrei Volykhin <andrei.volykhin@gmail.com>
Date:   Fri May 5 18:45:06 2017 +0300

    ES31: Validate fragment shader outputs
    
    This allows to validate fragment shader outputs for
    shader version #300 and newer.
    
    Change-Id: I21b21ebb357eab61e36c080c328291ed20b8eb8f
    Reviewed-on: https://chromium-review.googlesource.com/497749
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 40762ef32b522494626acabae8f57430c3065332
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon May 8 13:47:03 2017 -0400

    Supress floating point texture failures on various Intel bots.
    
    BUG=angleproject:1958
    
    Change-Id: Ia168cd1bd48b9a443da6662efeaace1f792861f3
    Reviewed-on: https://chromium-review.googlesource.com/498408
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 53d3841cbabe704fa5255d7d6948d3ffee278ce4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Apr 20 11:33:00 2017 -0400

    Refactor entry point gen slightly.
    
    This makes the entry points a bit smaller and avoids redundant return
    statements.
    
    BUG=angleproject:1309
    
    Change-Id: I895c26d4235900578f5acc0eb94a7deef67b946b
    Reviewed-on: https://chromium-review.googlesource.com/483428
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit b4cf5656260cc6a7a0bff2543c5c29310d05bb02
Author: jchen10 <jie.a.chen@intel.com>
Date:   Fri May 5 18:51:17 2017 +0800

    Validate opaque operands against binary operators
    
    Add checks that opaque operands can only be used with array indexing
    and field section, as mentioned in ESSL 3.10 section 4.1.7.
    
    BUG=angleproject:2028
    
    Change-Id: I41b7f10785bf712dfc999f85ebff925341c51911
    Reviewed-on: https://chromium-review.googlesource.com/497767
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>

commit cc2a10e9c285dc94e8c9876e5c8416d94e3d154c
Author: jchen10 <jie.a.chen@intel.com>
Date:   Wed May 3 14:05:12 2017 +0800

    Unify opaque type validation in GLSL parsing
    
    Refactor separate sampler and image validations into unified opaque
    type handling. This paves way for adding atomic counter, another
    new opaque type.
    
    BUG=angleproject:1729
    
    Change-Id: I201d28e31c84534db43e656d518650e378bab76c
    Reviewed-on: https://chromium-review.googlesource.com/493618
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 7142f6ce60cf522603e134cd1adf4daa87c8e925
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri May 5 17:07:26 2017 +0300

    Prevent using gl_ViewID_OVR as an l-value
    
    It's a shader input and as such should not be writable.
    
    BUG=angleproject:1669
    TEST=angle_unittests
    
    Change-Id: I05cb5c63b7272dfa6e80cad57385da02504e4d8f
    Reviewed-on: https://chromium-review.googlesource.com/497408
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 62a416d5940621e62d37daa0c3c723febf45d6fb
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Apr 28 09:59:56 2017 -0400

    Re-enable the RGB10A2 backbuffer format.
    
    BUG=angleproject:1662
    
    Change-Id: I9bd830a3021a0cfa9010c5e58d3a284cc3eeca26
    Reviewed-on: https://chromium-review.googlesource.com/490346
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 5e4343a1381ec7f9b1a9e71f9d12060fdc3db086
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri May 5 10:56:12 2017 -0400

    Add msvs_cygwin_shell to all actions in vulkan.gypi.
    
    BUG=angleproject:1668
    
    Change-Id: I93bc7584ff7d945f9efde25c3379a282ee246b53
    Reviewed-on: https://chromium-review.googlesource.com/497328
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 06f76552c04dbe5600654bb09992954a12691b9d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri May 5 10:09:32 2017 -0400

    UniformsPerf: Define a vertex attribute.
    
    This seems to fix a crash on D3D9/Win7/Intel.
    
    BUG=chromium:704211
    
    Change-Id: If600a6b8409774503f28ca122d87ef723e4ea2e5
    Reviewed-on: https://chromium-review.googlesource.com/497649
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit ee769dd21e6c8cc3c023554866e893dbaa8a0f04
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 4 11:38:30 2017 -0400

    GLES2: Auto-generate entry points file.
    
    BUG=angleproject:1309
    
    Change-Id: I7817444c3ea56f932fe769a860f4a70b29262019
    Reviewed-on: https://chromium-review.googlesource.com/483427
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit aa7203ef62339db5f8f0499be7088e754412a4db
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Wed May 3 23:32:29 2017 -0400

    Inherit privately from angle::NonCopyable.
    
    Make all inheritance from angle::NonCopyable private so the compiler
    complains about this (admittedly unlikely) code:
    
      class Foo: angle::NonCopyable {
          virtual ~Foo() { ... }
      };
      angle::NonCopyable *p = new Foo;
      delete p;
    
    In the above code ~Foo() is not called, only ~NonCopyable(), because the
    latter is not virtual.  Making it virtual would add overhead to all derived
    classes which don't already have a virtual method.
    
    Also tighten access in NonCopyable, because we can.
    
    BUG=angleproject:2026
    
    Change-Id: Id0dc4d959cfb7bb82cf49382118129abb1d3a4f0
    Reviewed-on: https://chromium-review.googlesource.com/495352
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit 6a1d2f93873b39d6ba92e9ca54600172319296a3
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue May 2 16:47:38 2017 -0400

    Fix compilation of the Vulkan loader / layers in standalone
    
    This commit introduces a stamping mechanism to make sure the order of
    build dependencies is correct.
    
    In GYP there are the following build order dependencies (between others):
     - A target link depends on previous target links
     - A target source compile depends on that target actions outputs
     - An action output depends on the action inputs
    
    The problem was that there were actions in vulkan_layer_utils_static
    that generated headers needed by vulkan_loader's sources (between others)
    Making a "dependencies" relationship between the two was not enough to
    ensure the headers were generated before the source were compiled.
    
    Instead we replicated the "stamping" mechanism used in GN using GYP
    actions that depend on the headers and output a dummy stamp file. This
    completes the build order dependencies: the sources depend on the stamp
    which depend on the action's input, i.e. the generated headers.
    
    BUG=angleproject:1668
    
    Change-Id: I2de15ac2ea8f838acdbf43da1f111b28b8cc2184
    Reviewed-on: https://chromium-review.googlesource.com/493892
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit 677bb6ffc06e2ab3eeacead5ad98861dad8bf35a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Apr 5 12:40:40 2017 -0400

    Update checks for floating point renderability.
    
     * Expose GL_CHROMIUM_color_buffer_float_rgb and
       GL_CHROMIUM_color_buffer_float_rgba
     * Fix many texture formats that were incorrectly checking the wrong
       extension for support or renderability.
     * Make all floating point texture extensions dynamically enableable.
    
    BUG=angleproject:1958
    BUG=angleproject:1715
    
    Change-Id: Iefccc8b5ae5edd97623affa9de05b1d9af5c9598
    Reviewed-on: https://chromium-review.googlesource.com/468450
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit bb7e5a7c08c60cab7e80242ab03d5cc0e415933b
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Apr 24 10:16:44 2017 +0300

    GLSL parser: Fix empty declaration qualifier checks
    
    The shader validation now does the same checks for qualifier
    combinations regardless of if a declaration is empty, as is specified.
    Some of these checks used to be in singleDeclarationErrorCheck, and
    have now been moved to a new function declarationQualifierErrorCheck.
    The other parts of singleDeclarationErrorCheck are under a renamed
    nonEmptyDeclarationErrorCheck.
    
    The patch also contains another related cleanup: Unnecessary symbol
    nodes won't be created for empty declarations any more.
    
    BUG=angleproject:2020
    TEST=angle_unittests
    
    Change-Id: I1c864a5e151c52703926d8c550450b2561bfcbb2
    Reviewed-on: https://chromium-review.googlesource.com/493227
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 6ba99e3d0622a0e7dc4f5ce2e05785ed1e6660de
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed May 3 13:10:46 2017 -0400

    Re-generate pre-compiled D3D shaders.
    
    BUG=angleproject:1932
    
    Change-Id: I927eb5adc73bcede220ec56a9634783edd735d18
    Reviewed-on: https://chromium-review.googlesource.com/494706
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 60c65556dd19c214670952aa5bbecb195d5f57b3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue May 2 14:34:05 2017 -0400

    Shrink FunctionsGL.cpp.
    
    Templating here was causing a lot of redundant functions to be
    generated. We can use a bit of macro magic instead of template
    magic to reduce the binary size.
    
    This reduces the size of the compile file by about 25k.
    
    Note that the ASSIGN macro doesn't itself reduce size, but it
    does save a bit of code size and makes the file look consistent.
    
    BUG=angleproject:2022
    
    Change-Id: I3d9a6e1739dcab1fceca3c63d2a4e35c1e847289
    Reviewed-on: https://chromium-review.googlesource.com/493891
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 170efbf9726aec68dd1e636bf07fe3bde16bac35
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue May 2 13:45:01 2017 -0400

    validationES: reorder draw validation for the WebGL CTS dEQP
    
    dEQP tries to test specific GL ES errors, but also triggers errors in
    the additional WebGL validation. This commit reoders ANGLE's validation so
    that WebGL-specific validation for draws is done after the common GL ES
    checks.
    
    BUG=angleproject:2021
    
    Change-Id: Ie06b132ef6a4378f7c82ae8d354a8343d897c478
    Reviewed-on: https://chromium-review.googlesource.com/493828
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit ba29fa47aafa95330fe054eee02e36d11ce6d8bf
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue May 2 12:17:24 2017 -0400

    Reduce binary size with format enum arrays.
    
    Apparently using std::vector::push_back causes heavy inlining in MSVS.
    This refactor (no functionality change) reduces the binary size from
    ~10kb for all the gl::Determine* functions plus the holding function
    (setTextureExtensionSupport) to about 1.4k.
    
    The visible size of my compiled 32-bit Release libGLESv2.dll went from
    4648 to 4642 kb.
    
    Note that using PoD arrays was sinificantly better than using vectors
    with initializer lists (size was ~4kb instead vs 1.4kb).
    
    BUG=angleproject:2022
    
    Change-Id: I5b7efd41455d5ee35afc699bafef31ce8367934e
    Reviewed-on: https://chromium-review.googlesource.com/493890
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 193c0950cf5652cf51a699dc0fc6f030fb34bc6c
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue May 2 15:51:47 2017 +0300

    Fix assert when attempting to create a void array node
    
    TIntermTyped::CreateZero can be reached with a void array type in an
    error case. Handle this gracefully instead of asserting.
    
    Also remove an assert that wasn't really checking anything in
    CreateZero. type.isScalar() || type.isVector() || type.isMatrix() can
    only be false in case of a struct, and struct type was being checked
    in the condition on the line above.
    
    BUG=chromium:717385
    TEST=angle_unittests
    
    Change-Id: Iff0811d18d399d7b32b2b46deea5df172412eb8c
    Reviewed-on: https://chromium-review.googlesource.com/492887
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit be849e4f7126777bc3b80f545ea9f7a4690bca11
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue May 2 15:49:00 2017 -0400

    GLES2: Clean up entry points for auto-gen.
    
    This cleans up a few things:
     * refactors a few remaining missed EPs
     * removes unnecessary includes
     * rename one Context entry point
     * moves some ES2 EP validation to validationES2
    
    The last item makes for a significant diff, but this is a refactor
    change only, with no functionality change.
    
    BUG=angleproject:747
    
    Change-Id: I7860cc4b6260b6c22faa5f2885297333c0cdb4ed
    Reviewed-on: https://chromium-review.googlesource.com/483426
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c4e936686531ac93874dbae9c2c0c6c78a72bba8
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon May 1 10:45:59 2017 -0400

    Update end2end tests to function without EXT_texture_storage.
    
    This also exposed an issue in our glTexSubImage2D validation where the
    sized format would be used for the texture support check when the unsized
    format was provided.  The GL_ALPHA32F format is not valid unless
    EXT_texture_storage is present but using GL_ALPHA + GL_FLOAT is valid.
    
    BUG=angleproject:1958
    
    Change-Id: Ice0b7549c39559990942176481c5175df17aaf92
    Reviewed-on: https://chromium-review.googlesource.com/491246
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit f231232b012b43c0365b617890de66d0185197eb
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Tue May 2 15:46:18 2017 -0400

    vulkan: assume secure_getenv().
    
    Vulkan's cmake files check for the availability of secure_getenv() but we
    just assume it exists.
    
    BUG=chromium:717558
    
    Change-Id: I22054c3967f543d163dde37b9a6b13e896da7a50
    Reviewed-on: https://chromium-review.googlesource.com/494126
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 8562b773008e7f5d9472635528ea39b0bb87f47c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Apr 26 13:39:12 2017 -0400

    GLES2: Apply clang-format to entry points.
    
    This will make the diff for the auto-gen patch easier to review.
    
    BUG=angleproject:1309
    
    Change-Id: I58526a29b7f538b45409c6ab48b75b41b3521321
    Reviewed-on: https://chromium-review.googlesource.com/487883
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 2e16d96d94da0e634ae3085b7fcc5af9a3c89ce7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Apr 19 14:06:36 2017 -0400

    GLES2: Use codegen for the entry point header.
    
    This is a first step towards auto-generating more entry point files.
    
    BUG=angleproject:1309
    
    Change-Id: Ic75a627feb91c19b6bb398a6f9f1a37b603dea14
    Reviewed-on: https://chromium-review.googlesource.com/483425
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 0d4340463c9641c70edc891859fcb7d513f13d39
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue May 2 13:34:12 2017 -0400

    Disable Vulkan support on Linux
    
    There are both compile error and missing build file dependencies in
    standalone builds.
    
    BUG=angleproject:1668
    
    Change-Id: I8741bd3dd20452c94921101bbf7c5be39fb463b7
    Reviewed-on: https://chromium-review.googlesource.com/493608
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit d262799c3784050fd21b02717273829eff1231cf
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Apr 28 17:17:03 2017 -0400

    Take depth into account when checking for OOB in TexImage3D
    
    BUG=angleproject:2017
    
    Change-Id: Id75a8c0ddf4eda4b569509e2014c20db6f5c46ff
    Reviewed-on: https://chromium-review.googlesource.com/490848
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit e7a792c624b882a6b4c0a494e998cb51503b414a
Author: Kenneth Russell <kbr@chromium.org>
Date:   Fri Apr 28 16:31:03 2017 -0700

    Suppress MipmapTestES3.BaseLevelTextureBug failures on 10.12.4.
    
    BUG=705865
    
    Change-Id: Ife59aaf009365a51b5362a00373d1efaceba9fb8
    Reviewed-on: https://chromium-review.googlesource.com/490946
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 180973c75a51e248f14e3d06f138de874192e32d
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Apr 28 14:42:07 2017 -0400

    Fix params.h compilation.
    
    The ANGLE_PARAM_TYPE_INFO macro was referencing the TypeInfo static
    member that was only added when release asserts are enabled.
    
    BUG=angleproject:747
    BUG=chromium:716323
    
    Change-Id: I0657dde69c62ab697b3c095fe19f38c130188cef
    Reviewed-on: https://chromium-review.googlesource.com/490687
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 5416f753a527f6039ab21138c84222a9e26153c3
Author: Shahmeer Esmail <shahmeer.esmail@intel.com>
Date:   Thu Mar 9 22:02:43 2017 -0800

    Clear11 Shader Optimizations and Shader Management Rework
    
    - ClearShader made into a class that manages all required shaders and input layouts for clears
    - ClearShader reuses VS for all clear types. This reduces shader compilation time and memory usage
    significantly
    - Use constantBuffer for color/z values instead of VB to decouple VB & VS from clearType and
    allowing for the same VS to be used for multiple clear types
    - FL10+ Devices: Generate positions using SV_VertexID in VS to avoid having to bind VB.
    - FL93 Devices: Use an immutable VB containing only position data (SV_VertexID not supported)
    - Implement CB cache. Incoming color/Z values checked against cache and CB/cache only updated if
    there is a mismatch. Significantly reduces the frequency of expensive CB map/rename operations
    especially in common scenarios where most/all clears use the same color/z values
    
    BUG=angleproject:1935
    
    Change-Id: I2015fbdcc135ba08b65dbecbe9c62499c2801037
    Reviewed-on: https://chromium-review.googlesource.com/453882
    Commit-Queue: Shahmeer Esmail <shahmeer.esmail@intel.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit ae39958a6404b3e1258d69a5b41af483777c1483
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Apr 28 10:42:42 2017 -0400

    Fix params.h compilation.
    
    Because our ASSERT macro always references the conditional expression,
    not defining TypeInfo was causing a compile error on builders which
    had release asserts disabled.
    
    BUG=angleproject:747
    BUG=chromium:716323
    
    Change-Id: I3b5f27e39235f26b8bef5921c2d398320eb0ebaf
    Reviewed-on: https://chromium-review.googlesource.com/490426
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 37219c87e6412ea4f997c418bc4a9eeaa7d8f620
Author: Shao <jiawei.shao@intel.com>
Date:   Wed Apr 26 10:59:48 2017 +0800

    Fix missing return values in bitset_utils.h
    
    This patch adds the missing return value *this in the operator=
    of class BitSetT
    
    BUG=angleproject:1814
    
    Change-Id: I758d62e80e4ade92aac64315f1808ca1eabdc787
    Reviewed-on: https://chromium-review.googlesource.com/487423
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit ffa4e6118e00146ef4a6b66b450fdf5c9b7c8066
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Apr 27 12:37:52 2017 -0400

    GLES2: Reformat entry point header.
    
    This should simplify the diff with the auto-gen patch.
    
    BUG=angleproject:1309
    
    Change-Id: Ibea503f236e7dc07d0862e20f77e866d6ec1f316
    Reviewed-on: https://chromium-review.googlesource.com/489081
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit e8b3551272a3a9748b5b3768cf1c4cbbc9a468ec
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Apr 27 10:38:20 2017 -0400

    Fix workaround formats not being used when EXT_texture_storage is emulated.
    
    This bug showed up on Mac which doesn't support the extension.  The internalFormat
    is correctly translated to the workaround format but the format and type are not.
    
    BUG=angleproject:1958
    
    Change-Id: I9b31f0491df1bb623bf59996cbb02d0276b6355c
    Reviewed-on: https://chromium-review.googlesource.com/488582
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 876429b7a11f482ebc4c19e44d07ba29823a2ecb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Apr 20 15:46:24 2017 -0400

    Update gl2.h and update entry points.
    
    Some method signatures were updated. Types like GLclampf and GLvoid
    were replaced with other equivalents.
    
    BUG=angleproject:1309
    
    Change-Id: I05e8e2072c5a063d87ad96a855b907424661e680
    Reviewed-on: https://chromium-review.googlesource.com/475011
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit e1fd475b09bcfee3c8ab0201e4e7f683b5df3408
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Apr 26 16:46:48 2017 -0400

    Apply release asserts config to all dependents.
    
    Our test sets (e.g. angle_perftests) were not having the config
    applied.
    
    BUG=angleproject:747
    
    Change-Id: Idd3a2cba214d38a923c1936787f9dec4bd016326
    Reviewed-on: https://chromium-review.googlesource.com/487730
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 2aadbfc3899e5cb656df61c2b98fcc588d85b513
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Apr 27 10:11:27 2017 -0400

    Expand the MipmapTestES3.BaseLevelTextureBug supression to all AMD OpenGL.
    
    BUG=705865
    BUG=715875
    
    Change-Id: Ib4d83a8c9cb3f65ac8517bfd3ff7c38794dd0654
    Reviewed-on: https://chromium-review.googlesource.com/488661
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 9c9b40acedd6a14da8dd99fbd6821ec66b8cf888
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Apr 26 16:31:57 2017 -0400

    Use parameter cache to skip passing IndexRange.
    
    For DrawElements et al., we can use a simple design to store
    entry point parameters and compute index ranges lazily. This allows
    us to compute the index range outside of the validation layer.
    
    Fixing this will let us implement a few things, such as the no error
    extension. It will also allow auto-generation of the entry points,
    since we won't have to have special cases for certain entry
    points. It will also help fix the syncState layering problem. Now the
    cached parameter helper (which is owned by the Context) can make the
    impl layer calls, instead of the validation layer calling the impl
    directly.
    
    We use a small array in Context to gather parameters in a generic
    way without reallocation on call. We also check type safety by storing
    a type info struct which can handle inheritance between type classes.
    Optional variables for the cache determine when to re-compute values.
    
    The intent with gatherParams is to call this in every entry point, and
    have in most cases be a no-op. In some cases like for IndexRange, we
    store some parameters for later use. The inheritance scheme enables
    auto-generation of the entry points by keeping signatures similar.
    
    BUG=angleproject:747
    
    Change-Id: I871e99e1334cf6e61ef8da62fde3ced094903f8a
    Reviewed-on: https://chromium-review.googlesource.com/474119
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 25e297e9df8131494b4d6bcf4e87005d23e2a0b7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Apr 20 17:01:20 2017 -0400

    D3D11: Alias dirty buffer channel bindings.
    
    The types for this were a bit disorganized. Clean this up.
    
    BUG=angleproject:1635
    
    Change-Id: I669d347697e0c7c5b06ed7165fa0997c375e876e
    Reviewed-on: https://chromium-review.googlesource.com/483315
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 29f148b0ca891ca0cbd50a69b05cceb9c2810cd2
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Wed Nov 23 21:05:36 2016 -0500

    Support Vulkan on Linux as well as Windows.
    
    Refactor display and surface classes into Win32 and Linux parts and
    add Linux parts to gn and gyp builds.
    
    BUG=angleproject:1668
    
    Change-Id: I2a7d29c35f4f42fa0035bd97938d3770f3627672
    Reviewed-on: https://chromium-review.googlesource.com/412426
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 6d1ccf0158318af2d8282661963ac31cd923cd77
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Apr 24 14:09:58 2017 -0400

    Re-order the error generation for ES3 TexImage calls.
    
    Explictly check if the internal format enum is ever valid before checking
    if it is valid in combination with other parameters. Some WebGL tests
    expect a certain order for generated errors.
    
    BUG=angleproject:2009
    TEST=conformance2/textures/misc/tex-input-validation
    
    Change-Id: I31166a78d00629f8281ef53eced72575497ae448
    Reviewed-on: https://chromium-review.googlesource.com/486099
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 66c5e619fcf202d22aa4f448b38f1fd1e9331516
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Apr 25 11:40:03 2017 -0400

    TextureD3D: Mark images dirty after deleting the texture storage.
    
    When a texture storage is deleted, it copies its mip levels back into
    images and marks them clean.  Marking the images dirty before deleting the
    texture storage would have no effect.
    
    BUG=705865
    
    Change-Id: Ib4c0fc9bea1236fc31963d1b7db814785bc54abc
    Reviewed-on: https://chromium-review.googlesource.com/486107
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit f81ce4a37467f47ae39873fc65eb8101af1b2631
Author: Yunchao He <yunchao.he@intel.com>
Date:   Mon Apr 24 10:49:17 2017 +0800

    Refactoring: replace NULL by nullptr for pointers (3rd CL).
    
    This CL mainly handles passing/returning NULL to/from a function.
    
    BUG=angleproject:2001
    
    Change-Id: I34802f792e710e3d7ff697cbe4701dc1bf5ab009
    Reviewed-on: https://chromium-review.googlesource.com/485060
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit f58417747f869a1e6933f68618433d209fba1cc4
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Wed Apr 19 16:31:11 2017 -0400

    Move Vulkan layer json files.
    
    Put the Vulkan layer JSON files in the same place as the gn build puts
    them, for consistency.
    
    Change-Id: I6294372ce34ed20da357a8b8ea83018c4e748c37
    Reviewed-on: https://chromium-review.googlesource.com/475074
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit d75dd26c5ce9a4b9438c861b45cc638f50a8bd4e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Apr 20 17:01:19 2017 -0400

    Make ImageSibling inherit from FramebufferAttachment.
    
    Only currently Renderbuffers and Textures can be bound with images.
    This makes the relationship explicit, and also ensures that an image
    sibling can determine if it's been initialized or not, which is
    important for the robust resource init extension with Textures and
    EGLImages.
    
    BUG=angleproject:1635
    
    Change-Id: Ie05319cfbfda50f1497cab3f0b9ca64e1bff8955
    Reviewed-on: https://chromium-review.googlesource.com/469154
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 151d5de65f5f7f7cfaf31ea621b9be3b00db449f
Author: Bryan Bernhart (Intel Americas Inc) <bryan.bernhart@intel.com>
Date:   Thu Apr 13 09:52:23 2017 -0700

    Enable MSAA for texture client buffers
    
    Enhancement to the EGL_ANGLE_d3d_texture_client_buffer extension to
    allow use of a shared D3D texture that can be multi-sampled.
    
    BUG=angleproject:1917
    
    Change-Id: Iaf59bbd575a5dfb29345f55b549bc4017bf2d7d0
    Reviewed-on: https://chromium-review.googlesource.com/446907
    Reviewed-by: Bryan Bernhart <bryan.bernhart@intel.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 331f6dbde6c41592a40726326af3aa049b880de2
Author: Jiawei-Shao <jiawei.shao@intel.com>
Date:   Thu Apr 13 13:57:59 2017 +0800

    Tighten workaround on unary minus for Intel D3D drivers
    
    This driver bug has been fixed in 20.19.15.4624.
    
    BUG=chromium:644033
    
    Change-Id: I6f621d7c4d4b823da29255f869af84097f4f7c2c
    Reviewed-on: https://chromium-review.googlesource.com/476118
    Reviewed-by: Yunchao He <yunchao.he@intel.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 966c940b0d45fb0b02c5a485e0ae6c2dc047b810
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Apr 18 12:38:27 2017 -0400

    Fix validation for compressed texture functions.
    
     * No validation that the format matched the texture level's format for
       SubImage calls.
     * WebGL does not allow the base level to be smaller than the block size.
     * ANGLE used to allow mips of size 3 when this is disallowed.
     * Don't early-exit validation when dimensions are 0, imageSize validation
       happens later.
    
    TEST=conformance/extensions/webgl-compressed-texture-s3tc
    
    BUG=angleproject:1998
    
    Change-Id: I05f5a0b5180344d67b036fdecc17edd2256e85ab
    Reviewed-on: https://chromium-review.googlesource.com/480442
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit e491578f3158ac91354c16b6acd38070d8cac13f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Apr 12 15:19:07 2017 -0400

    WebGL: Validate the read and write buffers for BlitFramebuffer are unique.
    
    TEST=conformance2/rendering/blitframebuffer-test
    
    BUG=angleproject:1990
    
    Change-Id: I0caeaac824f1689867134f34f74e5ef2c2f1b016
    Reviewed-on: https://chromium-review.googlesource.com/475990
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 94ba36a77db9027b61c306a9718674251b7c9cb5
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Mar 31 13:58:55 2017 -0400

    Only bind that native GL texture if it should be complete.
    
    If extensions such as OES_texture_float_linear are not exposed but the
    native drive still supports them, we don't want to bind the native texture
    and instead bind a texture that is known to sample like the incomplete
    texture.
    
    BUG=angleproject:1959
    
    Change-Id: I610dbd93bb566c8eb2166488a7494b74da4aa327
    Reviewed-on: https://chromium-review.googlesource.com/465090
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 780612a54683ea5d9b9361dd9ef092a6ae630c12
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Apr 21 12:58:53 2017 -0400

    Fix the zlib build on 64-bit Windows.
    
    BUG=angleproject:2004
    
    Change-Id: Ifb4f19abbbb1b6724d2af5b0a5dfb005b49ae3d1
    Reviewed-on: https://chromium-review.googlesource.com/483906
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 76b8f469065c52c68babf52477db33529a4981ed
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Apr 21 12:23:40 2017 -0400

    Use a shared state for egl::Image.
    
    This allows us to stop duplicating some information in the impl.
    
    BUG=angleproject:1635
    
    Change-Id: If8f7d2418571c3254729f48c463814ec18ed2644
    Reviewed-on: https://chromium-review.googlesource.com/469153
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit f6b986c8fa6f3ab9ccd40fbfa6b36d07a350bd2f
Author: Jiajia Qin <jiajia.qin@intel.com>
Date:   Tue Apr 18 14:52:31 2017 +0800

    Refactor TextureStorage11
    
    The CL includes below changes:
    1. Change bool isAssociatedImageValid to void verifyAssociatedImageValid
    since we always required that the validation check should never be false.
    So ASSERT() is enough. Same to
    Image11::isAssociatedStorageValid->Image11::verifyAssociatedStorageValid.
    2. Remove the unnecessary if checking after ASSERT
    3. Use override instead of virtual if the function is virtual and
    is overriding a virtual function from the base class.
    
    BUG=angleproject:2006
    
    Change-Id: I036666ae1ed4bfcaa8cef9e0e9626d375cd81a27
    Reviewed-on: https://chromium-review.googlesource.com/480015
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit d22b8f72200e6f98c96d45bbcc6df0bac86bf6f9
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Thu Apr 20 21:06:09 2017 -0400

    Fix zlib compile.
    
    The zlib roll 50a8d0e0 broke the Window/gyp/ninja build.
    Suppress C4245.
    
    BUG=angleproject:2004
    
    Change-Id: Ifdac7a1ec3162c8a296f6d4919a2b6f83bdf1e50
    Reviewed-on: https://chromium-review.googlesource.com/483802
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 4f285443c4cf0ae821b0a22135fa91ee336b283a
Author: Yunchao He <yunchao.he@intel.com>
Date:   Fri Apr 21 12:15:49 2017 +0800

    Refactoring: replace NULL by nullptr for pointers (2nd CL).
    
    This CL mainly handles the pointer comparisons (== or !=).
    
    BUG=angleproject:2001
    
    Change-Id: I25ac3b61032e7ad91459a1c6541cadc87cf9b160
    Reviewed-on: https://chromium-review.googlesource.com/483935
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 407d4e7763cf8e8f7422d04102654b4f780391fd
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Apr 12 14:54:11 2017 -0400

    Perform ANGLE_instanced_arrays validation for WebGL contexts.
    
    TEST=conformance2/rendering/instanced-arrays
    
    BUG=angleproject:1988
    
    Change-Id: Ie513dcc7b1af540764fd5fe3790d3e6e3457f048
    Reviewed-on: https://chromium-review.googlesource.com/475136
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit ff5c63ee6bd5d38661f646d8589a17f6212a3b0a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Apr 12 15:26:54 2017 -0400

    Allow dynamically enabling shading language extensions.
    
    GL_OES_standard_derivatives, GL_EXT_shader_texture_lod and GL_EXT_frag_depth.
    
    TEST=conformance2/extensions/promoted-extensions-in-shaders
    TEST=conformance/glsl/misc/shader-with-dfdx.frag
    
    BUG=angleproject:1719
    
    Change-Id: Ic0bd50c6a222940cc8de903f88f19a4f5ee08088
    Reviewed-on: https://chromium-review.googlesource.com/476030
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit de32c2e1a388b87d929bcd5bacf3189c370c8fa4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Apr 20 15:16:33 2017 -0400

    dEQP: Remove shader compile/link timing output.
    
    This should reduce our log sizes significantly. Will upstream the fix
    to dEQP and then remove the custom workaround once we roll.
    
    BUG=chromium:713196
    
    Change-Id: I0ddb678bf5256bd5f05782ca40d49501e84e4cae
    Reviewed-on: https://chromium-review.googlesource.com/483047
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 4fd95d5470bd915e75a390ca4ef08b323c738181
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Apr 5 11:22:18 2017 -0400

    Stop using FramebufferAttachment::Target.
    
    Target includes the binding (DEPTH/STENCIL/COLOR), which is not useful
    for many operations. Simplify this to just passing the mip/layer.
    
    This allows us to stop using this internal struct in other classes.
    
    BUG=angleproject:1635
    
    Change-Id: Ic5a11781bf45fe7835437fa1e363c190b876d453
    Reviewed-on: https://chromium-review.googlesource.com/469152
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit ba992ab5cb0d217002cc66e0a2c6fa0352d513b1
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Apr 19 11:18:14 2017 -0400

    Fix HLSL 3 generation of shaders with texture LOD.
    
    BUG=angleproject:2002
    
    Change-Id: If8e6bbaeb5769341f92f05025eafb6a202fec437
    Reviewed-on: https://chromium-review.googlesource.com/481680
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 50a8d0e063d1dcabd0fad9b7bfa4fc3f9201322b
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Apr 20 10:55:28 2017 -0400

    Roll zlib to fix a warning on Mac
    
    BUG=
    
    Change-Id: Iaef87582aba57632d5a696fdf9ff09c4fab5c75a
    Reviewed-on: https://chromium-review.googlesource.com/483619
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit d7297bfb35c4074b5645239d43c4cde270441bf9
Author: Yunchao He <yunchao.he@intel.com>
Date:   Wed Apr 19 15:27:10 2017 +0800

    Code refactoring: replace NULL by nullptr for pointers.
    
    This is the frist change to replace NULL by nullptr.
    It handles the initialization and assignment for pointers.
    
    BUG=angleproject:2001
    
    Change-Id: I6d4bb198a72e38b867cd2f65a6e6f2f61339a0b5
    Reviewed-on: https://chromium-review.googlesource.com/481600
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 4181bc97222bbf356da9080eaa9325de6fbc942f
Author: Shao <jiawei.shao@intel.com>
Date:   Fri Mar 17 14:55:25 2017 +0800

    Fix bug in updating vertex attribs with client memory pointers
    
    In DEBUG version, when using OpenGL back-ends, ANGLE may meet an
    INVALID_OPERATION error from driver when attemping to update an
    attribute which is disabled and using a client memory pointer.
    
    This patch fixes this bug by skipping such vertex attributes when
    updating them to driver. With this patch the process to update
    vertex attributes should be:
    (1) For enabled attributes using client memory pointer:
        update by streaming mode in streamAttributes()
    (2) For disabled attributes using client memory pointer:
        just label them dirty and skip them
    (3) For attributes using buffer objects:
        update with vertexAttrib*Pointer
    
    BUG=angleproject:1942
    
    Change-Id: I57043e5904eb4a342fa22d449d98a957010170d6
    Reviewed-on: https://chromium-review.googlesource.com/456747
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit ca27139e6bdcca9afe8c041ee3cb8b5f57c51b38
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Apr 5 12:30:00 2017 -0400

    Key the format tables on internal format and type.
    
    Keying the format tables on internal format alone is not enough to fully
    validate the unsized formats which require additional type information.
    
    This CL has no functional changes, it just splits the tables and updates
    the calls to GetInternalFormat info to provide type information when the
    format is not sized.
    
    BUG=angleproject:1523
    BUG=angleproject:1958
    BUG=angleproject:1228
    
    Change-Id: I37e5201e7f54fa8eca01b8a6e64b11a6b94484e7
    Reviewed-on: https://chromium-review.googlesource.com/468449
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 8162926b2bbaba65cb5bb114403b4dac5b0677fe
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Apr 19 11:56:01 2017 +0300

    Never add declarations without children to the AST
    
    When block nodes were being created for loop bodies that didn't have
    braces in the parsed source, the code didn't check if the loop body
    was a declaration node without children. Always use appendStatement()
    for adding statements to a block, so that declaration nodes without
    children don't end up in the AST.
    
    Similarly make sure that loop init nodes aren't declarations without
    children.
    
    BUG=chromium:712550
    TEST=angle_end2end_tests
    
    Change-Id: I5e79b700fe6158fa2422fcf4cd13818b2bd24863
    Reviewed-on: https://chromium-review.googlesource.com/481660
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 0c0dc34570eeabf18842294d265ccce10b310123
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Mar 24 14:18:51 2017 -0400

    Vulkan: Defer command buffer submission.
    
    This packs more rendering commands into fewer command buffers.
    Instead of using a single command buffer per-command, create a
    buffer and record commands into it until we need to present the
    frame. More sophisticated management will be necessary in the future
    when we can do other types of copied and read-back from image data.
    
    This also reduces the number of Fences we use for checking if the
    device is finished with resources. Instead of creating a Fence
    per-command-buffer, it creates one per-swap.
    
    BUG=angleproject:1898
    
    Change-Id: I9c6033bc04289fd8f936c0df914afc51fc434b29
    Reviewed-on: https://chromium-review.googlesource.com/445800
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 43915883ff51f2384d6835ff8972aa745f87c751
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Apr 13 10:07:14 2017 -0400

    Lazily initialize the D3D device in DisplayWGL.
    
    Change-Id: I3afe4c0619128d7063f49ed8c295d4b814193f84
    Reviewed-on: https://chromium-review.googlesource.com/476930
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 6de518589879b6b5802587bdca74bbb4f614a7f6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Apr 12 09:53:01 2017 -0400

    Optimize angle::BitSetIterator.
    
    Adds a new custom bitset template to handle packing as many bits as
    possible into a single variable. Intelligently select the right class
    depending on platform features and bit sizes.
    
    For now, always use a packed 64-bit set on 64-bit, instead of using
    a 32-bit set for smaller bitsets.
    
    BUG=angleproject:1814
    
    Change-Id: I3ffef815c15515555833f6fc9302d8a4eee5423b
    Reviewed-on: https://chromium-review.googlesource.com/471827
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a0e0aebbf2a81d3da1c52f5d8c5c39f3c25bfa42
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Apr 12 15:06:29 2017 -0400

    Validate that framebuffer attachments all have the same size for WebGL.
    
    TEST=conformance2/rendering/draw-buffers
    
    BUG=angleproject:1989
    
    Change-Id: Ifcbc766dea99a8361261713fde7a6b6ad724fd55
    Reviewed-on: https://chromium-review.googlesource.com/475083
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit e4b753cab36095b7a7e8bc7500fdb09ba7a59ec9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Apr 5 11:22:18 2017 -0400

    Texture: Add helper to query desc from index.
    
    BUG=angleproject:1635
    
    Change-Id: I0e4b57119bf23d656446a5ded76ba2f62ea74d7f
    Reviewed-on: https://chromium-review.googlesource.com/469151
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit b8126691cf41f7f9bac3dbdf60e5af889d0de3a4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Apr 5 11:22:17 2017 -0400

    Framebuffer: Add an update attachment helper function.
    
    This will allow us to set that certain attachments need to be
    initialized in a single place.
    
    BUG=angleproject:1635
    
    Change-Id: I98c10206ef27670847969c726a8620c4d26400d6
    Reviewed-on: https://chromium-review.googlesource.com/469150
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit b29316019b27fa87acd796572c12bca53aeffbff
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Apr 11 15:58:57 2017 -0400

    Add robust entry point for CompressedTex(Sub)Image
    
    BUG=angleproject:1354
    
    Change-Id: I925db827c4ccf4e6f037a058f8f6b960a56047e1
    Reviewed-on: https://chromium-review.googlesource.com/474964
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit b36e5393d35bfa28c72d0b61d6ba2565725b99a0
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Apr 12 15:45:13 2017 -0400

    D3D: Return an empty string when the translated shader source is empty.
    
    TEST=conformance/extensions/webgl-debug-shaders
    
    BUG=angleproject:1991
    
    Change-Id: Id210ec43501c4e4f3db2c8a0aec25e1d20b18d33
    Reviewed-on: https://chromium-review.googlesource.com/475992
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 33151a53194a69ca93bd0f09a85a3baddad3b3af
Author: Yunchao He <yunchao.he@intel.com>
Date:   Thu Apr 13 09:58:17 2017 +0800

    Code refactoring: remove unneeded variables
    
    BUG=angleproject:1996
    
    Change-Id: If635bf836251f90ec40d791b5f80d43f751aad9b
    Reviewed-on: https://chromium-review.googlesource.com/476079
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d1bed175f107143a7c52485a9d197b486cd5433e
Author: Kai Ninomiya <kainino@chromium.org>
Date:   Wed Apr 12 17:35:54 2017 -0700

    Reverse the order of array variable initialization
    
    This works around a bug on Adreno 3xx in which array varying variables
    are assigned in the reverse order.
    
    BUG=chromium:709317
    
    Change-Id: I86a345747f293ca8a2cb9a281bd1b752e66dcd3a
    Reviewed-on: https://chromium-review.googlesource.com/475979
    Commit-Queue: Kai Ninomiya <kainino@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit c1d770e88a9bf9f6159b8369f8f9772c98c49684
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Apr 13 17:31:24 2017 -0400

    Refactor remaining GLES 2.0 entry points.
    
    This will pave the way for several features, like auto-generation.
    
    BUG=angleproject:747
    
    Change-Id: Ic390ac412f4e6b61346629093f185a4c07ea0284
    Reviewed-on: https://chromium-review.googlesource.com/474118
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 3c68079cd326d1408441bb0f5ba7d0cf715ab4c6
Author: JiangYizhou <yizhou.jiang@intel.com>
Date:   Wed Apr 5 15:04:36 2017 +0800

    Update deqp expectations file for default fbo tests.
    
    Deqp test case dEQP-GLES31.functional.fbo.no_attachments.maximums.all
    fails on nvidia driver.
    
    BUG=angleproject:1594
    TEST=dEQP-GLES31.functional.fbo.no_attachments.*
    TEST=dEQP-GLES31.functional.fbo.completeness.no_attachments
    
    Change-Id: I31db12b10b4fb915135b12912738d9c14de1e585
    Reviewed-on: https://chromium-review.googlesource.com/468649
    Commit-Queue: Yizhou Jiang <yizhou.jiang@intel.com>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit a9042d3c195294cf6b2186f1c52260f1fc2b6004
Author: jchen10 <jie.a.chen@intel.com>
Date:   Fri Mar 17 08:50:45 2017 +0800

    ES31: Add array element transformfeedback
    
    This enhances the PackedVarying to be either one element of array, or
    whole array. Correspondingly the VaryingPacking is expanded to pack it
    properly.
    
    BUG=angleproject:1950
    
    Change-Id: I0529d7ac4367d42b2b433410fbf08351412aada8
    Reviewed-on: https://chromium-review.googlesource.com/459115
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit e839078e86fafd2ece2068dc79240edc0df0d01a
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Apr 6 14:34:43 2017 -0400

    compiler: Prune literal statements when outputting ESSL
    
    The ESSL output doesn't have a default precision for floats, this causes
    float literal statements to not have any precision defined, which is an
    error. We fix this by removing literal statements as they are dead code
    anyway.
    
    BUG=angleproject:1967
    
    Change-Id: I498f4f8495f854240ee8a2182415bf982c5166a4
    Reviewed-on: https://chromium-review.googlesource.com/470268
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 6e60d6bfe9f373f9dfdb9cc2621b653a27b3cbeb
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Apr 12 12:59:04 2017 -0400

    Don't allow deleting the 0 transform feedback.
    
    BUG=709786
    
    Change-Id: I956cae994241a650869cee45c471074d08e79a5d
    Reviewed-on: https://chromium-review.googlesource.com/475131
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 67f5ce42461d831cce30f737fa81919508c1368e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Apr 12 10:32:36 2017 -0400

    Fix the texture completeness cache.
    
    Two silly mistakes were landed in 9aded1:
     * The cache was not updating the sampler state it was using to compare
       against new ones.
     * The SamplerCompletenessCache entry was being copied and not updated.
    
    BUG=709980
    
    Change-Id: I1914ed30e24b9e48c4504da164f013a637a0b6c2
    Reviewed-on: https://chromium-review.googlesource.com/475752
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 1e5499db80aa3218b510709320afa1f95a9efb06
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Apr 5 11:22:16 2017 -0400

    Refactor Signal utils into template classes.
    
    This will allow us to pass on extra information to the receiving end,
    such as the specific texture levels that are dirty.
    
    BUG=angleproject:1635
    
    Change-Id: Idb7ca1d625499e50e7712c458b694f6e9bfc0595
    Reviewed-on: https://chromium-review.googlesource.com/453382
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 2b39659db0bc770257e83f3d3a9b0de2b315b798
Author: Xinghua Cao <xinghua.cao@intel.com>
Date:   Wed Mar 29 15:36:04 2017 +0800

    ES31: Implement glDispatchCompute for OpenGL backend
    
    This patch refers to https://chromium-review.googlesource.com/c/380639/
    
    BUG=angleproject:1955
    TESTCASE=angle_end2end_tests
    
    Change-Id: Iafd7a6ba2d71c0b332d9267a1260d9dbd9800c02
    Reviewed-on: https://chromium-review.googlesource.com/462089
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Yunchao He <yunchao.he@intel.com>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit e918de22f2652e57590c195f1d14453fd9c98aee
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Apr 12 10:21:11 2017 -0400

    Vulkan: Don't finish on swap.
    
    This will enable the next frame to render while the previous frame's
    command buffers are executing and rendering is happening. This should
    speed up the Vulkan perf test.
    
    BUG=angleproject:1898
    
    Change-Id: I0820300d7934ef280cf75628239fe40dc96b8242
    Reviewed-on: https://chromium-review.googlesource.com/445799
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 82483b9318ef8671c06938bee1fb8b90977d1bda
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Apr 11 15:33:00 2017 -0400

    Obey the bufSize and write to the length parameter in glGetSynciv.
    
    BUG=angleproject:1985
    
    TEST=conformance2/state/gl-object-get-calls
    
    Change-Id: Ic83c408b60d394ff5719beaedc5d4721b7811a47
    Reviewed-on: https://chromium-review.googlesource.com/474551
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit df79af5986ddc46307e98f122b52e5ce5d98604e
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Tue Apr 11 16:56:58 2017 -0400

    Need Vulkan stuff for unix too.
    
    Copy the Vulkan-related dependencies into the 'unix' section of the file
    so we linux bots can build ANGLE's Vulkan backend.
    
    BUG=angleproject:1668
    
    Change-Id: I79e2895b525808072495c7cf18138facef6cc868
    Reviewed-on: https://chromium-review.googlesource.com/475085
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 38f2cfb8b069a0077c38c932450ca4beb2b190aa
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Apr 11 15:23:08 2017 -0400

    Refactor validation of glGetSynciv.
    
    BUG=angleproject:1985
    
    Change-Id: Idf1057e6d8d8c850643e3b2a22be5a881c8a2301
    Reviewed-on: https://chromium-review.googlesource.com/474550
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 58337799554d9bddb6d5a0067df660cd86d73bf3
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Mar 21 13:49:57 2017 -0400

    Correctly initialize the condition of FenceSync objects.
    
    The spec says that the initial condition of a FenceSync object should be
    GL_SYNC_GPU_COMMANDS_COMPLETE.  Make sure this is set in case the
    condition is queried before the fence is set.
    
    TEST=conformance2/state/gl-object-get-calls.html
    BUG=602688
    
    Change-Id: I8c0451fc996c175109541f337191cc1be4b813e3
    Reviewed-on: https://chromium-review.googlesource.com/457452
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 46258e1fcab289c22017068e2c93f77ae75c9ec1
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Apr 10 12:28:34 2017 -0400

    Blit9: Pass the dest rect to setViewportAndShaderConstants.
    
    Using the sourceRect for calculating the viewport and texture coordinates
    was not enough when the source and destination rectangles were different
    sizes (generating mipmaps).
    
    BUG=709232
    
    Change-Id: I2704ddf6e3da0939ad77d278ab495e53a2d9bc7d
    Reviewed-on: https://chromium-review.googlesource.com/473266
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit eb8abb0ac62e50d2314c26b5f3cc26423cf329b1
Author: jchen10 <jie.a.chen@intel.com>
Date:   Tue Apr 11 08:30:38 2017 +0800

    Remove unused declaration
    
    isValidResourceIndex in Program.h is unused.
    
    BUG=angleproject:1920
    
    Change-Id: Ide097348fac7ed97a0e07f3d97d7944ac997f71d
    Reviewed-on: https://chromium-review.googlesource.com/474229
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 5ed601b4c470432ce85babfb6614bc0752f7d46b
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Mon Apr 10 18:50:10 2017 -0400

    Fix IsOzone() predicate.
    
    ANGLE_USE_OZONE is not defined in tests, but USE_OZONE is so use the latter.
    
    BUG=angleproject:1423
    
    Change-Id: Ib758fec6a1bb8d5cc66d0994cba2142e6a7f82b0
    Reviewed-on: https://chromium-review.googlesource.com/474113
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 20e005b2a1548cf16c627ba82144446bffd69493
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Apr 7 14:19:22 2017 -0400

    Rename BitSetIterator.h to bitset_utils.h
    
    BUG=angleproject:1814
    
    Change-Id: I152ae13b6b7cf0ba72259967f0f124e199b20e07
    Reviewed-on: https://chromium-review.googlesource.com/471826
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 03b333b4848de07eb6755f1e9594ef2bb44b752a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Apr 7 14:54:10 2017 -0400

    Vulkan: Fix Clang warning and fix build.
    
    The data_deps section for angle_vulkan was referencing a variable
    that didn't exist (no warning for this). Fix the deps which also
    then exposes the build problem with the layers with Clang in 32-bit.
    Also fix not propagating the Win32 defines to the layer utils.
    
    BUG=chromium:708835
    
    Change-Id: I4a457bfabf1ca735d3f3f3d8b0f0823cfa834b84
    Reviewed-on: https://chromium-review.googlesource.com/470087
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit bf67aa801a19e4d3877871bfea6a209226b94759
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Apr 7 10:32:16 2017 -0400

    Temporarily disable Vulkan for the GN build.
    
    BUG=709342
    
    Change-Id: I980634700d364824af9f9b749fca0ec72abf68f8
    Reviewed-on: https://chromium-review.googlesource.com/471507
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 067cdb4ab381f6707a10d0270feeab52aae20465
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Apr 5 13:42:49 2017 -0400

    Create depth stencils for D3D texture EGL surfaces.
    
    BUG=angleproject:1144
    
    Change-Id: I42d80293c06e40197fe100bcac31a5c6bd414edf
    Reviewed-on: https://chromium-review.googlesource.com/469106
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit fa416b18e3903d2f0bb6d7a9b6ac34e3e658b1bc
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Apr 6 11:34:17 2017 -0400

    Disable ValidationESTest.DrawElementsWithMaxIndexGivesError.
    
    Temporarily until we have a proper fix.
    
    BUG=chromium:708835
    
    Change-Id: I9c1d63d8d1f831f2a4a168149b7ff805bc851def
    Reviewed-on: https://chromium-review.googlesource.com/469967
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 6f1c3de95e614cd32a43bd77819df47da5e068ab
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Apr 5 16:40:15 2017 -0400

    gpu_info_util: fix a DeviceInfo leak on Windows
    
    BUG=angleproject:1874
    
    Change-Id: I382e306ce0c27a81e0d746fb9922fa12988927d4
    Reviewed-on: https://chromium-review.googlesource.com/469230
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit df55f252e6cde51e6eb3f334b9d9740d860b38de
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Wed Apr 5 15:32:06 2017 -0400

    Skip a couple end2end tests on Ozone.
    
    Skip the following two end2end tests on Ozone pending investigation:
      IndexedPointsTestUShort.VertexWithColorUnsignedShortOffsetChangingIndices/ES2_OPENGLES
      SRGBTextureTest.SRGBDecodeTextureParameter/ES2_OPENGLES
    
    BUG=angleproject:1423
    
    Change-Id: Ied5b42903421ae9f388e8563814e3fe28eeb7b3e
    Reviewed-on: https://chromium-review.googlesource.com/469087
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 72106562cdad71d5cb981fd4c6fc12ab3cfd9946
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Mar 24 14:18:50 2017 -0400

    Vulkan: Only re-create pipeline on state change.
    
    This speeds up the simple perf test, but it is a very simple
    optimization that does not have a cache of pipelines or anything
    sophisticated.
    
    BUG=angleproject:1898
    
    Change-Id: Iec126bc73bf28f8bb33662a2f70670588f010d72
    Reviewed-on: https://chromium-review.googlesource.com/444850
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 5e96d74f0920992f072118dd346073641758910f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Apr 5 16:26:14 2017 -0400

    Allow the OpenGL ES backend to be used with dEQP on Windows.
    
    Change-Id: I79e013ca2be57916affb167f5b348cc414d581ba
    Reviewed-on: https://chromium-review.googlesource.com/469189
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 6e0d8410da7c34dec99f2f3c50be8e6f058ce596
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Wed Apr 5 15:15:10 2017 -0400

    Add IsOzone().
    
    Add a function to check for the Ozone back end for use in skipping tests.
    
    BUG=angleproject:1423
    
    Change-Id: Ida3313e8cce5179422bdca85ba68f9765dfac840
    Reviewed-on: https://chromium-review.googlesource.com/469068
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit 9aded17c25cfaae359b65dae3c015dc00a214aee
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Apr 5 11:07:56 2017 -0400

    Invalidate completeness caches when enabling extensions.
    
    Enabling extensions can cause framebuffers and textures to go from
    incomplete to complete.
    
    No functional changes from the API surface.
    
    BUG=angleproject:1523
    BUG=angleproject:1958
    
    Change-Id: Iff686e1c292f6cf4921d6fffd7eb98bedaba828b
    Reviewed-on: https://chromium-review.googlesource.com/468410
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 60e17eab29b66d096ef315ec59974c3aebd57ba4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Apr 5 11:01:49 2017 -0400

    Vulkan: Fix 32-bit Clang build.
    
    We were getting a warning:
    
    stdcall calling convention ignored on variadic function
    
    BUG=None
    
    Change-Id: I9165b285dfaf6bc238f946fda2d733292789390d
    Reviewed-on: https://chromium-review.googlesource.com/468373
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 562c968612ad72aa6ba5b2c8411b4589e3415b97
Author: Shao <jiawei.shao@intel.com>
Date:   Tue Apr 4 17:28:43 2017 +0800

    Clean up legacy code in VertexAttributeTest.cpp
    
    This patch intends to clean up some coding style issues in
    VertexAttributeTest.cpp, which is helpful to implement Vertex
    Attrib Binding.
    1. Use std::string directly instead of macro SHADER_SOURCE
    2. Use constexpr on constants
    3. Use std::array instead of traditional C-style arrays
    
    BUG=angleproject:1593
    
    Change-Id: I5b6f6d4fe0e34e82a9fc38cb54932fbc39e19a80
    Reviewed-on: https://chromium-review.googlesource.com/467406
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit f2209f74b3f4fc828baf37371c3a98fdd339f004
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Sat Apr 1 12:45:55 2017 +0300

    Clean up function name mangling code
    
    Fix a few incorrect comments about mangled names, and refactor
    generating mangled names from function call nodes.
    
    BUG=angleproject:1490
    TEST=angle_unittests
    
    Change-Id: I3ee68c4c0982f1a9c28d8e87aafa19f19559bbf8
    Reviewed-on: https://chromium-review.googlesource.com/465826
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit dd43e6cd1fa2b7f63a12fdaecd0391e9d7b65610
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Mar 24 14:18:49 2017 -0400

    Pass Context to VertexArray and Framebuffer syncstate.
    
    This will enable more Vulkan-friendly idioms like clearing the
    vulkan pipeline caches correctly on GL state changes immediately
    because we have access to the ContextVk.
    
    BUG=angleproject:1898
    
    Change-Id: I16c848d8abdde8e26a38d384e565cec8548a66d0
    Reviewed-on: https://chromium-review.googlesource.com/459079
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 2360ed0cdff3235388770596851bc33198dda851
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Apr 4 15:06:09 2017 -0400

    Disable the EGLSyncControlTest
    
    This test is very flaky on Windows bots.
    
    TBR=stanisc@chromium.org
    BUG=angleproject:1402
    
    Change-Id: Iddfc630113c33cb79a96b7882fe8fa0e7fbf17d7
    Reviewed-on: https://chromium-review.googlesource.com/468026
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit e93dabaaa29070814eb9ec3af155ab81436a534b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Mar 30 13:54:40 2017 -0400

    Output the number of columns and rows written for robust ReadPixels.
    
    BUG=angleproject:1354
    
    Change-Id: Ib78f74d7b1a449468e2c477955f6795dc5dbc811
    Reviewed-on: https://chromium-review.googlesource.com/463786
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 6b2ea3fef743687754f13f5635f180862bcd3263
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Mar 28 11:49:17 2017 -0400

    Support D3D texture share handles in the OpenGL backend on Windows.
    
    BUG=angleproject:1144
    
    Change-Id: Ideb0ed306ae8417f53b813745ced43002d028126
    Reviewed-on: https://chromium-review.googlesource.com/461271
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 9ec79391cc23bb1dae9e632133e28afb5c2faa59
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Mar 31 23:04:23 2017 +0300

    Use TLValueTrackingTraverser in ValidateLimitations
    
    Use TLValueTrackingTraverser to determine whether a loop index is used
    as an l-value. This replaces custom logic in ValidateLimitations,
    greatly simplifying the code. Also pass the symbol table to
    ValidateLimitations as a parameter, which removes the need to store a
    global pointer to the current ParseContext.
    
    BUG=angleproject:1960
    TEST=angle_unittests, WebGL conformance tests
    
    Change-Id: I122c85c78bbea05833d7c787cd184de568c5c45f
    Reviewed-on: https://chromium-review.googlesource.com/465606
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit b5e884a4557d3f742eadc78ddb4e5441495dd734
Author: Shahmeer Esmail <shahmeer.esmail@intel.com>
Date:   Thu Mar 9 19:33:33 2017 -0800

    Clear11 VerticesTransform, RasterizerStates, ScissorRect
    
    - Skip clears if an empty scissor rect is set
    - Use rastStates to apply scissoring instead of recomputing the scissored
    positions and updating the VB and updating the VB for every clear
    - Use ComPtrs for VB and RasterizerStates
    
    BUG=angleproject:1934
    
    Change-Id: Ib4448d8568b465df5de57607be4985095f6bd014
    Reviewed-on: https://chromium-review.googlesource.com/453881
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 420ba15435ccca86e697788a265157cfd4d10df3
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Tue Sep 20 00:00:53 2016 -0400

    Update dEQP gles3 tests expectations for Android
    
    Mark tests that fail or hang on Nexus 5X as such.
    
    BUG=angleproject:1532
    TEST=gles3 tests pass on Nexus 5X
    
    Change-Id: Id4c31884890bd48595a83be14e8d56342f7fbe59
    Reviewed-on: https://chromium-review.googlesource.com/387148
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 9cb2c2623cecc62952fd22ad93583b426ca16095
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Apr 3 10:12:04 2017 -0400

    Re-land: Roll vulkan-validation-layers. (2/2)
    
    https://android.googlesource.com/platform/external/vulkan-validation-layers.git/+log/bcb80d06bbdc09..f47c534fee2f26f
    
    This CL re-enables Vulkan with the new build files.
    
    In particular, this roll contains a fix for a vs2017 signed/unsigned
    mismatch warning as error.
    
    Re-land fixes build dependencies.
    
    BUG=chromium:683729
    
    Change-Id: If2b1bc7250037c33402965eae354ca550ecd36c0
    Reviewed-on: https://chromium-review.googlesource.com/466106
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit f546e7df435ae134e250acb4e22a3102fd4b4f89
Author: Jiajia Qin <jiajia.qin@intel.com>
Date:   Mon Mar 27 14:12:59 2017 +0800

    ES31: Add GL_SHADER_STORAGE_BUFFER_BINDING binding point
    
    The affected APIs are below:
    getIntegeri_v getInteger64i_v BindBuffer BindBufferBase BindBufferRange
    
    BUG=angleproject:1951
    TEST=dEQP-GLES31.functional.state_query.integer.shader_storage_buffer_binding_*
         dEQP-GLES31.functional.state_query.indexed.shader_storage_buffer_*
    
    Change-Id: Ief7186b2ebe305f14e620c31841bc244f84429a5
    Reviewed-on: https://chromium-review.googlesource.com/459093
    Reviewed-by: Yunchao He <yunchao.he@intel.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit fd7c3b52071222495991a47827443ab9d4db74b6
Author: jchen10 <jie.a.chen@intel.com>
Date:   Tue Mar 21 15:36:03 2017 +0800

    ES31: Add glGetProgramResourceName API
    
    Add API entry and validation checks(GLES 3.1 section 7.3).
    Add the first 2 interfaces(PROGRAM_INPUT and PROGRAM_OUTPUT) implementation.
    
    BUG=angleproject:1920
    
    Change-Id: Ide7d5ad40a611a091c3dffab47fd31da57b69f1d
    Reviewed-on: https://chromium-review.googlesource.com/457523
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit ec9232bdca915b3bb54aa62ecf8fd649816dd7a0
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Mar 27 17:01:37 2017 +0300

    Store unmangled function names in the AST
    
    This makes the code simpler across the board. There are a few cases
    where mangled names still need to be generated in AST traversers, but
    they are outweighed by much leaner output code for all function nodes.
    
    BUG=angleproject:1490
    TEST=angle_unittests, angle_end2end_tests
    
    Change-Id: Id3638e0fca6019bbbe6fc5e1b7763870591da2d8
    Reviewed-on: https://chromium-review.googlesource.com/461077
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 495bd776868867d8064b3b11b9adba2d7b6dbbd0
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Wed Mar 29 12:40:28 2017 +0800

    Update deqp31 test expectations
    
    Remove the following deqp cases from deqp_gles31_test_expectations.txt
    since they can pass now due to
    https://chromium-review.googlesource.com/c/430199/4/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp
    
    BUG=angleproject:1442
    
    TEST=dEQP-GLES31.functional.state_query.integer.max_compute_work_group_invocations_*
         dEQP-GLES31.functional.state_query.integer.max_compute_uniform_blocks_*
         dEQP-GLES31.functional.state_query.integer.max_compute_texture_image_units_*
         dEQP-GLES31.functional.state_query.integer.max_compute_uniform_components_*
         dEQP-GLES31.functional.state_query.integer.max_uniform_locations_*
         dEQP-GLES31.functional.state_query.indexed.max_compute_work_group_count_*
         dEQP-GLES31.functional.state_query.indexed.max_compute_work_group_size_*
    
    Change-Id: I121588cdb5d5b67c5b1d76e8710b2f53f35ede15
    Reviewed-on: https://chromium-review.googlesource.com/461732
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Yunchao He <yunchao.he@intel.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit fe48632f2f47f9513c0557c331a8f346ed92c82d
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Mar 21 09:30:54 2017 +0000

    Prefer identifying functions by using symbol ids
    
    The shader translator code is now structured in a way that ensures
    that all function definition, function prototype and function call
    nodes store the integer symbol id for the function. This is guaranteed
    regardless of whether the function node is added while parsing or as a
    result of an AST transformation. TIntermAggregate nodes, which include
    function calls and constructors can now only be created by calling one
    of the TIntermAggregate::Create*() functions to ensure they have all
    the necessary properties.
    
    This makes it possible to keep track of functions using integer ids
    instead of their mangled name strings when generating the call graph
    and when using TLValueTrackingTraverser.
    
    This commit includes a few other small cleanups to the CallDAG class
    as well.
    
    BUG=angleproject:1490
    TEST=angle_unittests, angle_end2end_tests
    
    Change-Id: Idd1013506cbe4c3380e20d90524a9cd09b890259
    Reviewed-on: https://chromium-review.googlesource.com/459603
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 76e6565e23d8f01146a31a75b8acf7ff30b638c6
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Mar 27 14:58:02 2017 -0400

    Validate clear attachment formats match color clear types.
    
    TEST=conformance2/rendering/clear-func-buffer-type-match.html
    
    BUG=angleproject:1954
    
    Change-Id: Iefeb38041608f11781f87aadb8611737ba2ee96f
    Reviewed-on: https://chromium-review.googlesource.com/461270
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 005a701611a4363e0f13e4e584fda5a543e4787b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Mar 27 13:17:34 2017 -0400

    Adjust the FBO invalidate attachment enums for emulated default FBOs.
    
    BUG=angleproject:1953
    
    Change-Id: I7f325e3b7400e12077cdf9106a83a747a318a299
    Reviewed-on: https://chromium-review.googlesource.com/461297
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 9e1bf10b8b0aae8339304ae7c7428a034a1653ae
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Mar 28 15:10:48 2017 -0400

    Strip null characters from the shader source when building translated source.
    
    Some shaders had trailing null characters that caused the resulting
    translated source string to not output correctly.
    
    BUG=angleproject:1144
    
    Change-Id: I7cd725ee54c9e934fd3cc511de9c2a3c34ac3eec
    Reviewed-on: https://chromium-review.googlesource.com/461272
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 8f77e5d3235dae4e28a39280ee883fecf3392998
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Mar 24 11:58:59 2017 -0700

    gpu_info_util: Implement GetSystemInfo on Windows
    
    BUG=angleproject:1874
    
    Change-Id: I97a02d2c8b1f7ecb530684464fc02f528d34de7c
    Reviewed-on: https://chromium-review.googlesource.com/458965
    Reviewed-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 2d62ab7279dac68a36c04da0e9a0101a3b8ff586
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Mar 23 16:54:40 2017 -0400

    Apply WebGL validation to glVertexAttribIPointer.
    
    TEST=deqp/functional/gles3/shaderstatequery.html
    BUG=angleproject:1523
    BUG=chromium:668223
    
    Change-Id: I24230144f8529d84cdbde3d5a8ad9178481550a9
    Reviewed-on: https://chromium-review.googlesource.com/458680
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 80957d99b4b7d695028cff087098adaced5ab78f
Author: Shao <jiawei.shao@intel.com>
Date:   Mon Feb 20 21:25:59 2017 +0800

    ES31: Implement Vertex Attrib Binding entry points
    
    This patch intends to implement all entry points related to Vertex
    Attrib Binding.
    
    (1) Add entry points and validation code on following APIs:
       - VertexAttribFormat
       - VertexAttribIFormat
       - VertexAttribBinding
       - BindVertexBuffer
       - VertexBindingDivisor
    (2) Add queries on following parameters:
       - VERTEX_ATTRIB_BINDING
       - VERTEX_ATTRIB_RELATIVE_OFFSET
       - VERTEX_BINDING_DIVISOR
       - VERTEX_BINDING_OFFSET
       - VERTEX_BINDING_STRIDE
       - VERTEX_BINDING_BUFFER
    
    BUG=angleproject:1593
    
    TEST=angle_end2end_tests
    TEST=angle_unittests
    TEST=dEQP-GLES31.functional.state_query.integer.max_vertex_attrib_relative_offset_*
    TEST=dEQP-GLES31.functional.state_query.integer.max_vertex_attrib_bindings_*
    TEST=dEQP-GLES31.functional.state_query.integer.max_vertex_attrib_stride_*
    TEST=dEQP-GLES31.functional.state_query.vertex_attribute_binding.*
    TEST=dEQP-GLES31.functional.debug.negative_coverage.log.vertex_array.vertex_attrib_pointer
    TEST=dEQP-GLES31.functional.debug.negative_coverage.get_error.vertex_array.vertex_attrib_format
    TEST=dEQP-GLES31.functional.debug.negative_coverage.get_error.vertex_array.vertex_attrib_i_format
    
    Change-Id: I4b477a82df6aad89b89b088580a06d66963e6666
    Reviewed-on: https://chromium-review.googlesource.com/446124
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 484dd7b16ce551001b6b1cb025dff69ffc8a96c0
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Tue Mar 7 16:39:22 2017 +0800

    ES31: Implement DrawElementsIndirect D3D part
    
    The implementation of DrawElementsIndirect is similar with
    DrawArraysIndirect except that it needs to apply IndexBuffer.
    
    BUG=angleproject:1595
    TEST=dEQP-GLES31.functional.draw_indirect.draw_elements_indirect*
         dEQP-GLES31.functional.draw_indirect.instancing.*
         dEQP-GLES31.functional.draw_indirect.random.*
    
    Change-Id: I5d2c8a7485b18b724fdda6fd964013c941e45b4f
    Reviewed-on: https://chromium-review.googlesource.com/455520
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 795e75735c256a02a22a605788c4c53beab38373
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Mar 28 15:47:21 2017 +0000

    Revert "Roll vulkan-validation-layers. (2/2)"
    
    This reverts commit 2feaa5e0ac6b779e13254c84b41de436f5d14765.
    
    Reason for revert: Broke the Chrome Windows builders.
    
    Build: https://build.chromium.org/p/chromium/builders/Win/builds/53432
    Error: src\third_party\vulkan-validation-layers\src\include\vulkan\vk_layer.h(39): fatal error C1083: Cannot open include file: 'vk_layer_dispatch_table.h': No such file or directory
    
    Original change's description:
    > Roll vulkan-validation-layers. (2/2)
    >
    > https://android.googlesource.com/platform/external/vulkan-validation-layers.git/+log/bcb80d06bbdc09..f47c534fee2f26f
    >
    > This CL re-enables Vulkan with the new build files.
    >
    > In particular, this roll contains a fix for a vs2017 signed/unsigned
    > mismatch warning as error.
    >
    > BUG=chromium:683729
    >
    > Change-Id: Id38e10f97702cac5a51ee194c81972861f15db21
    > Reviewed-on: https://chromium-review.googlesource.com/457278
    > Commit-Queue: Jamie Madill <jmadill@chromium.org>
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    >
    
    TBR=geofflang@chromium.org,jmadill@chromium.org,bungeman@chromium.org,cwallez@chromium.org
    # Not skipping CQ checks because original CL landed > 1 day ago.
    BUG=chromium:683729
    
    Change-Id: Ic60f22496fc57904132d574a2fb2c1ca4d875b3e
    Reviewed-on: https://chromium-review.googlesource.com/461999
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 61afff146077cb56dbf6e26dfdcf4a37df5ce6ad
Author: Yunchao He <yunchao.he@intel.com>
Date:   Tue Mar 14 15:34:03 2017 +0800

    ES31: Add PROGRAM_SEPARABLE to ProgramParameter and GetProgram
    
    BUG=angleproject:1939
    TEST=angle_end2end_tests
    
    Change-Id: I97ad11360f7c015947a2c0cc7d4a47f994726834
    Reviewed-on: https://chromium-review.googlesource.com/454264
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 48fed63333789ad486f63a6df95f8c1cb5dc3b3d
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Mar 16 12:05:30 2017 +0000

    Set sampler uniform values from binding qualifiers
    
    The usual set uniform call is used to set initial sampler uniform
    values based on binding layout qualifiers. This is the simplest way to
    ensure that the uniform values are set correctly in both internal data
    structures of the Program class and on the different backends. This is
    done as one of the last steps of program linking.
    
    TEST=dEQP-GLES31.functional.uniform_binding.sampler*
    BUG=angleproject:1442
    
    Change-Id: I2f58c98e175f6a10a90042050f4fcbea77ad97ac
    Reviewed-on: https://chromium-review.googlesource.com/456597
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit fc72a07301163889d78146f73759f732f5917618
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Mar 24 14:52:39 2017 -0400

    Update CHROMIUM_copy_texture entry points to the ES3 versions.
    
    BUG=angleproject:1932
    
    Change-Id: Ia45f8522320af1d747fbfb57468e8b881b033543
    Reviewed-on: https://chromium-review.googlesource.com/459101
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit ee218f273f3eb4e14d9604d97af08ad9fa5612cb
Author: Stanislav Chiknavaryan <stanisc@chromium.org>
Date:   Wed Mar 22 15:39:13 2017 -0700

    Re-land eglGetSyncValuesCHROMIUM extension.
    
    This reverts commit 20c97cac2a15144b61ceec7404a9e6249c40f50a
    and adds a few trivial changes to make it build with the current version
    of ANGLE code.
    
    Please see https://bugs.chromium.org/p/chromium/issues/detail?id=614147
    for more details on how this extension will be used.
    
    Original description:
    
    This change adds implementation of eglGetSyncValuesCHROMIUM extension
    on D3D11 with Direct Composition. This should work on Windows 8.1 and
    above.
    
    The implementation is based on IDXGISwapChain::GetFrameStatistics.
    
    Extension documentation:
    https://chromium.googlesource.com/chromium/src/gpu/+/master/GLES2/extensions/CHROMIUM/EGL_CHROMIUM_get_sync_values.txt
    
    BUG=angleproject:1402
    
    Change-Id: I4b77899f31a4c4cf1fa7f20ab12de5a02ccf74d8
    Reviewed-on: https://chromium-review.googlesource.com/459217
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 2feaa5e0ac6b779e13254c84b41de436f5d14765
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Mar 24 13:04:21 2017 -0400

    Roll vulkan-validation-layers. (2/2)
    
    https://android.googlesource.com/platform/external/vulkan-validation-layers.git/+log/bcb80d06bbdc09..f47c534fee2f26f
    
    This CL re-enables Vulkan with the new build files.
    
    In particular, this roll contains a fix for a vs2017 signed/unsigned
    mismatch warning as error.
    
    BUG=chromium:683729
    
    Change-Id: Id38e10f97702cac5a51ee194c81972861f15db21
    Reviewed-on: https://chromium-review.googlesource.com/457278
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit aa086d6802bd632c6ae5eb8655207b97095c856d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Mar 23 16:47:21 2017 -0400

    Refactor glVertexAttribIPointer validation.
    
    BUG=angleproject:1523
    BUG=chromium:668223
    
    Change-Id: I51eca98ad14d8be6f5009149ed6c0daecf569178
    Reviewed-on: https://chromium-review.googlesource.com/458106
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 4063e209547e91083f731ac7519e772fc7982855
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Mar 23 11:38:22 2017 -0400

    Roll vulkan-validation-layers. (1/2)
    
    https://android.googlesource.com/platform/external/vulkan-validation-layers.git/+log/bcb80d06bbdc09..f47c534fee2f26f
    
    Disables Vulkan in ANGLE temporarily - a second CL will follow with
    the updated build files once ANGLE is rolled into Chrome.
    
    In particular, this roll contains a fix for a vs2017 signed/unsigned
    mismatch warning as error.
    
    BUG=chromium:683729
    
    Change-Id: Ib23370d79f1359ab290f08e14a847eed75251660
    Reviewed-on: https://chromium-review.googlesource.com/458531
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 15015f7f820cd29d4f1c3110ef07027823e92c0d
Author: jchen10 <jie.a.chen@intel.com>
Date:   Thu Mar 16 13:54:21 2017 +0800

    ES31: Add glGetProgramResourceIndex API
    
    Add API entry and validation checks(GLES 3.1 section 7.3).
    Add the first 2 interfaces(PROGRAM_INPUT and PROGRAM_OUTPUT) implementation.
    
    BUG=angleproject:1920
    
    Change-Id: Ib2dedded9fd79b315e9f38de7c27a5e4ec4c6066
    Reviewed-on: https://chromium-review.googlesource.com/453085
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit f651c7739f96bb6d3879fe896af572fe37a8a02d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Feb 21 15:03:51 2017 -0500

    Vulkan: Enable command queueing.
    
    This adds the ability for rendering to happen asynchronously. If
    objects in-use are deleted as they are being accessed, ownership
    is transferred to the Renderer and they are deleted when not in
    use. We determine they're ready for delete using a Fence object.
    
    BUG=angleproject:1898
    
    Change-Id: I4fcfd90ad0665d127bf01a10214a604f3407d9e4
    Reviewed-on: https://chromium-review.googlesource.com/428353
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a5527071817d42ce35256e5398d94e6ff2701adb
Author: Andrei Volykhin <andrei.volykhin@gmail.com>
Date:   Wed Mar 22 16:46:30 2017 +0300

    Add support for EXT_YUV_target
    
    Add new sampler type "__samplerExternal2DY2YEXT"
    to sample a YUV texture image and output color value
    without any color conversion,
    new additional type to specify color space standard formula and
    built-in functions for yuv to rgb transformation.
    
    Change-Id: I1780650fe84cd75191c1ca1e4118e89d585bfd92
    Reviewed-on: https://chromium-review.googlesource.com/454697
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit c1ebf5bdaadc3cd1ff51a9a8b3ba611372bfa453
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Mar 22 11:10:51 2017 -0400

    Roll gyp and use Windows 10 SDK by default.
    
    We want to require use of the Windows 10 SDK in ANGLE - Chrome
    already uses a newer SDK.
    
    A new gyp feature added by munyirik@microsoft.com allows us to use
    the latest Win 10 SDK installed on the system, irrespective of the
    minor version number.
    
    Also update the docs.
    
    BUG=angleproject:1943
    
    Change-Id: Iaafbba858fb7565ab09672eadc403dbb8abab3dd
    Reviewed-on: https://chromium-review.googlesource.com/458516
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 95f6ceddd672970b4256a15e13f05ca0b6ec8539
Author: Shahmeer Esmail <shahmeer.esmail@intel.com>
Date:   Mon Mar 13 17:40:31 2017 -0700

    RenderstateCache and Clear11 Optimizations
    
    - Unify DepthStencilState and BlendState caches in RenderStateCache with those in Clear11. This
    will increase cache hit rate and reduce memory usage.
    - Apply DepthStencilState and BlendState only when required to reduce state sets.
    
    BUG=angleproject:1632
    
    Change-Id: I244e3ba189f82814638fa90e2617aa5441024d0f
    Reviewed-on: https://chromium-review.googlesource.com/453888
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d0fcb90d235cf768097271e2c8a47a5d4fdc3e26
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Mar 21 17:39:21 2017 -0400

    Update testing documentation.
    
    BUG=angleproject:1944
    
    Change-Id: Iac643f896cfb4c8c23474c744fcb2a073207db26
    Reviewed-on: https://chromium-review.googlesource.com/457430
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d90d388cdbab8ff274393580c597a9e16808bfe3
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Mar 21 10:49:54 2017 -0400

    Make sure the default framebuffer has enough draw buffer states.
    
    Querying the draw buffer states of the default framebuffer would lead to
    crashes because it only had one state.  The spec says that all non-zero
    attachments default to GL_NONE and makes no mention of special cased
    errors for querying the default framebuffer.
    
    Also fix the validation to check for extensions and ES version when
    querying draw buffer state.
    
    BUG=703508
    
    Change-Id: I7db5443141c65a3f9c638f07ba90f78d76e4e7b4
    Reviewed-on: https://chromium-review.googlesource.com/457524
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 86904b81d735da77f62310acee12f64583955f6a
Author: Shao <jiawei.shao@intel.com>
Date:   Tue Mar 21 09:30:59 2017 +0800

    ES31: Add workaround for illegal MAX_VERTEX_ATTRIB_STRIDE on Linux AMD
    
    Query of MAX_VERTEX_ATTRIB_STRIDE on some Linux AMD OpenGL drivers
    returns 0 even if the context is OpenGL 4.4 and 4.5, which is against
    SPEC and will block the implementation of ES3.1 feature Vertex Attrib
    Binding.
    
    This patch adds the workaround for this bug by choosing an emulated
    value (2048) as the value of MAX_VERTEX_ATTRIB_STRIDE on Linux AMD
    OpenGL drivers.
    
    BUG=angleproject:1936
    
    TEST=angle_end2end_tests
    
    Change-Id: I831bda6cb94b2489d09735622150d35aa1948274
    Reviewed-on: https://chromium-review.googlesource.com/457254
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 16d4e472de77e89e7c663194c4fb9591235e6dd4
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Mar 20 13:06:19 2017 -0400

    BUILD.gn: declare_args() use_lipci
    
    This is the third stage of 05356e35d363355c9510f3ef9eb8e639db3900bc
    and is necessary for projects putting use_libpci in the gn args, like
    headless Chrome.
    
    BUG=angleproject:1874
    
    Change-Id: I03a010ababf08f992f0fb26ff87ddc48afd5a237
    Reviewed-on: https://chromium-review.googlesource.com/457277
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit e466c55130815c804f44f403838659e0ea0c4f0f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Mar 17 15:24:12 2017 -0400

    Preserve ImageIndex of texture attachments when committing.
    
    When calling Framebuffer::commitWebGL1DepthStencilIfConsistent with
    textures attached to depth or stencil, an invalid ImageIndex would be
    provided and later cause crashes when trying to index image arrays with a
    -1 mip level.
    
    BUG=angleproject:1708
    
    Change-Id: Iadd159ad740aa79561de823d8812c6b07454e5e5
    Reviewed-on: https://chromium-review.googlesource.com/456840
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d7d526ad24a353e1d0c04f9ca95d1c7baf975da2
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Feb 21 16:48:43 2017 -0500

    Allow enabling GL_EXT_texture_filter_anisotropic.
    
    BUG=angleproject:1721
    
    Change-Id: I7cbc734915cde7d09165a3fcfe9a6bc0d7149aff
    Reviewed-on: https://chromium-review.googlesource.com/445959
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 8aeeed6ef9a430bc5bd8dfd7ef25bc137bc1fb90
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Mar 15 18:09:26 2017 -0400

    D3D11: Work around compiler nested sampling bug.
    
    We can potentially work around a bug in the HLSL compiler by
    omitting the const qualifier from some sampling operations.
    
    BUG=angleproject:1923
    
    Change-Id: I8a5d119707721e9c19f06be4ad808f87bfcdbee5
    Reviewed-on: https://chromium-review.googlesource.com/454938
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a5eb2941d9eb86056d27be2a9615be46c54880da
Author: Frank Henigman <fjhenigman@gmail.com>
Date:   Thu Mar 9 17:03:54 2017 -0800

    Remove unused/unnecessary stuff.
    
    Change-Id: Ib409fee5422765cc4124a59a690a93c0fb2de8e7
    Reviewed-on: https://chromium-review.googlesource.com/456123
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit e11bf7bd4b7c6a59ede38788bb72d931d62b19c4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Mar 15 13:23:50 2017 -0400

    Lift uniform packing test suppressions.
    
    These were to be lifted in "Fix non-square matrix uniform packing."
    
    BUG=angleproject:1923
    
    Change-Id: I6c5cc973f9dff31ffefdfda9fe640b97d28799ad
    Reviewed-on: https://chromium-review.googlesource.com/455466
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit cc2ed61240617361832d3ef2b0abffbf9a417aa7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Mar 14 15:59:00 2017 -0400

    Fix non-square matrix uniform packing.
    
    This was broken in two places: the register count was using the non-
    transposed matrix row count. The block layout encoder was also not
    set to transpose matrices, which was causing incorrect packing info
    to be calculated in link.
    
    BUG=angleproject:1923
    
    Change-Id: I89094aa116fad4bda15f018498f8637520f12bd4
    Reviewed-on: https://chromium-review.googlesource.com/454876
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>

commit 36e120ef734a76810e45b15cee0368fe1a383f3e
Author: jchen10 <jie.a.chen@intel.com>
Date:   Tue Mar 14 14:53:58 2017 +0800

    Refactor the staticUse checks for attribute and output
    
    Remove these needless checks as GetActiveShaderVariables in Shader.cpp has
    filtered them already.
    
    BUG=angleproject:1920
    
    Change-Id: Ife85614a8f636768dd585a827bca81e2f15009c8
    Reviewed-on: https://chromium-review.googlesource.com/454129
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit ded1b5a6e9588ca7cb2f0abbcbb5baefaa729d55
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Mar 9 18:58:48 2017 -0500

    WebGL Compat: make sure to test the correct error
    
    In ForbidsClientSideElementArrayBuffer we test that WebGL Compatibility
    returns a GL_INVALID_OPERATION but on NVIDIA Shield, the pointer had the
    top bit set and caused a GL_INVALID_VALUE to be generated instead. Use a
    intptr_t(1) for indices to test the correct error.
    
    BUG=angleproject:1523
    
    Change-Id: I1497694264befa14b2b6df167b4f20fdbb707983
    Reviewed-on: https://chromium-review.googlesource.com/452547
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit ddb5eb560519ef39b4dea9752d5d34b080f06961
Author: Jiawei-Shao <jiawei.shao@intel.com>
Date:   Tue Mar 14 13:36:18 2017 +0800

    Fix build failure in UniformLinker.cpp on Linux
    
    This patch adds the declaration of libANGLE/features.h in UniformLinker.cpp
    to fix the build failure on Linux when you use gn to build ANGLE alone.
    
    BUG=angleproject:1938
    
    Change-Id: I19636df8f81b307e6d2e08fdac286cfb3f705eab
    Reviewed-on: https://chromium-review.googlesource.com/454083
    Reviewed-by: Yunchao He <yunchao.he@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit fbe49a8f84994df387eeb48f1eae18a8b7cc3565
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Mon Dec 19 14:19:10 2016 +0800

    ES31: Implement DrawArraysIndirect D3D part
    
    There are four buffer types for vertex attribute storage in D3D11:
      DIRECT
      STATIC
      DYNAMIC
      CURRENT_VALUE
    
    When drawing, it will call applyVertexBuffer to bind the right type
    buffers in D3D11.
    
    DIRECT uses the gl buffer directly without any translation.
    
    CURRENT_VALUE uses a single value for the attribute.
    
    STATIC translates the whole vertex buffer once. So it doesn't need the
    first, count and instance informations since it always translates the
    whole buffer.
    
    DYNAMIC translates the data every frame. To improve the performance,
    in implementation, it only translates 'count' vertexes from 'first'
    location in vertex buffer with one drawing for non-instanced vertices.
    'first' and 'count' are got from draw parameter list. And for the
    translated vertex buffer, when drawing, the first vertex location is 0.
    
    From above analysis, we can see that if all attribute storages are
    non-dynamic, we can directly use the indirect buffer to draw. But for
    dynamic storages, we have to calculate the first, count, and instances
    from indirect buffer and apply them to translate the dynamic type
    buffers. Meanwhile, we have to set the first to 0 (see above
    description)when drawing.
    
    DrawArrysIndirect implementation is like below:
    1. Check whether all vertex attributes are non-dynamic
    2. If yes, applyVertexBuffer and DrawInstancedIndirect
    3. If no, 1) calculate first, count, and instances from indirect buffer.
              2) applyVertexBuffer with these parameters.
              4) Use DrawInstanced instead of DrawInstancedIndirect.
    
    BUG=angleproject:1595
    TEST=dEQP-GLES31.functional.draw_indirect.draw_arrays_indirect*
    
    Change-Id: I36431f416443279d51de523b07ce60727914cbbf
    Reviewed-on: https://chromium-review.googlesource.com/446690
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit fe34780f46349703a2b6e6fae28e5c875e1ceb1a
Author: Shahmeer Esmail <shahmeer.esmail@intel.com>
Date:   Mon Mar 13 17:07:08 2017 -0700

    RenderStateCache BlendState Hash Fix
    
    Fix hash function for blendState cache
    
    BUG=angleproject:1937
    
    Change-Id: I0acd7dfcfb933b2b7ff0c1dc6854c7623ec57b3b
    Reviewed-on: https://chromium-review.googlesource.com/453887
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit e5cdca7e301ba1d2f17711f114a95ae44142b313
Author: Shahmeer Esmail <shahmeer.esmail@intel.com>
Date:   Mon Mar 13 16:45:56 2017 -0700

    RenderStateCache memory usage
    
    Reduce RenderStateCache cache sizes from 4k to 2k. Saves 64kb of memory.
    
    Change-Id: I9e92bbdf095f1e66cf9b84ba81899a8af59d6d86
    Reviewed-on: https://chromium-review.googlesource.com/453886
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c1f8d61a2cf89a2b6eaad0e22f894d457210c080
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Fri Mar 10 14:13:06 2017 -0500

    Disable VertexAttributeTestES31.MaxVertexAttribStride on Linux AMD GL
    
    Due to AMD driver bug.
    
    BUG=angleproject:1593
    
    Change-Id: Ic1fee717ffb55c67d3c4d0a43848d73ed6794732
    Reviewed-on: https://chromium-review.googlesource.com/452940
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 7a0b304490bee306ea6a1c96808ddd50d648ca95
Author: Shao <jiawei.shao@intel.com>
Date:   Fri Mar 10 10:03:33 2017 +0800

    Reland "ES31: Add test on large strides"
    
    In OpenGL 4.3 there is no limit on the maximum value of stride. This patch
    choose an emulated value for OpenGL 4.3 to fix the fyi failure on Linux AMD.
    
    BUG=angleproject:1593
    
    Change-Id: I83cecc2ed1a3734dc8b8df3edb48ecc16039ba6e
    Reviewed-on: https://chromium-review.googlesource.com/452746
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit b78707c8d09b592bad0a12bdac74ac9344e3803b
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Mar 9 15:03:11 2017 +0000

    Move default-block uniform linking to a separate file
    
    The code is easier to understand when it's encapsulated better.
    
    This change is pure refactoring with no functional changes.
    
    BUG=angleproject:1442
    TEST=angle_end2end_tests
    
    Change-Id: I6128fd72c65ca7a87af596cda4866c74c2a66c48
    Reviewed-on: https://chromium-review.googlesource.com/452502
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit e14951e64bf08f832aed81585cf602265d2f5250
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Mar 9 18:55:16 2017 -0500

    Implement robust buffer initialization.
    
    This uses the most simple implementation: on BufferData calls without
    explicit data arguments, it will initialize the buffer data store to
    zero. This could be improved by deferring the init until needed, and
    skipping it if the buffer store is cleared through other API calls,
    but it is not a regression from current Chromium implementation.
    
    BUG=angleproject:1635
    
    Change-Id: I2fb1594851c5050dc2578736c3f74761555da267
    Reviewed-on: https://chromium-review.googlesource.com/450921
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 0bb791ed77d4a9db9b6cf0cf93a9972b9f1abfba
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Mar 9 23:44:40 2017 +0000

    Revert "ES31: Add test on large strides"
    
    This is failing on Linux AMD: https://luci-logdog.appspot.com/v/?s=chromium%2Fbb%2Fchromium.gpu.fyi%2FLinux_Release__AMD_R7_240_%2F1729%2F%2B%2Frecipes%2Fsteps%2Fangle_end2end_tests%2F0%2Fstdout
    
    ../../third_party/angle/src/tests/gl_tests/VertexAttributeTest.cpp:684: Failure
    Expected: (maxStride) >= (2048), actual: 0 vs 2048
    
    This reverts commit 0ba963ef27d1d656986f2f4382391dd5da8c8104.
    
    Reason for revert: <INSERT REASONING HERE>
    
    Original change's description:
    > ES31: Add test on large strides
    >
    > ES3.1 requires the implementation should define MAX_VERTEX_ATTRIB_STRIDE,
    > which should be emulated when we use D3D11 backends.
    >
    > This patch adds tests to verify this value required in ES3.1 are
    > supported to be used directly in glVertexAttribPointer for rendering.
    >
    > BUG=angleproject:1593
    >
    > TEST=angle_end2end_tests
    >
    > Change-Id: I1ac206e4f6c972b5748552177c787c0adcb66786
    > Reviewed-on: https://chromium-review.googlesource.com/441308
    > Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    > Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    >
    
    TBR=ynovikov@chromium.org,geofflang@chromium.org,jmadill@chromium.org,cwallez@chromium.org,yunchao.he@intel.com,qiankun.miao@intel.com,jiawei.shao@intel.com,yang.gu@intel.com
    NOPRESUBMIT=true
    NOTREECHECKS=true
    NOTRY=true
    BUG=angleproject:1593
    
    Change-Id: I036da9d6d5633bcc055cc8cfbfde9a15ae67f59c
    Reviewed-on: https://chromium-review.googlesource.com/452743
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 6445ddf8408c4ba1ce91192c555cbd7d0e49543f
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Mar 8 19:00:32 2017 -0500

    end2end_tests: Adds more skips for new tests and testers
    
    BUG=angleproject:1924
    
    Change-Id: I3ca25545632c9884eb1a8dba5e8e402b14324f80
    Reviewed-on: https://chromium-review.googlesource.com/451877
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 6ca2b65c43483e26b56fe1a251caaf6e082c038e
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Sun Feb 19 18:05:10 2017 +0000

    Implement location layout qualifier for uniforms
    
    This is a complete implementation of the uniform location layout
    qualifier. Uniform location set in the shader is plumbed to shader
    linking, which does several link-time checks for conflicts and
    recursively applies the location to struct members.
    
    Validate that location is consistent as specified in the table in
    section 9.2.1 of the ESSL 3.10.4 spec. The location set in the shader
    overrides the one set via the CHROMIUM_bind_uniform_location API.
    
    Location conflicts must be checked even if the uniforms are not
    statically used. Because of this unused uniforms are now recorded
    during uniform linking. After linking checks are done, unused uniforms
    are pruned from the program state.
    
    Location is validated against the maximum number of uniform locations
    at compile time as specified in section 4.4.3 of the ESSL 3.10.4 spec.
    
    All dEQP uniform location tests don't yet pass due to unrelated bugs.
    
    BUG=angleproject:1442
    TEST=angle_end2end_tests, dEQP-GLES31.functional.uniform_location.*
    
    Change-Id: I1f968e971f521fbc804b01e1a7c2b4d14f24d20f
    Reviewed-on: https://chromium-review.googlesource.com/447942
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 0ba963ef27d1d656986f2f4382391dd5da8c8104
Author: Shao <jiawei.shao@intel.com>
Date:   Tue Feb 14 22:03:09 2017 +0800

    ES31: Add test on large strides
    
    ES3.1 requires the implementation should define MAX_VERTEX_ATTRIB_STRIDE,
    which should be emulated when we use D3D11 backends.
    
    This patch adds tests to verify this value required in ES3.1 are
    supported to be used directly in glVertexAttribPointer for rendering.
    
    BUG=angleproject:1593
    
    TEST=angle_end2end_tests
    
    Change-Id: I1ac206e4f6c972b5748552177c787c0adcb66786
    Reviewed-on: https://chromium-review.googlesource.com/441308
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit fe9306a8e5bb6a8d52368e8e7b8e92f3bc7e77d4
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Feb 1 17:41:05 2017 -0500

    WebGLCompatibility: Add test for "negative" offset in DrawElements
    
    BUG=angleproject:1523
    BUG=chromium:668223
    
    Change-Id: I2d21c15b53fa204b3cb2b0be849cfe91ca63046b
    Reviewed-on: https://chromium-review.googlesource.com/435884
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit e16a45190e0eb276f98b78f8e173f68eb5817e37
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Mar 7 20:46:40 2017 -0500

    D3D11 FL9_3: Fix bug in R32F vertex format emulation.
    
    We would allow direct storage when this format is emulated. Noticed
    this when making a test which used a single float vertex format.
    
    BUG=angleproject:1635
    
    Change-Id: Ia2164b0f311b27f24b6aa7760eb9f9a3834c6044
    Reviewed-on: https://chromium-review.googlesource.com/451578
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit e08a1d368e90a264b16f08568d40578a6dd137f3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Mar 7 17:24:06 2017 -0500

    Plumb robust resource init extensions.
    
    This also cleans up a few minor glitches in the extension texts,
    and renames the EGL extension for consistency.
    
    It incidentally fixes a bug in our EGL init where we were checking
    the wrong client versions for KHR_create_context.
    
    It also implements a new feature for tests which allow them to defer
    Context creation until the test body. This allows tests to check for
    EGL extension available before trying to create a context with certain
    extensions.
    
    BUG=angleproject:1635
    
    Change-Id: I9311991332c357e36214082b16f2a4a57bfa8865
    Reviewed-on: https://chromium-review.googlesource.com/450920
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 146e8a1c26bcef5571b8f74de87db44220e9a3c0
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Thu Mar 2 23:22:37 2017 -0500

    WebGL validation of constant color & alpha blend.
    
    In WebGL, generate INVALID_OPERATION if constant color and constant
    alpha are used together as source and destination blend functions.
    
    BUG=angleproject:1817
    
    Change-Id: I9b2d05ab5017c013bb89c13256efbd80198de91b
    Reviewed-on: https://chromium-review.googlesource.com/448940
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit d61396b4783b956133e924abe6dbc04d34e8ae25
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Mar 6 14:49:46 2017 -0800

    Reduce the number of iterations of SwizzleTest.
    
    KHR_debug from the GL drivers was generating a lot of spam.
    
    BUG=angleproject:1925
    
    Change-Id: I89568ea2bec3afb629f86c25d9e80aad1dbe79f8
    Reviewed-on: https://chromium-review.googlesource.com/450857
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit c9da71ff7518a84808ba9c90ebd85a91fcdeb709
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Mar 6 16:28:54 2017 +0000

    Fix translating dynamic indexing of swizzle to HLSL
    
    This was broken due to a simple omission in deep copying swizzle AST
    nodes.
    
    It was found that several if not most OpenGL drivers also have some
    issue related to this, so the end2end test is suppressed on many
    OpenGL platforms. Intel Windows driver seems to be behaving correctly.
    
    BUG=angleproject:1921
    TEST=angle_end2end_tests
    
    Change-Id: Ieefcedc2f2e36c3d8b607c28e449b696b8ad6892
    Reviewed-on: https://chromium-review.googlesource.com/449717
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 9f9b1d2d676f1cf327d76ad04020e7c5b94e667b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Mar 6 18:25:22 2017 -0500

    Make ScratchBuffer its own type.
    
    This helper tool in Renderer11 can be useful in other back-ends,
    or even in the front end.
    
    BUG=angleproject:1635
    
    Change-Id: I18ec19a891a9bdfa7b80dea1b8e308abf206906b
    Reviewed-on: https://chromium-review.googlesource.com/450919
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit ef964d48acac24143c7c06eec01add1f13be6afd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Mar 6 18:25:22 2017 -0500

    Buffer: Minor error macro cleanups.
    
    Refactoring patch only.
    
    BUG=angleproject:1635
    
    Change-Id: I9b86fc77f8f62a0f67f9fc73debdc8fb5e379bcc
    Reviewed-on: https://chromium-review.googlesource.com/450918
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 05356e35d363355c9510f3ef9eb8e639db3900bc
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Mar 3 14:57:53 2017 -0500

    BUILD.gn: do not redefine use_libpci if already present
    
    We want to move the definition of use_libpci from gpu/config to ANGLE.
    To avoid breaking compilation we should do it in three steps:
     - Make ANGLE not redefine use_libpci
     - Remove definition of use_libpci from Chrome
     - Make ANGLE define use_libpci unconditionnaly
    
    This commit is the first step.
    
    BUG=angleproject:1874
    
    Change-Id: I08d0996ca536c51e1617f656171d696f05605725
    Reviewed-on: https://chromium-review.googlesource.com/450037
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 817232ef4526c873dc1869fadad627c3814226cf
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Wed Feb 22 18:36:10 2017 -0500

    Validate invariance of built-in variables when linking
    
    According to ESSL 1.00.17 paragraph 4.6.4
    
    BUG=angleproject:1876
    
    Change-Id: I61e142c31dce11eec28fe240a9bc9ce2c632daf6
    Reviewed-on: https://chromium-review.googlesource.com/446870
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 010e4dbd6795538f2c6c9b5b5db042160a95b56c
Author: He Yunchao <yunchao.he@intel.com>
Date:   Fri Mar 3 14:22:06 2017 +0800

    Code refactoring for getters and setters.
    
    The entry point should call into Context at first for getters and setters.
    
    BUG=angleproject:1922
    
    Change-Id: Ibc8f726298cf334a6dafd6402e39c4dcd7e6d333
    Reviewed-on: https://chromium-review.googlesource.com/450028
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 390208b523ba477f8d6aa6c2b08459169a94c1ae
Author: Minmin Gong <mgong@microsoft.com>
Date:   Tue Feb 28 18:03:06 2017 -0800

    Implements ETC lossy decode for ETC2 formats.
    
    This is the 2nd payload of GL_ANGLE_lossy_etc_decode feature. In this change,
    RGB8, SRGB8, RGB8A1, and SRGB8A1 formats in ETC2 family can be converted
    to BC1.
    
    BUG=angleproject:1285
    
    Change-Id: I96fe2f07c62716a31d37f20a202b6cabbb4ebbd2
    Reviewed-on: https://chromium-review.googlesource.com/447846
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 461d9a3060e315706c74d1203ed945a600a1a241
Author: JiangYizhou <yizhou.jiang@intel.com>
Date:   Wed Jan 4 16:37:26 2017 +0800

    ES31:Check framebuffer status for multisample and default params
    
    This patch implements FRAMEBUFFER_INCOMPLETE_MULTISAMPLE checking for
    checkFramebufferStatus, and also modify conditions of
    FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENTS when setting default
    parameters to fbo.
    
    BUG=angleproject:1594
    TEST=angle_end2end_tests --gtest_filter=FramebufferTest_ES31*
    TEST=dEQP-GLES31.functional.texture.multisample.negative.fbo_attach_different_fixed_state_tex*
    
    Change-Id: I86954056d3a5d89dca517b267bd16e17b70e5652
    Reviewed-on: https://chromium-review.googlesource.com/437991
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 185e32b80d921ea4d05c3d382373c18bcfe08d7d
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Mar 1 11:57:18 2017 +0200

    Increment ANGLE_SH_VERSION after ShaderVars API change
    
    This was accidentally left out of commit
    547cbd461b9167f7df975ccc1ed4e7d469a3e751
    "Validate uniform binding at link time".
    
    BUG=angleproject:1893
    
    Change-Id: I945608fd9aef8a605d69f1109ead2460aab0c228
    Reviewed-on: https://chromium-review.googlesource.com/448456
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 09e7c0a4a6f84f323b1676c172af3fcd1b8bd52a
Author: Bruce Dawson <brucedawson@chromium.org>
Date:   Wed Mar 1 16:38:32 2017 -0800

    Avoid redundant INSERT_PROC_ADDRESS calls
    
    PVS-Studio pointed out that seven GL functions were being initialized
    twice. This isn't critical but is slightly inefficient.
    
    R=jmadill@chromium.org
    BUG=697659
    
    Change-Id: I199bd06ae1136bc3b8efd519787d89f4447f326d
    Reviewed-on: https://chromium-review.googlesource.com/448639
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 547cbd461b9167f7df975ccc1ed4e7d469a3e751
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Feb 27 11:54:00 2017 +0200

    Validate uniform binding at link time
    
    GLSL ES Spec 3.10.4, section 4.4.5 has the rules for linking uniforms
    with binding layout qualifiers. If a binding layout qualifier for a
    uniform variable is specified in both vertex and fragment shaders, the
    qualifiers must match.
    
    BUG=angleproject:1893
    TEST=dEQP-GLES31.functional.layout_binding.*binding_contradictory*
    
    Change-Id: I0ae6a1a8967df818be8136510c22daee848b9da7
    Reviewed-on: https://chromium-review.googlesource.com/447557
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit a55102c5017f9bb0f857d106954191fbe15be335
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Feb 24 12:36:50 2017 +0000

    Unify and simplify shader variable collection
    
    Instead of setting variable information in both CollectVariables and
    the GetVariableTraverser helper class it uses, keep all of this
    functionality in CollectVariables. A single helper function handles
    setting variable information that doesn't depend on variable type, and
    the rest is done in "record" functions that are implemented for each
    variable type.
    
    This removes templates from the code, making it leaner and easier to
    understand, and will help with implementing future features like
    adding binding and location layout qualifiers for uniforms.
    
    BUG=angleproject:1442
    TEST=angle_unittests, angle_end2end_tests,
         dEQP-GLES2.functional.shaders.*
    
    Change-Id: I79148b7b3fa9cb46634a22bdcc9ce0c04f970384
    Reviewed-on: https://chromium-review.googlesource.com/446838
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 7d670a3331318b158846dbe9c7286b53171e52c1
Author: chrome-bot <chrome-bot@chromium.org>
Date:   Tue Feb 21 21:35:57 2017 -0800

    Make ozone backend work if it can't display.
    
    The ozone backend will no longer fail if it is unable to display on
    screen for any reason.  It no longer assumes it can control the first
    screen it finds.
    
    BUG=angleproject:1423
    
    Change-Id: I5d5274c54b1bc6de50e704903391bf6161efa487
    Reviewed-on: https://chromium-review.googlesource.com/445805
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 61f0db8e3efec15e078c55e078d2e833e52c830a
Author: Tom Anderson <thomasanderson@google.com>
Date:   Fri Feb 24 15:34:19 2017 -0800

    Fix GCC build
    
    Change-Id: I30e6e8d82821ed86cc7f53a48b1b23fc0cbf060c
    Reviewed-on: https://chromium-review.googlesource.com/446866
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 200db9dcb51875b810a8fcd5365afd494380290c
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Feb 24 12:59:26 2017 -0500

    DisplayGLX: Create a highest version core profile context.
    
    Previously the code was hitting a weirdness of glXCreateConfigAttrib
    where a compatilibility context was created even if the core profile
    bit was set.
    
    BUG=chromium:694877
    
    Change-Id: I17164d620b39a26d73e34e1fc8de0ef66aef80f4
    Reviewed-on: https://chromium-review.googlesource.com/446673
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 4c26fc2fa075493c4b5f73052779642d04981aa8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Feb 24 11:04:10 2017 -0500

    Vulkan: Initial command queueing implementation.
    
    This removes the sychronous operation of the command buffers. It also
    introduces a serial type for assigning ids to queue operations. This
    gives us the ability to manage lifetimes of resources and track when
    they're no longer in use on the device.
    
    BUG=angleproject:1898
    
    Change-Id: I91a4836d3098f1d7bd06cd389d88601a3a4826ab
    Reviewed-on: https://chromium-review.googlesource.com/428352
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 6eafb04c896a876584a973215216ed086fd13b02
Author: Jiajia Qin <jiajia.qin@intel.com>
Date:   Tue Dec 27 17:04:07 2016 +0800

    ES31: Add GL_ATOMIC_COUNTER_BUFFER_BINDING binding point
    
    BUG=angleproject:1729
    TEST=dEQP-GLES31.functional.state_query.integer.atomic_counter*
         dEQP-GLES31.functional.state_query.indexed.atomic_counter*
         angle_end2end_tests:AtomicCounterBufferTest
    
    Change-Id: I059c4e22e04cedec9134ec9f631de33f77b1fbe2
    Reviewed-on: https://chromium-review.googlesource.com/430959
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a02315b06069fe82eab620e70ce4451e40014cc8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Feb 23 14:14:47 2017 -0500

    WebGL Compat: Add DEPTH_STENCIL attachments.
    
    This is a special WebGL 1 binding point, that does not correspond to
    any native functionality. Due to particularities in validation we
    need to represent this with additional state in the Framebuffer.
    WebGL 2 fixes this oddity by resolving to the GLES 3 native spec.
    
    In order to pass the WebGL framebuffer objects test, we will also
    need a chromium-side CL to work with the additional state tracking
    it does in the blink layer, and an additional patch to ANGLE to
    clear the depth buffer before the first use (robust resource init).
    
    BUG=angleproject:1708
    
    Change-Id: I111f8f5a451cce7de6cf281a6bc335b92dd2daf2
    Reviewed-on: https://chromium-review.googlesource.com/444095
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 89fcb8e83d233b5af7916a51d082e209a032334a
Author: Milan Sreckovic <milan@mozilla.com>
Date:   Wed Feb 22 15:38:55 2017 -0800

    Check for getColorAttachment returning null before using it.
    
    BUG=angleproject:1916
    
    Change-Id: I98413198089081cc354e9e14dff95f233c3f34ff
    Reviewed-on: https://chromium-review.googlesource.com/446044
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c16678a22cabe7d6eda80f9fdd1def532c097a1d
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Feb 22 15:24:55 2017 -0800

    ASTMetadataHLSL: handle WebGL2 gradient builtins
    
    BUG=angleproject:1915
    
    Change-Id: Id54e6dd417a1a288c71355e74184366d1492e92b
    Reviewed-on: https://chromium-review.googlesource.com/446521
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 6f60d05fb7b0186be00b9dc9e6ced1764d928f01
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Feb 22 15:20:11 2017 -0500

    Make Framebuffer backbuffer constructor take Surface.
    
    This allows the Framebuffer to initialize all the attachment info
    internally. This in turn will allow us to clean up the way we
    validate WebGL1 depth/stencil attachments.
    
    BUG=angleproject:1708
    
    Change-Id: I8871a9791dfce0ac806f4e1367a521610e5283ae
    Reviewed-on: https://chromium-review.googlesource.com/446130
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit d83f64f5c872266b9d38dc476dac7c0f271ace2c
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Feb 16 10:58:46 2017 -0500

    gpu_info_util: Implement GetSystemInfo on OSX
    
    Also adds a test that prints the gathered information for manual
    checking and to help know what the system is when looking at the logs.
    
    BUG=angleproject:1874
    
    Change-Id: Icb0cc390c9808fd8db0f966d667b94dde4b94e62
    Reviewed-on: https://chromium-review.googlesource.com/443845
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit 0a17c92c292706bb818d8fed16f64a8708cddd0b
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Tue Feb 21 17:45:09 2017 -0500

    Update Android instructions
    
    How to get TestResults.qpa
    
    BUG=angleproject:1607, angleproject:1690
    
    Change-Id: Id1ea934fe4917baf4f9ba47d5d0b5d415077241e
    Reviewed-on: https://chromium-review.googlesource.com/445962
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit f0eafe108e709cf885fac9e0e6f131628a1bb462
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Feb 21 15:03:50 2017 -0500

    Vulkan: Use Mailbox present mode when possible.
    
    This is a hack to force an equivalent of eglSwapInterval(0) for perf
    testing on the bots. This isn't quite the same as Immediate but
    Immediate doesn't seem to be as widely available.
    
    BUG=angleproject:1898
    
    Change-Id: I3c5053e58969ba48f4f8595138e8fd38ea059bf6
    Reviewed-on: https://chromium-review.googlesource.com/445798
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit e18e6394aafdbebbae7cea0973222514367ac42e
Author: JiangYizhou <yizhou.jiang@intel.com>
Date:   Mon Feb 20 10:32:23 2017 +0800

    ES3.1: Move FramebufferParameteri and GetFramebufferParameteriv to context.
    
    Follow-up of the cl, implementing fmamebuffer parameters api
    (https://chromium-review.googlesource.com/c/412126/). Moving entry point
    function FramebufferParameteri and GetFramebufferParameteriv to context
    according to Jamie's commemts.
    
    BUG=angleproject:1594
    TEST=dEQP-GLES31.functional.state_query.framebuffer_default.framebuffer_default*
    
    Change-Id: Ib8a286afe97716576cf5d0a5338eee6588a4e25c
    Reviewed-on: https://chromium-review.googlesource.com/444283
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yunchao He <yunchao.he@intel.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 4a92cebc8fade7b31a9c6ddd1a54ac4fe7701b6e
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Sun Feb 19 17:51:24 2017 +0000

    Clarify code around setting uniform locations
    
    Use the name "uniformLocationBindings" for location information set by
    the API instead of "uniformBindings", which can be easily confused
    with binding layout qualifiers that can be set for some types of
    uniforms. Also use more straightforward names throughout the
    indexUniforms function.
    
    BUG=angleproject:1442
    
    Change-Id: I47d504479b36def696305f060e9c9bd3de3ade48
    Reviewed-on: https://chromium-review.googlesource.com/445236
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit f5bb220f93797e009388245bd2e29f5760c3e0c9
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Fri Feb 17 23:25:17 2017 -0500

    Restore Default Platform logging to stderr
    
    Was lost in https://chromium-review.googlesource.com/434188
    
    Also, don't reset pre-set Platform to Default,
    otherwise Chrome's platform gets reset.
    
    BUG=angleproject:1660, angleproject:1892
    
    Change-Id: I052c86c513c8d89d2420a4724a8bd0dc7446c7c2
    Reviewed-on: https://chromium-review.googlesource.com/444928
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit cde4f024e2d00a49c170a82a50aef31e17068d1e
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Tue Feb 21 14:06:02 2017 +0800

    Remove unused parameters of StoreStaticAttrib
    
    The parameters count and instances in VertexDataManager::StoreStaticAttrib
    are never used in the function body. So this patch will remove them.
    
    BUG=none
    
    Change-Id: Ic3fe21ae50e5016145bfd0c78542540c8ec76fd2
    Reviewed-on: https://chromium-review.googlesource.com/445337
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yunchao He <yunchao.he@intel.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 308d745d8e3c7710778c993a9b37fe74d0a2bc12
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Wed Feb 15 22:51:21 2017 -0500

    Don't use GL_FRAMEBUFFER_SRGB unless available.
    
    Don't try to enable or disable GL_FRAMEBUFFER_SRGB unless
    extensions.sRGBWriteControl is true.  For example if you
    try it with Mesa GLES2 you get a GL error.
    
    BUG=angleproject:1896
    
    Change-Id: I5f5b4e8ea4f5a7c6913f27761a6e2dc88aacc78c
    Reviewed-on: https://chromium-review.googlesource.com/443824
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 4e0e6f8acf8b56898add4facb3af6ffa409cc1d0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Feb 17 11:06:03 2017 -0500

    WebGL Compat: Add DEPTH_STENCIL renderbuffers.
    
    This special internal format was defined in the WebGL 1 spec as a
    special unsized format with at least 16 bits of depth and at least
    8 bits of stencil. Intenally ANGLE will translate this to packed
    24/8 depth/stencil.
    
    The new test is adapted from the WebGL test:
    conformance/renderbuffers/framebuffer-object-attachment
    
    BUG=angleproject:1708
    
    Change-Id: I44b03e41889eed02481f603b8d52c530dcfed5ce
    Reviewed-on: https://chromium-review.googlesource.com/442094
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 2597fb6469a315f4942b867727c074e78bf2233a
Author: Jiawei-Shao <jiawei.shao@intel.com>
Date:   Fri Dec 9 16:38:02 2016 +0800

    ES31: Refactor VertexArray for Vertex Attrib Binding
    
    OpenGL ES3.1 feature Vertex Attrib Binding requires vertex arrays should
    be split into two arrays:
    1. an array of vertex buffer binding points, each of which specifies:
      - a bound buffer object,
      - a starting offset for vertex attribute data in that buffer object,
      - a stride used by all attributes using that binding point,
      - a frequency divisor used by all attributes using that binding point.
    2. an array of generic vertex attribute format information records, each
    of which specifies:
      - a reference to one of the new buffer binding points above,
      - a component count and format, and a normalization flag for the
        attribute data,
      - the offset of the attribute data relative to the base offset of each
        vertex found at the associated binding point.
    
    Current ANGLE implementation simply uses a struct to represent a vertex
    attribute object, which does not meet the requirements above.
    
    This patch aims to be the the basis of the implementation of all ES3.1
    Vertex Attrib Binding APIs by refactoring the struct VertexAttribute and
    the class VertexArray to fit the new data layout and ensuring all current
    functionality is retained.
    
    BUG=angleproject:1593
    
    TEST=angle_unittests, angle_end2end_tests, gpu_unittests
    
    Change-Id: Ieb41f1bf503f815fd0476d2ea045dcb863465254
    Reviewed-on: https://chromium-review.googlesource.com/418880
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 5a53d54e81b80389b7cd9824b919ff14b9a02cbe
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Thu Feb 16 21:24:10 2017 -0500

    Remove unneeded ContextImpl::syncState parameter.
    
    The 'state' parameter passed to ContextImpl::syncState() is already
    available in ContextImpl as mState.getState().
    
    BUG=none
    
    Change-Id: I13283664579fa04ae67b1d1bbc0cb4426a950b97
    Reviewed-on: https://chromium-review.googlesource.com/444099
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 75066e7a35a14d7b5e8995f314e0b708160e6fa0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Feb 15 17:26:13 2017 -0500

    Clean up EVENT() logging.
    
    These don't need newlines, or a severity prefix.
    
    BUG=angleproject:1660
    
    Change-Id: I8a01c55a7e3d8915f48c2a29f43ddc0a37eb64f3
    Reviewed-on: https://chromium-review.googlesource.com/443353
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit e6091987e1300672a790e6ed2d6505fc4f266f21
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Wed Feb 15 22:03:36 2017 -0500

    Set formats in Ozone configs.
    
    The fields renderTargetFormat and depthStencilFormat are now required.
    
    BUG=none
    
    Change-Id: I8dff771fc8c28b297bc7d47f9aef7f78ba0f3f86
    Reviewed-on: https://chromium-review.googlesource.com/443804
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit 5deea7237d499909a043692d503cf550438d0757
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Feb 16 10:44:46 2017 -0500

    Vulkan: Don't store device handles in wrapped objects.
    
    BUG=angleproject:1684
    
    Change-Id: I0ec11ec79f2e9893600a8ffd8cdbfc6040fb6f70
    Reviewed-on: https://chromium-review.googlesource.com/426402
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit abe89c7d32d719ffd86ce2400505188b52b55e4c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Feb 16 10:24:06 2017 -0500

    Tweak platform method signatures.
    
    This works around a limitation in UBSAN which can't handle decltype.
    Instead use void * and typedef where appropriate.
    
    BUG=chromium:692274
    
    Change-Id: I4eab796db3aa2e51c0fc558170eb2af61f07223d
    Reviewed-on: https://chromium-review.googlesource.com/443885
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit f7bbc8a30ee01ad07f5cc03a5813eba645dd4751
Author: JiangYizhou <yizhou.jiang@intel.com>
Date:   Wed Nov 16 09:57:22 2016 +0800

    ES3.1: Implement framebuffer parameters api for opengl part.
    
    Add new framebuffer parameters that can be set with glFramebufferParameteri
    and queried with glGetFramebufferParameteriv.
    GL_FRAMEBUFFER DEFAULT WIDTH
    GL_FRAMEBUFFER_DEFAULT_HEIGHT
    GL_FRAMEBUFFER_DEFAULT_SAMPLES
    GL_FRAMEBUFFER_DEFAULT_FIXED_SAMPLE_LOCATIONS
    
    BUG=angleproject:1594
    TEST=angle_unittests
    TEST=angle_end2end_tests
    TEST=dEQP-GLES31.functional.state_query.framebuffer_default.framebuffer_default*
    
    Change-Id: I425e73a6b798fc7c73841ab98d7c8aabc381133d
    Reviewed-on: https://chromium-review.googlesource.com/412126
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 558d645dca2161564f906b0ed45c848b31ae16b6
Author: Andrii Shyshkalov <tandrii@chromium.org>
Date:   Wed Feb 15 21:55:41 2017 +0100

    CQ config: add gerrit CQAbility verifier.
    
    Goal is to ensure that unreviewed and untrusted code isn't sent through
    CQ to try bots, by accident or through malicious intent.
    
    The following is the difference in CQ behavior after this CL lands:
    1. CQ will start aborting CQ dry run triggered by contributors on
    somebody's else change.
    2. CQ full run will abort immediately if there are unsubmitted
    dependencies.
    3. CQ dry run by a non-change-owner will abort if there are unapproved
    (w/o CR+2) dependencies.
    
    R=geofflang@chromium.org,jmadill@chromium.org
    BUG=692618,692613
    NOTRY=True
    
    Change-Id: I433998def4b97e2bad90da5980bf3f2b40a2e6f9
    Reviewed-on: https://chromium-review.googlesource.com/443070
    Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 878baf907171be4f053e44c1e75b20bfaee3c85a
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Feb 15 13:57:16 2017 -0500

    gpu_info_util: address comments for CL 438940
    
    BUG=angleproject:1874
    
    Change-Id: I6397d9141a7c25f818ce970212a4a8e8afbd5a27
    Reviewed-on: https://chromium-review.googlesource.com/442676
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 38a24a942d5476ea90f6b8ea881bcd19aa5bf8b7
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Feb 15 13:53:06 2017 -0500

    Fix incorrect indices being used when divisor is non-zero.
    
    When streaming client data in the OpenGL backend, incorrect vertex data was
    uploaded.  The 'first' parameter should be ignored when drawing with a
    non-zero divisor, even when doing non-instanced draw calls.
    
    BUG=angleproject:1894
    
    Change-Id: If5a9ed4683f5c64eea1436eff28b2b2f86befcf4
    Reviewed-on: https://chromium-review.googlesource.com/443067
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 294a560841b6568e84f348b536146d425ace203e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Feb 15 10:41:32 2017 -0500

    Vulkan: Make CommandPool a wrapped type.
    
    This faciliatates an upcoming change to treat all handle types
    uniformly with respect to releasing.
    
    BUG=angleproject:1684
    
    Change-Id: I632262a57b3a447cf4999c28ab359fe931549576
    Reviewed-on: https://chromium-review.googlesource.com/442674
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 3764b25754a307df8095704242188646d37e3422
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Feb 15 10:41:31 2017 -0500

    Vulkan: Run simple triangle perf test.
    
    The most basic perf test possible.
    
    BUG=angleproject:xxxx
    
    Change-Id: I71b28098c0a1f2174a0177b08bddf74d337438e9
    Reviewed-on: https://chromium-review.googlesource.com/427270
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit feb8c68685270e7cc482a4e56291eac3399b6646
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Feb 13 16:07:35 2017 -0500

    Add extensions to disable client arrays.
    
    Chrome doesn't allow any client data in its command buffer.  Add an ANGLE
    extension to request a context that disallows client data.
    
    BUG=602737
    
    Change-Id: If9d5144daea3c629a73562396000df59a671aad3
    Reviewed-on: https://chromium-review.googlesource.com/441986
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 4336489ffc5d3ddd43d9bf8e658a258997b65f0f
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Feb 13 16:00:12 2017 +0000

    Parse binding layout qualifier for opaque types
    
    This patch adds binding layout qualifier support for opaque types.
    Binding layout qualifier on blocks is not yet supported.
    
    This includes support for GLSL output and some minor simplification of
    related functionality in ParseContext.
    
    TEST=angle_unittests, dEQP-GLES31.functional.layout_binding.*
    BUG=angleproject:1442
    
    Change-Id: I53fb505b5a539bccee70613f3969fba81965ae84
    Reviewed-on: https://chromium-review.googlesource.com/441586
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 92db39e89d9c7897a4d17707cbf6cd052535267b
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Feb 15 12:11:04 2017 +0000

    Fix multisample texture operations crashing HLSL generation
    
    This includes a partial implementation of multisample texture
    operations on the HLSL backend. It can't be fully tested yet, since
    the API side isn't implemented.
    
    BUG=angleproject:1442
    TEST=dEQP-GLES31.functional.shaders.builtin_functions.texture_size.*
         (successfully compiles instead of crashing)
    
    Change-Id: Ief782db28388a3f8fd8113cc86ce3c4f500f322a
    Reviewed-on: https://chromium-review.googlesource.com/443264
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 21534776c989b8212d8df956dcaaa9838849b8b9
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Feb 13 15:21:02 2017 -0500

    DisplayGL: remove getDriverVersion
    
    It was unused and going forward angle_gpu_info_util will be used
    instead.
    
    BUG=angleproject:1874
    
    Change-Id: I262cc36066aa28805d50f3fc4442b08477f9e24d
    Reviewed-on: https://chromium-review.googlesource.com/442024
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit f4f8db856a60f35cdef3375728e4c44fb00964d3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Feb 15 09:31:39 2017 -0500

    Fix a couple forward declares in angletypes.h.
    
    These were vestigal from previous code.
    
    BUG=angleproject:1593
    
    Change-Id: I1d9a8e6f60d1dadf8a8a598bdbddd98457eb559c
    Reviewed-on: https://chromium-review.googlesource.com/442651
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 34fefb7e3598c7c30dd483f161e8f90da8168827
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Feb 14 15:05:47 2017 -0500

    Fix initialization of Caps members.
    
    sRGB was never initialized and maxTextureAnisotropy was initialized with
    a bool instead of a float.
    
    BUG=602737
    
    Change-Id: Ied7c27d1dbdbec96f8aead618132b4f59892bd99
    Reviewed-on: https://chromium-review.googlesource.com/442668
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 485eefdd1c9d0133eb6a71e6c1ed9605e4d88472
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Feb 14 17:40:06 2017 +0000

    Fix checking image memory access
    
    Checks for image memory access used to assume that image nodes are
    symbol nodes, but they can also be array indexing nodes. In invalid
    shaders struct indexing nodes of an image type may also appear after
    error recovery.
    
    TEST=angle_unittests, dEQP-GLES31.functional.layout_binding.*
    BUG=angleproject:1442
    
    Change-Id: Ib45728d38485cb78c594e080f3decec1233a0046
    Reviewed-on: https://chromium-review.googlesource.com/442764
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 6c1f671b361e138274ca84b0fa75b2af919b5a0c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Feb 14 19:08:04 2017 -0500

    Add destroy hooks for several GL objects.
    
    These hooks allow the back-end renderer to free object resources
    without having to store pointers to shared device handles for
    each and every object. This will allow us to save memory on
    back-ends that really care about memory overhead.
    
    There is a downside in that there is more boilerplate in passing
    gl::Context handles around everywhere.
    
    BUG=angleproject:1684
    
    Change-Id: I89463bba8d23f92920e8956650cb73c7fc6d66b7
    Reviewed-on: https://chromium-review.googlesource.com/426401
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit abf38572062b91d483e95d01ba7d668faefa0fe8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Feb 14 16:47:59 2017 -0500

    Remove old C++ ANGLE platform.
    
    Now that the new platform is in place, we can remove the old methods.
    Must be landed after https://codereview.chromium.org/2697463003/
    
    BUG=angleproject:1892
    BUG=chromium:678870
    
    Change-Id: Ia29a3b120cf3521fc0409019c2e64e4dbc6f460d
    Reviewed-on: https://chromium-review.googlesource.com/441274
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit e8fb640de74f9288612c47314a2c915fba50a02e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Feb 14 17:56:40 2017 -0500

    Update RenderbufferStorage EPs to new style.
    
    This will facilitate changes for WebGL compatibility.
    
    BUG=angleproject:747
    BUG=angleproject:1708
    
    Change-Id: I62e5d684ca10a843b5e958afe9954c1065bfeb19
    Reviewed-on: https://chromium-review.googlesource.com/442093
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 6137ddc563bb215137c56a2336e7483c3d28b5d6
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Fri Feb 10 18:55:07 2017 -0500

    WebGL validation for depthRange.
    
    Generate INVALID_OPERATION for depthRange(zNear, zFar) if zNear > zFar.
    Add corresponding test.
    
    BUG=angleproject:1816
    
    Change-Id: I28b5876a74c9765c0eef1e0f6e5e96d0380586d0
    Reviewed-on: https://chromium-review.googlesource.com/441207
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 1415482730cff4a619ef4ebe528fe2ba616bb19b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Feb 14 13:53:26 2017 -0500

    Fix D3DTextureTest.
    
    This test was not releasing resource in the correct order.
    
    BUG=chromium:691136
    
    Change-Id: Ie95c4d595eac49da2707afde033eff744131fcbe
    Reviewed-on: https://chromium-review.googlesource.com/442684
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 40dc8c107f9ce00303737f70aa0fbb7c35988067
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Feb 14 10:41:32 2017 -0500

    Release the global texture manager with the last referencing context.
    
    This ensures that when the global texture manager is released, there is a valid
    context.
    
    BUG=angleproject:1639
    
    Change-Id: I1b75885e9dc02b607bb1a386de394f6087429f5d
    Reviewed-on: https://chromium-review.googlesource.com/442074
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit b5c3d27ae1b56ab494188a5b72083c635959d521
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Feb 14 09:40:41 2017 -0500

    D3D11: Disable the RGB10A2 backbuffer format.
    
    Chrome was using this format by accident for video decode surfaces, resulting
    in a power usage regression.
    
    BUG=angleproject:1662
    BUG=691106
    
    Change-Id: I3b9ac814f06c07490fceb88e8b087b235e5b25bf
    Reviewed-on: https://chromium-review.googlesource.com/441950
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit ceb1048fd25faf4f191e30222dfd7d0b813fb976
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Feb 13 12:31:03 2017 +0000

    Add classification of image type enums
    
    Implement classifying image enums in utilities and plumb the image
    type check to Uniform objects as well. This functionality will be used
    to add API support for images.
    
    BUG=angleproject:1442
    
    Change-Id: Idd2ee5ebacd38290aeeace1177165c740bc42c7e
    Reviewed-on: https://chromium-review.googlesource.com/441585
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit dbffdfbda887ee4f34307479fc8c0f707f086cc5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Feb 13 18:52:38 2017 -0500

    Fix counting of the new platform methods.
    
    The context pointer was throwing off the count by one.
    Also change the type to void * for ease of use.
    
    BUG=angleproject:1892
    BUG=chromium:678870
    
    Change-Id: Iffac667f0aa896d9247e9ffddfeb3bc447a9692f
    Reviewed-on: https://chromium-review.googlesource.com/441931
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit b1eeba1f20199497a4951e9e791dbcc862399ca4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Feb 13 16:36:40 2017 -0500

    Use a C API for the ANGLE platform.
    
    The main purpose of this change is to fix a fuzzer bug where we would
    trigger undefined behaviour calling between Chrome and ANGLE. It's
    not specced how virtual function calls work if the shared objects are
    not directly linked together, and ANGLE and Chrome are not linked.
    Replace the old class-style API with a C dispatch table.
    
    Follow-up work will make the Platform owned by the Display instead of
    using global variables, but fixing this is a bit tricky.
    
    BUG=angleproject:1892
    BUG=chromium:678870
    
    Change-Id: Iad188bc2e50f2b5e4a03ce0de233d686f569c705
    Reviewed-on: https://chromium-review.googlesource.com/441273
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit c47e3407f7c14bb33c0b6436275bca8baaf9e544
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Feb 13 11:24:03 2017 -0500

    gpu_test_expectations: fix compile on OSX 10.8 and 10.9
    
    OSX10.8 deprecates Gestalt but doesn't expose a replacement in the
    public interface so we forward declare it.
    
    BUG=angleproject:1890
    
    Change-Id: Ie4825c9191e81a5894dca4e394275c26a3e27853
    Reviewed-on: https://chromium-review.googlesource.com/441309
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 7b4e00d20e5e619d3fb23a5f66f3c6f83f56bf82
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Feb 8 10:43:47 2017 -0500

    gpu_info_util: Implement GetSystemInfo on Linux
    
    BUG=angleproject:1874
    
    Change-Id: Id39c26b806e6a7937517235afe0ca60f5087df5b
    Reviewed-on: https://chromium-review.googlesource.com/438940
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 1b60d8d24b9af6bb5e3dd2f6301b9173dcf840d7
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Feb 10 14:56:55 2017 -0500

    Add artificial limits to the total memory allocated by the NULL backend.
    
    Fuzzer tests were capable of allocating very large chunks of memory by
    calling glBufferData with a null pointer.  This sets a limit before the
    NULL backend starts returning out of memory GL errors.
    
    BUG=602737
    
    Change-Id: Ic53ebcf999f951b96c1df82e4db57e949d03c908
    Reviewed-on: https://chromium-review.googlesource.com/441184
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 1e031b279b9c4e0297a3d80e6555edf33e72ee8a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Feb 10 15:01:28 2017 -0500

    Expose the CHROMIUM copy texture extensions on the NULL backend.
    
    These extensions are required by the passthrough command decoder.
    
    BUG=602737
    
    Change-Id: Ifd04fca27ae35b30e4c8ab458904530e3dd44377
    Reviewed-on: https://chromium-review.googlesource.com/441204
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 44ec2f5995836b4915c04158f1aa0b47f774b1ae
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Feb 10 10:08:54 2017 -0500

    Fix GL_MAX_SAMPLES query for ES3 when the extension is missing.
    
    This query was added in both ES3 and ANGLE_framebuffer_multisample but
    the code was never updated to accept it for an ES3 context without the
    extension present.
    
    Caught by the angle passthrough command decoder fuzzer.
    
    BUG=602737
    
    Change-Id: Ic9a8c67747777ef48e1dd227110482998fee75ce
    Reviewed-on: https://chromium-review.googlesource.com/440651
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit c5508d6e6afe2a9faf14c251ed18a44fd1cfbdf0
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Feb 10 14:58:38 2017 -0500

    Validate that the format is compressed before calculating data size.
    
    glCompressedTexImage3D was missing a check that the format was valid
    before trying to compute the expected data size.  This lead to an
    assertion failure in the size computation code.
    
    BUG=602737
    
    Change-Id: I74e6ced082e78396a0af92317fb1c0098299a026
    Reviewed-on: https://chromium-review.googlesource.com/441185
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 5f45e7c34cd4c383a0d5826391f2302784354555
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Feb 10 15:23:28 2017 -0800

    Refactor ResourceManagers.
    
    This makes ResourceManagers use more common code. It uses static
    polymorphism to implement the various typed resource managers,
    and unifies the FramebufferManager into a TypedResourceManager.
    The lack of virtual calls and inlining in the header should keep
    performance high.
    
    This will make the upcoming refactor to add a destroy hook
    for Vulkan objects simpler to implement.
    
    TEST=manual performance testing of BindingPerf.
    BUG=angleproject:1684
    BUG=angleproject:1639
    
    Change-Id: Ic2f102196020d1005e63a1b2cf0867577fc7c885
    Reviewed-on: https://chromium-review.googlesource.com/439488
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 875bbba0eeed060d479547c601707454689f98b5
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Wed Feb 8 16:38:17 2017 -0500

    Zero gl_Position in WebGL mode.
    
    Set the SH_INIT_GL_POSITION bit in WebGL compatibility mode so gl_Position
    gets zeroed out.  Add corresponding test.
    
    BUG=angleproject:1825
    
    Change-Id: I47107804abaa83d6aee5cd46e6b69b532c08e6e8
    Reviewed-on: https://chromium-review.googlesource.com/439784
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit ce02f08657b31f206e5cb6766df36bbd4bcff608
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Feb 6 16:46:21 2017 -0500

    Add an extension to share textures at the display level.
    
    BUG=angleproject:1639
    
    Change-Id: If9140142ebce89f33921c13d9d212c17d1894162
    Reviewed-on: https://chromium-review.googlesource.com/437618
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 85334dcbdb800bc33d715fdb4052dc504a1260ff
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Feb 6 16:03:07 2017 +0000

    Refactor shader state setting in the GL backend
    
    This is needed in preparation of implementing DispatchCompute, which
    will need to set some of the same state as draw calls, but not
    everything.
    
    Also move setTextureCubemapSeamlessEnabled to onMakeCurrent, this way
    it doesn't need to be called on every draw call. Overall this patch
    doesn't have a measurable performance impact.
    
    BUG=angleproject:1442
    TEST=angle_perftests, angle_end2end_tests
    
    Change-Id: I9958bfe7bf895b3cd805e3146a8f74d28ff2835e
    Reviewed-on: https://chromium-review.googlesource.com/438349
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 3ed50a1d63261e0acbbab2ae6e5be20a38b3b313
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Tue Feb 7 20:45:37 2017 -0500

    Skip TransformFeedbackLifetimeTest.DeletedBuffer on Win Intel OpenGL
    
    Suspecting driver bug on Win10 Debug Intel HD 530.
    
    BUG=angleproject:1879
    
    Change-Id: I362ffd83694c7e222826cd3766fa57f785f3ea35
    Reviewed-on: https://chromium-review.googlesource.com/438936
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit fd3dd436e574c9972a67207c32edd557b27dabce
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Feb 2 19:59:59 2017 -0500

    WebGL: Add 3D tex copying feedback loop detection.
    
    When copying to and from the same texture, we need to reject only
    the feedback loops formed with the same levels of the texture -
    copying between different unrelated layers and levels is fine.
    
    This change also fixes a couple bugs in our D3D11 CopyTexSubImage3D
    implementation. We were missing some "!" operators, and we actually
    would hit an ASSERT when trying to blit from a level of a 3D texture.
    
    BUG=angleproject:1685
    
    Change-Id: Id715bebafe8336cf8bb95d0d06275a8b95e522e1
    Reviewed-on: https://chromium-review.googlesource.com/425494
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit c8a08f40b2601fe07c2cd1ab9e078644af9e4888
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Tue Feb 7 12:33:57 2017 -0500

    Make failure to create Debug D3D11 device a warning instead of error
    
    Tests started failing after directing ERR to Platform
    
    BUG=angleproject:1660, angleproject:1878
    
    Change-Id: I3e6d99bee266c0e7fa541c6e19be7253dcc01cdf
    Reviewed-on: https://chromium-review.googlesource.com/438819
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 8897afa1cb041494e3dcc80d47b717e259774338
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Feb 6 17:17:23 2017 -0500

    Pass Context around to Texture::copyImage.
    
    Passing this through the chain will allow us to have access to the
    platform methods, as well as be useful in the future for Vulkan.
    
    BUG=angleproject:1660
    
    Change-Id: I819984fceeb5a2a299aa54e59ef3b428f5f9c91f
    Reviewed-on: https://chromium-review.googlesource.com/438684
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a631e93b3349e18e9f4710ed8571b02b75cd7b4b
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Tue Feb 7 12:46:40 2017 -0500

    Disable RobustClientMemoryTest.ReadPixels on Linux Intel OpenGL
    
    Looks like a driver bug on Intel HD 530,
    uncovered by directing ERR to Platfrom.
    
    BUG=angleproject:1660, angleproject:1877
    
    Change-Id: I0b8cd1b2bacb2a95c7667be783801686bc8fdb7b
    Reviewed-on: https://chromium-review.googlesource.com/438679
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit f8de66675b5733fc291b0531983c5bc8830ef0eb
Author: shinchiro <ihsanapps@gmail.com>
Date:   Sun Jan 29 18:41:29 2017 +0800

    Fix compilation on mingw
    
    BUG=angleproject:1795
    
    Change-Id: Ic25805f99154395c9af28197ceb1218f9c5c3138
    Reviewed-on: https://chromium-review.googlesource.com/434457
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 1d37bc508694e75f087261aafb31f232e7d62ddd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Feb 2 19:59:58 2017 -0500

    WebGL: Validate depth/stencil feedback loops.
    
    BUG=angleproject:1685
    
    Change-Id: I6019555af69800f07862a0038fd0c25a9bb5aab8
    Reviewed-on: https://chromium-review.googlesource.com/425493
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit baa25fd779cdc5280947860a0eb549b7cd74d37e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Feb 6 17:11:30 2017 -0500

    Framebuffer: Remove ext check for depth/stencil textures.
    
    The absence of the extension should not prevent depth/stencil textures
    in FBOs in ES3, since they are core. In fact it shouldn't be possible
    to make depth/stencil attachments at all without support, so the check
    shouldn't be necessary.
    
    BUG=angleproject:1828
    
    Change-Id: Ibec1e95c78b79cec9654f06ba11beec447017f1c
    Reviewed-on: https://chromium-review.googlesource.com/438604
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 5f56ddb92ac6d292a069bb913009fbd2a3b2e1d5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jan 13 17:29:55 2017 -0500

    Buffer: Pass Context to all impl methods.
    
    This allows us to retrieve Device handles for Vulkan, and could allow
    us to avoid storing some pointers for other back-ends.
    
    BUG=angleproject:1684
    
    Change-Id: Iccd5b97cf1c3a332d62a38ad0fcf21c352270439
    Reviewed-on: https://chromium-review.googlesource.com/426400
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 34bf2d937d5435597b5962dc543308b20974b440
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Feb 6 13:40:59 2017 -0500

    translator: Fix ASSERT in array init corner case.
    
    This ASSERT was benign and can be turned into an error check. The
    pattern in question is to initialize an array with another array
    as the first argument, but dereferencing the array with "." instead
    of "[]". This would trip up our error handling.
    
    BUG=chromium:662702
    
    Change-Id: Ie0e44af7b9d1a66cad03cefae9bf931f8e216cd9
    Reviewed-on: https://chromium-review.googlesource.com/437599
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 70ee0f613a5857f94beb4bd9c6115927c87b3a30
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Feb 6 16:04:20 2017 -0500

    Add destroy handler to SurfaceImpl.
    
    This allows the Vulkan back-end to avoid storing a reference to
    the VkDevice. This will extend to all the Vulkan object handle wrapper
    types.
    
    BUG=angleproject:1684
    
    Change-Id: I3a98e94bc171ca27f225ce57996c3fdf9581e6e1
    Reviewed-on: https://chromium-review.googlesource.com/424229
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 1bf91116ba75558100b2ad34879c939192538352
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Feb 6 13:46:30 2017 +0000

    Add alternative MSVS build path to perf_test_runner
    
    If src/tests/tests.sln is built instead of gyp/ANGLE.sln, the test
    executable is placed under src/tests/Release*.
    
    TEST=perf_test_runner on Windows
    
    Change-Id: I72ce55e2caa8270bef089c073840d5e2d6caa14d
    Reviewed-on: https://chromium-review.googlesource.com/438348
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 44ff5a76d42b2ede0b4f08bf6673d7141855275a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Feb 3 15:15:43 2017 -0500

    Validate xoffset and yoffset are multiples of blocksize.
    
    Affects glCompressedTexSubImage and glCopyCompressedTexSubImage calls.
    
    BUG=668223
    
    Change-Id: Ie71faa1fa7dac12cec51a2e29e0ce212ac54e411
    Reviewed-on: https://chromium-review.googlesource.com/437605
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit c295e51609b7a31e4abc3f5259c24317b336efff
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Jan 27 17:47:50 2017 -0500

    Implement EGL_KHR_surfaceless_context
    
    BUG=angleproject:1651
    
    Change-Id: I710df14c2bfa55db2fb9b9715001756d1c1a8f1b
    Reviewed-on: https://chromium-review.googlesource.com/434763
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit bcb3f9baf73bbae30ae0570e5afd788974ac60c0
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Fri Jan 27 22:45:18 2017 -0500

    Direct logging to Platform when available
    
    All logging should be done via ERR() and WARN(),
    which call angle::Platform's logError and logWarning,
    if there is current Platform which supports logging.
    Otherwise, ERR() is directed to std::cerr.
    
    Misc fixes to keep tests passing.
    
    BUG=angleproject:1660, angleproject:1644
    
    Change-Id: I2bca33a021537185d0c236a3083789af3236b5f3
    Reviewed-on: https://chromium-review.googlesource.com/434188
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit a2936aaf777d881fd1bd01f9da1690e90a269f4c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Feb 6 11:22:24 2017 -0500

    D3D11: Don't yeild after a successful call to GetData during glFinish.
    
    ScheduleYield was always called after GetData regardless of it's result.  This
    meant that we would successfully get the data but still sleep the thread
    
    BUG=667979
    
    Change-Id: Iecba0ae5cacef64a1080bbd89ce352bc4f281359
    Reviewed-on: https://chromium-review.googlesource.com/437636
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit df68a6f039a013700a7f84705a2e19c77a0211cc
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jan 13 17:29:53 2017 -0500

    Vulkan: Implement a simple graphics pipeline.
    
    BUG=angleproject:1580
    
    Change-Id: Iceaed896db22dc9eefa3f1bee7d6142fcfb20368
    Reviewed-on: https://chromium-review.googlesource.com/412267
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit b3280707683b4160f9bd20b8d71125c64f790c42
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Fri Feb 3 15:59:18 2017 -0500

    Change ERR to WARN in RendererD3D::skipDraw
    
    For undefined behavior when point rendering without writing to gl_PointSize.
    Even the comment used to say "This is stictly speaking not an error".
    
    BUG=angleproject:1660
    
    Change-Id: Ic8b33689151c9812592dd6b22c83a3355b7d6756
    Reviewed-on: https://chromium-review.googlesource.com/437746
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 72e27b029075fa9d790fb0ead576358244b65f9d
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Fri Feb 3 15:43:24 2017 -0500

    Fix error logging in ValidateBlitFramebufferANGLE
    
    Bundle an error message about whole buffer copies inside gl::Error
    instead of delivering it to the Platform.
    
    BUG=angleproject:1660
    
    Change-Id: I13205b74529fbe40af05e7c1896c6315486e90e0
    Reviewed-on: https://chromium-review.googlesource.com/437628
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 66a0819c0739014ab5060b7e42bf54b6e6ebf18f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Feb 3 15:24:25 2017 -0500

    D3D9: Write dummy output for depth/stencil only draw.
    
    This prevents a spurious D3D runtime warning, which was clogging up
    some of our test output.
    
    BUG=angleproject:1660
    
    Change-Id: I1a747ba7532323b989dbed1ee7c78b3b457768a6
    Reviewed-on: https://chromium-review.googlesource.com/437724
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 94d8222f5f68c2053802c4f6868973def64a3677
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Feb 3 12:45:21 2017 -0500

    Vulkan: Disable layer deps for libANGLE in GYP.
    
    This prevents a multiply defined symbol error in ninja. Unforunately
    I'm not aware of how to do the equivalent of GN's data_deps in GYP.
    
    BUG=angleproject:1709
    
    Change-Id: I9c616337c668a5fa652b6c084b2a64d83d526e4a
    Reviewed-on: https://chromium-review.googlesource.com/437646
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit b874fe9617c7931775d65005298aac8276d2f65e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Feb 2 16:57:42 2017 -0500

    Fix missing trace_event header.
    
    Noticed this while investigating the tracing code.
    
    BUG=chromium:678870
    
    Change-Id: I016c8532044b8f105ddda67f7e06c6b5ed9c61fb
    Reviewed-on: https://chromium-review.googlesource.com/437647
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 999b0fd26b9daf5700f947d2595a0720a5f01506
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Thu Feb 2 21:45:55 2017 -0500

    Validate uniform sampler values.
    
    Generate GL_INVALID_VALUE when setting a sampler uniform with a value
    outside the range [0, GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS).
    Add a test for the new behavior.
    Remove TextureLimitsTest.DrawWithTexturePastMaximum, which is made
    obsolete by the new test.
    
    BUG=angleproject:1711
    
    Change-Id: I9a4ea13b8cb47742816476689bd3932ce267fd0a
    Reviewed-on: https://chromium-review.googlesource.com/430196
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit c2522477f39b6c951b79d64fe866bae35fd9891d
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Feb 3 13:14:07 2017 -0500

    TimerQuery: Suppress flaky test on OSX AMD
    
    BUG=angleproject:1866
    
    Change-Id: I41f1e842b7f64e541f98d466d2b0875412161274
    Reviewed-on: https://chromium-review.googlesource.com/437285
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 7bb425c64dcd83c60f8253aa1906123fe7804c33
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Feb 3 18:10:05 2017 +0000

    Revert "D3D11: Clean up blendState code."
    
    This reverts commit 786ad3876730c72311c64cf2f297e671ced847a5.
    
    Reason for revert:
    Seems to have a bug with binding the BlendStates, causing a crash on
    Intel.
    
    https://luci-milo.appspot.com/buildbot/chromium.gpu.fyi/Win10%20Release%20%28Intel%20HD%20530%29/141
    
    Failing WebGL 2 tests
    WebglConformance_conformance2_reading_read_pixels_from_fbo_test
    WebglConformance_deqp_functional_gles3_readpixel
    
    Also generates D3D11 runtime warnings:
    D3D11 ERROR: ID3D11DeviceContext::Draw: The renderTarget bound to slot 0 has a format (R8_UINT) that does not support blending. The Pixel Shader output signature indicates this output could be written, and the Blend State indicates blending is enabled for this slot. [ EXECUTION ERROR #376: DEVICE_DRAW_OM_RENDER_TARGET_DOES_NOT_SUPPORT_BLENDING]
    
    BUG=angleproject:1632
    BUG=chromium:688419
    
    Original change's description:
    > D3D11: Clean up blendState code.
    >
    > Masked Clear Draw Changes:
    > - Use universal blendstate object
    > - Eliminate blendState cache for masked clears
    > - Use rasterState and scissor rect for scissoring instead of adjusting vertex positions
    > - VB contains only static position data (per vertex color removed)
    > - Clear color(s) and depth clear values now passed in using a constant buffer
    > - MultiColorclear shader used for float clears to workaround alpha rounding issues
    > - Update shader compile script and shader source and bytecode headers
    > - Remove unused shaders (source and bytecode headers)
    > - Use com pointers where possible for D3D11 objects
    >
    > BUG=angleproject:1632
    >
    > Change-Id: I98e38451bd453f53b772fe93ec9dcceb4196ea58
    > Reviewed-on: https://chromium-review.googlesource.com/413736
    > Reviewed-by: Geoff Lang <geofflang@chromium.org>
    > Reviewed-by: Jamie Madill <jmadill@chromium.org>
    > Commit-Queue: Shahmeer Esmail <shahmeer.esmail@intel.com>
    > Commit-Queue: Jamie Madill <jmadill@chromium.org>
    >
    
    TBR=geofflang@chromium.org,jmadill@chromium.org,shahmeer.esmail@intel.com
    NOPRESUBMIT=true
    NOTREECHECKS=true
    NOTRY=true
    BUG=angleproject:1632
    
    Change-Id: Iea537505d8cce7241edaba1f1d9f404abb1d9a10
    Reviewed-on: https://chromium-review.googlesource.com/437306
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 604359b9c92113064c5a88d17ea361616a12b3af
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Feb 3 10:44:49 2017 -0500

    D3D11/ES31: Fix unimplemented multitexture errors.
    
    Although the functionality for these textures is unimplemented, we
    still create zero textures for multisample in D3D11. Thus the
    constructor and destructor should be marked as implemented.
    
    BUG=angleproject:1590
    BUG=angleproject:1660
    
    Change-Id: I44b51dd4e89d492f98c134b8f7dfd62dffc97015
    Reviewed-on: https://chromium-review.googlesource.com/437304
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit f6d1479967e4ac50f67ee97c6d4a4a4a7442e978
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Feb 3 10:33:54 2017 -0500

    Vulkan: Move window re-init to test constructor.
    
    Moving it from SetUp to the constructor allows the swapping to work
    even if the test decides to not call the SetUp base function. This
    fixes the Vulkan extension test, which skips normal test init.
    
    This requires us to change an ERR invocation into a print.
    
    BUG=angleproject:1810
    
    Change-Id: I3be4bdb6df8c02fc1c9bbc7834ba485054272b8e
    Reviewed-on: https://chromium-review.googlesource.com/437284
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a98a647ed6cea9ef15e360e6231166d518bdf40d
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Thu Feb 2 21:38:32 2017 -0500

    Add uniform1iv validation functions.
    
    Add two new validation functions: ValidateUniform1iv() and
    ValidateProgramUniform1iv().
    No functional change, just hooks for additional sampler uniform validation
    that will come later.
    This also lets us skip the sampler test in the more generic
    ValidateUniformValue() function.
    
    BUG=angleproject:1711
    
    Change-Id: Ia6b7b45c22c2cf4b49a55fac62410ca4c91d09f4
    Reviewed-on: https://chromium-review.googlesource.com/436884
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit f5f74ae0ffcb9faa7f5b47df89ae270a1b4a08ff
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Thu Feb 2 21:14:23 2017 -0500

    Refactor and clean up uniform validation.
    
    Move uniform value checking to two new functions:
    ValidateUniformValue() and ValidateUniformMatrixValue().
    This reduces code duplication slightly and paves the way for further
    validation of sampler uniforms in a later change.
    The checking also becomes slightly more efficient by virtue of
    reording the tests to put cheap/common cases first.
    
    ValidateUniformCommonBase() moves to the anonymous namespace and
    loses an unused parameter.
    
    BUG=angleproject:1711
    
    Change-Id: I6c4deeea27c54027f542500644636064167d5714
    Reviewed-on: https://chromium-review.googlesource.com/431677
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 74da73fed3f1715f07a08e6b51fba02a87b794b1
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Feb 1 15:37:48 2017 +0000

    Add ESSL 3.10 ldexp/frexp builtins
    
    This adds new built-ins found in ESSL 3.10 section 8.3 Common
    Functions.
    
    This includes constant folding support for ldexp and support for both
    GLSL and HLSL output. In HLSL these functions need to be emulated.
    
    BUG=angleproject:1730
    TEST=angle_unittests
    
    Change-Id: I1330e69978b0cf53efbc3416150194764414e96c
    Reviewed-on: https://chromium-review.googlesource.com/435342
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 7e24bfd332215266161c286f0f904857af52f342
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Feb 2 21:45:37 2017 -0500

    Fix StateChangeTestES3.FramebufferIncompleteWithCompressedTex
    
    Was firing GL_DEBUG_TYPE_ERROR LogGLDebugMessage() on standalone Linux.
    
    According to OpenGL ES 3.0.4 page 289:
    The number of bits that represent a 4x4 texel block is 64 bits
    if internalformat is given by COMPRESSED_RGB8_ETC2.
    
    16x16 pixels are 16 blocks, giving 128 bytes.
    
    BUG=angleproject:1826
    
    Change-Id: I367e5a1369e1da2906c2ffc5ca5d703b62baf578
    Reviewed-on: https://chromium-review.googlesource.com/436824
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 07be8bf80eb31e63995bf66729853c6d6ee4dae2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Feb 2 19:59:57 2017 -0500

    WebGL: Add test for ES3 MRT feedback loops.
    
    BUG=angleproject:1685
    
    Change-Id: I0f1e24d7c27f0b3ef56f35debcd20f4c7cff8951
    Reviewed-on: https://chromium-review.googlesource.com/425492
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit cad97eee4199a054697bdca8dd6589225793c44b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Feb 2 18:52:44 2017 -0500

    WebGL: Add test for MRT feedback loop detection.
    
    BUG=angleproject:1685
    
    Change-Id: Id5b1a9bfc33bada014a77ba2cbf4c2b92981df2a
    Reviewed-on: https://chromium-review.googlesource.com/425490
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 08c24e6edf0c54a376544fd103772f7acad1b3af
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Feb 2 18:52:43 2017 -0500

    ES: Don't expose EXT_draw_buffers if extension not present.
    
    Emulation of this extension would potentially require rewriting ESSL
    1.00 shaders as 3.00 when the extension is missing, and we're on a
    GLES 3.0 context. For now, it's easier to disable the extension when
    native support is lacking.
    
    BUG=angleproject:1828
    
    Change-Id: I8eabb8efccc2ddd5fafd3521657ea68cc9e1d1e0
    Reviewed-on: https://chromium-review.googlesource.com/436144
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 786ad3876730c72311c64cf2f297e671ced847a5
Author: Shahmeer Esmail <shahmeer.esmail@intel.com>
Date:   Tue Nov 22 14:56:27 2016 -0800

    D3D11: Clean up blendState code.
    
    Masked Clear Draw Changes:
    - Use universal blendstate object
    - Eliminate blendState cache for masked clears
    - Use rasterState and scissor rect for scissoring instead of adjusting vertex positions
    - VB contains only static position data (per vertex color removed)
    - Clear color(s) and depth clear values now passed in using a constant buffer
    - MultiColorclear shader used for float clears to workaround alpha rounding issues
    - Update shader compile script and shader source and bytecode headers
    - Remove unused shaders (source and bytecode headers)
    - Use com pointers where possible for D3D11 objects
    
    BUG=angleproject:1632
    
    Change-Id: I98e38451bd453f53b772fe93ec9dcceb4196ea58
    Reviewed-on: https://chromium-review.googlesource.com/413736
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Shahmeer Esmail <shahmeer.esmail@intel.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 3bf8e3a2489c504c8ebb1afcef38d2e598520d68
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Dec 1 17:28:52 2016 -0500

    Refactor Framebuffer management into a FramebufferManager class.
    
    BUG=angleproject:1639
    
    Change-Id: I03a0950f26557983c8dc816a27cb4038c60e5755
    Reviewed-on: https://chromium-review.googlesource.com/415611
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit ea20d6228077e38f9fc03e9fb10a2cadcec8a8ed
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jan 19 19:12:12 2017 -0500

    Vulkan: Workaround NVIDIA not sharing with OpenGL window.
    
    NVIDIA seems to have the limitation of not being able to work with a
    window handle on both OpenGL and Vulkan. Apparently this also happens
    with NVIDIA on Linux, but doesn't happen with any other vendor. Work
    around this by opening a new OS window when switching between Vulkan
    and non-Vulkan.
    
    BUG=angleproject:1810
    
    Change-Id: Id6bfcc2229be5a0d97202dfc87944001b4ab7871
    Reviewed-on: https://chromium-review.googlesource.com/430887
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 810026b45586b86f3c5b62946ad3710a57942b7d
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Feb 2 12:37:27 2017 -0500

    translator: Make TVector and TMap pool allocated
    
    Their content was using the pool allocation but not the container
    object.
    
    BUG=angleproject:1827
    
    Change-Id: I3867023b3f0c4f612f2b82db7034ea3a3dde32a2
    Reviewed-on: https://chromium-review.googlesource.com/436084
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 25aef45395aa512bed04fe4bf36103be486ca353
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Sun Jan 29 16:15:44 2017 -0800

    Add new ESSL 3.10 pack/unpack builtins
    
    This adds new built-ins found in ESSL 3.10 section 8.4 Floating-Point
    Pack and Unpack Functions.
    
    This includes constant folding support and support for both GLSL and
    HLSL output. In HLSL all of these functions need to be emulated.
    
    BUG=angleproject:1730
    TEST=angle_unittests
    TEST=dEQP-GLES31.functional.shaders.*pack*norm4x8*
    
    Change-Id: Ibed60286a366cd35c4faafd405e79af562a02a06
    Reviewed-on: https://chromium-review.googlesource.com/434170
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 8ecf7f9b3d376c4d2d2c2a42fc454b18430b3d08
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jan 13 17:29:52 2017 -0500

    Vulkan: Implement shader compilation.
    
    This hooks up the Vulkan GLSL, decorated with locations, to glslang,
    and then pipes the SPIRV back to the Program implementation for later
    use when making pipelines to run draw calls.
    
    The program compilation tests work now, but don't really test
    anything other than not generating Vulkan validation layer errors
    during compilation and shader object generation.
    
    BUG=angleproject:1576
    
    Change-Id: I625e42219f4b4d1433dd3109b94e1a2f666ba4bd
    Reviewed-on: https://chromium-review.googlesource.com/408519
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 0844f2db017f42f50105e85fb7e7acfdc62ddca9
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Jan 31 17:02:59 2017 -0500

    WebGLCompatibility: add tests for OOB in DrawElements' index buffer
    
    Also add a small fix for a WebGL test where DrawElements with a count
    of 0 should skip OOB checks.
    
    BUG=angleproject:1523
    BUG=chromium:668223
    
    Change-Id: I67fbe939f6c8b925551b658b6178dbbae982df89
    Reviewed-on: https://chromium-review.googlesource.com/435279
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 1aa728e35acf1f32eba2ec3e0b251f610f0bb642
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jan 30 15:09:40 2017 -0500

    D3D11: Faster multisample depth resolve.
    
    We can use a faster path to write out depth values. Previous attempts
    were foiled by a D3D quirk: we need to clear a new DSV before we
    write to it the first time.
    
    Multisampled stencil resolve still requires a CPU readback.
    
    BUG=angleproject:1710
    
    Change-Id: I7a7d2f929644f61854d51dd096a8aa599ad648bd
    Reviewed-on: https://chromium-review.googlesource.com/435571
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 6483eb62682171b72514873e3a814e7ff8a948bf
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Feb 1 12:57:30 2017 -0500

    Add a BlitFramebuffer perf test.
    
    This microbenchmark targets a variety of blit use cases, including
    color blit, depth/stencil blit, and multisample resolve blit.
    
    BUG=angleproject:1710
    
    Change-Id: Ia8b3eb40af29e809e803ed48a69f3975b97fd80b
    Reviewed-on: https://chromium-review.googlesource.com/435515
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit ef9e30eb8fc26c9a32ad7895b52a8b88ffeee10c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Feb 1 15:02:05 2017 -0500

    Vulkan: Fix JSON generation in GYP.
    
    This isn't tested on the bots, but fails in standalone.
    
    BUG=angleproject:1810
    
    Change-Id: Ia1743352e236966abf321d312a8beb47a4cff336
    Reviewed-on: https://chromium-review.googlesource.com/435012
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 5714a202bccf50ca6d968267b64d4acf152d8c6f
Author: Fredrik Hubinette <hubbe@chromium.org>
Date:   Tue Dec 13 14:08:44 2016 -0800

    D3D11: Add RGB10_A2 as a supported EGL pbuffer config format.
    
    Update EGLWindow to select configs that exactly match the requested
    config.  Too many tests make assumptions about the default framebuffer's
    format.
    
    BUG=angleproject:1662
    
    Change-Id: I4cf8aedf51013ca0f3f40f6bbd40f24a4a90561f
    Reviewed-on: https://chromium-review.googlesource.com/419681
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 93780e6c178444992a0954f0b2d084ba48b25981
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jan 31 15:38:26 2017 -0500

    Move Vulkan layers data directory.
    
    The zip-archive script was having trouble pulling in data from gen/.
    Instead use a separate 'angledata' folder.
    
    BUG=angleproject:1810
    
    Change-Id: I09eaf4766a8360c40af9335bed74a5dc347e05ad
    Reviewed-on: https://chromium-review.googlesource.com/435518
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 8ef9a9680ab151fa7c5f9d6b1735148f45dee662
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jan 31 17:34:37 2017 -0500

    D3D11: Fix memory leak on multisample stencil resolve.
    
    This would happen when checking the current resource vs the prior one.
    Calling GetResource would increment the reference count, but we would
    not properly call Release.
    
    BUG=angleproject:1710
    
    Change-Id: Iefa9ee60929b9808985649c83f6322c1043fa5ed
    Reviewed-on: https://chromium-review.googlesource.com/434801
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 3117c69e3ae231367453a7f89cd6bd2a5dabf1b3
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Feb 1 13:12:18 2017 +0000

    Fix member variable masking in EGLSurfacelessContextTest
    
    This fixes standalone build on MSVC, and makes sure the test is
    cleaned up as intended.
    
    BUG=angleproject:1651
    TEST=build on MSVC
    
    Change-Id: I057176529b57fc8610bdd67749efcef6a4441d33
    Reviewed-on: https://chromium-review.googlesource.com/435379
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit af6fc1b48f424981e2d2a32e186972019bc87590
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Jan 26 17:45:35 2017 -0800

    Make aggregate node creation more robust
    
    Now aggregate nodes are always built with their return type, op and
    arguments set. They'll determine their qualifier and precision
    automatically.
    
    This fixes setting of gotPrecisionFromChildren in a few cases.
    
    This will also make it easier to split TIntermAggregate further into
    specialized classes if that is desired.
    
    BUG=angleproject:1490
    TEST=angle_unittests
    
    Change-Id: I1fbe0c75679c517a22d44dfc1ea160ad7a7fdfda
    Reviewed-on: https://chromium-review.googlesource.com/433468
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit ccab69d64c2040d7bdd1b368699b3ddbaa3ca2e3
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Jan 27 16:57:15 2017 -0500

    Implement GL_OES_surfaceless_context
    
    BUG=angleproject:1651
    
    Change-Id: I733ccedad7c7424cdb70e21ef8d48b2a15ccdfd7
    Reviewed-on: https://chromium-review.googlesource.com/434762
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 3f6d4dffa248c656cd56eeb8984fb7128b1b14b2
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Jan 30 18:04:36 2017 -0500

    WebGLCompatibility implement and add tests for section 6.4
    
    The checks for VertexAttribPointer were already implemented in a
    previous patch, so we only add the checks for DrawElements.
    
    BUG=angleproject:1523
    BUG=chromium:668223
    
    Change-Id: I5da55f9a7e7479627099c7f77618353a63b75a8e
    Reviewed-on: https://chromium-review.googlesource.com/434958
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 2739a272463bdf115722c38adbf58c9f209b7895
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Jan 30 15:07:32 2017 -0500

    Add tests for the surfaceless_context extensions
    
    BUG=angleproject:1651
    
    Change-Id: Ie486f2f2d0f9adad808265f7f3fbd46069265392
    Reviewed-on: https://chromium-review.googlesource.com/434764
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 2be2d5ae67aaa9b0ae6a5072c88001ad846812bb
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Jan 26 16:34:30 2017 -0800

    Clean up unary node creation
    
    When createUnaryNode() is called, the child node is guaranteed to be
    non-null. This enables simplifying it.
    
    BUG=angleproject:1490
    TEST=angle_unittests
    
    Change-Id: Ib1d021bbbeab99a6bf1b1be470181e9efbe301c6
    Reviewed-on: https://chromium-review.googlesource.com/433467
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 1ecd14b875f110b9c94c2dc34c219fb3267ee51a
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Jan 26 13:54:15 2017 -0800

    Fold user-definedness of function nodes into TOperator
    
    Whether a function call is user-defined is not orthogonal to TOperator
    associated with the call node - other ops than function calls can't be
    user-defined. Because of this it makes sense to store the user-
    definedness by having different TOperator enums for different types of
    calls.
    
    This patch also tags internal helper functions that have a raw
    definition outside the AST with a separate TOperator enum. This way
    they can be handled with logic that is easy to understand. Before this,
    function calls like this left the user-defined bit unset, despite not
    really being built-ins either. The EmulatePrecision traverser uses
    this. This is also something that could be used to clean up built-in
    emulation in the future.
    
    BUG=angleproject:1490
    TEST=angle_unittests
    
    Change-Id: I597fcd9789d0cc22b689ef3ce5a0cc3f621d4859
    Reviewed-on: https://chromium-review.googlesource.com/433443
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 5c32a6ef82e68455e8e9716b2c61cf26f96c95b8
Author: Kai Ninomiya <kainino@chromium.org>
Date:   Mon Jan 30 18:22:38 2017 -0800

    Fix comment introduced in 02f075c85b5e16b6ca1bfc157f1d619ed255f75a
    
    BUG=angleproject:1553
    BUG=chromium:630498
    
    Change-Id: I4c341e57f2e0439ffd7bdcf74e15ca0de4152c5d
    Reviewed-on: https://chromium-review.googlesource.com/435106
    Commit-Queue: Kai Ninomiya <kainino@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 588065677213f4140b2232ea82b82e1c286edd94
Author: Bryan Bernhart <bryan.bernhart@intel.com>
Date:   Thu Jan 5 13:09:31 2017 -0800

    Apply max draw buffer limit for WebGL shaders.
    
    For WebGL, using native caps incorrectly sets gl_MaxDrawBuffers.
    This change always applys the limit for compatible shaders.
    
    BUG=angleproject:1523
    
    Change-Id: Ie956f4b9fdd10bdf9276ae08eaeb49e65690185b
    Reviewed-on: https://chromium-review.googlesource.com/425477
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit c5a2a172ee9cc30b5a5edb4fcbe8a08e37a5374d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jan 13 15:55:07 2017 -0500

    Add EGL_EXT_pixel_format_float support, enables float EGL surfaces.
    
    Add floating point EGL configs for the D3D11 backend.
    
    BUG=angleproject:1707
    
    Change-Id: Ic84cd3a0d41e78cc39d0275d83e7695f55673ddf
    Reviewed-on: https://chromium-review.googlesource.com/428294
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 17a5c0621110b72449ac3a69dc79fcf1e419629a
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Sun Jan 22 15:20:53 2017 -0500

    IntermTyped::CreateZero: handle non-basictypes
    
    CreateZero is called in ParseContext so it should handle types which
    don't necessarily make sense to call it with.
    
    BUG=chromium:680961
    
    Change-Id: I8627850e49eb9a4f4ecde61ca2d68371ea6a8dd6
    Reviewed-on: https://chromium-review.googlesource.com/431001
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit e701dcc86d79247b6bb4d79794023ebf4a6f4520
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Jan 27 16:01:01 2017 -0500

    Fix compilation of dEQP on OSX after a roll of EGL headers
    
    dEQP assumes EGLNativeDisplayType is a pointer, but EGL recently defined
    it to be an integer.
    
    BUG=angleproject:1707
    
    Change-Id: Ief68c763ce159db44f4008cced47e87d92342861
    Reviewed-on: https://chromium-review.googlesource.com/434761
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 4ddf5afb75fb2866382f3ced34a73dd75db01fbe
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Dec 1 14:30:44 2016 -0500

    Refactor ResourceManager into separate managers per resource type.
    
    BUG=angleproject:1639
    
    Change-Id: I943f553cfb0e0feb57953770784b48e22fccc875
    Reviewed-on: https://chromium-review.googlesource.com/423172
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit e794cd86d4e6d0a87f941c1f793ff038b7c3334c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jan 13 17:29:51 2017 -0500

    Vulkan: Implement new GLSL translator back-end.
    
    The Vulkan GLSL translator back-end will handle validating and
    translating our WebGL/ESSL shaders into Vulkan-specific GLSL.
    
    glslang (the Vulkan one) accepts both GLSL and GLSL ES shaders
    as inputs, and both the desktop and ESSL back-ends give
    incompleteness warnings when used. For now, use the desktop GL
    450 as a target for Vulkan GLSL.
    
    The Vulkan-specific changes are currently only to add locations
    to every vertex input and fragment output.
    
    BUG=angleproject:1575
    
    Change-Id: I7c3f32f522e9d18e5f8618eb7927336bf4fbdcf2
    Reviewed-on: https://chromium-review.googlesource.com/412266
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 61bd9fe145af97dff38bca07c2f51fd6be0d21d6
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Jan 27 14:20:34 2017 -0800

    Suppress ESSL 3.10 integer math failure on AMD Linux
    
    Failure was seen on bots since the test was introduced.
    
    BUG=chromium:686105
    BUG=angleproject:1730
    
    Change-Id: I60293f17bf5e2498cbfb61f86468c218d58df68d
    Reviewed-on: https://chromium-review.googlesource.com/434080
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 72d1020e0531588611f33dd4b815e5a93c7d45f4
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Jan 19 15:58:30 2017 +0000

    Refactor function call node creation
    
    This makes function call node creation code simpler and more type
    safe. It also prepares for further simplification by removing usage of
    TFunction in places where the arguments node is sufficient.
    
    BUG=angleproject:1490
    TEST=angle_unittests
    
    Change-Id: I75d9e059bb32c475487f0be24e40ac0d78012d86
    Reviewed-on: https://chromium-review.googlesource.com/433217
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 9250cb248203c00850f4a91d804dede3b9907cbe
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Sat Jan 21 10:51:27 2017 +0000

    Add ESSL 3.10 integer math built-ins
    
    This adds built-ins found in ESSL 3.10 section 8.8 Integer functions.
    
    This includes constant folding support for functions that may be
    constant folded, and support for both GLSL and HLSL output. In HLSL
    several of the functions need to be emulated.
    
    The precision qualification for the return value of some of these
    functions is determined by special rules, that are now part of type
    promotion for TIntermUnary nodes and determining the type of
    TIntermAggregate nodes.
    
    BUG=angleproject:1730
    TEST=angle_unittests
    TEST=dEQP-GLES31.functional.shaders.builtin_functions.integer.*
    
    Change-Id: Ib0056c17671c42b6496c2f0ef059b99f8f25c122
    Reviewed-on: https://chromium-review.googlesource.com/431310
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 2add15ef53badf66176b4e44bd04796a133a3705
Author: John Bauman <jbauman@chromium.org>
Date:   Wed Dec 14 17:34:05 2016 -0800

    Fix creating pbuffers on IDCompositionSurfaces.
    
    IDCompositionSurfaces can't be bound as SRVs, so don't try to create
    SRVs for them.
    
    Also, OMSetRenderTargets must have NumViews <= 1 if an
    IDCompositionSurface is being bound. MRT doesn't work with them, and just
    having the remaining elements be null isn't enough.
    
    BUG=678800
    
    Change-Id: I76b28de7cbda772bff286eae2b83b70c9dcd2232
    Reviewed-on: https://chromium-review.googlesource.com/431134
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: John Bauman <jbauman@chromium.org>

commit b8353b010ce3794cb47a2aed3d3e2a6cc6f81adb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jan 25 12:57:21 2017 -0800

    Vulkan: Simple buffer creation.
    
    This is necessary to initialize vertex arrays.
    
    BUG=angleproject:1579
    
    Change-Id: Ic5a232d5cdfaa75b41241901de842e62ff3b173f
    Reviewed-on: https://chromium-review.googlesource.com/406645
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit cc6ac25e95ba23e50f768d65ce88adb4b74af41e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jan 25 12:57:21 2017 -0800

    GLES: Expose OES_mapbuffer in GLES2 on GLES3.
    
    This extension is mandatory for EXT_map_buffer_range support. We can
    emulate it using GLES 3.0 core map functionality.
    
    BUG=angleproject:1751
    
    Change-Id: Idba09ce7276603d5556039f4a49aa0b87cae22aa
    Reviewed-on: https://chromium-review.googlesource.com/431826
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit d73f852f8d3332089682b35723f8849c031acd4d
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Fri Jan 13 17:48:57 2017 -0500

    Reland "Replace gl::trace logging with Chromium style logging"
    
    Removing one usage of FormatString() and its static buffer.
    And preparation for Platform logging.
    
    Fix incorrect enabling of ERR() calls in UNIMPLEMENTED() and
    UNREACHABLE(), resulting in increased code size and
    <iostream> adding 5 static initializers to chrome because of
    cerr referenced in statically linked translator.
    
    BUG=angleproject:1660
    
    Change-Id: I7caa18036118d532e0544f75278602559172ae04
    Reviewed-on: https://chromium-review.googlesource.com/431457
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit dfa75e8730c87cb0c4270042570043132b0e6fc5
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Jan 23 09:43:06 2017 -0800

    Add support for 4-parameter functions to BuiltInFunctionEmulator
    
    New entry points are needed to support built-ins with more parameters.
    
    Also, now that ops that are not function calls don't use the
    TIntermAggregate class any more, it's easier to exclude nodes that are
    not candidates for built-in emulation using a simple blacklist rather
    than to use a whitelist.
    
    Also includes function name style cleanup in BuiltInFunctionEmulator.
    
    This will make it possible to add necessary emulation for built-ins
    from ESSL 3.10.
    
    BUG=angleproject:1730
    TEST=angle_unittests
    
    Change-Id: If267fc68f5cb9b2ee6703cbcbbe4d157da44a7e0
    Reviewed-on: https://chromium-review.googlesource.com/431297
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 01d0ad08437ed45b47852af2b18677d0b2bc3f43
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Sun Jan 22 14:51:23 2017 -0800

    Add symbol table function to get TFunction for a built-in op
    
    Built-in function parameter qualifiers are stored in the symbol table.
    Some AST traversers need the qualifier information for ops to
    determine whether a node is being written to. Add an utility function
    that maps a TIntermAggregate node to a symbol table entry, so that the
    traversers can get to this information in a convenient way.
    
    This will be necessary for adding more built-ins that have out
    parameters from ESSL 3.10.
    
    BUG=angleproject:1730
    TEST=angle_unittests
    
    Change-Id: I4bc622d70b2326a04cc858ff1258c22320c590dc
    Reviewed-on: https://chromium-review.googlesource.com/431109
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit ccd8c9b6f38eb85d8b4bd352461da6e8c121600a
Author: He Yunchao <yunchao.he@intel.com>
Date:   Wed Jan 18 17:36:14 2017 +0800

    ES31: GetTexLevelParameter support for multisampled texture for GL renderer
    
    BUG=angleproject:1679
    TEST=dEQP-GLES31.functional.state_query.texture_level.texture_2d_multisample.*
    
    Change-Id: Ic31f079c0c999d695eb695413271bd0ad10d05ba
    Reviewed-on: https://chromium-review.googlesource.com/429930
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 949e0700bc971d16fbb01ac68824a4557de8e31e
Author: Andrew Grieve <agrieve@chromium.org>
Date:   Mon Jan 16 09:44:49 2017 -0500

    Update BUILD.gn to account for Android default linker script change
    
    BUG=681557
    
    Change-Id: I8fb4e50d241e3519b27d57a507d92cc3c15877ef
    Reviewed-on: https://chromium-review.googlesource.com/430877
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 51182ab949186aa7bc6a47416e7ec014f3521f4b
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Sun Jan 22 00:12:29 2017 +0000

    Clean up TIntermAggregate folding
    
    The division between 2- and 3-parameter built-ins is superfluous and
    can be removed. Also folding support for ESSL 3.00 is complete, so the
    comments about needing to add folding support for more functions can
    be removed.
    
    BUG=angleproject:1730
    TEST=angle_unittests
    
    Change-Id: I5ca93a957a98a7740eca506e44af48e7b4b83bad
    Reviewed-on: https://chromium-review.googlesource.com/431108
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit a2aff2a4cffceb8589f85cec9e8e8525b4e3c028
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Jan 20 22:15:05 2017 +0000

    Use GetOperatorString in intermediate output
    
    The special names for built-ins used in intermediate output are kept
    only where they add some significant value, like clearly
    disambiguating between component-wise and non-component-wise ops.
    Otherwise intermediate output now relies on GetOperatorString to give
    names for ops.
    
    This will make it easier to add new built-in functions.
    
    This also fixes intermediate output for TIntermSwizzle, dFdx, dFdy and
    fwidth.
    
    BUG=angleproject:1730
    TEST=angle_unittests
    
    Change-Id: Ifa06b886ad8e24b0820513adae8decd60d80a0e7
    Reviewed-on: https://chromium-review.googlesource.com/431032
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 492cfab2e9a9102eabb877f067be5c245aa9158b
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Jan 20 21:18:29 2017 +0000

    Use GetOperatorString when initializing symbol table
    
    This will make it easier to add more built-in functions.
    
    BUG=angleproject:1730
    TEST=angle_unittests
    
    Change-Id: I5219a83e964b6ee15c690e108313960a873dd8e5
    Reviewed-on: https://chromium-review.googlesource.com/431031
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 1d9dcc24fa253e8a0b29aee64ad7be903dcc420d
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Jan 19 11:25:32 2017 +0000

    Make AST path always include the current node being traversed
    
    AST traversers tend to sometimes call traverse() functions manually
    during PreVisit. Change TIntermTraverser so that even if this happens,
    all the nodes are automatically added to the traversal path, instead
    of having to add them manually in each individual AST traverser.
    
    This also makes calling getParentNode() return the correct node during
    InVisit.
    
    This does cause the same node being added to the traversal path twice
    in some cases, where nodes are repeatedly traversed, like in
    OutputHLSL, but this should not have adverse side effects. The more
    common case is that the traverse() function is called on the children
    of the node being currently traversed.
    
    This fixes a bug in OVR_multiview validation, which did not previously
    call incrementDepth and decrementDepth when it should have.
    
    BUG=angleproject:1725
    TEST=angle_unittests, angle_end2end_tests
    
    Change-Id: I6ae762eef760509ebe853eefa37dac28c16e7a9b
    Reviewed-on: https://chromium-review.googlesource.com/430732
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 0894288d54f0c7e8234497cd1ac913abfc8f26cf
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Thu Jan 19 14:34:11 2017 +0800

    D3D11: Refactor trifan and line loop parameters.
    
    Use baseVertex as the parameter of drawLineLoop and drawTriangleFan. The
    old name is not clear for its usage.
    
    BUG=angleproject:1724
    
    Change-Id: I529a157f055eba9d62952093f37eabb8398697db
    Reviewed-on: https://chromium-review.googlesource.com/430255
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit c1a5d16e964ad524487eac9d2e4b5a65d837ff27
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jan 18 23:01:35 2017 -0500

    Buffer11: Fix use-after-free with system memory storage.
    
    Certain use patterns could trigger a deallocation of the system memory
    storage as it was being initialized. Fix this by resetting the idle
    counter before we enter into the internal update which would trigger
    the deallocation check.
    
    BUG=chromium:682020
    
    Change-Id: Ic3dac78ffa778cbaf103820a23eea009ce439d5c
    Reviewed-on: https://chromium-review.googlesource.com/430304
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit b123938d65ec7c21d9a6208d2b9fa42e4f938cfd
Author: Xinghua Cao <xinghua.cao@intel.com>
Date:   Tue Dec 13 15:07:05 2016 +0800

    D3D11: Add support to compile and link compute shaders
    
    This is a reland of 2cd9d7e032fb412b539a907c58342060340387a1.
    
    BUG=angleproject:1442
    TEST=angle_end2end_tests
    
    Change-Id: I5be0032b97617c31cdd4c66a823e8eb3b518867a
    Reviewed-on: https://chromium-review.googlesource.com/430199
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 78d13744895a12b62aab2fc1f5464967892cfabb
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Jan 18 13:06:10 2017 +0000

    Validate main() prototype declarations with incorrect parameters
    
    Instead of just validating definitions of main(), do the validation
    for all function headers for functions named "main", including headers
    in prototype declarations.
    
    BUG=angleproject:1712
    TEST=angle_unittests
    
    Change-Id: Ia34a2a756e1cc27b241b27e8c01c6ef09bffba71
    Reviewed-on: https://chromium-review.googlesource.com/430010
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 65603eb81475e459e77ab2fa69d85315da7d47ee
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jan 12 16:48:03 2017 -0500

    Refactor EGL config entry points to to separate validation.
    
    BUG=angleproject:1707
    BUG=angleproject:798
    
    Change-Id: I34fefa9f9bbd42ef05f222c8caf856a22cf206a3
    Reviewed-on: https://chromium-review.googlesource.com/428293
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 8ad9e75727b634d4ce9776911242a7a79bf4f5d2
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Jan 16 19:55:20 2017 +0000

    Always store function headers in TIntermFunctionPrototype nodes
    
    TIntermFunctionDefinition nodes now have a TIntermFunctionPrototype
    child that stores the function signature, instead of having a separate
    type and an aggregate child that stores the parameters.
    
    This makes parsing functions simpler, and paves the way for further
    simplifications of function parsing, like reducing conversions between
    symbol table structures and AST structures.
    
    TIntermAggregate is now only used for function calls.
    
    BUG=angleproject:1490
    TEST=angle_unittests, angle_end2end_tests
    
    Change-Id: Ib56a77b5ef5123b142963a18499690bf37fed987
    Reviewed-on: https://chromium-review.googlesource.com/427945
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 2cf7c51ec26016edaedeba03bd1d126e67d46f8a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jan 16 15:27:57 2017 -0500

    Add a perf test for binding buffers.
    
    BUG=angleproject:1639
    
    Change-Id: I42da2acdb7c99116c4418a2f71d65d72d328d641
    Reviewed-on: https://chromium-review.googlesource.com/428572
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit ab9f9c31f70b3226c0149b389e9167162a6c901f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jan 17 17:47:34 2017 -0500

    Vulkan: Configure a simple RenderPass for drawing.
    
    BUG=angleproject:1319
    
    Change-Id: I0668527a338a2f10ca74b43f2a8bd82534e732c0
    Reviewed-on: https://chromium-review.googlesource.com/370805
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit e70413c7ecf7d910ead1af905c1dfe7a0df5b4ea
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jan 12 16:35:17 2017 -0500

    Roll EGL headers.
    
    Update CGL backend to use new EGL types.
    
    BUG=angleproject:1707
    
    Change-Id: I165e81a758cad0a8036aef68c44a57bcc61e982d
    Reviewed-on: https://chromium-review.googlesource.com/428292
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit fd8b469ebc8f63d0579cb62da94fe5d393503a78
Author: Ivan Krasin <krasin@chromium.org>
Date:   Tue Jan 17 11:20:26 2017 -0800

    Fix dot() signature to avoid an implicit copy constructor call.
    
    That also fixes the build with Clang ToT compiler.
    
    BUG=chromium:681912
    
    Change-Id: I1449ee0f1f3f031d64af1a1f64f43808d2a8a1b1
    Reviewed-on: https://chromium-review.googlesource.com/428903
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 47c27e8292f810e300b9763d226f73870764a1fd
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Jan 17 15:29:35 2017 +0000

    Manage preprocessor Macro objects with shared pointers
    
    This ensures that pointers to Macros that are removed from the macro
    set stay valid. Pointers to undef'd macros may need to be referred to
    if reenabling the macros has been deferred.
    
    BUG=chromium:681324
    TEST=angle_unittests
    
    Change-Id: Ibbbabbcbd6b0a84254cda717ae63712e6d404ebd
    Reviewed-on: https://chromium-review.googlesource.com/427948
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 16c745a3db7875191be2999de4535521b15ba92a
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Jan 16 17:02:27 2017 +0000

    Split TIntermFunctionPrototype from TIntermAggregate
    
    Function prototypes now have their own class TIntermFunctionPrototype.
    It's only used for prototypes, not function parameter lists.
    
    TIntermAggregate is still used for parameter lists and function calls.
    
    BUGS=angleproject:1490
    TEST=angle_unittests
    
    Change-Id: I6e246ad00a29c2335bd2ab7f61cf73fe463b74bb
    Reviewed-on: https://chromium-review.googlesource.com/427944
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit bddc46b4bb31bc0a682e774ff6fe108f7c214cb7
Author: JiangYizhou <yizhou.jiang@intel.com>
Date:   Fri Dec 9 09:50:51 2016 +0800

    ES31: Implement multisampled Textures.
    
    Implement TexStorage2DMultisample and getMultisamplefv entry point.
    Also modify sample state for Textures and Framebuffers.
    
    BUG=angleproject:1590
    TEST=angle_unittests
    TEST=angle_end2end_tests
    TEST=dEQP-GLES31.functional.texture.multisample.samples_*.sample_position
    TEST=dEQP-GLES31.functional.texture.multisample.samples_*.use_texture_color_2d
    TEST=dEQP-GLES31.functional.texture.multisample.samples_*.use_texture_depth_2d
    TEST=dEQP-GLES31.functional.texture.multisample.negative.fbo_attach_different_sample_count_tex_tex
    TEST=dEQP-GLES31.functional.texture.multisample.negative.fbo_attach_different_sample_count_tex_rbo
    TEST=dEQP-GLES31.functional.texture.multisample.negative.fbo_attach_non_zero_level
    TEST=dEQP-GLES31.functional.texture.multisample.negative.texture_high_sample_count
    TEST=dEQP-GLES31.functional.texture.multisample.negative.texture_zero_sample_count
    TEST=dEQP-GLES31.functional.shaders.builtin_functions.texture_size.samples_1_texture_2d
    TEST=dEQP-GLES31.functional.shaders.builtin_functions.texture_size.samples_4_texture_2d
    
    Change-Id: I8fa7bd4e73b95745858a3e16b1b92004b4a18712
    Reviewed-on: https://chromium-review.googlesource.com/414309
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yunchao He <yunchao.he@intel.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 0aff35ebd7fd7c0411cfdde44f8ad8d37352e1e9
Author: Xinghua Cao <xinghua.cao@intel.com>
Date:   Mon Jan 16 13:46:52 2017 +0800

    OpenGL 4.2 is required when using ARB_compute_shader extension
    
    BUG=angleproject:1702
    TESTCASE=angle_end2end_tests
    
    Change-Id: I45fe21bc14310b9c873e83004a8ac8766865fbb9
    Reviewed-on: https://chromium-review.googlesource.com/428690
    Reviewed-by: Yunchao He <yunchao.he@intel.com>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit e520d7c69e6367c5a96e6527bd958ed99e4b844c
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Fri Jan 13 13:46:49 2017 -0800

    Skip DepthTexturesWithMipmaps on Win Intel.
    
    BUG=angleproject:1706
    TEST=Win Intel HD 530 Debug bot on GPU FYI waterfall
    
    Change-Id: I9037e777f42654e7030bcf197e81d0c118bb792d
    Reviewed-on: https://chromium-review.googlesource.com/428221
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Zhenyao Mo <zmo@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 7b57b9d73868a293e3f3d734ce55894023b59362
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jan 13 09:33:38 2017 -0500

    Vulkan: Implement basic Clear and ReadPixels.
    
    This enables the simple operations clear test on Vulkan. The current
    implementation is very synchronous - it will block and finish the
    current command buffer if there is any possibility of a race.
    
    BUG=angleproject:1319
    
    Change-Id: If01fe9a19ed6f539639a38786193d3626164cada
    Reviewed-on: https://chromium-review.googlesource.com/367754
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit ac4e9c3f9911cf498f429775603bcb239b6c4e4d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jan 13 14:07:12 2017 -0500

    Micro-optimize Uniform updates.
    
    This saves a few re-computations of the same stuff.
    
    BUG=angleproject:1671
    
    Change-Id: I28f955cd880366a86c0bb22285a119e97661e2cb
    Reviewed-on: https://chromium-review.googlesource.com/427326
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit f695a3a14daff35c3277cb7338927b99e6ed9e68
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jan 11 17:36:35 2017 -0500

    WebGL: Validate texture copying feedback loops.
    
    This adds basic validation for catching CopyTex{Sub}Image calls
    whose source and destination textures overlap. It does not yet
    implement full support for ES3 types (3D textures, array textures).
    
    BUG=angleproject:1685
    
    Change-Id: I83e7b1998df5575057fed8f99f7ee9970fb38df0
    Reviewed-on: https://chromium-review.googlesource.com/425491
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 7e735e48a6cfce7be97f879ef52f5c4fca3faab4
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Jan 12 15:42:01 2017 +0000

    Change remaining compile-time folding errors to warnings
    
    The GLES working group has decided to amend the spec so that
    implementations are not allowed to generate compile errors on
    undefined values detected at compile time. Change the remaining
    folding errors to warnings to follow the newly clarified rules.
    
    The end2end_tests covering this are removed, since they're
    redundant with the more efficient unit test.
    
    BUG=angleproject:1703
    TEST=angle_unittests
    
    Change-Id: I97d2fd532dbe5733581bdc4aa40a5d7d3734fc0d
    Reviewed-on: https://chromium-review.googlesource.com/427799
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 11b038beef4d8473d07edfb60f837667fa43ef12
Author: He Yunchao <yunchao.he@intel.com>
Date:   Tue Nov 22 21:24:04 2016 +0800

    ES31: Implement glGetTexLevelParameter{i|f}v entry point
    
    BUG=angleproject:1679
    TEST=dEQP-GLES31.functional.state_query.texture_level.*
    
    Change-Id: I36cc7406199fc0c3c1585ad48f010d7dba5fe9e4
    Reviewed-on: https://chromium-review.googlesource.com/414250
    Commit-Queue: Yunchao He <yunchao.he@intel.com>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 7cc14ee868cf7cd2c4e56a6b1499648a4eb835a9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jan 13 09:33:37 2017 -0500

    Vulkan: Update build files after roll.
    
    They have consolidated to one helper script generator. Simplifies the
    GN build. This also re-enables the Vulkan back-end after the roll.
    
    BUG=angleproject:1319
    
    Change-Id: Ie98568ae5d1dc46932ea8d698809561da7591836
    Reviewed-on: https://chromium-review.googlesource.com/427307
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 4be6c6ccd7dc24bd3db25cef864b99fbbfb75960
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Jan 13 12:45:46 2017 +0000

    Add missing sampler types to shader_translator output
    
    The types are organized as in the ESSL 3.10 spec.
    
    BUG=angleproject:1681
    
    Change-Id: If8e0ab2c604fcf9b61d3d89719e95854d494231c
    Reviewed-on: https://chromium-review.googlesource.com/427843
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 8f6eb2ad4859dd37a3048637bcf55b39b7de44fe
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Jan 12 17:04:58 2017 +0000

    HLSL output: Fix nested dynamic indexing in an l-value
    
    This fixes cases where a matrix is indexed and then the resulting
    vector is indexed in the same expression inside an l-value.
    
    BUG=angleproject:1672
    TEST=angle_end2end_tests
    
    Change-Id: Ia0593d75da67e0aa582003e1c381f2a1c89f948c
    Reviewed-on: https://chromium-review.googlesource.com/427938
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 6a6b09c9b62b003ca96b036d0249db5ce99cc269
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jan 12 21:52:29 2017 +0000

    Revert "Replace gl::trace logging with Chromium style logging"
    
    Failing Chromium static initializers check:
    
    FAILED linux-release-64/sizes/chrome-si/initializers: actual 8, expected 7, better lower
    
    Possibly due to the static initializer for std::array for
    the log severity types. We should change it to POD.
    
    BUG=angleproject:1660
    
    This reverts commit afcc41cee4ff63e7f6c9e60e55fc061adbba7dd4.
    
    Change-Id: Ifb362a4af78542608397c7a0b19e6afe076f2cf3
    Reviewed-on: https://chromium-review.googlesource.com/427235
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit b4533de1fdf7f5ac2fb4824582e13cb55ca94dd8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jan 12 14:32:13 2017 -0500

    Roll Vulkan to bcb80d06b.
    
    This includes a loader fix for systems with stale drivers.
    
    BUG=angleproject:1319
    
    Change-Id: I9ee726bd508c89b19508a5f3113f7b90593635d5
    Reviewed-on: https://chromium-review.googlesource.com/427265
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 1a2567215ffc27da8c48117999421b27d8844331
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Thu Jan 12 11:52:57 2017 -0800

    Skip two unittests on Linux/Intel.
    
    BUG=680631
    TEST=angle_end2end_tests on Linux/Intel
    
    Change-Id: I0823b5accc1c1962d7b498bf74d58edcc6971133
    Reviewed-on: https://chromium-review.googlesource.com/427285
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Zhenyao Mo <zmo@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 417df92f01f7fb8564ab648d6951c864f612ced3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jan 12 09:23:07 2017 -0500

    Revert "D3D11: Add support to compile and link compute shaders."
    
    Fails https://build.chromium.org/p/chromium.gpu.fyi/builders/Linux%20Debug%20%28New%20Intel%29/builds/5769
    
    BUG=angleproject:1442
    
    This reverts commit 2cd9d7e032fb412b539a907c58342060340387a1.
    
    Change-Id: Ic1610d20ba0449b423528fa9840aa951c012cf84
    Reviewed-on: https://chromium-review.googlesource.com/427229
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit afcc41cee4ff63e7f6c9e60e55fc061adbba7dd4
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Tue Dec 13 12:59:39 2016 -0500

    Replace gl::trace logging with Chromium style logging
    
    Removing one usage of FormatString() and its static buffer.
    And preparation for Platform logging.
    
    BUG=angleproject:1660
    
    Change-Id: I58192988ad16196706fe48d0c0ab0fd1a10c0210
    Reviewed-on: https://chromium-review.googlesource.com/424173
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit a4595b806f5b55f80c3e3018f049c01f7c964eff
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jan 11 17:36:34 2017 -0500

    WebGL: Validate simple rendering feedback loops.
    
    This adds the most basic form of rendering feedback loop detection:
    when we're rendering to a texture that's also bound as an input. It
    doesn't filter by selected mipmap level or 3D texture slice, or
    do depth attachment validation. It also is missing checks for feedback
    loops against the default Framebuffer.
    
    BUG=angleproject:1685
    
    Change-Id: Idb0ee2bfe1c35611544d132204c0da832c0f1c48
    Reviewed-on: https://chromium-review.googlesource.com/425489
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 008450bab560766dd9e4d01a0b287cb2a0169ed4
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Wed Jan 11 22:28:20 2017 +0000

    Revert "Fbo attaching non-zero base level texture should be complete"
    
    This reverts commit b293a2601d29a95c0716725e460b395fff29e8e5.
    
    Failing as of:
    https://build.chromium.org/p/chromium.gpu.fyi/builders/Linux%20Release%20%28AMD%20R5%20230%29/builds/580
    https://build.chromium.org/p/chromium.gpu.fyi/builders/Linux%20Release%20%28AMD%20R7%20240%29/builds/1258
    
    zmo@ wants this reverted.
    
    Change-Id: I457b6127e551c546ed861dd2d9b3f90b7bbab034
    Reviewed-on: https://chromium-review.googlesource.com/427222
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 3af74d77913eb6b00c65fcd69bfb64aab6d43440
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jan 11 16:50:05 2017 -0500

    Remove WebGL-CTS-known-failures.txt.
    
    This file is no longer maintained.
    
    BUG=None
    
    Change-Id: Idc2d3986a94ee524d3b28a2697a08496862f10e0
    Reviewed-on: https://chromium-review.googlesource.com/427338
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit d1e22b0b2ee4a597c7735441771d900daa4460cc
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jan 11 13:39:26 2017 -0500

    Expand Uniforms perf test.
    
    This will run additional tests for redundant uniform sets on vec4
    uniforms as well as matrix. Also rename the metrics slightly.
    
    BUG=angleproject:1385
    
    Change-Id: Ib9777ea38d3153cc0fb69658fcf96d75b03f3770
    Reviewed-on: https://chromium-review.googlesource.com/427141
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 2cd9d7e032fb412b539a907c58342060340387a1
Author: Xinghua Cao <xinghua.cao@intel.com>
Date:   Tue Dec 13 15:07:05 2016 +0800

    D3D11: Add support to compile and link compute shaders.
    
    BUG=angleproject:1442
    
    Change-Id: I13240e931e6f121d175d2cd6b41324d38bb39a5c
    Reviewed-on: https://chromium-review.googlesource.com/405831
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit e7d8432d5ed6e9d0093ed1b60abe5051fd3d77bf
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jan 10 18:21:59 2017 -0500

    Move ProgramGL's sampler bindings to gl::Program.
    
    This saves code duplication and makes the sampler validation a bit
    simpler. In the future we might be able to use it to replace the
    custom D3D logic for caching sampler info, but this relies on
    some shader-specific non-merged data.
    
    This also introduces some code duplication in Uniform1iv.
    
    BUG=angleproject:1685
    
    Change-Id: I258607a21886ca20766607bddf958cd511fac3f1
    Reviewed-on: https://chromium-review.googlesource.com/426781
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 98e34077ae03537b011ee5aae05f218dd4ff34f8
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Jan 10 13:22:21 2017 -0500

    translator_fuzzer: destroy translator cache on exit.
    
    BUG=chromium:679725
    
    Change-Id: I73b45b9ff2f1a270afce8c77a701e2659fd2b7c9
    Reviewed-on: https://chromium-review.googlesource.com/426017
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 2a9ef3eac1c73291bbff82fe306bc9c5c74d21cd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jan 10 13:17:06 2017 -0500

    Vulkan: Fix GYP layer dependencies.
    
    The GYP project wasn't correctly depending on the various layer
    targets, like the GN was.
    
    BUG=angleproject:1319
    
    Change-Id: I54794c71be899fe5ba40cb999ecf2ce7c4a972b5
    Reviewed-on: https://chromium-review.googlesource.com/425941
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit abaab233e3270da4c624de5622c84aba681e8229
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jan 10 12:37:37 2017 -0500

    Vulkan: Introduce vk::Format.
    
    BUG=angleproject:1319
    
    Change-Id: I88bcc6caa5d29565728848bada1563e47e383b29
    Reviewed-on: https://chromium-review.googlesource.com/367753
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 2f90a9b55bc1c6824b8392d628e56b23b19955fc
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Jan 10 12:27:56 2017 +0000

    Fix shader support of OVR_multiview
    
    Fix up incorrect capitalization of gl_ViewID_OVR in a few places.
    
    Also add extension macro test to compiler unit tests.
    
    BUG=angleproject:1669
    TEST=angle_unittests
    
    Change-Id: Ia7fdd747ad08355cdc149db9e2e7911c2e673af5
    Reviewed-on: https://chromium-review.googlesource.com/425851
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit bb1db48ed5c7607fbd18e35b57080a28386d8d7e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jan 10 10:48:32 2017 -0500

    Suppress two new failing tests on OSX 10.12 Intel.
    
    BUG=chromium:679607
    
    Change-Id: Iacba3958dc942d7830caec8e053148533bff4069
    Reviewed-on: https://chromium-review.googlesource.com/425872
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit b293a2601d29a95c0716725e460b395fff29e8e5
Author: Qiankun Miao <qiankun.miao@intel.com>
Date:   Mon Jan 9 12:35:36 2017 +0800

    Fbo attaching non-zero base level texture should be complete
    
    This is ported from WebGL CTS which is used to verify a ES 3.0 bug in
    NVIDIA Linux, Windows OpenGL, and Mac OSX.
    
    BUG=chromium:678526
    TEST=angle_end2end_tests
    
    Change-Id: Ifb6e1ba52d45144c544beab21f1ad4a98b1b0f65
    Reviewed-on: https://chromium-review.googlesource.com/426007
    Commit-Queue: Qiankun Miao <qiankun.miao@intel.com>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 5f319a4b076cad38f5938443fe98c6ed35052043
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jan 9 16:49:19 2017 -0500

    Fix incorrect NPOT availability check.
    
    Add tests for enabling NPOT extensions.
    
    BUG=angleproject:1678
    
    Change-Id: Ibcbfc1192bceb634deb2904dbb9644902471e3fd
    Reviewed-on: https://chromium-review.googlesource.com/425713
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 037340d7feb463128eb8b893fabe3139552a8550
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jan 9 14:22:10 2017 -0500

    perftests: Make into white box tests.
    
    By using the static libGLESv2 and libEGL, perftests can correctly
    test ANGLE internals (like the Index Data Manager) without having
    to export across shared object boundaries.
    
    This also will simplify invoking the perftests on the bots because
    we don't have to configure a special rpath to find the various
    shared objects it would otherwise need.
    
    BUG=angleproject:1660
    BUG=chromium:675997
    
    Change-Id: I114abb0756cf6f83e15025a0bcf292faf0064f5e
    Reviewed-on: https://chromium-review.googlesource.com/425712
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit fd456445c8830576240a32b71d73c2efcb443a63
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Dec 21 17:57:00 2016 -0500

    Add tests for the OOB checks for vertex buffers
    
    BUG=angleproject:1523
    
    Change-Id: I9ec9fefc635d0338285b430152586fdd39f227c5
    Reviewed-on: https://chromium-review.googlesource.com/422964
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 02f075c85b5e16b6ca1bfc157f1d619ed255f75a
Author: Kai Ninomiya <kainino@chromium.org>
Date:   Thu Dec 22 14:55:46 2016 -0800

    Support EXT_texture_compression_s3tc_srgb on DX11
    
    Also passes WEBGL_compressed_texture_s3tc_srgb conformance on WebGL 1/2 on DX11
    
    BUG=angleproject:1553
    BUG=chromium:630498
    
    Change-Id: If1d17b54b1e8b998410079fd217626410015d7f1
    Reviewed-on: https://chromium-review.googlesource.com/422585
    Commit-Queue: Kai Ninomiya <kainino@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit cbcde724659789b3ef4dfd11f4df8fde52d247eb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jan 6 14:50:00 2017 -0500

    WebGL: Remove error spam on separate stencil masks.
    
    It's fully conformant to not support separate stencil masks in WebGL,
    so we only need to print the error if we're failing validation from
    the limitation.
    
    BUG=angleproject:1523
    
    Change-Id: Iaa08567180dee839a7b78e61e5a4ad7208c41924
    Reviewed-on: https://chromium-review.googlesource.com/425488
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 63d826267778cf2ec4c0e51fdcb3a6b98123aba7
Author: Brian Osman <brianosman@google.com>
Date:   Fri Jan 6 14:05:18 2017 -0500

    Fix preprocessor typo for enabling Windows Runtime Library
    
    BUG=angleproject:530
    
    Change-Id: Id93bd4f3f82bc0a6a0cbe4b55bc310d11266a2bd
    Reviewed-on: https://chromium-review.googlesource.com/425938
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a66779fcf2aeed8588bcc1ba6a3668d81e65bf3b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jan 6 10:43:44 2017 -0500

    Vulkan: Load layers relative to executable dir.
    
    Instead of baking in a relative path and expecting the app to run from
    a fixed directory, we can change the CWD at runtime so the layers can
    load relative to the current executable directory.
    
    Future alternatives could include modifying the layers SDK to provide
    a path dynamically, but for now the relative paths must be baked in
    at compile-time.
    
    BUG=angleproject:1319
    BUG=chromium:677841
    
    Change-Id: I443b6b35d38276ea667cdf08ec2204ea280b6cec
    Reviewed-on: https://chromium-review.googlesource.com/425441
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit 57f17473791703ac82add77c3d77d13d8e2dfbc4
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Jan 5 23:37:14 2017 -0500

    Fix angle_perftests compilation on Linux
    
    BUG=angleproject:1669
    
    Change-Id: Iec4ed1be1e17d86a095d8c35bddc48aa85effa39
    Reviewed-on: https://chromium-review.googlesource.com/424967
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit dcab56a1b8158aafc37030f09606b9e888e82663
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jan 5 14:47:34 2017 -0500

    Move some file utils to common.
    
    Since common is shared through all ANGLE code (libANGLE/tests/samples)
    this is the most general place for these utils, and will give libANGLE
    access to them. We'll need them to get the current executable dir for
    loading the Vulkan layers.
    
    This also means we'll need to fix the global static variable use when
    we have the ability.
    
    BUG=angleproject:1319
    BUG=chromium:677841
    
    Change-Id: I7af61920635135b28a2f02f4a8d019ee88c9dd28
    Reviewed-on: https://chromium-review.googlesource.com/425440
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit de5f98cd029e10cd6cb824a63c7c2742101c6999
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jan 5 11:21:20 2017 -0500

    gyp: Fix missing ENABLE defs in end2end_tests.
    
    These defines are necessary for config filtering.
    
    BUG=angleproject:1660
    
    Change-Id: I5bc32d8127023a0de32af75101eda13c5cdf849e
    Reviewed-on: https://chromium-review.googlesource.com/425090
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 4af4951ff9b8eb1b3defd128a8c624dd60f8d66c
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Mon Dec 26 13:12:22 2016 +0800

    Tighten the workaround for B5G6R5 on Intel drivers
    
    This driver bug has been fixed in 20.19.15.4539.
    
    BUG=chromium:644610
    TEST=dEQP-GLES3.functional.fbo.blit.default_framebuffer.rgb565*
    
    Change-Id: I37556304ed4f70771fb88b792c01b6be5b3aa294
    Reviewed-on: https://chromium-review.googlesource.com/424103
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 4021932f2572297e733677945fbcf0b533b0a88c
Author: JiangYizhou <yizhou.jiang@intel.com>
Date:   Fri Dec 9 09:50:51 2016 +0800

    translator: Add ES3.1 multisample texture support.
    
    Implement shader objects, [iu]sampler2DMS, textureSize(gsampler2DMS).
    as well as texelFetch(gsampler2DMS,P,sample) for the glsl.
    
    BUG=angleproject:1590
    
    TEST=angle_unittests
    TEST=angle_end2end_tests
    
    Change-Id: I781023f7bec34ad0264af69f34bb182b50bd1fbd
    Reviewed-on: https://chromium-review.googlesource.com/423175
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 80ab03c58df44689cb04b96cee3f042c80cdccb6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jan 3 11:03:23 2017 -0500

    Add angle_white_box_tests for libANGLE render tests.
    
    angle_end2end_tests included tests that used both the entry points
    from our shared libraries as well as calling libANGLE classes like
    gl::Context directly. Split these into a new test executable.
    
    This also removes the libANGLE code from all the end2end tests.
    
    It's necessary to add static versions of libEGL and libGLESv2 so
    that we call safely call methods in libANGLE an the entry points
    from the same target.
    
    BUG=angleproject:1660
    
    Change-Id: I6d82021b9300231ddb5fee435e5d77728f8f1292
    Reviewed-on: https://chromium-review.googlesource.com/419175
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 62300122f50fc26826e79932a6d712b363630c28
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jan 4 13:10:49 2017 -0500

    Fix size_t convesion warning in angle_perftests.
    
    BUG=angleproject:1669
    
    Change-Id: I24e5e3d04189aff662ad7ce57498efcb820ee467
    Reviewed-on: https://chromium-review.googlesource.com/424854
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 2d676313dd1d4bb1da4a8dded17d0fc009f53e2d
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Jan 4 10:44:36 2017 +0000

    Refactor common functionality out of draw call perf tests
    
    Common functionality across some perf tests is moved to a separate
    utility file, draw_call_perf_utils.
    
    This will make it simpler to add more perf tests, such as tests for
    multiview drawing.
    
    BUG=angleproject:1669
    TEST=angle_perftests
    
    Change-Id: I2108d7425f7d8f43f333ea9daa6779e42862350b
    Reviewed-on: https://chromium-review.googlesource.com/422332
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit acd1898e081092dac6332e69ccc18c1dab7f7da7
Author: He Yunchao <yunchao.he@intel.com>
Date:   Wed Jan 4 10:46:42 2017 +0800

    Replace Error(GL_NO_ERROR) with NoError().
    
    In order to make the errors be consistent throughout ANGLE.
    
    BUG=angleproject:1686
    
    Change-Id: I0a2d86091d640aedeac94beae345c1fb6971b00d
    Reviewed-on: https://chromium-review.googlesource.com/424835
    Commit-Queue: Yunchao He <yunchao.he@intel.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit a818c327fe6bb770c3a3621a985c4afd698ad0ab
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jan 3 13:48:05 2017 -0500

    translator: Remove non-sh scoped APIs.
    
    Now that Chromium is switched over, we can remove the old global
    APIs so they no longer conflict with glslang/Vulkan.
    
    BUG=angleproject:1319
    
    Change-Id: Ia673d47caa7ca40139e4989fac374acd48f52ab9
    Reviewed-on: https://chromium-review.googlesource.com/408517
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 6be602dc699aadb9c2c33389ceb062a8a05fc458
Author: He Yunchao <yunchao.he@intel.com>
Date:   Thu Dec 22 14:33:07 2016 +0800

    Some improvements for BlitFramebuffer.
    
    This change can
    1. Skip color blitting when draw buffers are disabled.
    2. Skip depth/stencil blitting when depth/stencil buffer has no image.
    3. Return early if possible.
    4. Move the logic above from D3D backend to common part.
    
    BUG=angleproject:1677
    
    Change-Id: I1662d214b72fb8caa4a95c86d9b8a67984b6071a
    Reviewed-on: https://chromium-review.googlesource.com/423135
    Commit-Queue: Yunchao He <yunchao.he@intel.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d68924e52c55722571f7b5af9c771c96c2b0d0da
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Jan 2 17:34:40 2017 +0000

    Use GetOperatorString when writing GLSL unary built-in calls
    
    GetOperatorString is now used when writing GLSL for built-in calls
    that fall under TIntermUnary. Component-wise not TOperator enum is
    renamed for consistency.
    
    This also cleans up some unnecessary creation of string objects when
    writing built-in functions.
    
    BUG=angleproject:1682
    TEST=angle_unittests, angle_end2end_tests, WebGL conformance tests
    
    Change-Id: I89b2ef222bf5af479d4977417f320789b58ace85
    Reviewed-on: https://chromium-review.googlesource.com/424552
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit a13251792a74db7ee1cc82b82e1ea46236bdc9a1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jan 3 10:01:39 2017 -0500

    Vulkan: Fix struct helper output list.
    
    Some files were removed from the Vulkan build, so we should also
    remove them. They were triggering work on incremental builds.
    
    BUG=angleproject:1319
    
    Change-Id: Ia179eb6d96ea2f41175c85cc8ae6313c39f68647
    Reviewed-on: https://chromium-review.googlesource.com/424592
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit ca128c7cc7d9a1df93995c06ca4b4eb081d25bf6
Author: Jiajia Qin <jiajia.qin@intel.com>
Date:   Fri Dec 23 14:04:53 2016 +0800

    Fix no VAO bound error in Draw*Indirect
    
    In Intel Mesa driver, dEQP-GLES31.functional.draw_indirect.random.28 is
    faild because of no VAO bound. This patch will fix it by adding VAO
    binding.
    
    BUG=angleproject:1595
    TEST=dEQP-GLES31.functional.draw_indirect.random.28
    
    Change-Id: I8e4616bc4685839efe299d2a4fad65fa73fde641
    Reviewed-on: https://chromium-review.googlesource.com/423438
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 3311d474a6353a5855c8719ab568a0cc7d20b7d0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jan 2 17:55:02 2017 -0500

    Display: Add a shared state object.
    
    This will allow us to manage the SurfaceSet in the GL layer.
    
    BUG=angleproject:1684
    
    Change-Id: Iab8243157710beab2667ef10275571078ce9ae8e
    Reviewed-on: https://chromium-review.googlesource.com/424228
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 1754ba0df88d747900bd59456c888c2e7461312c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jan 2 16:28:43 2017 -0500

    Remove unsupported test configs.
    
    The ES3 D3D11 FL 10.0 configs won't ever work, and the Vulkan ES3
    config won't be supported for some time.
    
    BUG=None
    
    Change-Id: I9bb10da607f3a993fb0f9ec580058e5918969dac
    Reviewed-on: https://chromium-review.googlesource.com/424070
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 38ef7c8c97d1e28cb52816eedb823438c3057cee
Author: Scott Graham <scottmg@chromium.org>
Date:   Mon Jan 2 12:19:18 2017 -0800

    Disable 4701 and 4703 for spirv_tools for Windows PGO build
    
    BUG=chromium:677837
    
    Change-Id: I5165ba9086a3d74fde7e7718909e242588f3c1de
    Reviewed-on: https://chromium-review.googlesource.com/424374
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit e180559f4f2e560b8c311a74554653f5d39cef20
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Jan 2 16:41:20 2017 +0000

    Use GetOperatorString when writing GLSL built-in function calls
    
    GetOperatorString is now used when writing GLSL for built-in calls
    that fall under TIntermAggregate. Component wise and not component
    wise TOperator enums are disambiguated from each other.
    
    BUG=angleproject:1682
    TEST=angle_unittests, angle_end2end_tests, WebGL conformance tests
    
    Change-Id: I861f1e94eb695eb712592df99705848b442ef07b
    Reviewed-on: https://chromium-review.googlesource.com/424532
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 8aee65467f70ad92d77968672ac6fc4466af6e00
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jan 2 11:46:25 2017 -0500

    FramebufferAttachment: Cast pointers directly.
    
    Instead of using a temporary pointer-to-pointer, try casting the
    pointer-to-pointer type directly.
    
    This will facilitate Vulkan's use of RenderTargets.
    
    BUG=angleproject:1319
    
    Change-Id: I0a14762e8e442b9eaa6eba3fdf653aef3c362533
    Reviewed-on: https://chromium-review.googlesource.com/424148
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 4d0bf5579c52ecd6a93f2c9bf145e628106b4ffa
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Dec 28 15:45:24 2016 -0500

    Vulkan: Initialize the draw surface.
    
    This also involves initializing the swap chain and queue.
    
    BUG=angleproject:1319
    
    Change-Id: Ia3a2141905f17b2cdddddab07336f33a737d4fc1
    Reviewed-on: https://chromium-review.googlesource.com/367752
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit d7c5b0aa8f3cc8d948f6f2e88509d7952ce5ce5e
Author: Martin Radev <mradev@nvidia.com>
Date:   Wed Jul 27 14:04:43 2016 +0300

    Add support for barriers in the compiler
    
    The patch adds support for barriers in vertex, fragment and compute
    shaders.
    
    BUG:angleproject:1442
    TEST:angle_unittests
    
    Change-Id: Ic85c3337911851a93a3f56bd935774181600eddd
    Reviewed-on: https://chromium-review.googlesource.com/380641
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit f165f0b4c63562221f994d6430483612ebe5bf61
Author: Shao <jiawei.shao@intel.com>
Date:   Tue Dec 20 15:53:11 2016 +0800

    Tighten the workarounds on isnan for Intel drivers
    
    This driver bug has been fixed in 21.20.16.4542.
    
    BUG=chromium:650547
    
    Change-Id: I2a5c7c01bf48d854bd6c4c6a380e57617e00529a
    Reviewed-on: https://chromium-review.googlesource.com/422992
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 0448ec847db2c459b13b581bc1a369eb9c788d64
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Dec 23 13:41:47 2016 -0500

    Vulkan: Enable validation layers on request.
    
    Also adds the build files for the Vulkan layers.
    
    The layers are enabled by default for the tests.
    
    BUG=angleproject:1319
    
    Change-Id: I0b442b36312a1299a932922e1c4e39f00801de49
    Reviewed-on: https://chromium-review.googlesource.com/367751
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit b5693ff6cbba99a5ab22cf2b207d64e6dab83384
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Fri Dec 23 14:45:05 2016 -0500

    Roll Vulkan validation layers.
    
    Includes fix for incorrectly guarded gcc-specific pragma.
    https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/pull/1301
    
    BUG=angleproject:1668
    
    Change-Id: Iee60d5f7fbfa7c6d35c0085f0905dcb2e0987188
    Reviewed-on: https://chromium-review.googlesource.com/423266
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit b22615dec4abbf96274e1d3ef1e972674ae494c1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Dec 23 13:21:04 2016 -0500

    Suppress Intel program binary test on Win/OpenGL.
    
    We might need to disable binaries on OpenGL Windows Intel at some
    point, or make a workaround for this particular bug.
    
    BUG=angleproject:1637
    
    Change-Id: If9f73725a01f29f1148cff68d15b228e5841a2f8
    Reviewed-on: https://chromium-review.googlesource.com/423234
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit d5fe352a9139de225a4473390dd6b266ca841d57
Author: Kai Ninomiya <kainino@chromium.org>
Date:   Thu Dec 22 14:55:46 2016 -0800

    Add GL_EXT_texture_compression_s3tc_srgb to GLES2/gl2ext.h
    
    This extension is currently in draft; ANGLE will be the first implementation.
    
    BUG=angleproject:1553
    BUG=chromium:630498
    
    Change-Id: I795caa36f722a347cb7924990b60452d51b1e177
    Reviewed-on: https://chromium-review.googlesource.com/423435
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Kai Ninomiya <kainino@chromium.org>

commit 192745a74e88ca36b4dd8b4b9a984bdc379ec929
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Dec 22 15:58:21 2016 -0500

    Add varying packing validation for WebGL.
    
    This CL moves the varying packing from the D3D layer up to Program.
    This is necessary for WebGL validation, and gives us consistency
    for the various back-ends. There may be some additional cleanup work
    on the VaryingPacking class, because it does some work that is D3D-
    specific.
    
    WebGL requires strict varying packing. Instead of allowing success
    unconditionally, it's an explicit error to succeed to pack a set of
    varyings that the sample algorithm would fail to pack.
    
    Introduce a new packing mode option to the varying packing class to
    handle this different packing style, while keeping our old more
    relaxed packing method for ES code.
    
    BUG=angleproject:1675
    
    Change-Id: I674ae685ba573cc2ad7d9dfb7441efa8cb2d55fc
    Reviewed-on: https://chromium-review.googlesource.com/423254
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 4eee74de64495598cb315663c201370b9299e509
Author: Kai Ninomiya <kainino@chromium.org>
Date:   Thu Dec 22 14:48:55 2016 -0800

    Update GLES2/gl2ext.h to revision 33260 (2016-10-27)
    
    From https://www.khronos.org/registry/gles/api/GLES2/gl2ext.h
    
    BUG=angleproject:1553
    
    Change-Id: I3a0e5ee77de3db02eace63d40df7db040a739f88
    Reviewed-on: https://chromium-review.googlesource.com/423434
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 1da9193f3c86ff6c3f7edcdf5fdaddeb7d310459
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Dec 22 15:14:59 2016 -0500

    Disable the flaky expectation in TimerQueriesTest.TimeElapsed.
    
    BUG=676689
    
    Change-Id: I5cf6fe7573d69a52b1c33f70a78f081ee833d1b5
    Reviewed-on: https://chromium-review.googlesource.com/423388
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 506fc9c999a71913eec19f4ca57f7900d1503049
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Dec 21 16:53:33 2016 -0500

    Add test for WebGL compatibility restriction on GL_FIXED and max stride
    
    BUG=angleproject:1523
    
    Change-Id: If3ab8fa9d7e80f7abb2f4ac864a936e93dfd902c
    Reviewed-on: https://chromium-review.googlesource.com/422963
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 66a41a28d88a52078edb2fd22af736d54c89fc54
Author: He Yunchao <yunchao.he@intel.com>
Date:   Thu Dec 15 16:45:05 2016 +0800

    Generate errors when read buffers are missing in BlitFramebuffer.
    
    The corresponding gl_tests has been updated too.
    
    BUG=672719
    
    Change-Id: Ief37bc397f7aa065bf99d6ebad0a1b50b1917dac
    Reviewed-on: https://chromium-review.googlesource.com/420469
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 51f522f1b73cdcd753b8ca6553d220b280eda4af
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Dec 21 15:10:55 2016 -0500

    D3D11: Fix program binary crash with UBO bindings.
    
    This crash could occur when saving and loading a program with UBO
    bindings that was never used in a draw operation. The fix is to
    ensure the D3DLinkedUniforms are properly initialized before we
    save the program binary.
    
    BUG=angleproject:1637
    
    Change-Id: I9691e375d19dc628f34f351ae94b68bd0f2f76b8
    Reviewed-on: https://chromium-review.googlesource.com/422665
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 09b04a2ffc64133ed0b19070092afd2d07d2ae2b
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Dec 15 13:30:26 2016 +0000

    Add shader translator support for OVR_multiview
    
    The OVR_multiview and OVR_multiview2 extensions add gl_ViewID_OVR to
    shaders. gl_ViewID_OVR can be translated either as is in GLSL output
    or as a uniform by setting the SH_TRANSLATE_VIEWID_OVR_AS_UNIFORM
    compiler flag.
    
    If WebGL output is selected, the shaders will be validated according
    to proposed rules in the WEBGL_multiview spec.
    
    BUG=angleproject:1669
    TEST=angle_unittests
    
    Change-Id: I19ea3a6c8b4edb78be03f1a50a96bfef018870d0
    Reviewed-on: https://chromium-review.googlesource.com/422848
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit b58e9bace69fe3752ff6439f01ce6185e7f04e21
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Dec 15 14:07:56 2016 -0800

    ProgramD3D: optimize Transpose/ExpandMatrix
    
    BUG=angleproject:1390
    
    Change-Id: I7e8eb1f7924014bbde38269ef0fd0f7d65639083
    Reviewed-on: https://chromium-review.googlesource.com/420518
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit b1d0a255f11c0acec419d0afad9d58f034fa596c
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Dec 19 16:15:54 2016 -0500

    WebGL compatibility: add stencil mask and ref restriction
    
    BUG=angleproject:1523
    BUG=chromium:668223
    
    Change-Id: I0726769c938fdfd50af0fad1cef1746d4af2a589
    Reviewed-on: https://chromium-review.googlesource.com/422084
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit a4ab58044a501f70ec5159de868dbc8805a32bad
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Mon Dec 19 17:44:22 2016 -0500

    Remove libEGL dependency on libANGLE
    
    libEGL should use libGLESv2 for EGL implementation,
    to prevent libANGLE global variables being duplicated.
    
    BUG=angleproject:1660
    
    Change-Id: I84c1e22fcce8f4a21acfb1fcde0c84ebd77204f8
    Reviewed-on: https://chromium-review.googlesource.com/422574
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 2a19313f8464393480fdd0bfcdecd3e40a7b49e6
Author: Kenneth Russell <kbr@chromium.org>
Date:   Thu Dec 22 00:33:42 2016 +0000

    Revert "Supress failures for the 16.12.1 Windows AMD D3D11 driver."
    
    This reverts commit e2d0e41fa30879fbd0bf3f2688936dc0293fd79d.
    
    Reason for revert: The driver on these machines has been rolled back to the previous version, so these tests are expected to pass again.
    
    Original change's description:
    > Supress failures for the 16.12.1 Windows AMD D3D11 driver.
    >
    > BUG=676333
    >
    > Change-Id: I2c29b3dd4ee00bb68575371fe3b1320aad087575
    > Reviewed-on: https://chromium-review.googlesource.com/422479
    > Reviewed-by: Geoff Lang <geofflang@chromium.org>
    >
    
    TBR=geofflang@chromium.org
    BUG=676333
    NOPRESUBMIT=true
    NOTREECHECKS=true
    NOTRY=true
    
    Change-Id: Ia2952ef55002201dc8c34a4f45c2483bffbf6f43
    Reviewed-on: https://chromium-review.googlesource.com/423126
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit b8a580a3b2d66ebbf43c7c1c9be703d3af432e4b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Dec 21 14:14:20 2016 -0500

    Enable building angle_perftests on Linux.
    
    BUG=chromium:675997
    
    Change-Id: I3058892b80ccf61664d023419651fd4aa1dfec2a
    Reviewed-on: https://chromium-review.googlesource.com/423111
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 05ac622527441bff0169ac4251939d4ca4ea7d21
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Dec 21 14:32:08 2016 -0500

    Roll Vulkan validation layers.
    
    Includes a fix for Clang call cast conversion warning.
    
    BUG=chromium:676217
    
    Change-Id: I1b8bf8698714f4280aea52415ae5f96272a2219a
    Reviewed-on: https://chromium-review.googlesource.com/422440
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 495d0ac7f7f3342892b80da72ea9be92292ab095
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Dec 21 13:22:14 2016 -0500

    dEQP: Update documentation.
    
    BUG=None
    
    Change-Id: I07ebad06057671791c2e0524dc3af2da5f884582
    Reviewed-on: https://chromium-review.googlesource.com/422910
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit e2d0e41fa30879fbd0bf3f2688936dc0293fd79d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Dec 21 12:02:38 2016 -0500

    Supress failures for the 16.12.1 Windows AMD D3D11 driver.
    
    BUG=676333
    
    Change-Id: I2c29b3dd4ee00bb68575371fe3b1320aad087575
    Reviewed-on: https://chromium-review.googlesource.com/422479
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit e09bd5d32e873253756b8f85f813a3095df30a1e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 29 16:20:35 2016 -0500

    Vulkan: Add display creation, test and extension.
    
    With this CL we have the ability to create Vulkan test configs and run
    basic tests, although the only thing that works is creating a Vulkan
    Renderer using the extension.
    
    BUG=angleproject:1319
    
    Change-Id: I8ad17bba01241334be7da16e68fea38762ca6a20
    Reviewed-on: https://chromium-review.googlesource.com/367750
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 4596a76985b67b533b63882563580d139df9f1da
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Dec 20 14:50:18 2016 -0500

    FramebufferGL: fix a crash when there is no color buffer.
    
    BUG=chromium:675819
    
    Change-Id: I7d143ba51bb16f28b145aa2b0410929d29e0b464
    Reviewed-on: https://chromium-review.googlesource.com/422493
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit d90198385c2ec0429039558b3f2f6b968e5172f4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Dec 20 13:58:23 2016 -0500

    Fix cast warning in UniformsPerf.cpp.
    
    BUG=None
    
    Change-Id: I28af0d2be5ef545e78b8283d43d14078c0d1b62a
    Reviewed-on: https://chromium-review.googlesource.com/422491
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 0c7baf1bc659d3b4f47d1949cf9f962676d567c9
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Dec 19 15:43:10 2016 -0500

    Implement the WebGL VertexAttribPointer restrictions
    
    BUG=angleproject:1523
    BUG=chromium:668223
    
    Change-Id: Ic89c476a6c95824069772e22ede596ba85ac8859
    Reviewed-on: https://chromium-review.googlesource.com/422347
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 71168a07faaadc6896d8a634fd8862d8709a58c9
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Dec 19 15:11:18 2016 -0800

    Manually write overflow checks for glDraw*
    
    The usage of checked numerics showed has a big hotspot in ValidateDrawAttribs.
    BUG=angleproject:1671
    BUG=chromium:674143
    
    Change-Id: I96392e099b2257e465fb47e1c96f9aa1f54a89ba
    Reviewed-on: https://chromium-review.googlesource.com/422428
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 5cdbda17822ec9c6626d1610bdc64edf80e0e73b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Dec 20 11:41:56 2016 -0500

    UniformsPerf: Properly limit maximum uniform vectors.
    
    The uniforms check was not correctly validating vector count instead
    of uniform count. Fix this, and reduce the maximum maxtrix uniforms
    to fix a crash on the perf bots.
    
    BUG=angleproject:1385
    BUG=angleproject:1390
    BUG=angleproject:1671
    
    Change-Id: I261477c33639ed516ff6a29b38ab87f89309a7f1
    Reviewed-on: https://chromium-review.googlesource.com/422533
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 408293f8a4dfa129eb47df996cc6881cefb9c9c2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Dec 20 10:11:45 2016 -0500

    D3D11: Fix stale SRVs with tiny depth textures.
    
    When the tiny depth texture would get re-created on change, it was
    not freeing any cached SRVs which were pointing to the old tex.
    Fix this by erasing the cache entry if the texure is recreated.
    
    Also include a test which hooks into the workarounds to force
    testing on every platform.
    
    Also narrow the workaround to only apply to depth/stencil textures
    which use these mips in GL, rather than D3D, where we always create
    a full mip chain.
    
    BUG=angleproject:1664
    
    Change-Id: If0ac396b8847e1bf9b50165e5332da573e9bb3e4
    Reviewed-on: https://chromium-review.googlesource.com/421567
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 842f23f8ca70012ab31bed5edcfefb2e48d855f2
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Dec 19 22:37:36 2016 +0000

    Rename MalformedShaderTest to ShaderValidationTest
    
    Lots of these tests aren't actually testing malformed shaders, so the
    name was misleading. ShaderValidationTest reflects the content of the
    tests better.
    
    Some test classes that needlessly used different API spec versions are
    also merged.
    
    BUG=angleproject:1673
    TEST=angle_unittests
    
    Change-Id: Ib842af153a09d3887f9bb857709fd0cd29bcc9c4
    Reviewed-on: https://chromium-review.googlesource.com/422368
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 327ba857f643b4de5179173b2a09770d53d80464
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 30 12:38:28 2016 -0500

    Vulkan: Hook up loader code.
    
    This integrates the build files for the loader SDK, and tests the
    compilation by calling InitInstance. There's no current way to
    test the runtime behaviour since there's no way for the tests to
    initialize the Vulkan back-end, that will come in the next CL.
    
    BUG=angleproject:1319
    
    Change-Id: Ia8bf96ca068eaf40744c9753b59ffaaa5ada8a73
    Reviewed-on: https://chromium-review.googlesource.com/367519
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit f04709744dd7abd4c41371fa3bfcc375fb7030cf
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Dec 19 19:35:48 2016 -0500

    D3D: Ensure compiler is loaded in applyShaders.
    
    We're finding that D3Dcompile is being called with a null
    compiler handle. This means at some point we successfully linked
    a program, using a valid compiler handle, and likely we went
    through some traumatic event like a GPU device lost. This unloaded
    the compiler DLL and hence leads to a null deref.
    
    It's not clear how this is happening since a device lost should
    trigger a restart of the browser process in all cases with Chrome,
    but this should fix the NULL deref and lead to a user-visible
    program link error.
    
    BUG=chromium:671162
    
    Change-Id: Ibf85f19d4f099d2f00921c230ee0a52b46bfd8cf
    Reviewed-on: https://chromium-review.googlesource.com/422553
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 37ee8a6b02974dcc8a1cd1b4ccaa6f8beb05be48
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Dec 13 15:18:58 2016 -0500

    Vulkan: Add Vulkan DEPS.
    
    We will roll the DEPS through to Chromium first, so avoid the problem
    where DEPS rolls in ANGLE break the CQ (http://crbug.com/643346)
    
    We will follow up with build files after this CL makes it into Chrome.
    Likely we won't roll Vulkan DEPS until the above issue is fixed.
    
    BUG=angleproject:1319
    
    Change-Id: I4121143887a614667affe750185d1bc7b8474fa7
    Reviewed-on: https://chromium-review.googlesource.com/419720
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 72fc5547a776506ecaddb7122e1a049f1ee520a6
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Dec 19 19:53:29 2016 +0000

    Add a ShaderCompileTreeTest base class to use in compiler tests
    
    The test class provides facilities for parsing test shader source into
    an AST and determining compile status. Compilation flags change for
    some of the tests, but this should only have a minor effect on code
    coverage - mostly affecting non-core parts such as intermediate
    output.
    
    BUG=angleproject:1673
    TEST=angle_unittests
    
    Change-Id: I7d0900ef490e021272a27c4b0c938bfee02abf39
    Reviewed-on: https://chromium-review.googlesource.com/422367
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit fc5aef40cd0d02601de9660cda96f9b3a549f8f8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Dec 19 15:23:49 2016 -0500

    Add a matrix uniforms perf test.
    
    This test also adds a mode which controls if the uniform data changes
    frame-to-frame. Could be useful when we test removing redundant
    data checking.
    
    BUG=angleproject:1385
    BUG=angleproject:1390
    BUG=angleproject:1671
    
    Change-Id: I936702b83f3d7cd97918542b06ecc1372884b412
    Reviewed-on: https://chromium-review.googlesource.com/422348
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 675fe718fa75876712d6d41030ed6efd9b3e238c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Dec 19 13:07:54 2016 -0500

    Don't return Error from Context draw methods.
    
    The Error should be consumed in the Context call.
    
    BUG=angleproject:747
    
    Change-Id: I5daae602e8f6c7feed89573c6c9387c295ba9a32
    Reviewed-on: https://chromium-review.googlesource.com/421258
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 77ba408ab2a0f94cd2a29ae7ee939db3bdcf172b
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Dec 16 12:01:18 2016 +0000

    Unify Diagnostics interface
    
    Use the same kind of interface for reporting preprocessor errors as
    for reporting regular compiler errors, and make global errors like
    having too many uniforms also go through Diagnostics. Also don't
    create std::string objects unnecessarily.
    
    Includes cleanups of some dead code related to reporting errors.
    
    BUG=angleproject:1670
    TEST=angle_unittests
    
    Change-Id: I3ee794d32ddeec1826bdf1b76b558f35259f82c0
    Reviewed-on: https://chromium-review.googlesource.com/421527
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit a26c6b7ca90c4a3bc17f292f8b7aac3c06743a57
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Dec 15 11:27:50 2016 -0500

    Surface: Make the egl::Config part of SurfaceState.
    
    This will be accessible to the Impl, so they won't have to store a
    copy of the pointer.
    
    BUG=angleproject:1319
    
    Change-Id: I298a11a243d3d32f4c885273e55162e6862f3e16
    Reviewed-on: https://chromium-review.googlesource.com/419697
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 3c90ed6bee1d57c8014462a5487246b502d5a8c6
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Dec 16 16:19:28 2016 -0500

    Implement the WebGL restriction on reading from missing attachments
    
    BUG=angleproject:1523
    BUG=chromium:668223
    
    Change-Id: I2dffa3c92dd32e384d3b3109084420650ca7f795
    Reviewed-on: https://chromium-review.googlesource.com/421113
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 7b91d0c1098306920fe4cdabb4de1b0645c633e3
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Dec 16 14:46:26 2016 -0500

    OpenGL: implement GL_ANGLE_translated_shader_source
    
    BUG=chromium:668223
    
    Change-Id: I2068370f3e6963f297d0cb6545c40abf84d543ce
    Reviewed-on: https://chromium-review.googlesource.com/421092
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit a8ccb95b2ef7e683614e4fc0a7c7c589cb3f2780
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Dec 16 15:12:57 2016 -0500

    FormatString: avoid an UB when we need to grow the buffer
    
    A va_list is undefined after it has been used by vsnprtinf. This was
    causing crashes in the GL backend when the driver was returning big
    info logs.
    
    BUG=chromium:668223
    
    Change-Id: I444194ecce2846960c8a27f20f322f7099c651e5
    Reviewed-on: https://chromium-review.googlesource.com/421271
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 95401dbb74ed1b30916404d0e6af74002a76b68f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Dec 15 11:27:48 2016 -0500

    Surface: Pass DisplayImpl to initialize and swap.
    
    In new back-ends (Vulkan) this will allow us to avoid storing a ref
    to the Renderer in the Surface class.
    
    BUG=angleproject:1319
    
    Change-Id: I3b3f50893070d2993e4e91dd82ee539a083b3727
    Reviewed-on: https://chromium-review.googlesource.com/419837
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 57e6d50e47057577e953970166292d52c24c3bed
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Dec 9 14:46:39 2016 -0500

    FramebufferAttachment: make attach(nullptr) work like detach
    
    Otherwise when trying to use a DEPTH texture for DEPTH_STENCIL,
    attach(nullptr) gets called but the FramebufferAttachment still returns
    true when isAttached is called.
    
    BUG=angleproject:1523
    
    Change-Id: I30b78aff619eb6cd63e0befac886bddc177a2e58
    Reviewed-on: https://chromium-review.googlesource.com/418403
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 4de340acf38bc7eaa23a2403c8676f0493e56fe9
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Dec 16 09:32:03 2016 +0000

    Remove extraInfo parameter from compiler diagnostic functions
    
    This makes error messages more consistent. It was not clear what was
    supposed to go to the extraInfo parameter, and previously it was
    mostly being misused, resulting in poorly formatted error messages.
    Sometimes the order of parameters to the diagnostic functions like
    error() and warning() was wrong altogether. The diagnostics API is
    simpler when there's only the "reason" and "token" parameters that
    have clear meaning and that are separated by consistent punctuation
    in the output.
    
    Fixes error messages like
    
    "redifinition interface block member"
    
    to be grammatically reasonable like the rest of the error messages. For
    other error messages, punctuation is added to make them clearer. Example:
    
    "invalid layout qualifier location requires an argument"
    
    is changed to
    
    "invalid layout qualifier: location requires an argument".
    
    Extra spaces are also removed from the beginning of error messages.
    
    BUG=angleproject:1670
    BUG=angleproject:911
    TEST=angle_unittests
    
    Change-Id: Id5fb1a1f2892fad2b796aaef47ffb07e9d79759c
    Reviewed-on: https://chromium-review.googlesource.com/420789
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 08a617ad70f836a329e80e7a3b3a12faf8a94519
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Dec 15 13:49:36 2016 -0800

    Remove redundant call to TextureD3D::getNativeStorage.
    
    BUG=angleproject:1671
    Change-Id: I4b13113b41e6d429f771d7a405fd62ef61064c6c
    Reviewed-on: https://chromium-review.googlesource.com/420853
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 7351c2a59f8c83aeb385895462167c09bea4fb89
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Dec 15 18:06:41 2016 +0000

    Clean up GLSL switch statement validation
    
    Encapsulate all of the implementation inside the .cpp file, and pass
    just the diagnostics object instead of the whole ParseContext to the
    validation function.
    
    BUG=angleproject:1670
    TEST=angle_unittests
    
    Change-Id: I89713b63e554dbedaa12b2270208f1fac496c54e
    Reviewed-on: https://chromium-review.googlesource.com/420788
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 439a55e55038b357d76f306cfa2e034e3b93fe5e
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Thu Dec 15 13:12:26 2016 -0800

    Fix ability to recover EGL Display after D3D11 device lost
    
    BUG=angleproject:1463
    
    Change-Id: I9f3e1190cc42e0cb37d80b94c35b61e88203dd32
    Reviewed-on: https://chromium-review.googlesource.com/420475
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 78f40a37ab67592566a442a46ea1f1b032347441
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Thu Dec 15 13:08:23 2016 -0800

    Fix memory leaks in WinRT InspectableNativeWindow
    
    Change-Id: If88ac23ef5dbb67176bcc4b111100a0126269d08
    Reviewed-on: https://chromium-review.googlesource.com/420474
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit da6254bf786fe0954d806ba6a6e108244158b183
Author: Martin Radev <martin.b.radev@gmail.com>
Date:   Wed Dec 14 17:00:36 2016 +0200

    Keep track of shader built-in declarations separately per ESSL version
    
    The patch decouples the list of unmangled built-ins' names into levels
    based on the ESSL version they are from. This is required
    because ESSL31 and above built-ins' names should not conflict with
    user-declared functions in ESSL3 shaders.
    
    BUG=angleproject:1666
    TEST=angle_unittest
    
    Change-Id: I731918a058629c7b6d9d15eb7eac19ce47280315
    Reviewed-on: https://chromium-review.googlesource.com/420324
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit ce6bbfc84e32caebf5c4500a8551da5579c44d4d
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Tue Dec 13 17:32:56 2016 -0500

    Add instructions for working with ANGLE for Android
    
    How to build and run tests
    
    BUG=angleproject:1607
    
    Change-Id: I6d5c341c32a37535d59e8dae508173b5ab6664d6
    Reviewed-on: https://chromium-review.googlesource.com/419798
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 4336798ed8d1bfac3576928f02784c0640c1dc21
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Dec 14 16:48:12 2016 -0500

    Fix UBO binding workaround bug ID.
    
    BUG=angleproject:1637
    
    Change-Id: I411252fa719f79c26795522ea5f1504ef460c6c0
    Reviewed-on: https://chromium-review.googlesource.com/420306
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 081b6e2b5ab3310b86de2944dbe4fd5b25a704e0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Dec 14 10:53:20 2016 -0500

    Extend UBO binding workaround to Android.
    
    This seems to fail on the Nexus 6P, and possibly 5X. Does not
    seem to affect some other devices.
    
    BUG=angleproject:1660
    
    Change-Id: I1d456b2033fb6b2a664ac24ea0a3f7ff160922ab
    Reviewed-on: https://chromium-review.googlesource.com/419856
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit d9671226c7ddc129173d0558ae8862352fb5a277
Author: Jiajia Qin <jiajia.qin@intel.com>
Date:   Tue Nov 29 16:30:31 2016 +0800

    Implement ES3.1 glDraw*Indirect entry points for OpenGL
    
    BUG=angleproject:1595
    TEST=dEQP-GLES31.functional.draw_indirect.*
    
    Change-Id: I82f5d0864e70d6e7abdccf5f10330ddfa099ec62
    Reviewed-on: https://chromium-review.googlesource.com/417250
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 89c21ea8bbfcc2051b656dbf0acda4cdbec8c2ef
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Dec 13 17:03:43 2016 -0500

    InstancingTest: fix a stack overflow.
    
    BUG=angleproject:1661
    
    Change-Id: Iac7af4aed2782ab839922281d29f1a9861a334e3
    Reviewed-on: https://chromium-review.googlesource.com/419758
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit a7d12dc7f57a541e4df90a5d268910d0e0a8d906
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Dec 13 15:08:19 2016 -0500

    Store uniform block bindings in program binaries.
    
    This affects all back-ends - we weren't saving this. Note that
    bindings can only be set after program linking. The spec is fairly
    clear in that any programs saved must be loadable and runnable under
    the same set of state, which would include block bindings.
    
    Also add validation for zero binary formats in GetProgramBinary.
    
    Also add a workaround for AMD where the block bindings were not
    applied properly after link, similarly to our original bug.
    
    This CL also includes a few fixups for GLProgram (raii).
    
    BUG=angleproject:1637
    
    Change-Id: Iae068eb4e1e4c763aa9f9332c033e38708026c8f
    Reviewed-on: https://chromium-review.googlesource.com/418393
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit e1faacb11060326eb8f1ed34fa91246c9c9ff237
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Dec 13 12:42:14 2016 -0500

    Don't use logging macros in end2end_tests.
    
    Macros like ASSERT and UNREACHABLE call gl::trace, which at some
    point we might want to use to call the angle Platform logging code.
    Standalone tests won't easily have access to the platform, so for
    now just log errors in other ways.
    
    This also corrects some logic in GLSLTest which was calling
    internal methods in libANGLE when it didn't have to.
    
    BUG=angleproject:1660
    
    Change-Id: Idecbd97f2de7916b35bd78f5b7cd02b156ea100d
    Reviewed-on: https://chromium-review.googlesource.com/419134
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit bd0c08e2f536d0ebd1ebc64961b301513b3690bb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Dec 13 12:38:56 2016 -0500

    Use proper export label for RequestExtension.
    
    These should be using ANGLE_EXPORT, not GL_APICALL.
    
    BUG=angleproject:1523
    
    Change-Id: Ic262656c634209c14ac1e13203f8125c0c65cee5
    Reviewed-on: https://chromium-review.googlesource.com/419133
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit bf4e1b7312c0abade0914a635a4b97e5cf78e3f0
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Dec 9 11:30:15 2016 +0000

    Split TIntermInvariantDeclaration from TIntermAggregate
    
    This change is pure refactoring and doesn't fix bugs related to
    invariant declarations. Invariant declarations are supposed to accept
    a list of identifiers, but this refactoring keeps the current behavior
    of only accepting a single identifier in an invariant declaration.
    When the bug will be fixed, the new TIntermInvariantDeclaration class
    that now has only a single child node can be changed so that it may
    have multiple children.
    
    TIntermAggregate is still used for function calls, function
    prototypes and function parameter lists.
    
    BUG=angleproject:1490
    TEST=angle_unittests
    
    Change-Id: I3e22092c87e1c06445fd7e123d9922c2fcb59428
    Reviewed-on: https://chromium-review.googlesource.com/419415
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit da9fb093e04c45dc4d0c41e682748e396d3710e7
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Dec 9 17:32:29 2016 +0000

    Work around atan(y, x) bug on NVIDIA
    
    atan(y, x) is not always returning expected results on NVIDIA OpenGL
    drivers between versions 367 and 375. Work around this by emulating
    atan(y, x) using the regular atan(x) function. A fix to the driver is
    expected in a future release.
    
    It is most convenient to implement the vector atan(y, x) functions by
    using the scalar atan(y, x) function. Support for simple dependencies
    between emulated functions is added to BuiltInFunctionEmulator. In the
    current implementation one function is allowed to have at most one
    other function as its dependency.
    
    BUG=chromium:672380
    TEST=angle_end2end_tests
    
    Change-Id: I9eba8b0b7979c7c7eaed353b264932e41830beb1
    Reviewed-on: https://chromium-review.googlesource.com/419016
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit b8b0122feb3a24629d07be33f38615891edeb3d1
Author: Martin Radev <martin.b.radev@gmail.com>
Date:   Sun Nov 20 23:25:53 2016 +0200

    Add compiler support for shared memory
    
    The patch adds handling of the 'shared' qualifier in the shader
    compiler.
    
    BUG=angleproject:1442
    
    TEST=angle_unittests
    
    Change-Id: Iaa288026af0faf2a30e40495faa6ea1f5ff02323
    Reviewed-on: https://chromium-review.googlesource.com/413200
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit c31b7411af0b804650744dba97de7d86e1a959f2
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Thu Dec 8 21:57:19 2016 -0500

    Fix typos in docs.
    
    BUG=None
    
    Change-Id: Ib201d91c586717b3027996b379240619173d828d
    Reviewed-on: https://chromium-review.googlesource.com/418337
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit f832c9dd857da9c3ba7512e3e5c12b1501102b56
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Dec 12 17:38:48 2016 -0500

    Fix style in the preprocessor.
    
    Again using git cl format.
    
    BUG=angleproject:650
    
    Change-Id: I8898d00bfc6a50db50bffd2cc30c3eda7c08c6c2
    Reviewed-on: https://chromium-review.googlesource.com/419097
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit d7b1ab5893953b97fe5dc1b3087a9b4b50ec45ee
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Dec 12 14:42:19 2016 -0500

    Fix up translator style.
    
    Using git cl format.
    
    BUG=angleproject:650
    
    Change-Id: I7d3f98d2b0dcfb0a8de6c35327db74e55c28d761
    Reviewed-on: https://chromium-review.googlesource.com/419059
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit cc507aa0efca2cae35ddc257092e5ceacb7570c9
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Dec 12 10:09:52 2016 -0500

    Make the NPOT extension requestable. Fix NPOT validation in CopyTexImage.
    
    BUG=angleproject:1523
    BUG=668223
    TEST=conformance/more/functions/copyTexImage2DBadArgs.html
    
    Change-Id: I5fbf4f99fa941c356ecb57d67dd47a33741ce189
    Reviewed-on: https://chromium-review.googlesource.com/418944
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 36fd100d480e51c742ed7cf95f82876b016c998d
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Dec 8 11:30:44 2016 -0500

    GLSLTest: test interaction of declaration splitting with other passes
    
    In TranslatorHLSL a number of AST simplifications are done, that must
    happen in a precise order for things to be correct:
     - First for-loops must be split
     - Then multideclarations must be split
     - Finally comma operators must be split
    
    This adds tests for interaction between this passes to make sure they
    are done in the right order.
    
    BUG=668028
    
    Change-Id: I306915b51011bb5467d117352becfd60cbe77be4
    Reviewed-on: https://chromium-review.googlesource.com/417989
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>

commit 327411e88a2ee033b3615e16bd22475328bc8dc2
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Dec 9 11:09:17 2016 -0500

    WebGL_compatibility: disallow client-side arrays
    
    BUG=angleproject:1523
    
    Change-Id: Icd207b2d94c1375c6f3189af42d55eac52b99603
    Reviewed-on: https://chromium-review.googlesource.com/418398
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit a2c74985681222c4f28a88292fb131af6dd639ad
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Dec 12 11:20:42 2016 -0500

    Don't load binaries across client versions.
    
    BUG=angleproject:523
    
    Change-Id: Id54033dce15f01a0f2891533172acd8b99896e12
    Reviewed-on: https://chromium-review.googlesource.com/418240
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 92db69472bad2344d99b93a470053d73eb13d062
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Dec 9 13:10:36 2016 -0500

    Tighten the validation for staying in array buffer bounds
    
    BUG=angleproject:1523
    
    Change-Id: I685a9b884e5de73b94900c5b6016ce914b9bfe7f
    Reviewed-on: https://chromium-review.googlesource.com/418458
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit f52fe93dcadfdeec6b1e7792ed64a167af748322
Author: Qiankun Miao <qiankun.miao@intel.com>
Date:   Wed Dec 7 13:39:15 2016 +0800

    Work around unary minus operator float issue on Intel Mac 10.11
    
    Result of -float is wrong on Intel Mac 10.11 drivers. Replace -float
    with 0.0 - float to work around this issue.
    
    BUG=308366
    BUG=672380
    
    Change-Id: I53bc2eda7259fff5805bec39896fc7b7a6eaf665
    Reviewed-on: https://chromium-review.googlesource.com/417169
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit d0239396b81d1feb29ea6cd51a821b22a0eb08d2
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Mon Oct 31 20:01:54 2016 -0400

    Fix angle_deqp_egl_tests compilation on Android
    
    BUG=angleproject:1657
    
    Change-Id: I5afb28485bd5ca7bdf7015f5fdcaa84ec3c02b95
    Reviewed-on: https://chromium-review.googlesource.com/418710
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit da2f78f9caf4e4f6ee9d3c5765a81d7ea05b7ffe
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Sat Dec 10 19:25:18 2016 -0500

    Fix compilation after dEQP roll
    
    BUG=chromium:671021
    
    Change-Id: Iee0e7b1b146b53c6324da8e51d70de42487092b5
    Reviewed-on: https://chromium-review.googlesource.com/418510
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit e735511d47d85f983da61284f8134fa324d6d1b7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Dec 9 15:55:29 2016 -0500

    Roll dEQP.
    
    Several months of updates. Does not change the build files - will
    mean the GPU.FYI bots temporarily break, and possibly there's some
    flakiness on the ANGLE trybots and Optional GPU bots until the
    correct suppression set is instated.
    
    BUG=chromium:671021
    
    Change-Id: I207be11ed37a9173f53a06554880be6ebcaee5fa
    Reviewed-on: https://chromium-review.googlesource.com/418405
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit aecfa8e694bdbf78e6b79b3f7edd5b572047a7e7
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Dec 9 12:47:26 2016 +0000

    Constant fold compute shader local work group size
    
    gl_WorkGroupSize should be written into the AST as a constant node
    instead of a symbol node. In correct shaders, local size is guaranteed
    to have been declared before any references to gl_WorkGroupSize -
    otherwise the shader translator was already generating an error.
    
    This ensures that work group size can be used to size arrays as
    specified and also works around a crash issue on NVIDIA Linux OpenGL
    driver.
    
    BUG=angleproject:1442
    TEST=angle_unittests
    
    Change-Id: I9b1a4bff16ecf2c3db1511c3702756346cdd2f6b
    Reviewed-on: https://chromium-review.googlesource.com/418735
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 023c2b19407d6c8dbcc0df00dadfeca0354f1834
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Dec 9 11:47:29 2016 -0500

    dEQP-GLES3: Suppress two failing Win/AMD tests.
    
    Might be flaky, more suppressions might be needed.
    
    BUG=angleproject:1633
    
    Change-Id: Ic5665aadb7cbbae82639d206f29a2db859622451
    Reviewed-on: https://chromium-review.googlesource.com/418399
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 8c04d077f3bfcda26aab40c5b6a6baeb3b2f5d05
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Dec 9 15:30:48 2016 +0000

    Make minimum GLSL version for compute shaders GLSL 430
    
    Compute shaders were added to the core OpenGL spec in version 4.3.
    
    Also don't output GL_ARB_explicit_attrib_location extension directive
    for compute shaders. This extension is only relevant for vertex and
    fragment shaders.
    
    BUG=angleproject:1442
    TEST=angle_end2end_tests
    
    Change-Id: I92021ac048b38ffbc5a61af408b37c387193389b
    Reviewed-on: https://chromium-review.googlesource.com/418657
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 56a2f95f5cf8135e91e02c4036207cdcdecd2119
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Dec 8 12:16:27 2016 +0000

    Output infinity and NaN literals correctly in shaders
    
    Previously infinity and NaN resulting from constant folding would be
    clamped to finite 32-bit float range when they were written in shader
    output. Now they are written as a bit pattern in case the shader
    version allows it.
    
    This does not guarantee that NaNs work, but this is fine, since ESSL
    3.00.6 spec has very loose requirements when it comes to NaNs.
    
    BUG=angleproject:1654
    TEST=angle_end2end_tests
    
    Change-Id: I9997000beeaa8ed22523c22d5cf6929cdfc93f60
    Reviewed-on: https://chromium-review.googlesource.com/417301
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 2ad1c4905e80502362a53844278936dd0bb25704
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Dec 7 14:46:18 2016 -0500

    D3D: Fix overflow in varying packing.
    
    Also add a more robust set of unit tests for this internal class.
    Because the GL spec allows for succeess when packing any set of
    varyings, it's impossible to write negative end to end tests. This CL
    also rewrites our disabled varying packing GLSL tests as unit tests.
    
    BUG=angleproject:1296
    BUG=angleproject:1638
    
    Change-Id: I78153742517d5c72ddb13ff59dc44ddc4af42fc2
    Reviewed-on: https://chromium-review.googlesource.com/415555
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 120040e2392e70cf34610459463733ba214979a9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Dec 7 14:46:16 2016 -0500

    D3D: Move some HLSL-specific code to a new folder.
    
    This code doesn't actually call any D3D runtime methods, so it can be
    included in our cross platform unit tests. Just include the varying
    packing code for now.
    
    BUG=angleproject:1296
    BUG=angleproject:1638
    
    Change-Id: I5c0ccccb00e1c13ca98448256be048f7cd0968ce
    Reviewed-on: https://chromium-review.googlesource.com/417116
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit dceacf5b124229447b50d578b78dd389b60f69a2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Dec 8 11:29:35 2016 -0500

    dEQP: Update multiple test expectations.
    
    Many tests were removed from mustpass at some point, and a couple
    were expected to fail but passing. Also update some of the global
    skip settings to use DEBUG RELEASE as a catch-all.
    
    BUG=angleproject:989
    BUG=angleproject:998
    BUG=angleproject:1017
    BUG=angleproject:1018
    BUG=angleproject:1019
    BUG=angleproject:1020
    BUG=angleproject:1025
    BUG=angleproject:1027
    BUG=angleproject:1028
    BUG=angleproject:1033
    BUG=angleproject:1034
    BUG=angleproject:1051
    BUG=angleproject:1108
    BUG=angleproject:1143
    BUG=angleproject:1335
    BUG=angleproject:1418
    BUG=angleproject:1655
    BUG=angleproject:1656
    
    Change-Id: I731d3adeed36509ce69f72e5fcc80d0adc89cb67
    Reviewed-on: https://chromium-review.googlesource.com/418063
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 1212bcacb32c0f34be737a88377defbc02096b04
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Nov 23 13:44:05 2016 -0500

    translator: separate declarations after rewriting loops
    
    Otherwise when trying to add the declarations back, things might fail
    because the loop initialization is a sequence and not a block.
    
    BUG=668028
    
    Change-Id: I8d84a25c25765e9655c16ce56604ae08f0f8176c
    Reviewed-on: https://chromium-review.googlesource.com/414305
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>

commit 00cf8940b0783bf3a81dee75ce139ef9c7f3518e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Dec 7 17:26:57 2016 -0500

    dEQP-GLES2: Update test expectations.
    
    Many test expectations listed were not in the mustpass list, so
    weren't even necessary.
    
    BUG=angleproject:989
    BUG=angleproject:1015
    BUG=angleproject:1016
    BUG=angleproject:1020
    BUG=angleproject:1025
    BUG=angleproject:1027
    BUG=angleproject:1029
    BUG=angleproject:1030
    BUG=angleproject:1128
    
    Change-Id: Ia18796cb3388e8528b4351cb2c81ff9793a1d250
    Reviewed-on: https://chromium-review.googlesource.com/417413
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 9d7d0b1437772c8424baccaa8eb8c5db1f2ca846
Author: Jiajia Qin <jiajia.qin@intel.com>
Date:   Tue Nov 29 16:30:31 2016 +0800

    Add support for GL_DRAW_INDIRECT_BUFFER_BINDING binding point
    
    BUG=angleproject:1595
    TEST=dEQP-GLES31.functional.state_query.integer.draw_indirect_buffer_binding*
    
    Change-Id: Ib8f712fdf10411ef0b7b63742d17c3caca99137b
    Reviewed-on: https://chromium-review.googlesource.com/416193
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 47c4808023acf2f821df344271e532478b1ee1aa
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Dec 7 15:38:13 2016 -0500

    Validate that line width is not NaN.
    
    BUG=668223
    
    Change-Id: I2f38b358dd4a6b9327562704dacce37f2b16acaa
    Reviewed-on: https://chromium-review.googlesource.com/417192
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 2d73665d48185022fe7ab8218974e5ef3c9e8f2a
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Nov 30 10:37:49 2016 +0000

    Handle constant folding arithmetic involving infinity
    
    Constant folding arithmetic operations that involve infinity are now
    handled correctly in the cases where the result is infinity or zero.
    The implementation mostly relies on C++ to implement IEEE float
    arithmetic correctly so that unnecessary overhead is avoided.
    
    Constant folding arithmetic operations that result in overflow now
    issue a warning but result in infinity. This is not mandated by the
    spec but is a reasonable choice since it is the behavior of the
    default IEEE rounding mode.
    
    Constant folding arithmetic operations that result in NaN in IEEE will
    generate a warning but the NaN is kept. This is also not mandated by
    the spec, but is among the allowed behaviors.
    
    There's no special handling for ESSL 1.00. ESSL 1.00 doesn't really
    have the concept of NaN, but since it is not feasible to control
    generating NaNs at shader run time either way, it should not be a big
    issue if constant folding may generate them as well.
    
    TEST=angle_unittests
    BUG=chromium:661857
    
    Change-Id: I06116c6fdd02f224939d4a651e4e62f2fd4c98a8
    Reviewed-on: https://chromium-review.googlesource.com/414911
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit b5e997fbe7d9d4f337dbc738618e70e79dfe3726
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Dec 6 10:55:34 2016 -0500

    Update ES 3.1 expectations from SKIP to FAIL.
    
    Change "DEBUG RELEASE" modifier to "OPENGL D3D11" to be more specific.
    
    Add D3D11 expectations.
    
    BUG=angleproject:1442
    
    Change-Id: If3a9704e7f16cc473fd6ea410d10eb01ae1a8008
    Reviewed-on: https://chromium-review.googlesource.com/416960
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 729a9c974499e5cd9606bbeced50f14a42534e99
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Dec 5 14:22:47 2016 -0500

    Don't require GL_ARB_gpu_shader5 in order to support ES 3.0.
    
    ES 3.0 doesn't require non-constant sampler array indexing, and we
    can't require it for ES 2 without breaking WebGL for some users.
    
    BUG=671280
    
    Change-Id: Ib04446284acc92410a90c683a3d222871de554a8
    Reviewed-on: https://chromium-review.googlesource.com/416195
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit a20fc00564914d0be01693f87e89b997407c310b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Aug 8 15:19:56 2016 -0400

    Implement GL_CHROMIUM_sync_query for GL.
    
    BUG=angleproject:1366
    
    Change-Id: I9e44679754eb704b390191c28206dedc3dc7cc4f
    Reviewed-on: https://chromium-review.googlesource.com/367082
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 9f09037b073a7481bc5d94984a26b7c9d3427b16
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Dec 2 10:20:43 2016 -0500

    Change dEQP ES 3.1 expectations from FAIL to SKIP.
    
    UNIMPLEMENTED debug spam was causing the tests time time out.  We can mark them
    as FAIL again once the dEQP test setup/tear down code doesn't emmit so many
    messages.
    
    Implement a couple validation cases for ES 3.1 to greatly reduce the spam.
    
    BUG=angleproject:1647
    BUG=angleproject:1442
    
    Change-Id: Ie7b4ac8737a2df1c0ada6ad53154ddf2f37d9c3c
    Reviewed-on: https://chromium-review.googlesource.com/415520
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 922cbfcb8e824395baa43dca872628298296ab47
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Nov 25 16:23:18 2016 -0500

    common: Add a vector arithmetic helper classes
    
    Change-Id: I2f96baedf10d346eaa150bab04f8f6ca3ba573b9
    Reviewed-on: https://chromium-review.googlesource.com/414272
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit f2a6aecfe6cc3691f7c24b13d26eaff44aa89703
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Dec 1 19:48:25 2016 -0500

    Suppress flaky TransformFeedbackTest.MultiContext on Intel OSX.
    
    BUG=angleproject:1645
    
    Change-Id: If35d277705ce9f2882d9ba059bd56e494ca9d123
    Reviewed-on: https://chromium-review.googlesource.com/415613
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit cfb853583ce63ccd9fc6ba909124c224bf860345
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Dec 1 12:39:31 2016 -0500

    Suppress flaky test on Intel D3D Windows.
    
    PointSpritesTest.PointWithoutAttributesCompliance:
    
    https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Debug%20%28New%20Intel%29/builds/1741
    
    Showing as failed now that flaky tests are not retried.
    
    BUG=angleproject:1346
    
    Change-Id: Ic0fce361f37394da8771fa82288b0a9206d3a347
    Reviewed-on: https://chromium-review.googlesource.com/415448
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 0742c8c944cb6dd5587c57f58657bf54a6a70738
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Dec 1 11:18:22 2016 -0500

    Pass the --deqp-egl-display-type= flag to dEQP tests.
    
    BUG=angleproject:1442
    
    Change-Id: I49299d2345f67b7ed3e2c80db0ec85589fc7583c
    Reviewed-on: https://chromium-review.googlesource.com/415526
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 5e2e145d4259a3870e84a34d9da2e95549fbd4af
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Dec 1 12:50:11 2016 -0500

    Update bison/flex docs.
    
    BUG=None
    
    Change-Id: Id4b9674b6e98b8313c47f3fbc78cc93d137ec14c
    Reviewed-on: https://chromium-review.googlesource.com/415569
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c339c4e5901d3c4ac38024c31464df8a7fbaa91a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Nov 29 10:37:36 2016 -0500

    Split WebGL compatibility into two extensions.
    
    The mechanism for requesting extensions is now a separate extension.
    Added a way to query the extensions that support enabling.
    
    BUG=angleproject:1523
    
    Change-Id: I2efaa9f6d67b12ecae325f455404e34ba04d0e7c
    Reviewed-on: https://chromium-review.googlesource.com/414529
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 2ec65dc89414a295e0ec36036b8dd62f5654dfe1
Author: Antoine Labour <piman@chromium.org>
Date:   Wed Nov 30 16:28:58 2016 -0800

    Handle GL_READ_BUFFER being GL_NONE in getReadAttachment()
    
    Change-Id: If3883de8f49a3fb33ecc598ba0b86c658cd3f0ca
    Reviewed-on: https://chromium-review.googlesource.com/415565
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 47c0e048365412f0463f1517fcc75fcc9371c9fd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 30 13:44:45 2016 -0500

    Use ComPtr references for D3D objects.
    
    This is an work-in-progress CL to prototype using ComPtr.
    
    It also has a new design for internal errors that doesn't use
    FormatString, preferring a stream-based approach.
    
    One thing to be aware of is that the address operator does not
    behave as expected with ComPtr - we should use ::AddressOf.
    
    BUG=angleproject:530
    BUG=angleproject:1644
    
    Change-Id: If5643e9e5726fd9aa5cbd422fca12ae169eb5b1f
    Reviewed-on: https://chromium-review.googlesource.com/415027
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 08d4aa9381d625057ada81de5ac7949fa128c9f4
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Nov 23 16:15:49 2016 +0000

    Refactor constant folding tests
    
    The constant folding test classes are moved into a separate file in
    test_utils. This will enable adding multiple test files that use
    constant folding test classes, so that constant folding tests can be
    organized better.
    
    TEST=angle_unittests
    BUG=chromium:661857
    
    Change-Id: I00bf25a4b941bdc1364ff5aa9bee2d571e4b0ea0
    Reviewed-on: https://chromium-review.googlesource.com/414910
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit ced53ae26c312ac7f38536bf44353bad5794bd62
Author: He Yunchao <yunchao.he@intel.com>
Date:   Tue Nov 29 15:00:51 2016 +0800

    Fix the coding style issue for validation code
    
    Change-Id: I63aa1c1b3bbc52b0b522e4a703e6d20574eb21ad
    Reviewed-on: https://chromium-review.googlesource.com/414588
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit e157e5a931b1f3ff754d424620fe75579212a722
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Nov 29 13:55:56 2016 -0500

    Fix missing virtual destructor warning on OSX standalone
    
    BUG=angleproject:422
    
    Change-Id: I1a1c4551f2fc55b74afd66e7f18ea61e77250eb6
    Reviewed-on: https://chromium-review.googlesource.com/414634
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit ee9f08c04e7ca9ca050c0b99ac13f7583557b49d
Author: Jiajia Qin <jiajia.qin@intel.com>
Date:   Wed Nov 16 10:06:10 2016 +0800

    Implement ES3.1 glProgramUniform* entry points
    
    BUG=angleproject:1589
    TEST=dEQP-GLES31.functional.program_uniform.*
    
    Change-Id: I27fffa755fd277ed918746259cac88ab9e349c41
    Reviewed-on: https://chromium-review.googlesource.com/412193
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 51f75c5d0dab8147c172adb923d2e9f53f79c8ed
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Nov 28 18:35:50 2016 -0500

    Suppress flaky Win/AMD/GL end2end tests.
    
    These tests became flaky when google test retries are turned off.
    
    BUG=chromium:669196
    BUG=angleproject:1643
    BUG=angleproject:1541
    
    Change-Id: I7cc10f532662928e5436a4e88a42fc109c00bfe8
    Reviewed-on: https://chromium-review.googlesource.com/414216
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 01074255c6425b433cd8278f40b527add27011e4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Nov 28 15:55:51 2016 -0500

    D3D: Implement multi-thread shader compilation.
    
    Choose to use std::async for now to implement multi-threaded compiles.
    This should work across platforms and also be usable for other
    threading tasks. Note that std::async does not have a good way to
    wait for multiple std::futures. Also the Linux compile of std::async
    is broken due to a bug in an old STL version, so disable it on this
    platform.
    
    The implementation uses a static polymorphism approach, which should
    have very good performance (no virtual calls).
    
    This design leaves the door open for other future implementations,
    such as a Win32 thread pool, or one based on angle::Platform.
    
    BUG=angleproject:422
    
    Change-Id: Ia2f13c3af0339efaca1d19b40b3e08ecca61b8e8
    Reviewed-on: https://chromium-review.googlesource.com/413712
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 57ce9ea23e54e7beb0526502bdf9094d1ddfde68
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Nov 24 12:03:14 2016 -0500

    Implement EXT_discard_framebuffer for the GL backend.
    
    BUG=angleproject:1634
    
    Change-Id: I3822b99b59d4653e4d9a2c1d3dd16734f2050fae
    Reviewed-on: https://chromium-review.googlesource.com/414437
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit fb02830d8f4a42894321c7bd1052acd0cfdae243
Author: Xinghua Cao <xinghua.cao@intel.com>
Date:   Mon Nov 28 18:21:57 2016 +0800

    The return type of imageSize(gimageCube) is int2, not int3
    
    BUG=angleproject:1442
    
    Change-Id: I18bee163e7c7ce159cd23d6136486c49b7d9ec94
    Reviewed-on: https://chromium-review.googlesource.com/414950
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit c03127219df939c0e0731f970ad5c4e38992a68d
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Thu Nov 24 14:53:11 2016 +0800

    Add ES 3.1 version and enum to support dEQP ES 3.1 tests on Win
    
    Change supported ES version to 3.1 on win.
    
    Without GL_TEXTURE_2D_MULTISAMPLE enum, it will reach UNREACHABLE()
    when running dEQP ES 3.1 tests on Win.
    
    BUG=angleproject:1442
    
    Change-Id: I55114854c4e9cba1caac10d3da5b416ef66a0d3e
    Reviewed-on: https://chromium-review.googlesource.com/414606
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit f1a2aefcd8709340d9fde572e2e516fcda928961
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Nov 25 11:03:56 2016 +0000

    Test shader built-in corner cases in constant folding tests
    
    IEEE rules for generating zero or infinity are now checked for the
    constant folding of several built-in functions except for the cases
    where ESSL 3.00.6 explicitly states that the results are undefined.
    
    BUG=chromium:661857
    TEST=angle_unittests
    
    Change-Id: I2ce427229a5583039694d060ea6db29c5bdace97
    Reviewed-on: https://chromium-review.googlesource.com/414370
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit e018e98ca2e15b8db7a0488511d1b05fb4b8925b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 24 17:25:39 2016 -0500

    Add test for large UBO readback.
    
    BUG=chromium:660670
    
    Change-Id: I51c7e93f071041663f6b9a39ee75c0cca2264015
    Reviewed-on: https://chromium-review.googlesource.com/414447
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 457aa6c8ac809d3949aebdcc2fd338237f68d52c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 22 18:36:31 2016 -0500

    Add a shader compile performance test.
    
    BUG=angleproject:422
    
    Change-Id: I10a2192c5c91360a1b7fe5e4d014bcf1fa84c96e
    Reviewed-on: https://chromium-review.googlesource.com/413713
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 133a2ecb4db19cf2387e2d8eb3b4c6e0e5c6f144
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Nov 17 16:28:03 2016 -0500

    Implement CHROMIUM_copy_texture for OpenGL.
    
    This also makes BlitGL work correctly on OpenGL ES (provided vertex
    arrays are available)
    
    BUG=angleproject:1356
    
    Change-Id: Icb7cef35bebfe6672220aa0b312ab89187dbf585
    Reviewed-on: https://chromium-review.googlesource.com/412452
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 6c1cbf516c2927438c1a0743a8dbe2d2d56465c9
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Nov 23 12:44:35 2016 -0500

    ProgramGL: don't bindAttribLocation builtin attributes
    
    BUG=angleproject:1636
    
    Change-Id: Idea0e4f4a4415351b83e8f1a39b697139ff9ebe6
    Reviewed-on: https://chromium-review.googlesource.com/414205
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit f1cf5e630910e9373237e5f47de7e6237cdd41ac
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Nov 22 17:36:49 2016 +0000

    Prevent stack overflow in macro expansion
    
    Add a configurable limit for how many nested MacroExpander objects can
    be created in the preprocessor, so that stack overflow can be
    prevented in case of malicious shaders. By default the limit is set to
    1000. In unit tests the limit is set lower to make the test run
    faster.
    
    Includes refactoring of most of the preprocessor tests so that they
    use utility functions provided by the test class instead of repeating
    the same code for initializing the preprocessor.
    
    BUG=angleproject:1600
    TEST=angle_unittests
    
    Change-Id: I23b5140d9f2dc52df96111650db63150f7238494
    Reviewed-on: https://chromium-review.googlesource.com/413986
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 82d3e03df7b44b33f6372a81166ad54f0fb94f40
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Nov 23 13:15:52 2016 -0500

    Set the return value in FenceSyncNULL::clientWait.
    
    BUG=angleproject:1468
    
    Change-Id: I3cf0d0a9486778b1d4384e00359034e08e425191
    Reviewed-on: https://chromium-review.googlesource.com/414284
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 28cb0368fc7b1fad73bb324a76682f9651204a14
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Nov 22 15:42:37 2016 +0000

    Check for misconfiguration of shader built-ins
    
    Fail compiler initialization if the built-in resources are invalid.
    This avoids creating zero-sized arrays out of built-ins into the
    symbol table, which could later lead to asserts when these built-ins
    were indexed by constants.
    
    BUG=chromium:667468
    TEST=angle_unittests
    
    Change-Id: I9553c7c91ea355abb35b9cc6088ee14b40b0922b
    Reviewed-on: https://chromium-review.googlesource.com/413037
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 9dbd6262abbef786c03509e7994562bb0875f447
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Nov 22 11:19:35 2016 -0500

    Don't put newlines in macros that call ERR, it already adds one.
    
    BUG=angleproject:1442
    
    Change-Id: Ia4b4a3f9dc870a53b6c793c6bfc07b76d6b19673
    Reviewed-on: https://chromium-review.googlesource.com/413038
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 3b5736125e259c146c6bdb0394ba550924d2598b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Oct 31 14:08:10 2016 -0400

    Add enough ES 3.1 enums to support initializing the dEQP ES 3.1 tests.
    
    BUG=angleproject:1442
    
    Change-Id: Iece3efb272fdcbe004d4136129ba7bfe74ba5265
    Reviewed-on: https://chromium-review.googlesource.com/405530
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 29ab9ff8f6826467daa9543e8d6b7532f2a531a0
Author: He Yunchao <yunchao.he@intel.com>
Date:   Thu Aug 6 16:58:30 2015 +0800

    translator: fix a typo in comment
    
    Change-Id: Ibfd39bc478c4e9ddf40138ccf6bd37f247f83632
    Reviewed-on: https://chromium-review.googlesource.com/413036
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 3a7cdb8282cb6ea6fccf8f5f6cd459feb0c319c2
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Nov 21 16:53:40 2016 -0500

    "Implement" more NULL backend objects.
    
    BUG=angleproject:1468
    
    Change-Id: I3c42872ba13dbf346722bc34b9415a4e79c9f82c
    Reviewed-on: https://chromium-review.googlesource.com/413328
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit a96afb68bff6c2ab227292049c6bb357d58bc3c2
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Nov 21 16:52:58 2016 -0500

    Initialize the default aliased line width ranges.
    
    BUG=angleproject:1468
    
    Change-Id: I1908821fc560bed0cb5427a23739d11b17fea227
    Reviewed-on: https://chromium-review.googlesource.com/413327
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 55482a118a2c0263a0963eb289e3e474c7cd161d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Nov 21 16:54:01 2016 -0500

    Don't require npot extensions in ES3 contexts.
    
    BUG=angleproject:1468
    
    Change-Id: I106f765e59b18de0659c85f31ce3fbac8016de95
    Reviewed-on: https://chromium-review.googlesource.com/413329
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 907e4a619930fb0fdddac1dd9a871d1674044186
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 22 08:40:37 2016 -0500

    Suppress Win/AMD/D3D11 dEQP-GLES3 failures.
    
    BUG=angleproject:1633
    
    Change-Id: If8273747ade1cd3530b96006f2445e1dce0ccf00
    Reviewed-on: https://chromium-review.googlesource.com/413231
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 78b0c91daf16146034982fc3f7dd8d1ba90b3a0a
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Nov 21 14:23:06 2016 +0000

    Fix infinite recursion in macro expansion
    
    BUG=angleproject:1600
    TEST=angle_unittests
    
    Change-Id: I72bf81ec060f36255a0f13b132a4fd69b89672ff
    Reviewed-on: https://chromium-review.googlesource.com/412744
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 4dc3af09ddc7b31dba894748edb73052f7fff92e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Nov 18 14:09:27 2016 -0500

    Set the right size on the uniform bindings array.
    
    BUG=angleproject:1468
    
    Change-Id: I3d75a03fcf624fe7f9510e76edc4a8298d8c5a72
    Reviewed-on: https://chromium-review.googlesource.com/412860
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 437cca5a006a2a351a7190120fe4e6189ace8fd3
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Apr 20 14:21:17 2016 -0700

    Add support for CHROMIUM_copy_texture with D3D9.
    
    BUG=angleproject:1356
    
    Change-Id: If63779e39609083deb6bb72dc8c29eaaa90c698c
    Reviewed-on: https://chromium-review.googlesource.com/339813
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 76cdbd5104c678ffeee7419647765ac80374bfd4
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Sep 23 16:51:04 2016 -0400

    Add basic initialization code for ContextNULL so it can run some tests.
    
    BUG=angleproject:1468
    
    Change-Id: I8dfc9a3c71e5638de22bc9d9a5dadfb495ef23a7
    Reviewed-on: https://chromium-review.googlesource.com/388846
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit e85587ac5a737094ed997856c2e35540811e7e78
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Nov 17 16:25:44 2016 -0500

    BlitGL: add a ScopedGLState to separate our state from the app's
    
    BUG=angleproject:1356
    
    Change-Id: I19ec4efa37d142ac7370815b078f4ba79caa0bea
    Reviewed-on: https://chromium-review.googlesource.com/412451
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 2291c93571cc8a1d7f2527b89eeec3e3efbb396b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Nov 18 14:10:17 2016 -0500

    "Implement" FramebufferNULL::getImplementationColorRead*
    
    BUG=angleproject:1468
    
    Change-Id: I2727602e66a4f4f2ca166948eebd9c975e315fe7
    Reviewed-on: https://chromium-review.googlesource.com/412861
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 1b896c62934be40cf8a37dc28fabc15590c89a5d
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Nov 16 13:10:44 2016 -0500

    translator: remove code related to for-loop unrolling
    
    For loop unrolling is not used and causes the translator fuzzer to find
    a hang when unrolling tons of nested loops (duh).
    Also remove MMap.h which was unused.
    
    This is essentially a revert of https://codereview.appspot.com/4331048
    
    BUG=chromium:665255
    
    Change-Id: Id6940f7e306d4ed53bc992f751e9ffe733190f17
    Reviewed-on: https://chromium-review.googlesource.com/412023
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 5437006c8ca197a1cbdceee552a10545f4fb9918
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Nov 18 14:11:37 2016 -0500

    "Implement" TransformFeedbackNULL.
    
    BUG=angleproject:1468
    
    Change-Id: I1452b7d0f98d2e936ad16350a7ef5b01c45e76e9
    Reviewed-on: https://chromium-review.googlesource.com/412862
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit cec2b7f89bb9a76a24af989fdd8dcaaaaf0edbdc
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Nov 18 14:11:58 2016 -0500

    Allow the null backend to be used by dEQP.
    
    BUG=angleproject:1468
    
    Change-Id: Ife6f0001b9a6ae06c98385df47fc3887036f3a36
    Reviewed-on: https://chromium-review.googlesource.com/412863
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 44f264828a93e71ac9e0eecbdbaaeadb4f50e8bc
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Nov 18 12:49:15 2016 -0500

    Framebuffer: Fix getDepthStencilAttachment check.
    
    The check should be using the newer operator== to check if attachments
    are the same - the id() method will hit an UNREACHABLE if it's called
    on a Surface attachment.
    
    I noticed this when using this method in the Vulkan RenderPass
    implementation.
    
    BUG=angleproject:1583
    
    Change-Id: I387b35805893d04003b22a1c7c9c12fc41c726ce
    Reviewed-on: https://chromium-review.googlesource.com/412801
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 861ebb3bb8923de37ad7422951f3be4ba777764b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 17 16:40:22 2016 -0500

    Use ShaderVars instead of ShaderLang in headers.
    
    We only need the typed variable information in our header files.
    The entry point and other enum info can be encapsulated better
    in the cpp files that call through to the translator. The only
    tricky one is the compile options, which we return from our
    implementation - put the typedef for these in the ShaderVars
    header to fix this.
    
    This should partially work around the problem of shaderlang
    for Vulkan and ANGLE's translator (also ShaderLang) using some
    identifiers with the same names.
    
    BUG=angleproject:1576
    
    Change-Id: I43c530486498c210796b9e197a6780bf2f7b3afb
    Reviewed-on: https://chromium-review.googlesource.com/412423
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 99bd5f40f38304337f443cd50fcaa2ea42ad6cbe
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Nov 7 12:44:29 2016 +0000

    Fix GLSL float parsing corner cases
    
    This fixes parsing floats that are out-of-range, and floats that have
    more digits than the standard library float parsing functions can
    handle. In these cases, we now fall back to a custom implementation of
    float parsing. The custom parsing path can correctly process floats
    with up to hundreds of millions of digits in their mantissa part.
    
    Rounding behavior of the custom float parser may not be entirely
    consistent with the standard parser, but the error should be at most
    a few ULP. This can be considered acceptable since floating point
    operations are not expected to be exact in GLSL in general. Settling
    for lower accuracy also enables the parser to run in constant memory,
    instead of having to store all the significant digits of the decimal
    mantissa being parsed.
    
    BUG=angleproject:1613
    TEST=angle_unittests
    
    Change-Id: I04a5d9ae5aaca48ef14b79cca5b997078614eb1c
    Reviewed-on: https://chromium-review.googlesource.com/412082
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 3377f51e9c141f372167f2bfbf931561c7b26bb9
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Nov 17 14:56:09 2016 -0500

    TextureGL: track the currently applied state.
    
    Use it to implement lazy state setting methods for texture filters and
    swizzle that will be used in subsequent workarounds.
    
    BUG=angleproject:1356
    
    Change-Id: Ia58267c4f125262cf57fbd98438a6d8eb8a04b33
    Reviewed-on: https://chromium-review.googlesource.com/412404
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 41f9f6732fe71e88f8f15d6d0df528c0a24cc1a6
Author: Qiankun Miao <qiankun.miao@intel.com>
Date:   Wed Nov 16 17:04:36 2016 +0800

    Remove invariant qualifier for ESSL 3.0 on AMD driver
    
    AMD driver in Linux requires invariant qualifier to match between
    shaders even for GLSL >= 4.2. This conflicts with ESSL 3.0 which
    disallows invariant qualifier in fragment shader. Remove invariant
    qualifier in vertex shader to workaround AMD driver bug.
    
    BUG=chromium:639760
    TEST=webgl2_conformance
    
    Change-Id: Id5adf7e7032105486df90a1f200471ea81ee5c36
    Reviewed-on: https://chromium-review.googlesource.com/411917
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Zhenyao Mo <zmo@chromium.org>

commit edc89d62aa1a7adbc3dfbfa471d906363a21cb1f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 17 16:40:20 2016 -0500

    Fix missing file license in HLSLCompiler.h.
    
    BUG=angleproject:1576
    
    Change-Id: I9fdd7a27944880383df53aa8468884ea2e99e670
    Reviewed-on: https://chromium-review.googlesource.com/412422
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit eb979bfd3784dae088e8ddd38668adeed296dc23
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 15 12:28:46 2016 -0500

    Program: Small cleanup to linkAttributes.
    
    The comment here was incorrect, and the signature passed some
    redundant arguments.
    
    Noticed this when I was looking at the code for Vulkan/glslang.
    
    BUG=angleproject:1576
    
    Change-Id: Ie9e7eb7cbe4b65503901b2550e95cd818b7c28c0
    Reviewed-on: https://chromium-review.googlesource.com/412324
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 1079bb2e7bb5711dd5b7dc7f44f484034f5a8184
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 17 10:00:39 2016 -0800

    Fix up perf test runner script.
    
    The missing check was a bit buggy, and the paths were not updated
    to the new 'gyp' folder instead of 'build'.
    
    BUG=angleproject:1569
    
    Change-Id: I10408252851e90b79e306c8aea175ebe6a931b61
    Reviewed-on: https://chromium-review.googlesource.com/412320
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit dd9e63969310ea68062257ce04883efe0a95b7bc
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Nov 16 13:27:56 2016 -0800

    BlitGL: handle copyTexImage3D for the luma workaround
    
    BUG=angleproject:1492
    
    Change-Id: Ica9a7c72f0e463850dd93f4a15d9b572fb10a1f6
    Reviewed-on: https://chromium-review.googlesource.com/412054
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 555009cefe4c8706b0f6305bd320b4254b40e4ee
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 16 11:51:01 2016 -0800

    Buffer11: Intel workaround for constant buffers.
    
    This workaround avoids using inter-buffer copies involving constant
    buffers. Instead of copying from a staging storage to a constant
    buffer (or vice-versa), the Buffer memory managment will keep the
    system memory storage around permanently. This uses a bit more memory
    but should fix all the problematic cases where we have the canonical
    version of the buffer data inside GPU memory.
    
    BUG=chromium:593024
    
    Change-Id: I2ce0cfd22784aa43e819ce2df2d0da540d0a0cfe
    Reviewed-on: https://chromium-review.googlesource.com/412140
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 96ed3527d001f77aab86e2128d0669554edeb2d4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 16 11:27:43 2016 -0800

    Buffer11: Slight cleanup in copyFromStorage.
    
    We can call setData internally to re-use the same code.
    
    BUG=chromium:593024
    
    Change-Id: I9f53bef1e86a11fc23799123937c354bf45de014
    Reviewed-on: https://chromium-review.googlesource.com/411919
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 3ae1461355b71c4e16aa7587d65913befe3ad35b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 16 11:18:44 2016 -0800

    Buffer11: Refactor constant buffer range getter.
    
    This getter will now return the offset to bind along with the
    ID3D11Buffer pointer. This encapsulates the logic of the emulation
    so that we only actually check the capabilities of the driver in
    a single place. This solves the issue of needing to edit the code
    in multiple places when trying to force the caps for debugging,
    and also encapsulates the offset calculation in the Buffer11 class.
    
    BUG=chromium:593024
    
    Change-Id: Idb09d560868ae12b98bcaf4ea031c4e0b6c82b4a
    Reviewed-on: https://chromium-review.googlesource.com/411918
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 16e54098d6905bcfca8ec73de9c14b6f469ab914
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 15 12:35:42 2016 -0800

    Use 'gyp' dir in update_canary_angle.py.
    
    The old 'build' dir was copying stale DLLs.
    
    BUG=angleproject:1569
    
    Change-Id: Ib11fb9f1e1e480fe32af3f291357e0fb92429318
    Reviewed-on: https://chromium-review.googlesource.com/411389
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 8b7d8144b427f64d1c782ae7735521698787e5de
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Nov 15 13:40:37 2016 -0500

    Clamp "count" in glUniform* before passing to the backend
    
    The OpenGL spec allows "count" to overflow safely implemented but some
    drivers like the Intel Windows OpenGL driver don't handle this
    correctly and crash on overflow tests.
    
    BUG=661413
    
    Change-Id: I10de9292c75daa375f002850900bb5e1cbfce3b6
    Reviewed-on: https://chromium-review.googlesource.com/411387
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 15ac534a96ee58fbdb0e022b7dc67a7674cf1395
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Nov 3 17:06:39 2016 -0400

    Program: clamp the number of uniforms to be copied
    
    Reland with a temporary test suppression.
    
    BUG=661413
    
    Change-Id: I552b64de754b326dcd499b84d9f337b9d015dc8e
    Reviewed-on: https://chromium-review.googlesource.com/411473
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 64598b53efbdb2022663384df4ebd648fe3b2acc
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Nov 11 08:25:44 2016 -0500

    Add the ANGLEPlatform entry points to eglGetProcAddress
    
    Reland with a Windows build fix.
    
    We want to move the Chromium initialization of the ANGLE platform from
    being Windows-specific to being EGL-specific. Because the mechanisms by
    which the ANGLE library is loaded are OS-specific, it is inconvenient to
    use dlsym and friends to get the ANGLEPlatform entry points. Instead
    we expose the through eglGetProcAddress which is readily available in the
    EGL-specific part of Chromium.
    
    BUG=angleproject:1621
    
    Change-Id: I022a39493756a3b5d1ed626fd05e74af3f043211
    Reviewed-on: https://chromium-review.googlesource.com/410066
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit c51642b40f23b40c9cb2f0ecd30db8a45a6b3c53
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Nov 14 16:18:26 2016 -0500

    Validate level exists for TexSubImage calls.
    
    Before validating the texture format, verify that the texture level already
    exists in glTexSubImage calls.
    
    BUG=602737
    
    Change-Id: I0d83c7d43c7b358abdb59583dc83265df70c13b5
    Reviewed-on: https://chromium-review.googlesource.com/411361
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 399d1a17b2b7a5bdef4bd962ef37ca4716404992
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Nov 15 14:55:06 2016 +0000

    Revert "Program: clamp the number of uniforms to be copied"
    
    This reverts commit 9863a3ef180edb17307665e0cc65a16603222103.
    
    Change-Id: I840a735b49bc4f2319c8af5f620d7f52bb7eecf1
    Reviewed-on: https://chromium-review.googlesource.com/411470
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 94177fbaffef3b430aea1a90fe04cdbd122b67a4
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Nov 14 16:12:26 2016 -0500

    Length returned from glGetUniform*RobustANGLE should be in values, not bytes.
    
    BUG=angleproject:1354
    
    Change-Id: I805499c3514a8b323e9864b7cf9100814f3d5cc5
    Reviewed-on: https://chromium-review.googlesource.com/411420
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit b0a838bff5feffeca98401dc517f9b8421bae3a1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sun Nov 13 20:02:12 2016 -0500

    Program: Make LinkResult use gl::ErrorOrResult.
    
    This simplifies the error handling code, and allows the use of the
    ANGLE_TRY macro (and friends).
    
    BUG=angleproject:1576
    
    Change-Id: I3142388b10d0dd67a7f49a5c8c3d11102996be93
    Reviewed-on: https://chromium-review.googlesource.com/411201
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 9863a3ef180edb17307665e0cc65a16603222103
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Nov 3 17:06:39 2016 -0400

    Program: clamp the number of uniforms to be copied
    
    BUG=661413
    
    Change-Id: I1a146dae0d01edeb272a58610355261b0e23dec1
    Reviewed-on: https://chromium-review.googlesource.com/406745
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 8a9e4bcfe9ead4cf07632bfdd0eecdd60400203c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sun Nov 13 20:02:12 2016 -0500

    Refactor GLES2 Blend entry points.
    
    BUG=angleproject:747
    
    Change-Id: I775265a7494aedd19ca4f18019e3b3181bfb12e9
    Reviewed-on: https://chromium-review.googlesource.com/410135
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit dfd7fb2ade2c530a4e6885312804acb6485f4cd8
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Fri Nov 11 16:05:11 2016 -0500

    Cleanup after merging translator_lib into translator
    
    Rename a few references to translator_lib
    
    BUG=angleproject:1596
    
    Change-Id: Ib715fdd8a949dc46a5ef628ea2d7f71b1b771845
    Reviewed-on: https://chromium-review.googlesource.com/410287
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 6898b35826476b9c841897b34190ef448a897e8e
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Nov 10 11:41:15 2016 -0500

    FramebufferGL: Fix blit workaround corner case
    
    The SRGB blit workaround had to wrong assumptions:
     - SRGB blits can have a multisample source.
     - The woarkound is needed even when the filter is GL_LINEAR in the
       case where we are doing a RGB -> SRGB or RGB -> SRGB blit.
    
    BUG=angleproject:1492
    BUG=chromium:658898
    
    Change-Id: I1d89572565a4e23c1c97bdf985bb21a445e898b7
    Reviewed-on: https://chromium-review.googlesource.com/409540
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit f58585cbc6f4deb4aeb97f2e191438d9ea0f2b14
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Nov 11 21:20:24 2016 +0000

    Revert "Add the ANGLEPlatform entry points to eglGetProcAddress"
    
    Produces a build warning in standalone, might require build file updates:
    
    > locally defined symbol ANGLEPlatformInitialize imported in function <snip>
    
    At least in GYP, libEGL does not have LIBANGLE_IMPLEMENTATION defined, so it defines this API with __declspec(dllimport), which is incorrect, since the function is local to the module. We should fix the layering and/or export defs.
    
    BUG=angleproject:1621
    
    This reverts commit 0504fcc17a173b1c1a3305931c159f519bbff97b.
    
    Change-Id: Ida67db69eb64e4a8f2c13dcf129d40b332f2da9d
    Reviewed-on: https://chromium-review.googlesource.com/410065
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 0504fcc17a173b1c1a3305931c159f519bbff97b
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Nov 11 08:25:44 2016 -0500

    Add the ANGLEPlatform entry points to eglGetProcAddress
    
    We want to move the Chromium initialization of the ANGLE platform from
    being Windows-specific to being EGL-specific. Because the mechanisms by
    which the ANGLE library is loaded are OS-specific, it is inconvenient to
    use dlsym and friends to get the ANGLEPlatform entry points. Instead
    we expose the through eglGetProcAddress which is readily available in the
    EGL-specific part of Chromium.
    
    BUG=angleproject:1621
    
    Change-Id: I7adbea003103d0331ec9eece7b881e27bd6b1a5d
    Reviewed-on: https://chromium-review.googlesource.com/410063
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit ea5865497ecf8954095fe60b3d205a65dc650260
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Nov 10 17:33:43 2016 -0500

    Cleanup after translator component removal
    
    - Unite translator with translator_lib
    - Remove flags and defines for shared library exports
    
    BUG=angleproject:1596
    
    Change-Id: Icd145a4b79e2472766a2b56017bb0f36f244482e
    Reviewed-on: https://chromium-review.googlesource.com/410261
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 619c833be80da62c64018dd805ec646798d111cb
Author: Bryan Bernhart <bryan.bernhart@intel.com>
Date:   Wed Nov 9 11:11:41 2016 -0800

    Add default compiler options to WebGL shaders.
    
    Enforces default compiler options when compiling WebGL compatible shaders.
    
    BUG=angleproject:1616
    
    Change-Id: I18490db68b29981fab4817bdd61727752cf50997
    Reviewed-on: https://chromium-review.googlesource.com/409016
    Commit-Queue: Bryan Bernhart <bryan.bernhart@intel.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 7bb459880459cabcb5fdb32eff2e9f85dddf12d0
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Fri Nov 11 09:17:20 2016 -0800

    Return a lift of a angle_end2end_tests on AMD.
    
    BUG=angleproject:1622
    TEST=angle_end2end_tests
    TBR=jmadill@chromium.org
    
    Change-Id: Icd1f5fecc36621d70822c738da39d39d3bdb3ff6
    Reviewed-on: https://chromium-review.googlesource.com/410037
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Commit-Queue: Zhenyao Mo <zmo@chromium.org>

commit 049edfa27b9824d8f6870f42a9dd0d4a9a772277
Author: Martin Radev <martin.b.radev@gmail.com>
Date:   Fri Nov 11 14:35:37 2016 +0200

    Add volatile, coherent and restrict memory qualifiers
    
    The patch adds support for the three remaining memory qualifiers:
    volatile, coherent and restrict.
    
    BUG=angleproject:1442
    
    TEST=angle_unittests
    TEST=angle_end2end_tests
    
    Change-Id: Ie662d304af2399468df1d976e04c38dada1e2cec
    Reviewed-on: https://chromium-review.googlesource.com/385876
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 7b8f3c9bb5466c05aa401973f934c197e7009983
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Nov 10 10:42:48 2016 -0500

    Encapsulate the thread local storage into an egl::Thread class.
    
    Instead of having separate GetGlobal* functions, interact with the global
    objects through a single Thread object.  This reduces the number of TLS
    lookups in many EGL functions and allows the Thread object to be passed
    down to other objects if needed.
    
    BUG=angleproject:1618
    
    Change-Id: I1f9a89e8899d637633f4e91fda0e38ac308dd020
    Reviewed-on: https://chromium-review.googlesource.com/409637
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit d7490967e1e7f66ebb84ce5fafff3513100fc71a
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Wed Nov 9 15:49:51 2016 -0800

    Fix linkage.html failures on Mac.
    
    The failure is due to when we initialize variables to 0, we re-create
    the struct TType, and it contains a different unique id from the
    original struct TType, thus leading to a different hashed name.
    
    BUG=chromium:641129
    TEST=webgl_conformance,webgl2_conformance
    
    Change-Id: I267b97fa496f55ea59dacee93af8f6a90f3e66cb
    Reviewed-on: https://chromium-review.googlesource.com/409602
    Commit-Queue: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 4b97d5046220ea12963f2020e0ee9b0e1327076d
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Wed Nov 9 06:45:32 2016 +0800

    Fixed incorrect multisample rendering when enable SAMPLE_COVERAGE on Win
    
    In RendererD3D::createRenderTarget, we use getNearestSamples(samples)'s
    result to assign D3D11_TEXTURE2D_DESC.SampleDesc.Count. However, in
    renderer11::updateState, we used the original samples to calculate mask
    by GetBlendSampleMask not the supported nearest samples. It would result
    that multisample rendering result was incorrect when enable
    AMPLE_COVERAGE and the samples is not in the suported list but less than
    max samples. At least, on Intel Win platform, we can reproduce it.
    The fixing is to use same samples in these two places.
    
    BUG=angleproject:1610
    TEST=MultisampleCompatibilityTest.DrawCoverageAndResolve
    
    Change-Id: I255b12d1032317145adfcee94e65e88ae5307113
    Reviewed-on: https://chromium-review.googlesource.com/408516
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 89dd8f37017f55dca821a8b9cf33f4fb09532d70
Author: Qiankun Miao <qiankun.miao@intel.com>
Date:   Wed Nov 9 12:59:30 2016 +0000

    Remove invariant declaration in vertex shader for translation from ESSL 3.00 to GLSL <= 4.1
    
    This is a follow-up patch of
    https://chromium-review.googlesource.com/408569. This CL removes
    invariant declaration in ESSL 3.00 vertex shader, such like:
    "
    out vec4 foo;
    invariant foo;
    "
    
    This CL also adds the workarounds in libANGLE.
    
    BUG=chromium:639760
    TEST=webgl2_conformance
    
    Change-Id: I568ab51a9a2f5da10d1aff0b63aae8805097e081
    Reviewed-on: https://chromium-review.googlesource.com/409157
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d9c6f50118a0647451ba40c0743c82712d96cd45
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Nov 9 10:05:31 2016 -0500

    Docs: fix reference to ANGLE.sln
    
    BUG=angleproject:1569
    
    Change-Id: I6eb8f5f93da1879038516b14f608ff4eb4fb658b
    Reviewed-on: https://chromium-review.googlesource.com/409177
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit b7bf742696187bad97b3812ac9f14c8650c1eb16
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Tue Nov 8 14:44:05 2016 -0800

    Don't ouput "invarant" and "centroid" in GLSL 4.1 or older.
    
    BUG=chromium:639760,chromium:641129
    TEST=webgl2_conformance
    
    Change-Id: I5fe87246eaea78888529d7b45b79399e6065daa9
    Reviewed-on: https://chromium-review.googlesource.com/408569
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Commit-Queue: Zhenyao Mo <zmo@chromium.org>

commit 706972529ecd219c539f488f71fded656a3cfc32
Author: Frédéric Wang <fwang@igalia.com>
Date:   Tue Nov 8 17:55:19 2016 +0100

    Ozone: Only set angle_enable_gl=1 for the DRM/GBM platform.
    
    Currently, the load of DRM dependencies and definition of ANGLE_USE_OZONE
    are conditioned by ozone_platform_gbm in the GN build files. However,
    angle_enable_gl is always turned on for use_ozone=1. As a consequence,
    use_ozone=1 and ozone_platform_gbm=0 (default on Linux Desktop) produces
    the following error:
    
        ../../third_party/angle/src/libANGLE/Display.cpp:52:9: error: Unsupported OpenGL platform.
        #error Unsupported OpenGL platform.
    
        ../../third_party/angle/src/libANGLE/Display.cpp:192:2: error: Unsupported OpenGL platform.
        #error Unsupported OpenGL platform.
    
    This CL turns off angle_enable_gl in that case to fix that build error.
    
    Change-Id: I42578f30f3353c083f52d4bd345dbe33f3f5e12e
    Reviewed-on: https://chromium-review.googlesource.com/408100
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit 556442117bc373ddce148461c59b70f1250aced0
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Nov 8 11:07:34 2016 +0000

    Fix constant folding right shift corner cases
    
    Right-shifting the minimum signed integer needs to be handled as a
    special case, since it can't go through the usual path that clears the
    sign bit.
    
    Code for right-shifting by zero also had a typo that resulted in
    setting the wrong value to the result.
    
    BUG=chromium:662706
    TEST=angle_unittests
    
    Change-Id: Ief24d738064906a72212242e0917ce30e45d6b25
    Reviewed-on: https://chromium-review.googlesource.com/408158
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit e5c53e3e95697858af931b6b3711d68af01ac94c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Nov 7 12:22:48 2016 -0500

    dEQP: Add command-line parsing of back-end.
    
    Also use the requested renderer to initialize expectations.
    
    BUG=angleproject:1442
    
    Change-Id: Idf54072dac5f7ad9deea70e97d65e36a6e883b1c
    Reviewed-on: https://chromium-review.googlesource.com/407802
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 71d4c026d72cecd7fbb13623a6fda3b66f3a81b5
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Nov 2 19:51:08 2016 -0400

    SimplifyLoopConditions: handle empty for expressions
    
    BUG=661558
    
    Change-Id: I7a4af71fafacc31aeae0c52d79641ea5e61d6b24
    Reviewed-on: https://chromium-review.googlesource.com/406545
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 32028eb9ba5f5f93e87d087d7427c05e8ced4a25
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Nov 7 16:42:31 2016 -0500

    Fix EGL_D3D_TEXTURE_SUBRESOURCE_ID_ANGLE enum typo in extension spec.
    
    BUG=angleproject:1332
    
    Change-Id: I2c5aa9e155f175fea51af05fed40a55569e6745a
    Reviewed-on: https://chromium-review.googlesource.com/408813
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 7f07caa961f98fedf5ab5c5f8b964712c01537f4
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Oct 25 07:43:33 2016 -0400

    Rename the build/ directory.
    
    GYP related files went in gypfiles/, and the gni went in gni/ this
    changes frees up the build/ directory name for Chromium's build/
    directory.
    
    BUG=angleproject:1569
    
    Change-Id: I76fe343d569239c2732ba87986fcf7debc21d417
    Reviewed-on: https://chromium-review.googlesource.com/403029
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit e76f55fefa0662d87953d4e3d3c7ffc04d4b6fe3
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Oct 25 06:44:45 2016 -0400

    Make the gmock and gtest dirs match Chromium's
    
    Making the dependencies' directories match Chromium's is needed if we
    want to use the same GN file for Chromium builds and standalone builds.
    
    This also rolls the gtest and gmock dependencies to match Chromium.
    
    BUG=angleproject:1569
    
    Change-Id: I54ce9c9a29964abfddbea64a0f4466f2c9d48a33
    Reviewed-on: https://chromium-review.googlesource.com/403028
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 80bfe0f49fa6a275348f325f9a16399fd4d8268a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Nov 7 13:50:31 2016 -0500

    translator: Fix style in CodeGen.cpp.
    
    BUG=None
    
    Change-Id: I321ec7af6779c6524b83959da21520a4fb09d8e2
    Reviewed-on: https://chromium-review.googlesource.com/408317
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 45bcc7845c4c62f4e334a4a28860767bbceaf8ba
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Nov 7 13:58:48 2016 -0500

    translator: Scope all classes with "sh".
    
    I was seeing an odd problem with our PoolAlloc conflicting with the
    glslang/Vulkan TIntermNode, so the fix was to move everything to a
    separate namespace.
    
    The bison grammars are also regenerated. No functional changes.
    
    BUG=angleproject:1576
    
    Change-Id: I959c7afe4c092f0d458432c07b4dcee4d39513f3
    Reviewed-on: https://chromium-review.googlesource.com/408267
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 20c97cac2a15144b61ceec7404a9e6249c40f50a
Author: Stanislav Chiknavaryan <stanisc@chromium.org>
Date:   Fri Nov 4 18:27:56 2016 -0700

    Squashed commit of the following:
    
    commit 0146dfeefa47b520e71f0e74230abd7dac163a79
    Author: Stanislav Chiknavaryan <stanisc@chromium.org>
    Date:   Fri Nov 4 17:43:03 2016 -0700
    
        Revert "Implementation of eglGetSyncValuesCHROMIUM extension."
    
        This reverts commit 5d9f5df01ac5a384d9b7cbb49d9f98a76b62c7ad.
    
    commit 0d920fe27bd8e73d831a9002548bde00fea78709
    Author: Stanislav Chiknavaryan <stanisc@chromium.org>
    Date:   Fri Nov 4 17:23:11 2016 -0700
    
        Revert "Fix EGLSyncControlTest.SyncValuesTest timeout on Windowse Server 2012 R2"
    
        This reverts commit d258ca045f31eb43ec01b5501c84e9afd8e82cd6.
    
    commit bde8defe53741855bb71fbf27bcb0a91cfafbd01
    Author: Stanislav Chiknavaryan <stanisc@chromium.org>
    Date:   Fri Nov 4 17:22:58 2016 -0700
    
        Revert "Disabling EGLSyncControlTest.SyncValuesTest"
    
        This reverts commit a74183613955bd891f56f6a979a5391c16c64138.
    
    commit f78e4b7e97b9d1259878f6902bb6ddeb0aeded87
    Author: Stanislav Chiknavaryan <stanisc@chromium.org>
    Date:   Fri Nov 4 17:22:36 2016 -0700
    
        Revert "Fix and re-enable EGLSyncControlTest.SyncValuesTest"
    
        This reverts commit 138ec92f52da7c0fc8e6df08ac4e4e572bbf6b39.
    
    commit f3933e6a04bd23473077d2fd74616023db3c9601
    Author: Stanislav Chiknavaryan <stanisc@chromium.org>
    Date:   Fri Nov 4 17:20:26 2016 -0700
    
        Revert "Handle nullptr mSwapChain in SwapChain11::getSyncValues"
    
        This reverts commit af7f301f6ba9e5f31d1511142a936a9ba84169d0.
    
    BUG=angleproject:1402
    
    Change-Id: I99969e906e316574e9f739141de0e360d1edebd9
    Reviewed-on: https://chromium-review.googlesource.com/408752
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Stanislav Chiknavaryan <stanisc@chromium.org>

commit 8bbbb820a0ab4e921c2eb8e5763b10cfe50d5de2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Nov 7 13:50:29 2016 -0500

    translator: Remove deprecated HLSL output flags.
    
    These flags were adding redundant configs to the fuzzer.
    
    BUG=angleproject:1522
    
    Change-Id: I49ad56f0d7aceaae326d2d4387c4c750866465f3
    Reviewed-on: https://chromium-review.googlesource.com/408338
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit acb4b81a9570aabdd487d1e60f30bc527793b0a2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Nov 7 13:50:29 2016 -0500

    translator: Put ShaderLang APIs in "sh" namespace.
    
    Working with glslang in Vulkan means we are static linking libANGLE
    with functions that have the same name as our translator APIs. We
    can fix this by scoping our APIs. We don't need to scope the types
    of the file, since they don't conflict.
    
    This will require a follow-up patch to remove the unscoped APIs
    once we switch over Chromium.
    
    We also scope TCompiler and some related classes to avoid multiply
    defined link errors with glslang.
    
    BUG=angleproject:1576
    
    Change-Id: I729b19467d2ff7d374a82044b16dbebdf2dc8f16
    Reviewed-on: https://chromium-review.googlesource.com/408337
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 01a80eeb3fcf1f8efc9dd491266e874bda554996
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Nov 7 12:06:18 2016 -0500

    Refactor all the Bind* GLES 2.0 entry points.
    
    This requires storing a reference the the Context's Framebuffer map
    in the ValidationContext. Likely we'll need to do this as well for
    the other non-shared object types.
    
    BUG=angleproject:747
    
    Change-Id: I73ee8b0be3c3b9e54b7e48e49d6f738cf1d926dd
    Reviewed-on: https://chromium-review.googlesource.com/407843
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 62a90cf67d40a20c27a99094ab9f024b9206e38c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Nov 7 08:01:17 2016 -0800

    Don't use the bind SRV flag for MS textures in D3D11 FL 10.0.
    
    With the latest Windows SDKs, it is an error to create a multisampled
    texture with both bind SRV and DSV flags in feature level 10.0.  The
    error:
    
    D3D11 ERROR: ID3D11Device::CreateTexture2D: If the feature level is less
    than D3D_FEATURE_LEVEL_10_1, a Texture2D with sample count > 1 cannot have
    both D3D11_BIND_DEPTH_STENCIL and D3D11_BIND_SHADER_RESOURCE. This call may
    appear to incorrectly return success on older/current D3D runtimes due to
    missing validation, despite this debug layer message.
    [STATE_CREATION ERROR #99: CREATETEXTURE2D_INVALIDBINDFLAGS]
    
    BUG=656989
    
    Change-Id: Iedce65f6c877786e28b96c159abd7a5b2a32cfd5
    Reviewed-on: https://chromium-review.googlesource.com/408339
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit f097e2380650696a4c20624e4668a184980e4d7d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Nov 5 00:44:15 2016 -0400

    D3D11: Fix 3D texture redefinition bug.
    
    We would incorrectly check the storage type after we had redefined it.
    Thus we would allow old storages to persist for some cases of 3D
    texture. This bug did not affect 2D textures.
    
    See WebGL 2 test: conformance2/misc/views-with-offsets.html
    
    BUG=angleproject:1609
    
    Change-Id: I7a04ff498740bb5d7daf2cee174c336f97a44c01
    Reviewed-on: https://chromium-review.googlesource.com/408417
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 0350a64c3caf6f3df1b6d65e5dd947ef4a80a64a
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Tue Nov 1 17:01:51 2016 +0800

    Fixed the bug using uniform block array
    
    At the beginning of Program::defineUniformBlock, getUniformBlockSize will call
    getUniformBlockIndex on MacOS to check if the block is an active block with
    giving blockName. However, it didn't distinguish array and non-array situations
    and unified to use interfaceBlock.name as the blockName to call
    getUniformBlockIndex. It would result that INVALID_INDEX was returned when
    it's a block array. For example, using 'blockName' not 'blockName[0]'.
    
    In OpenGL 4.3 spec, section 7.3.1, there are following descriptions:
    If name exactly matches the name string of one of the active resources for
    programInterface, the index of the matched resource is returned. Additionally, if
    name would exactly match the name string of an active resource if "[0]" were
    appended to name, the index of the matched resource is returned. Otherwise, name
    is considered not to be the name of an active resource, and INVALID_INDEX is
    returned.
    
    So, for array block case, we use blockName appending [0] to check the activity.
    
    BUG=angleproject:1543
    
    Change-Id: I8189b62066b779f7d392a7dba1cf5cb02a31936d
    Reviewed-on: https://chromium-review.googlesource.com/405830
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 8f775607eb21ecaa138545a8fb49ac4f0fe49e95
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 3 16:45:34 2016 -0400

    Introduce a gl::BufferState class.
    
    This state can share vital pieces of information with the impl.
    The most elementary state is the buffer size, which then the
    impl doesn't need to replicate.
    
    BUG=angleproject:1579
    
    Change-Id: I341393c64a6e49de65c1d53b1bad2fa143209862
    Reviewed-on: https://chromium-review.googlesource.com/406644
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit bbe9fb5e956e875c7f6f916268002772d29f1fbb
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Nov 3 17:16:05 2016 +0000

    Check that implicitly sized array constructors have arguments
    
    Array size must be greater than zero according to the ESSL 3.00.6
    spec.
    
    BUG=angleproject:1602
    TEST=angle_unittests
    
    Change-Id: I1fa54b143bc821583822cbc5139464cdd058b6c1
    Reviewed-on: https://chromium-review.googlesource.com/407257
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit d9e837871dfa70006664579dfbeab6d8bcc822f5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 3 16:47:27 2016 -0400

    Ignore .TMP files.
    
    This seem to be everywhere on Windows.
    
    BUG=None
    
    Change-Id: I16b208edb88d57d4bea3ce6dcf22f6ae9ac9cb58
    Reviewed-on: https://chromium-review.googlesource.com/406643
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit d1d1dff6ec88dd8db6f741aaa72e168f3fca7a76
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Nov 3 14:56:14 2016 +0000

    Fix undefined modulus in ExpressionParser
    
    In constant folding of integer expressions this case is already being
    handled.
    
    BUG=angleproject:1599
    
    Change-Id: Ifb3ea0279467f216e1c93909647b79fca24fcaf2
    Reviewed-on: https://chromium-review.googlesource.com/406868
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit e7dc9d71f291c7f94c05ffd2832cc1f89ea2b2de
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Nov 3 16:58:47 2016 +0000

    Fix handling bvec on the right hand side of a logical op
    
    The vector/matrix size matching is not done for logical ops similarly
    to other binary ops. For that reason both left and right hand side
    need to be checked for being scalar.
    
    BUG=angleproject:1601
    TEST=angle_unittests
    
    Change-Id: Ie87da68d6cb0d439f0e6273d374fc7d836c82309
    Reviewed-on: https://chromium-review.googlesource.com/406988
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 8f447a7a0aa1a32861925a364d730c4716b77391
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 7 11:51:22 2016 -0400

    D3D11: Enable previously crashing trig dEQP tests.
    
    The newer Win SDK version seems to fix the crash.
    
    BUG=angleproject:1252
    BUG=chromium:568170
    
    Change-Id: I9bac4a9978774ac0f8951a95ce920e8e5d6caed8
    Reviewed-on: https://chromium-review.googlesource.com/358811
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit e653403bae549733b6c0bb3226d78f15038d622e
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Tue Nov 1 18:19:06 2016 -0400

    Remove component translator target and keep static_library.
    
    Rename translator_static to translator and use it everywhere.
    
    BUG=angleproject:1596
    
    Change-Id: I36c990d54979d2460b1513a65cca0b82f8d65c80
    Reviewed-on: https://chromium-review.googlesource.com/406668
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 87c182e180a148d07fc7a93c315234b2eba91d61
Author: Bryan Bernhart <bryan.bernhart@intel.com>
Date:   Wed Nov 2 11:23:22 2016 -0700

    Enable shader validation with WebGL compatibility extension.
    
    The change configures shaders to be of a compatible spec upon creation.
    
    BUG=angleproject:1523
    
    Change-Id: Id345d0b8f0abad8ed3c4fb3117d0fdfeab9fea53
    Reviewed-on: https://chromium-review.googlesource.com/405778
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 02bd82cd1d4e9d30e2f53917d97f1980a4e2dbd4
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Nov 3 10:29:43 2016 +0000

    Fix handling unsized arrays with incorrect initializer
    
    In case the initializer of an unsized array is not an array, the array
    size still needs to be set to some value > 0 in order to not hit
    asserts in the code that parses accessing the array. An error was
    already being generated in the case an unsized array has a non-array
    initializer, but the variable will still have an array type in the
    symbol table.
    
    BUG=chromium:661592
    TEST=angle_unittests
    
    Change-Id: I4a11527eab0404ba9e59ebb7227faef13dbea62c
    Reviewed-on: https://chromium-review.googlesource.com/407256
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit b526f541045a3676f84a956b5749d90fabef3a63
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Nov 2 14:11:01 2016 -0400

    OSXWindow: ignore deprecated warnings
    
    We can't fix them yet because our continuous testing doesn't compile
    with the updated definitions yet.
    
    BUG=angleproject:1598
    
    Change-Id: I40bdeaa6bafbd03b5e3e6c16ac8485e3f488fe59
    Reviewed-on: https://chromium-review.googlesource.com/406452
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 2dacfb2a6d340e82421a1a538ce235ff255211ee
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Nov 2 13:32:45 2016 -0400

    Fix EGL_D3D_TEXTURE_SUBRESOURCE_ID_ANGLE enum typo.
    
    BUG=angleproject:1332
    
    Change-Id: I69a5780521a4810ae93567fbe875a8c5e361850e
    Reviewed-on: https://chromium-review.googlesource.com/406632
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 077f20ae12ba58859c3a17c5442f1a1c4885bf00
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Nov 1 10:08:02 2016 -0400

    Properly check for debug and robust access context creation flags.
    
    These flags can come from both attributes and bitfield flags.
    
    Also move the robust access check to an UNIMPLEMENTED in Context, dEQP ES 3.1
    tests attempt to use this flag and it's convenient to be able test by disabling
    UNIMPLEMENTED assertions.
    
    BUG=angleproject:1442
    
    Change-Id: I1641fdb3afee308235351ebd60be680765b16b3b
    Reviewed-on: https://chromium-review.googlesource.com/405774
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 2f6435e073cf633da33d3c722ffbfe409d0a8b60
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Nov 2 10:43:21 2016 -0400

    Change UNIMPLEMENTED to not assert by default.
    
    It is not feasible to run dEQP against ES 3.1 on the bots without removing this
    assertion.  Messages will still be logged and UNREACHABLE will still generate
    assertion failures when the behaviour is needed.  This matches the behaviour
    of Chromium's NOTIMPLEMENTED macro.
    
    Remove the ANGLE_TEST_CONFIG macro, it was not doing anything useful anymore.
    
    BUG=angleproject:1442
    
    Change-Id: I76376817a87e1a75ad1a938e1db1d7763e094372
    Reviewed-on: https://chromium-review.googlesource.com/406928
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit d2f0c74c8517365302fffcc2dc7b86778c2a6211
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 2 10:34:41 2016 -0400

    Use safe math in ValidateCopyBufferSubData.
    
    This should fix any potential out of bounds reads/writes.
    
    BUG=chromium:660854
    
    Change-Id: Iffa00e4551d7362115cbf023a09b1d0e15f724c8
    Reviewed-on: https://chromium-review.googlesource.com/405816
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit b990b55ef9c687a226dafd35fa581d4c6aaa308b
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Oct 27 12:29:17 2016 +0100

    Clean up temporary variable usage in ScalarizeVecAndMatConstructorArgs
    
    Use common helper functions instead of manually creating temporary
    variable nodes. Also clean up the interface provided by the traverser.
    
    BUG=angleproject:1597
    Test=WebGL conformance tests
    
    Change-Id: Ifd8d3815ff9e75e1a2040d65db9d4b3d6a9a9273
    Reviewed-on: https://chromium-review.googlesource.com/403950
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 0982a2bf1a1278ff8aaba63af935675237822f52
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Nov 1 15:13:46 2016 +0000

    Prefix internal names in GLSL output
    
    Prefixing internal names will avoid clashes with user-defined names.
    We use prefix webgl_angle_ so that the internal names are both
    reserved in WebGL on one hand and clearly separated from hashed names
    starting with just webgl_ on the other hand.
    
    BUG=angleproject:1597
    TEST=WebGL conformance tests
    
    Change-Id: I7deef9c1a38105c8b57eda13c84eec13e515a91a
    Reviewed-on: https://chromium-review.googlesource.com/406247
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 21b786b1924c24a89b238498318bd7f210ffe511
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 1 17:41:31 2016 -0400

    ES3: Make copy conversion set a static switch.
    
    This removes the global std::set initialization.
    
    BUG=angleproject:1389
    BUG=angleproject:1459
    
    Change-Id: I6a7f4211905ea4a83e0e2337977e2f6fb375a7dd
    Reviewed-on: https://chromium-review.googlesource.com/405368
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit b0817d17ad325505604ab09ed29c3bc3c278e627
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 1 15:48:31 2016 -0400

    Refactor CopyBufferSubData entry point.
    
    This brings it in line with the new style.
    
    BUG=angleproject:747
    
    Change-Id: Ie4b223d018999be18c3b19fae9cc825a78de09a9
    Reviewed-on: https://chromium-review.googlesource.com/405815
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit eb66a6e21e66e2884888382c1890f146ef4cbd90
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Oct 31 13:06:12 2016 -0400

    Replace the GLVersion class with gl::Version.
    
    Update code to use gl::Version in as many places as possible to ease ES 3.1
    support.
    
    BUG=angleproject:1588
    
    Change-Id: I3490b53a81027cf849dac551a9cc66ce04506144
    Reviewed-on: https://chromium-review.googlesource.com/404946
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit cfe7b2c43e0c1bc4fd531a6d7f99fb7f2139a078
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 1 13:18:10 2016 -0400

    Add finite check to lexer float constants.
    
    The fuzzer was generating cases where floating point constants would
    someone return as valid when they were beyond max float. I was unable
    to reproduce this in a standalone test, but confirmed this check
    fixes the fuzzer error.
    
    BUG=660702
    
    Change-Id: I9e6b883958013638ea509e38b30e812a9e74fbc1
    Reviewed-on: https://chromium-review.googlesource.com/406268
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit d75d03bd309e0e9b3febdca521654b567e9e847e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Oct 31 16:46:53 2016 -0400

    Enumerate dEQP ES 3.1 test expectations.
    
    BUG=angleproject:1442
    
    Change-Id: I9005a54d30988a472a3f512f394a4a352a4732e9
    Reviewed-on: https://chromium-review.googlesource.com/405297
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 9fdc2c6769b71667b8ed87eca55ca2cd8ac28028
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Nov 1 10:45:13 2016 -0400

    Fix incorrect assertion in SwapChain11.cpp.
    
    BUG=angleproject:1144
    
    Change-Id: I6186381d1aad13bbb07af47b3cf94d6ec7cbb566
    Reviewed-on: https://chromium-review.googlesource.com/405693
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 032e3702198f08eb4191d610351689ce34be09c1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 31 16:14:14 2016 -0400

    D3D9: Make GetD3DFormatInfo constexpr.
    
    This removes another static global map initializer.
    
    BUG=angleproject:1389
    BUG=angleproject:1459
    
    Change-Id: I302f349ea4e95d079077866a07b0d57758c40892
    Reviewed-on: https://chromium-review.googlesource.com/405488
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 9cec39f614cfd74a04d42dcbe877bdf8e83e144b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 31 16:14:14 2016 -0400

    D3D11: Convert the FL 9_3 vertex format table to constexpr.
    
    This removes a static global map initialization.
    
    BUG=angleproject:1389
    BUG=angleproject:1459
    
    Change-Id: I6eb19f6649280e72682c6806ea0bf6eb70173984
    Reviewed-on: https://chromium-review.googlesource.com/405487
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 60e6edfa7fe2549c8e60fec84d3af225e185a85d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 31 12:17:19 2016 -0400

    Make ASSERT reference the conditional expression.
    
    This should prevent further unexpected bot breakage due to
    unreferenced variables in the ASSERT expression.
    
    Also remove the no longer needed variable referencing macro.
    
    BUG=angleproject:1586
    
    Change-Id: I127695165bdfe39c51fe8d17e00daf6bf2fa8252
    Reviewed-on: https://chromium-review.googlesource.com/404948
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit d89792f42b28c3d7ed822a4f3319ce2ebe73a11b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sun Oct 30 22:41:53 2016 -0400

    Buffer11: Keep system memory storage for large UBOs.
    
    The system memory storage is needed to back UBOs larger than the max
    constant buffer size in D3D11 Windows 7. Because readback from UBOs
    can be tricky, the system memory storage keeps the canonical copy of
    the data in this case.
    
    We can also extend this to add a workaround to fix the outstanding
    failure cases of UBOs on Intel.
    
    BUG=chromium:660670
    
    Change-Id: Ia3119d3064d10c4262def4c5a967972b4de2d10f
    Reviewed-on: https://chromium-review.googlesource.com/405367
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 1df16022326037202654be35b72a9d12a76f00c2
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Oct 27 08:16:56 2016 -0400

    TranslatorGLSL: collect variables when flattening pramga invariant all
    
    BUG=chromium:659472
    
    Change-Id: Icfeada9f09fff5d28eb3f4fafb2c94d57598af1f
    Reviewed-on: https://chromium-review.googlesource.com/403849
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 698e36ed7be17065a83f06aed24b742a6c1b9602
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Oct 25 11:42:26 2016 -0400

    Update GLES2 Mac expectations
    
    BUG=
    
    Change-Id: I7ca6e6c0fc4b178a1df6d6acc95dde3b6ed3c479
    Reviewed-on: https://chromium-review.googlesource.com/403089
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit b0e6e412026e45bf0d4d363ee4bb4afba0b6276f
Author: Jiawei-Shao <jiawei.shao@intel.com>
Date:   Fri Oct 14 15:59:47 2016 +0800

    Workaround clear issue on Intel Skylake D3D driver
    
    On some Intel D3D drivers on Skylake, calling clear may take no effect.
    To work around this bug, we call clear() twice when we attempt to do clear
    on these platforms.
    
    BUG=chromium:655534
    
    Change-Id: I3b05892e80e5797d268861e8f52e080f5175855b
    Reviewed-on: https://chromium-review.googlesource.com/398522
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 705a9194438dd19a2f456235dda5a175cfce94d5
Author: Qiankun Miao <qiankun.miao@intel.com>
Date:   Mon Aug 29 10:05:27 2016 +0800

    Reland "Remove invariant qualifier for input in fragment shader"
    
    This relands https://chromium-review.googlesource.com/#/c/400005/.
    
    ESSL and GLSL are not consistent on invariant matching in vertex shader
    and fragment shader. See the following rules:
    ESSL 1.00 - input and output must match
    ESSL 3.00 - only output, inputs cannot be declared as invariant.
    
    GLSL 1.10.59 - does not exist
    GLSL 1.20.8  - input and output must match
    GLSL 1.30.10 - input and output must match
    GLSL 1.40.8  - input and output must match
    GLSL 1.50.11 - input and output must match
    GLSL 3.30.6  - input and output must match
    GLSL 4.00.9  - input and output must match
    GLSL 4.10.6  - input and output must match
    GLSL 4.20.11 - input can omit invariant
    GLSL 4.30.8  - input can omit invariant
    GLSL 4.40.9  - input can omit invariant
    GLSL 4.50.5  - input can omit invariant
    
    Since GLSL 4.20, invariant qualifier description were changed to:
    "
    Only variables output from a shader (including those that are then input
    to a subsequent shader) can be candidates for invariance. This includes
    user-defined output variables and the built-in output variables. As only
    outputs need be declared with invariant, an output from one shader stage
    will still match an input of a subsequent stage without the input being
    declared as invariant.
    "
    It's not very clear if input in fragment can be declared as invariant.
    Mesa driver disallows use of input declared as invariant in fragment
    shader, while other drivers may allow it. This CL removes invariant
    declaration for input in fragment shader except AMD driver in Linux.
    AMD's driver obviously contradicts the spec by forcing invariance to
    match between vertex and fragment shaders.
    
    BUG=chromium:639760, chromium:659326
    TEST=conformance/glsl/misc/shaders-with-invariance.html and
    conformance/glsl/bugs/invariant-does-not-leak-across-shaders.html
    
    Change-Id: I0aa9be14f0cee7a11a249c91fba27c570c52ca1b
    Reviewed-on: https://chromium-review.googlesource.com/404228
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 5677e4d136883f681b491daa492366db29fa3a78
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 28 15:27:07 2016 -0400

    Buffer11: Ensure we don't overflow on setData.
    
    When mapping uniform buffers for very large buffers, we could end
    up copying past buffer bounds. This would trigger crashes on some
    configs. We can fix this by clamping the copy size correctly.
    
    BUG=chromium:659892
    
    Change-Id: I9d1af984da34867692d4c7b8908c016ebec7a63b
    Reviewed-on: https://chromium-review.googlesource.com/404931
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 2bfc4119307336ed98dfb19f43b8b161e649b132
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 28 11:48:54 2016 -0400

    Put angle::Format table in a cpp file.
    
    The best practice is to expose a non-constexpr query function and
    hide the constexpr table in a cpp, so it won't be included verbatim
    in multiple other source files.
    
    BUG=angleproject:1389
    
    Change-Id: Ic4e19d14c832643be1552c5a14e441826c41970f
    Reviewed-on: https://chromium-review.googlesource.com/404478
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 207893177d2766730edcdd9834d99bc0bdbcefca
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 28 14:05:26 2016 -0400

    Add buildtools to recursedeps.
    
    The DEPS for buildtools changed to not recurse automatically. This
    change mirrors the change in Chromium.
    
    See https://chromium.googlesource.com/chromium/buildtools/+/3d2e47bf14e4e67816a53e304dea422fa18f9180%5E%21/#F0
    
    BUG=None
    
    Change-Id: Ib15520324ad7894d4a640a0e2013c3823849e846
    Reviewed-on: https://chromium-review.googlesource.com/404969
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit bc78fc617220c0a0f7a8259b4417a8c98f5d8bd1
Author: Jiawei-Shao <jiawei.shao@intel.com>
Date:   Fri Oct 28 11:21:37 2016 +0800

    Fix a compile error in SwapChain11.cpp
    
    In function resetOffscreenColorBuffer, the local variable 'result'
    is never used in its scope, so when attempting to build a release
    version of Chromium with latest ANGLE on Windows, ninja will report
    a compile warning and stop the compilation: 'result': local variable
    is initialized but not referenced.
    The build failure starts at:
    https://chromium-review.googlesource.com/#/c/316804/
    
    Change-Id: I29c05653f0d2e4f34c2e0402848f403ec2af8e5a
    Reviewed-on: https://chromium-review.googlesource.com/404515
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 77c13aaf7bd1e28fe6a57566358d54a45e5fcd5e
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Oct 27 22:06:51 2016 -0400

    Disable D3DTextureTest on Windows Intel OpenGL
    
    BUG=angleproject:1585
    
    Change-Id: I550750e0e94bd15c0b076f911d05f8dd92e4a202
    Reviewed-on: https://chromium-review.googlesource.com/404499
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 4f57e5f9917e70460e67b8504ec04d4887ea527d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 27 17:36:53 2016 -0400

    D3D11: Make several format tables constexpr.
    
    This should guarantee the best memory access patterns.
    It introduces some indirections for some format queries,
    but most of these should be direct array lookups, or used
    infrequently. We can optimize this later if necessary.
    
    BUG=angleproject:1389
    
    Change-Id: I5e2c8c530a07798494afd3ea36b6164d7564c02c
    Reviewed-on: https://chromium-review.googlesource.com/403314
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>

commit 1d2c41d612abb740b7a7f50dfa8ff6878ca1a144
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Oct 19 16:14:46 2016 -0700

    Implement GL_EXT_sRGB_write_control for GL.
    
    BUG=angleproject:1547
    BUG=655247
    
    Change-Id: I3f04ddc7032e4a47eb21ff3b8586c5b47415bb64
    Reviewed-on: https://chromium-review.googlesource.com/400958
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 0e3aee3fef9ecbacfd86f2d34a1481e617a00b51
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Oct 27 12:56:38 2016 +0100

    Check precision qualification for all declarations
    
    Precision qualification is now checked properly also for declarations
    that don't have qualifiers.
    
    BUG=angleproject:1574
    TEST=angle_unittests
    
    Change-Id: I3d186df0763e071614c1da9a355a6f6fefdc8091
    Reviewed-on: https://chromium-review.googlesource.com/403949
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 2018c0bac41b3bd6febc0cff3db024e75cde99e9
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Dec 8 11:48:51 2015 -0500

    Add a EGL_ANGLE_d3d_texture_client_buffer extension.
    
    Allows creation of pbuffers from D3D texture objects.
    
    BUG=540829
    BUG=angleproject:1144
    
    Change-Id: If8ea717ef011608cd01357c217837133d726d3ea
    Reviewed-on: https://chromium-review.googlesource.com/316804
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 9f4583dd8adfdeb449f99d09d94c84e7ea3b8595
Author: Jiawei-Shao <jiawei.shao@intel.com>
Date:   Wed Oct 19 11:19:51 2016 +0800

    Add Platform Detection and Tighten the workarounds on Intel GPU
    
    This patch intends to add platform detection to ANGLE and tighten
    the driver bug workarounds on Intel GPU.
    
    BUG=angleproject:1548
    
    Change-Id: I1ea57e174f688a175da8b658de4337295037fcab
    Reviewed-on: https://chromium-review.googlesource.com/399914
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 13389b663850f09d0fac7263abf80b23f25b2361
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Sun Oct 16 11:48:18 2016 +0100

    Split TIntermDeclaration from TIntermAggregate
    
    The new class TIntermDeclaration is now used for struct, interface
    block and variable declarations. TIntermDeclaration nodes do not have
    a type - rather the type is stored in each child node. The types may
    differ in case the declaration is a series of array declarators with
    mismatching sizes.
    
    TIntermAggregate is still used for function calls, function
    prototypes, function parameter lists and invariant declarations.
    
    BUG=angleproject:1490
    TEST=angle_unittests
    
    Change-Id: I0457188f354481470855f61ac1c878fc2579b1d1
    Reviewed-on: https://chromium-review.googlesource.com/400023
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 3feb3ff505555879206ced2b2dde768a4df1f7a2
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Oct 26 10:57:45 2016 -0400

    Fix handling of null data pointers for robust tex image calls.
    
    BUG=angleproject:1354
    
    Change-Id: I596ebd6d8d4d500942eeb31629113b0686933531
    Reviewed-on: https://chromium-review.googlesource.com/403537
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 449a803040d9a6c44fc88c4d91b136292791e326
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Oct 26 08:05:54 2016 -0400

    MacroExpander: bump expansionCount before peeking for "("
    
    BUG=658555
    
    Change-Id: I578b8aff37a116fd7b2b387388311a27bb8a2809
    Reviewed-on: https://chromium-review.googlesource.com/403848
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 79a92beaa7b9a549dc56b00c97d8664dcc5ac051
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Oct 25 13:17:18 2016 -0400

    Disable the emulateTinyStencilTextures workaround in FL 10.0.
    
    UpdateSubresource and CopySubresource cannot copy to depth stencil textures
    in feature level 10.0.
    
    BUG=angleproject:1572
    
    Change-Id: Ic9f8cbfb2c69de8502da7df34f1c5935144a9387
    Reviewed-on: https://chromium-review.googlesource.com/402554
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 5d0a30bf6076922567ff78cb6bbd808f562d777e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Oct 25 18:46:25 2016 -0400

    Fix warnings in TransformFeedbackTest.
    
    Introduced in cd2ed608719fbf.
    
    BUG=angleproject:1570
    
    Change-Id: I71ef8a06e379eca853e7729863976e868066df95
    Reviewed-on: https://chromium-review.googlesource.com/403313
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 51c4768bd725abfa5e78c6955dd1a89b61520997
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Oct 25 15:50:14 2016 -0400

    Fix a couple global variable warnings.
    
    The DynamicHLSL code was using global strings to find stubs.
    The math code was also using pow in a global, which can be replaced
    with a simple bit shift.
    
    BUG=angleproject:1459
    
    Change-Id: Idb0602ab7640c221843385b0a0a4cfecd5fd3a26
    Reviewed-on: https://chromium-review.googlesource.com/403289
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c5fa0ad5ef85c1b506ec4cba9a726f8e68cb4ae2
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Tue Oct 25 21:36:54 2016 +0000

    Revert "Remove invariant qualifier for input in fragment shader"
    
    This reverts commit d842a6b2014447db0676c8a3f5a5e9ae4ce67d9a.
    
    Because of WebglConformance_conformance_glsl_bugs_invariant_does_not_leak_across_shaders failure
    
    BUG=chromium:659326
    
    Change-Id: I0602e24f3d34ccf852cda865f673c5c7634f82a6
    Reviewed-on: https://chromium-review.googlesource.com/403230
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit af7f301f6ba9e5f31d1511142a936a9ba84169d0
Author: Stanislav Chiknavaryan <stanisc@chromium.org>
Date:   Mon Oct 24 18:29:09 2016 -0700

    Handle nullptr mSwapChain in SwapChain11::getSyncValues
    
    There are 6 crashes in SwapChain11::getSyncValues on crash server.
    I looked at one of them and it is due to a nullptr mSwapChain
    which appears to be a valid state that is handled in other
    SwapChain11 methods.
    
    This change adds a similar check / returning an error to
    SwapChain11::getSyncValues.
    
    BUG=angleproject:1402
    
    Change-Id: I9c17b884704b8aaaddf2d802911cd0ca961ae0b4
    Reviewed-on: https://chromium-review.googlesource.com/402613
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Stanislav Chiknavaryan <stanisc@chromium.org>

commit 81c6b5776cd309b36cb39deafa9a6032685fde7d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Oct 19 14:07:52 2016 -0700

    Implement GL_EXT_texture_sRGB_decode for GL.
    
    BUG=angleproject:1383
    BUG=655247
    
    Change-Id: I409b12e1ae418530576de5ec9ce26b7be5d91650
    Reviewed-on: https://chromium-review.googlesource.com/400807
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit de318b262446dbffe49fabe1c40749205f7e1773
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Oct 25 16:18:25 2016 +0100

    Disallow samplers as ternary operands
    
    Quoting the ESSL 1.00 spec section 4.1.7: "Except for parameters to
    texture lookup functions, array indexing, structure field selection,
    and parentheses, samplers are not allowed to be operands in
    expressions."
    
    ESSL 3.00 has a similar passage related to opaque types.
    
    Validate this correctly. Compatibility risk should be low, since
    attempting to use samplers in ternary operators was already failing
    before this in most cases.
    
    BUG=angleproject:1551
    TEST=angle_unittests
    
    Change-Id: I6cbb536f473ba9674d558b14a458f3799f9c7c9c
    Reviewed-on: https://chromium-review.googlesource.com/402694
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit d842a6b2014447db0676c8a3f5a5e9ae4ce67d9a
Author: Qiankun Miao <qiankun.miao@intel.com>
Date:   Mon Aug 29 10:05:27 2016 +0800

    Remove invariant qualifier for input in fragment shader
    
    ESSL and GLSL are not consistent on invariant matching in vertex shader
    and fragment shader. See the following rules:
    ESSL 1.00 - input and output must match
    ESSL 3.00 - only output, inputs cannot be declared as invariant.
    
    GLSL 1.10.59 - does not exist
    GLSL 1.20.8  - input and output must match
    GLSL 1.30.10 - input and output must match
    GLSL 1.40.8  - input and output must match
    GLSL 1.50.11 - input and output must match
    GLSL 3.30.6  - input and output must match
    GLSL 4.00.9  - input and output must match
    GLSL 4.10.6  - input and output must match
    GLSL 4.20.11 - input can omit invariant
    GLSL 4.30.8  - input can omit invariant
    GLSL 4.40.9  - input can omit invariant
    GLSL 4.50.5  - input can omit invariant
    
    Since GLSL 4.20, invariant qualifier description were changed to:
    "
    Only variables output from a shader (including those that are then input
    to a subsequent shader) can be candidates for invariance. This includes
    user-defined output variables and the built-in output variables. As only
    outputs need be declared with invariant, an output from one shader stage
    will still match an input of a subsequent stage without the input being
    declared as invariant.
    "
    It's not very clear if input in fragment can be declared as invariant.
    Mesa driver disallows use of input declared as invariant in fragment
    shader, while other drivers may allow it.
    
    In ESSL 3.00, inputs cannot be declared as invariant. ANGLE should
    follow this rule for GLSL >= 4.20.
    
    BUG=chromium:639760
    
    Change-Id: I7f7a07401381ac970488b69752f6d50d4f19d31f
    Reviewed-on: https://chromium-review.googlesource.com/400005
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 4c5ff0056bba5d6177bfcbaa84e4a6eaff20b2cf
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Oct 25 09:32:17 2016 -0400

    ProgramGL: correctly copy sampler uniforms
    
    BUG=angleproject:1570
    
    Change-Id: Ic39f5f1ff8f565b2876fdfc8d738a50f24b911b6
    Reviewed-on: https://chromium-review.googlesource.com/402930
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit cd2ed608719fbf0c312f27005e16407689c01351
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Oct 25 09:44:01 2016 -0400

    TransformFeedbackTest: Give enough vertex attributes
    
    BUG=angleproject:1570
    
    Change-Id: I6d148c6ce22f3b8266257b25c7f5b676a13c5c92
    Reviewed-on: https://chromium-review.googlesource.com/402931
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 1c2faacb3e00e19d767bc1f9578baeafbf0bc988
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Oct 25 11:11:34 2016 -0400

    OSXWindow: Suppress a flaky crash when running end2end tests
    
    For some reason while running the end2end tests, when the application
    gets an NSAppKitDefinedEventType with subtype
    NSApplicationActivateEventType (and of course window = 0), a null
    dereference happens. The crash seems timing dependent, since the root
    cause was not found and this is test code, add an ugly suppression.
    
    BUG=angleproject:1570
    
    Change-Id: I3af2188ddae8ca3c0a4458e15a8af01e66215e3f
    Reviewed-on: https://chromium-review.googlesource.com/403049
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 0bdfe4c85764094dbaf2280f480443a64c2ea916
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Oct 25 09:52:33 2016 -0400

    VertexAttributeTest: don't copy too much data in the buffer
    
    BUG=angleproject:1570
    
    Change-Id: I199bb88042c3926cb05e27494bb6af9b2666cd00
    Reviewed-on: https://chromium-review.googlesource.com/402932
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit fb80eaf072f8d2342bcf18bff28c1fe71664b614
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Jul 25 13:39:30 2016 +0300

    Enable GenerateMipmapBaseLevel test on NVIDIA
    
    The issue is no longer reproducible on newest drivers.
    
    TEST=angle_end2end_tests
    
    Change-Id: I18728877ed9b936ecb469c44e3dae185ab4f08d3
    Reviewed-on: https://chromium-review.googlesource.com/362950
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 2cc85b3b607babc99b3da8034012111bbf219bc9
Author: Martin Radev <mradev@nvidia.com>
Date:   Fri Aug 5 16:22:53 2016 +0300

    Add support for images in the compiler
    
    The patch adds support for GLSL ES 3.1 image types.
    
    Internal format layout qualifiers for images are added.
    
    Support for the readonly and writeonly qualifiers are added. The other
    memory qualifiers are omitted as to make the patch simpler.
    
    Tests are added which check for correct and incorrect usage of images,
    internal format layout and memory qualifiers.
    
    BUG=angleproject:1442
    
    TEST=angle_unittests
    TEST=angle_end2end_tests
    
    Change-Id: Ie4d3acb2a195de11b405ad54110a04c4c1de0b7e
    Reviewed-on: https://chromium-review.googlesource.com/378855
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 2a3dc0f0e3101b324caae57e121b4800548f0076
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 24 17:09:40 2016 -0400

    Roll buildtools.
    
    This should fix the weird gn problem with git cl format.
    
    BUG=None
    
    Change-Id: I35d4cf110bda302b6336ef412613a80fcde8208b
    Reviewed-on: https://chromium-review.googlesource.com/402253
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 3b5ffe5ca9f6eafa5a5c08b42fbc313324090400
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 24 15:47:16 2016 -0400

    Fix ASSERT in Buffer11::PackStorage::copyFromStorage.
    
    This ASSERT was being overly restrictive, when the code would work
    correctly when reading from system memory storage as well as staging.
    
    BUG=angleproject:1555
    
    Change-Id: Ib45185d8c127a1fb2ce54db9e96fe41d68d5ff2e
    Reviewed-on: https://chromium-review.googlesource.com/402269
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 2a1e8b6b062eb118f168d0ba19254a8d041fdbe9
Author: Kenneth Russell <kbr@chromium.org>
Date:   Mon Oct 24 12:21:03 2016 -0700

    Add documentation on cherry-picking changes to release branches.
    
    BUG=none
    
    Change-Id: I9ac61281dbfbde6dc285bc687734f6a0fb67034b
    Reviewed-on: https://chromium-review.googlesource.com/402230
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 7efe747cb06595994f4cdbc4cdaf16bca9e1c28a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 7 16:12:46 2016 -0400

    D3D11: Fix style in the entire back-end.
    
    BUG=None
    
    Change-Id: I32cbcd4daa1f386654ea5e8f0a25d8635b5df731
    Reviewed-on: https://chromium-review.googlesource.com/402016
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a284f2ff19d51d6e06c216772d69dff25e189dc3
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Aug 7 16:49:07 2015 -0400

    Add stubs for EGL_EXT_swap_buffers_with_damage.
    
    BUG=512090
    
    Change-Id: I9413d6f5c13b9ea59ab9c923dc6c5d157f344166
    Reviewed-on: https://chromium-review.googlesource.com/291652
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit f01731530e7f754e5ebaf32d00f3e23b62376424
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Oct 17 09:05:03 2016 -0700

    Forbid shared and packed layouts in WebGL
    
    WebGL 2.0 spec section 5.25 specifies this.
    
    BUG=angleproject:1542
    TEST=WebGL 2 conformance tests
    
    Change-Id: Ic5758bc0e767a8e6dd032e42c0a69bcae06381c4
    Reviewed-on: https://chromium-review.googlesource.com/399682
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 250ae90203a31b53d78655e3295b833d56a8accf
Author: Qiankun Miao <qiankun.miao@intel.com>
Date:   Thu Oct 20 16:32:03 2016 +0800

    Remove unused function getInterpolationString
    
    BUG=
    
    Change-Id: I4135f4ae939043efa8ccab65ef1a5eb441370828
    Reviewed-on: https://chromium-review.googlesource.com/401673
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit cf255eacd7c461c43fde7145315b4f71774443ea
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Oct 20 11:39:09 2016 -0700

    Implement robust the GetIntegeri_v entry point.
    
    BUG=angleproject:1354
    
    Change-Id: I408d0e78064aa4e493d6ca66565384ac585040e1
    Reviewed-on: https://chromium-review.googlesource.com/401400
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 496c02dfcb330cbdc95db8e0542247e75ff93b03
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Oct 20 11:38:11 2016 -0700

    Implement robust the GetBufferPointerv entry point.
    
    BUG=angleproject:1354
    
    Change-Id: Id7dd8438224adb1e2729bcdc18a306e5dfc83a3b
    Reviewed-on: https://chromium-review.googlesource.com/401399
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 0a9661f2b4746a37942e9af5539b23f5fbd80013
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Oct 20 10:59:20 2016 -0700

    Implement robust the GetInternalFormativ entry point.
    
    BUG=angleproject:1354
    
    Change-Id: Ib25fe4905fdd6c532c67de1d4ca1ba37932f8e0b
    Reviewed-on: https://chromium-review.googlesource.com/401149
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 635671dc0d00c0b6af95638a0803ce22516ece92
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Oct 20 07:57:36 2016 -0700

    Fix pruning empty declarations from loop headers
    
    Empty declarations are possible in loop init expressions. Make
    PruneEmptyDeclarations take this into account.
    
    BUG=angleproject:1550
    TEST=angle_unittests
    
    Change-Id: If407babf9b6f7a26dfcf73ff345493d3e2af3f9a
    Reviewed-on: https://chromium-review.googlesource.com/401147
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 14ac0d77a7174fbcc8f78e123ef68f123916e831
Author: Qiankun Miao <qiankun.miao@intel.com>
Date:   Thu Oct 20 16:17:46 2016 +0800

    Remove break after a return in switch block
    
    BUG=
    
    Change-Id: I5f36d5c51aa3eb6d498ff21733e67de418c26386
    Reviewed-on: https://chromium-review.googlesource.com/401164
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 9e77ce35fede2b397c1034e74e2d8687f30d3ec1
Author: Andi-Bogdan Postelnicu <andi@mozilla.com>
Date:   Tue Sep 27 17:05:44 2016 +0300

    Prevent fallback on default branch for case EbtSamplerCubeShadow
    
    BUG=angleproject:1549
    
    Change-Id: I8f003257b6f39282cb52ccdbacb73860ab37c919
    Reviewed-on: https://chromium-review.googlesource.com/390271
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit ebebe1c72daf47e039537554b315b48490d634e4
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Oct 14 12:01:31 2016 -0400

    Implement robust GetBufferParameter entry points.
    
    BUG=angleproject:1354
    
    Change-Id: I979c8768975380dba7f0b256b2729b2147ff7984
    Reviewed-on: https://chromium-review.googlesource.com/399042
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 6899b87f8c02c358fe094a96dc1f2cf66e5fe765
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Oct 14 11:30:13 2016 -0400

    Implement the robust GetActiveUniformBlockiv entry point.
    
    BUG=angleproject:1354
    
    Change-Id: I2e8051910f50dc040f6be4922142364d36788c4e
    Reviewed-on: https://chromium-review.googlesource.com/399041
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit c52f6f1a36826deba882ce7e064809c1a1941300
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Oct 14 10:18:00 2016 -0400

    Implement remaining robust TexImage entry points.
    
    BUG=angleproject:1354
    
    Change-Id: Ied04fa28387f3bef9f2bead7b60878b1a353c8bd
    Reviewed-on: https://chromium-review.googlesource.com/399039
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 2186c3853e15c8a30ab01e86f482982e68ec22fc
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Oct 14 10:54:54 2016 -0400

    Implement robust GetQuery entry points.
    
    BUG=angleproject:1354
    
    Change-Id: Ic1aaab56d2313a19fb0362f280dbfbf804fb3fcc
    Reviewed-on: https://chromium-review.googlesource.com/399040
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit b2792db1c73f39e6016e7ee08594471a4f8f0a8a
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Oct 7 11:21:09 2016 -0400

    translator: Reject invalid combination of compile flags
    
    ADD_AND_TRUE_TO_LOOP_CONDITION breaks loop unrolling because LoopInfo
    expects the loop condition to have been validated to be "symbol < constant"
    and stayed that way.
    
    BUG=chromium:653454
    BUG=chromium:653694
    
    Change-Id: I2057fde3a308623bd2dd7571ee878dd42b1fdac3
    Reviewed-on: https://chromium-review.googlesource.com/395306
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit e9e573bd5fb3525c0c1b2653090b448c7fc276a4
Author: Antoine Labour <piman@chromium.org>
Date:   Fri Oct 14 17:08:57 2016 -0700

    Fix typo EGL_PLATFORM_ANGLE_TYPE_NULL_ANGLE vs EGL_PLATFORM_ANGLE_DEVICE_TYPE_NULL_ANGLE
    
    Change-Id: I192c4223e3fdefb7cecf96b50bc70529519ca650
    Reviewed-on: https://chromium-review.googlesource.com/399678
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 2e43dbb705891ec43983e82463e49951c90e9808
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Oct 14 12:27:35 2016 -0400

    Implement remaining robust Get entry points.
    
    BUG=angleproject:1354
    
    Change-Id: I204962a7178d47a43034d0213c81b82d8f6a25be
    Reviewed-on: https://chromium-review.googlesource.com/399043
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit c0281d4641a92f4f834b81658b1af674e1fe35d7
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Oct 17 15:19:01 2016 -0400

    HandleAllocator: make HandleRange inclusive.
    
    Previously part of the code saw it as [begin, end) while others saw it
    as [begin, end].
    
    BUG=angleproject:1052
    BUG=chromium:656485
    
    Change-Id: Id8e9e26b167e02a07dfc5341569df53a14d0623d
    Reviewed-on: https://chromium-review.googlesource.com/399565
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 4db7ded54d76eeaf6bcf92cdddbd90b514e6590f
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Oct 13 12:23:11 2016 +0100

    Change comma nodes to TIntermBinary
    
    Comma nodes always have just two parameters. If there's an expression
    with several commas in the middle, it's parsed as a tree of comma
    operations. It makes more sense to represent it as a binary node
    rather than an aggregate node.
    
    After this patch, TIntermAggregate is still used for function
    prototypes, function parameter lists, function calls, and variable and
    invariant declarations.
    
    BUG=angleproject:1490
    TEST=angle_unittests, angle_end2end_tests
    
    Change-Id: I66be10624bf27bcf25987b4d93958d4a07600771
    Reviewed-on: https://chromium-review.googlesource.com/397320
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 13e4d21b837db6388bcbb5fea895b70f8f1f8d93
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Oct 13 11:50:27 2016 +0100

    Add switch and case node support to intermediate output
    
    After this all node types are printed correctly in intermediate
    output.
    
    BUG=angleproject:1544
    TEST=shader_translator -i
    
    Change-Id: I5c120b0ff69f66b00db88e8423a1c698d339af22
    Reviewed-on: https://chromium-review.googlesource.com/397319
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 0b0310618709f1f4dddd63e5334bf4f451e922a7
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Oct 13 14:30:04 2016 -0400

    Implement robust GetVertexAttrib entry points.
    
    BUG=angleproject:1354
    
    Change-Id: Ic71392555ae4212c4144bc67d7c5e53874af4d53
    Reviewed-on: https://chromium-review.googlesource.com/398198
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 336b147073e0ba86bf1fdf69f8e4d0c37220b662
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Oct 5 16:37:55 2016 +0100

    Split TIntermFunctionDefinition from TIntermAggregate
    
    This makes the code easier to understand. Function definition nodes
    always have just two children, the parameters node and the function
    body node, so there was no proper reason why they should be aggregate
    nodes.
    
    As a part of this change, intermediate output is modified to print
    symbol table ids of functions so that debugging function id related
    functionality will be easier in the future.
    
    After this patch, TIntermAggregate is still used for function
    prototypes, function parameter lists, function calls, variable and
    invariant declarations and the comma (sequence) operator.
    
    BUG=angleproject:1490
    TEST=angle_unittests, angle_end2end_tests
    
    Change-Id: Ib88b4ca5d21abd5f126836ca5900d0baecabd19e
    Reviewed-on: https://chromium-review.googlesource.com/394707
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 138ec92f52da7c0fc8e6df08ac4e4e572bbf6b39
Author: Stanislav Chiknavaryan <stanisc@chromium.org>
Date:   Mon Oct 10 17:38:55 2016 -0700

    Fix and re-enable EGLSyncControlTest.SyncValuesTest
    
    It looks like the problem was not making the OS Window visible.
    It turned out the previous version of the test succeeded only
    when I ran angle_end2end_tests.exe with
    --gtest_filter=EGLSyncControlTest.SyncValuesTest and failed
    when I ran all tests, especially with --single-process-tests.
    
    I tested the modified version of the test which repeated the
    measurement 50 times and couldn't get a reliable test execution
    until I figured out that back buffers were queueing and not
    swapping successfully with the window being invisible.
    
    This version works reliably when running all angle_end2end_tests.exe
    on my workstation and on a test laptop, both running Windows 10,
    with or without --single-process-tests.
    
    BUG=angleproject:1402
    
    Change-Id: I97764a86b20119cc586ea2a4fd1d94558c4e737e
    Reviewed-on: https://chromium-review.googlesource.com/397739
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Stanislav Chiknavaryan <stanisc@chromium.org>

commit 7835b525b7cb1409ca5229e491c6f6a7cbbc0d93
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Sat Oct 8 11:20:17 2016 +0800

    Reland "Add workaround for unused std140 and shared uniform blocks on MacOS"
    
    On some Mac drivers with shader version 4.1, they will
    treat unused std140 and shared uniform blocks' members as inactive. However,
    WebGL2.0 based on OpenGL ES3.0.4 requires all members of a named uniform block
    declared with a shared or std140 layout qualifier to be considered active.
    The uniform block itself is also considered active.
    
    This workaround is to reference all members of unused std140 and shared uniform blocks
    at the beginning of the vertex/fragment shader's main().
    
    BUG=chromium:618464
    TEST=UniformBufferTest.ActiveUniformBlockNumber
    
    Change-Id: I18da4e2b61b0170068bf5ea38ce54667b0737780
    Reviewed-on: https://chromium-review.googlesource.com/395648
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit f7417801754efc0b71e50d9565dcf093f83bf592
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Oct 12 17:59:31 2016 -0400

    FramebufferGL: only work around SRGB blits on Desktop GL
    
    BUG=angleproject:1492
    
    Change-Id: I6c210243dffb775efd61c33160dabcbf7406a757
    Reviewed-on: https://chromium-review.googlesource.com/397798
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit c1984ed4730cd0a47ee68641a3c1569870808a96
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Oct 7 12:41:00 2016 -0400

    Implement robust TexParameter and SamplerParameter entry points.
    
    BUG=angleproject:1354
    
    Change-Id: I3aa2dcb8603a839f9c07cd9dd41cb695d2e699f2
    Reviewed-on: https://chromium-review.googlesource.com/395529
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit bd674557e175b718330dc6a916dfb1bb432ead24
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Oct 6 13:28:42 2016 +0100

    Separate function info from TIntermAggregate
    
    This change will make it easier to split types of TIntermAggregate
    nodes representing functions and function calls into different node
    classes.
    
    BUG=angleproject:1490
    TEST=angle_unittests
    
    Change-Id: I730aa7858fe31fda86218fc685980c6ad486f5e0
    Reviewed-on: https://chromium-review.googlesource.com/394706
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit bd3f8780b13df66029cba4e4e3cbe35b20ac829a
Author: Martin Radev <martin.b.radev@gmail.com>
Date:   Wed Oct 12 17:05:24 2016 +0300

    Fix GCC 5.4 compilation error when parsing the __clang__ macro
    
    The __clang__ macro cannot be directly used with an #if directive if it
    has not been defined. This causes a compilation error under GCC 5.4
    Linux.
    
    Change-Id: Ieca752cd9f0e90c82febc35e19e1c1f3c6096de1
    Reviewed-on: https://chromium-review.googlesource.com/397220
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 476197f9d439fea68ecd4616811c849bbf12824b
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Oct 11 13:59:08 2016 +0100

    Clean up TSymbol initialization
    
    Now TSymbol objects always get their id when they are constructed. The
    id cannot be changed after the TSymbol is created.
    
    This makes it simpler to insert both mangled and unmangled versions of
    a function to the symbol table. These can now both share the same
    TSymbol object, unlike before, when inserting the same symbol twice
    would have changed its symbol id.
    
    This requires changes to function definition parsing: function
    definition nodes now share any symbol created by previous prototype
    declarations of the function. The parameters on the symbol get set to
    the parameters in the function definition header.
    
    BUG=angleproject:1490
    TEST=angle_unittests
    
    Change-Id: I8e600e9b5e5de27d64b85c5042cfd23ff02abe63
    Reviewed-on: https://chromium-review.googlesource.com/396838
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 0b94528ba551153bf8882df5ab427cb74cd412c5
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Oct 11 08:48:52 2016 -0700

    Fix synchronization of workaround dirty bits in TextureGL.
    
    The local dirty bits were sometimes not synced because gl::Texture doesn't
    know that they exist.  Also fix calculation of when the workaround dirty
    bits need to be set.
    
    BUG=angleproject:1386
    
    Change-Id: I3d9d1a01e5441be783190422093c485ea5da7aec
    Reviewed-on: https://chromium-review.googlesource.com/396542
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit f41d0ee137324926c3a95d2cef40bba05238fb9e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Oct 7 13:04:23 2016 -0400

    Implement robust GetUniform entry points.
    
    BUG=angleproject:1354
    
    Change-Id: I07dccc470c57aadd41cae8fce327e4aca58a0bea
    Reviewed-on: https://chromium-review.googlesource.com/395113
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 4310354ebcaca62d4c16e2577e58a5148dffb877
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Oct 10 12:28:13 2016 +0100

    Handle corner cases of shifting signed integers better
    
    Right-shifting a negative number should sign-extend according to the
    ESSL 3.00.6 spec. Implement sign-extending right shift so that it
    doesn't hit any undefined behavior in the C++ spec. Negative lhs
    operands are now allowed for bit-shift right.
    
    Also implement bit-shift left via conversion to unsigned integer, so
    that it does not hit signed integer overflow. Negative lhs operands
    are now allowed also for bit-shift left as well.
    
    BUG=chromium:654103
    TEST=angle_unittests
    
    Change-Id: Iee241de9fd0d74c2f8a88219bddec690bb8e4db2
    Reviewed-on: https://chromium-review.googlesource.com/395688
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 894a634303d18c64093ed959696cf500700cb728
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Tue Oct 11 14:54:51 2016 +0800

    Add missing override identifier for getSequence
    
    Fixed the compiling error in Mac by adding missing override identifier
    for getSequence.
    
    BUG=angleproject:1490
    TEST=compile on macOS Sierra 10.12
    
    Change-Id: I8f8d556c82885bbee1712e1b6e5f439b67906023
    Reviewed-on: https://chromium-review.googlesource.com/396403
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit d7d0ed329b39189758e89706650f537c6e313cf3
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Oct 7 11:33:51 2016 -0400

    Implement robust GetShaderiv entry points.
    
    BUG=angleproject:1354
    
    Change-Id: I994b7a596b5b67fadbd91ad0d64054c792523200
    Reviewed-on: https://chromium-review.googlesource.com/395111
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit f2f6f65f54ad4f0b08a7f67c4ca89a1deefea6f9
Author: Kenneth Russell <kbr@chromium.org>
Date:   Wed Oct 5 19:53:23 2016 -0700

    Add cross-platform Workarounds to Context.
    
    These are distinct from the renderer-level workarounds.
    
    Add the first workaround, loseContextOnOutOfMemory. This is enabled
    when the application enables reset notifications via KHR_robustness,
    and is intended for more robust handling of errors in key APIs for
    Chromium's correctness (in particular, sync objects).
    
    Change Context::getResetStatus to persistently return the "lost" status
    if it was set by calling Context::markContextLost. Previously, if
    markContextLost was called but the implementation hadn't actually
    received an error like a lost device, the "lost" reset status would be
    dropped. Returning it only once to the caller is also fragile. Tested
    this by manually injecting a failure in FenceSync11::clientWait and
    ensuring that Chromium detected it as expected.
    
    BUG=chromium:650138
    
    Change-Id: Ie53069eacd1754ad5d64936e3fef315af24605fa
    Reviewed-on: https://chromium-review.googlesource.com/394233
    Commit-Queue: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit f8fd2bd3a9e63df5e3a9ae0a85ea6a77259c9211
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Oct 10 14:08:59 2016 +0100

    Add missing virtual destructor on TIntermAggregateBase
    
    BUG=angleproject:1490
    TEST=build on Linux GCC
    
    Change-Id: I64f53d636d4acee0469b6e9ba1201322087d5f65
    Reviewed-on: https://chromium-review.googlesource.com/395732
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 6d40bbdd9c61a654c707445ccddc0cb7e620d737
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Sep 30 13:49:38 2016 +0100

    Split TIntermBlock from TIntermAggregate
    
    The new TIntermBlock node class replaces TIntermAggregate nodes with
    the EOpSequence op. It represents the root node of the tree which is
    a list of declarations and function definitions, and any code blocks
    that can be denoted by curly braces. These include function and loop
    bodies, and if-else branches.
    
    This change enables a bunch of more compile-time type checking, and
    makes the AST code easier to understand and less error-prone.
    
    The PostProcess step that used to be done to ensure that the root node
    is TIntermAggregate is removed in favor of making sure that the root
    node is a TIntermBlock in the glslang.y parsing code.
    
    Intermediate output formatting is improved to print the EOpNull error
    in a clearer way.
    
    After this patch, TIntermAggregate is still used for function
    definitions, function prototypes, function parameter lists, function
    calls, variable and invariant declarations and the comma (sequence)
    operator.
    
    BUG=angleproject:1490
    TEST=angle_unittests, angle_end2end_tests
    
    Change-Id: I04044affff979a11577bc1fe75d747e538b799c8
    Reviewed-on: https://chromium-review.googlesource.com/393726
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit d0694d988138242d741aeff8a3669158cc0ab5c2
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Fri Oct 7 15:47:04 2016 -0400

    Add linux_chromium_chromeos_ozone_rel_ng to CQ.
    
    So ANGLE's Ozone backend gets compiled.
    
    BUG=angleproject:1412
    
    Change-Id: Id4b401f59cd9d3f4dd0b945af67ecc0c9e5d68a2
    Reviewed-on: https://chromium-review.googlesource.com/395607
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>

commit a74183613955bd891f56f6a979a5391c16c64138
Author: Stanislav Chiknavaryan <stanisc@chromium.org>
Date:   Sat Oct 8 18:03:26 2016 -0700

    Disabling EGLSyncControlTest.SyncValuesTest
    
    Disabling EGLSyncControlTest.SyncValuesTest for now until I can get
    it stable on Windows 8.
    
    BUG=angleproject:1402
    
    Change-Id: I21a770e0f8516916c6987ba66ec49762cd99b78a
    Reviewed-on: https://chromium-review.googlesource.com/395577
    Reviewed-by: Stanislav Chiknavaryan <stanisc@chromium.org>
    Commit-Queue: Stanislav Chiknavaryan <stanisc@chromium.org>

commit 8234e7b3b14e6960af132f24e4fc993c3c7cd155
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 7 15:12:10 2016 -0400

    Refactor some errors into ANGLE_TRY macros.
    
    BUG=None
    
    Change-Id: I00ff2523995cb49d1af60cae62c2bba0d020eed4
    Reviewed-on: https://chromium-review.googlesource.com/395569
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit ef300b153ba3f1bfd2d130aca2bc4d1bb19ec07d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 7 15:12:09 2016 -0400

    Refactor some entry point stuff.
    
    BUG=angleproject:747
    
    Change-Id: I80634b5e6de8bae1433c49a56a92d3b19c24e11d
    Reviewed-on: https://chromium-review.googlesource.com/395568
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 740d9020a3409ad49b4fedfcf597967488369f57
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Oct 7 11:20:52 2016 -0400

    Implement robust GetRenderbufferParameteriv entry points.
    
    BUG=angleproject:1354
    
    Change-Id: I073b75d416bd5184402b580bcebfca34f7cd28a8
    Reviewed-on: https://chromium-review.googlesource.com/395110
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 62fce5b166f63a5f2104dea37de9e99d5d1792c4
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Sep 30 10:46:35 2016 -0400

    Implement robust ReadPixels entry points.
    
    BUG=angleproject:1354
    
    Change-Id: I70738d2f00e283ddc52b1545f8efda9022110487
    Reviewed-on: https://chromium-review.googlesource.com/391090
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d258ca045f31eb43ec01b5501c84e9afd8e82cd6
Author: Stanislav Chiknavaryan <stanisc@chromium.org>
Date:   Fri Oct 7 11:19:04 2016 -0700

    Fix EGLSyncControlTest.SyncValuesTest timeout on Windowse Server 2012 R2
    
    The test does two buffer swaps and polls sync values waiting for sbc
    (swap buffer counter) value to first increase from 0 to 1, then from 1
    to 2.
    
    Looking the error log I see that sometimes it fails on the first wait
    and sometimes on the second wait. Also the total runtime varies between
    1000 and 1600 ms. That makes me think that perhaps test doesn't poll
    long enough to run reliably on a test machine.
    
    I've increased the number of poll iteration to 500 and the sleep between
    iterations - to 10 ms (I think in reality it was 10 ms already because
    the previously used 1 ms is only possible with high resolution system
    timer).
    
    BUG=angleproject:1402
    
    Change-Id: I8f6fe209756a1597e2739390352c90d893eaf940
    Reviewed-on: https://chromium-review.googlesource.com/395506
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit e61d304564cc60751f082390fa7d370c277a54fc
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Oct 7 13:20:52 2016 -0400

    Don't write to the <length> parameter if an error is generated.
    
    BUG=angleproject:1354
    
    Change-Id: I9ed4a675b2be07b00c29d34e283280dc65238fea
    Reviewed-on: https://chromium-review.googlesource.com/395109
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit e9e8a899eed95c89431bd9f0d771352157b877e8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 7 10:24:52 2016 -0700

    D3D11: Fix some format support entries.
    
    On Intel these were seeingly missing or erroneous.
    
    BUG=angleproject:1389
    BUG=angleproject:1459
    
    Change-Id: I4410407ce1171f420b275c7662896f5b26a949c2
    Reviewed-on: https://chromium-review.googlesource.com/395168
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 08e229e79bb201820600b9a4dd9d77e68b4090cd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Oct 5 17:16:13 2016 -0400

    translator: Return null uniform map if no HLSL.
    
    This replaces the global empty map.
    
    BUG=angleproject:1459
    
    Change-Id: If7d824cbf4492e722cbf99d1045402a26535af5c
    Reviewed-on: https://chromium-review.googlesource.com/394236
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 76648fe2c8642c16ecade893757eca458f40ab40
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Oct 5 17:01:41 2016 -0400

    Constexpr-fy the ES3 effective format map.
    
    This removes the global std::vector constructor here.
    
    BUG=angleproject:1459
    
    Change-Id: I407a7bda1f8f8a2dd8d5b0e847573f8594eccf39
    Reviewed-on: https://chromium-review.googlesource.com/394235
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 224168687e76a0d102501655e45fdb98481d509e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jun 8 16:14:36 2016 -0700

    Add dirty bits for internal texture state.
    
    Synchronize TextureGL internal state using the dirty bits.
    
    TexturesBenchmark scores:
    Before: 5051
    After: 7639
    Diff: +51.2%
    
    BUG=angleproject:1386
    
    Change-Id: Id04aef778a47175d1a284564495a646045855b4b
    Reviewed-on: https://chromium-review.googlesource.com/393866
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 47110bf4b3d38fdfe0af3480e67d72ed5995ef77
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Apr 20 11:13:22 2016 -0700

    Implement CHROMIUM_copy_compressed_texture for D3D11.
    
    BUG=angleproject:1356
    
    Change-Id: Id563997d2921cf558c52a781ae66d8bde58d1f2f
    Reviewed-on: https://chromium-review.googlesource.com/339847
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 55e98210baa5db8fc4124042b7162a776a01c802
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Oct 5 16:39:13 2016 -0400

    Make global ES3 formats STL map a switch.
    
    This eliminates another global std::map, and replaces it with a json
    generated switch. This should be better for threading, better on
    memory use, and faster.
    
    BUG=angleproject:1389
    BUG=angleproject:1459
    
    Change-Id: I1d289637c00783690ec8ea743ea2aa17b0ab8e50
    Reviewed-on: https://chromium-review.googlesource.com/394234
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 5878f83207e595d738842576c8220909ad10f1fb
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Oct 7 10:14:58 2016 +0100

    Fix formatting of OutputHLSL::visitAggregate
    
    Subsequent refactoring of this code will be easier to review if there
    won't be unrelated style changes that git cl format insists on doing.
    
    BUG=angleproject:1490
    TEST=angle_unittests
    
    Change-Id: I102fd73bd92317ab438e1676422212f644d2859b
    Reviewed-on: https://chromium-review.googlesource.com/394649
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit b7fe49db187d8bdc27611ef2c80f958ab0514024
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Oct 5 16:39:11 2016 -0400

    D3D11: Fold mipmap gen caps into the support table.
    
    This change is two-fold: first it allows us to remove the std::map for
    D3D11 format info, which was only being used in a single place.
    
    Secondly, it fixed the support table to use the correct 9_3 caps for
    texture support, determined by running the D3D11FormatTablesTest.
    This should reduce the number of format queries we need to run on 9_3
    startup.
    
    BUG=angleproject:1389
    BUG=angleproject:1459
    
    Change-Id: I2435a47fc221e73c96337bc7c1c4ed37b527bc1f
    Reviewed-on: https://chromium-review.googlesource.com/392210
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit e0548ad2e1f49c73606d7b592546e5ace5ca087b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 6 15:55:35 2016 -0400

    D3D11: Split off DXGI component type query.
    
    This query is currently a part of a std::map. Split it off to its
    own switch using auto-generation based on the format string.
    
    Also introduce a DXGI-to-angle format map. This map is not totally
    complete because some more esoteric formats don't have corresponding
    ANGLE formats yet. We should add these other formats (EG NV12) if we
    need them.
    
    BUG=angleproject:1389
    BUG=angleproject:1459
    
    Change-Id: I49e045bdc04a52166299c9e22a4c4d3f24069dbc
    Reviewed-on: https://chromium-review.googlesource.com/392209
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 65c79dbc3fa7fcad28758eec330547ea34593848
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Oct 6 17:11:28 2016 +0100

    Clean up RecordConstantPrecision interaction with switch/case
    
    There were two bugs here that were masking each other:
    
    1. Case nodes were not being added to AST traversal path.
    2. RecordConstantPrecision did not check if a constant was a child of
       a case node.
    
    Fix these.
    
    BUG=angleproject:1490
    TEST=WebGL 2 conformance tests
    
    Change-Id: Ic6cb7942bf57870fa26eb6a011919a2d7951cc85
    Reviewed-on: https://chromium-review.googlesource.com/394588
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 5d9f5df01ac5a384d9b7cbb49d9f98a76b62c7ad
Author: Stanislav Chiknavaryan <stanisc@chromium.org>
Date:   Tue Sep 27 13:28:25 2016 -0700

    Implementation of eglGetSyncValuesCHROMIUM extension.
    
    This change adds implementation of eglGetSyncValuesCHROMIUM extension
    on D3D11 with Direct Composition. This should work on Windows 8.1 and
    above.
    
    The implementation is based on IDXGISwapChain::GetFrameStatistics.
    
    Extension documentation:
    https://chromium.googlesource.com/chromium/src/gpu/+/master/GLES2/extensions/CHROMIUM/EGL_CHROMIUM_get_sync_values.txt
    
    BUG=angleproject:1402
    
    Change-Id: I306434dd8d85d618b14edfa38fc2a22e50fddacc
    Reviewed-on: https://chromium-review.googlesource.com/390351
    Commit-Queue: Stanislav Chiknavaryan <stanisc@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 873d00f46e80c30c8fa5a130a02657186c7fabb5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 6 13:05:57 2016 -0400

    Change UNREACHABLE to use ASSERT.
    
    The ASSERT macro is enabled with ANGLE_RELEASE_ASSERT, so we should
    use the same behaviour as the normal ASSERT for the other debug
    macros.
    
    Also remove UNREACHABLEs in the format validation code that were
    being hit silently.
    
    Also make some EGL tests skip instead of fail, since they were hitting
    UNIMPLEMENTED.
    
    BUG=angleproject:1332
    BUG=angleproject:1540
    BUG=angleproject:1340
    
    Change-Id: Ie3347f2bf2459a5831b66827871998d8fbe7d4b2
    Reviewed-on: https://chromium-review.googlesource.com/392490
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit d569619d7d708ee920112980753777cfda6c7bfc
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 6 11:09:24 2016 -0400

    translator: Fail compilation if precision emu unsupported.
    
    The fuzzer uncovered a case where we were trying to emulate precision
    on HLSL 3.0, causing an ASSERT crash.
    
    BUG=chromium:653276
    
    Change-Id: I2e666a1ff4f605541e25f04264146063559cb835
    Reviewed-on: https://chromium-review.googlesource.com/394237
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 5b7d40b374c33d2bc84ef08922b4db0f4be6ca22
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 6 11:41:02 2016 -0400

    translator: Avoid divide-by-zero in error case.
    
    In some code path found by a fuzzer, we would have a zero sized
    array, which would trigger a zero divide. I was unable to extract
    the failing shader from the fuzzer case trivially.
    
    BUG=chromium:653274
    
    Change-Id: Ia2558ae828fa73615c901fd1cda9ddaa3a72f1a9
    Reviewed-on: https://chromium-review.googlesource.com/394238
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 26a717b0f390c27ddd6ee8dff7eb2ad92bafd55a
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Sep 27 08:45:42 2016 -0700

    GL: Emulate SRGB blits where needed.
    
    Desktop OpenGL before 4.4 doesn't handle SRGB blits the same way OpenGL
    ES does. Emulate them by drawing a quad.
    
    BUG=angleproject:1492
    BUG=chromium:634525
    
    Change-Id: I9f2992d9b373941b10f19f8a51564f0f756cc4df
    Reviewed-on: https://chromium-review.googlesource.com/389853
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit b80a5e9ccd5f49173eae87b81cceca3e42ad3949
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Oct 5 16:39:09 2016 -0400

    Store channel bits info in angle::Format.
    
    This allows us to delete some duplicated code in the D3D11-side.
    
    BUG=angleproject:1389
    BUG=angleproject:1459
    
    Change-Id: Ifdcfcd4a56e06ff2ae8f5ca0bda72281d52c2964
    Reviewed-on: https://chromium-review.googlesource.com/392208
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 91db32c56dc0df020fa684da0aa3f7fa80c9e51e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 6 09:31:53 2016 -0400

    Skip TimerQueriesTest.TimeElapsedMulticontextTest on Win/AMD/GL/Debug.
    
    This test appears to be flaky.
    
    BUG=angleproject:1541
    
    Change-Id: I2a91626f6dc309d2dc23098cbaf290adac7f4859
    Reviewed-on: https://chromium-review.googlesource.com/394217
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a015f59fa4bde069754bd3db0accc6a4e7c6e51b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 6 10:19:32 2016 -0400

    Skip UniformBufferTest.VeryLarge on Intel D3D11.
    
    This fails because of issues with Intel UBOs and copying.
    
    BUG=chromium:651493
    BUG=chromium:593024
    
    Change-Id: Ia4c634ebecd29082927a9a812929c102d0d629b2
    Reviewed-on: https://chromium-review.googlesource.com/394131
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 601a0ccc3a40f7858f2a107bc68a3045faaf82d4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 6 14:38:43 2016 +0000

    Revert "Skip TimerQueriesTest.TimeElapsed on Win/AMD/GL/Debug."
    
    The correct test was the multi-context version.
    
    BUG=angleproject:1541
    
    This reverts commit d0614b852154da7a9968e2f6b1a775fc469dc83b.
    
    Change-Id: I4f4a9e3b1e0301eef34ce8c06cd649bff66fcdb1
    Reviewed-on: https://chromium-review.googlesource.com/394216
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d0614b852154da7a9968e2f6b1a775fc469dc83b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 6 09:31:53 2016 -0400

    Skip TimerQueriesTest.TimeElapsed on Win/AMD/GL/Debug.
    
    This test appears to be flaky.
    
    BUG=angleproject:1541
    
    Change-Id: I947dbc759e0fef505ce9b11e501f2dbe35ff1e5c
    Reviewed-on: https://chromium-review.googlesource.com/394329
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit ed4d342e0e507bda822deed686fb925ef6721d19
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 3 15:45:35 2016 -0400

    Make the "FormatMap" a static switch.
    
    This map lives in formatutils.cpp, and maps from a {format,type} to
    an internal format. Convert this into generated code.
    
    BUG=angleproject:1389
    
    Change-Id: Ib12750d83d3f8cf8794d6668874cb025f856b5d4
    Reviewed-on: https://chromium-review.googlesource.com/392207
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 168445c20cfc9adc96a76ceb4022d5d02c388cdb
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Sep 23 16:33:22 2016 -0400

    Add an extension for requesting a NULL Display.
    
    BUG=angleproject:1468
    
    Change-Id: Ief4b0e7d7a0420e59e547cd24fde53deb3718ccb
    Reviewed-on: https://chromium-review.googlesource.com/388845
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d08f3b3df7c84b38b4e18c5961d1670e84d827e1
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Sep 23 15:56:30 2016 -0400

    Add stubs for a NULL renderer.
    
    BUG=angleproject:1468
    
    Change-Id: I2ed2b65a4b6f6ea3dda61c0467aef95e407cd38c
    Reviewed-on: https://chromium-review.googlesource.com/388844
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 32db19b78d3e410321afe56a33b66a02ba440f01
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Oct 4 14:43:16 2016 +0100

    Ensure that if-else branches are always sequence nodes
    
    This mainly affects RewriteElseBlocks, which was the only piece of
    code still adding TIntermIfElse nodes directly as children of other
    TIntermIfElse nodes.
    
    BUG=angleproject:1490
    TEST=angle_unittests
    
    Change-Id: I5b25c2fb9c642424417cd6c29e37c20482c6ffaf
    Reviewed-on: https://chromium-review.googlesource.com/392847
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 18319182b4acdad574568a0b2dfe21ee66ea12cc
Author: John Bauman <jbauman@chromium.org>
Date:   Wed Sep 28 14:22:27 2016 -0700

    Re-land "Fix glGetIntegerv(GL_TEXTURE_BINDING_EXTERNAL_OES, ...)"
    
    BUG=angleproject:1332
    
    Change-Id: Ie970466c4528cb80b2363d0c0683da2d9c23c4f4
    Reviewed-on: https://chromium-review.googlesource.com/392267
    Commit-Queue: John Bauman <jbauman@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 7f9a55f73015cc62b7ff63513c52e8720cfff66e
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Oct 3 14:32:08 2016 +0100

    Fix integer math overflows in the preprocessor
    
    Evaluating integer expressions in the ESSL preprocessor may result in
    overflowing the signed integer range. Implement wrapping overflow for
    preprocessor expressions in a way that doesn't hit any undefined
    behavior.  In the ESSL spec, preprocessor expressions are defined to
    have mostly the same semantics as in C++. Since C++ doesn't define
    what happens on signed integer overflow, we choose to make most of the
    operators wrap on overflow for backward compatibility and consistency
    with the rest of the ESSL spec.
    
    We reuse the existing wrapping overflow helpers that are
    used for constant folding. To be able to do this, the type used in the
    preprocessor expression parser is changed from 64-bit to 32-bit.
    
    Shifting negative numbers is implemented as a logical shift. This
    cannot be disallowed since dEQP requires shaders shifting negative
    numbers to pass compilation.
    
    Undefined bitwise shifts where the offset is greater than 31 will now
    result in a compile-time error.
    
    A couple of test cases are now covered by the preprocessor tests
    rather than full compilation tests. This isolates the tests better and
    they run faster.
    
    BUG=chromium:652223
    TEST=angle_unittests
    
    Change-Id: I84be40d404c10ecd0846c5d477e626a94a2a8587
    Reviewed-on: https://chromium-review.googlesource.com/392146
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 4c655248b8830cbb3a6873c2096fd8f15b9962c9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Oct 4 10:27:21 2016 -0400

    D3D11: Fix unreferenced XFB vars getting dropped.
    
    Our for-loop logic was confused so that some unreferenced
    transform feedback varyings might get dropped.
    
    BUG=chromium:651493
    
    Change-Id: Id283230da0a47fc647b2a3862da60be5538e439e
    Reviewed-on: https://chromium-review.googlesource.com/391945
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 0e48719fd39364eae101d5c3c91b943bc501931a
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Oct 3 16:30:38 2016 -0400

    formatutils: allow reusing rowPitch computation for depthPitch
    
    This should fix a null D3D11 backend draw call performance regression.
    
    BUG=651101
    
    Change-Id: I2eb10cddd15f0e7b25b886c89eccd2906e988c72
    Reviewed-on: https://chromium-review.googlesource.com/392227
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 2549e74e103e0334d27a8be9f266e4578944eb55
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Oct 3 10:59:21 2016 -0400

    Only expose the EGL robutness extensions when the native GL context has them.
    
    On some drivers, the WGL_ARB_create_context_robustness extension is present but
    the created context does not expose the extensions.  Be more defensive and only
    expose robustness if we're able to create contexts that have it.
    
    BUG=angleproject:1538
    
    Change-Id: I3d02b2071c7b2c576abe66cc283cee467e400fd3
    Reviewed-on: https://chromium-review.googlesource.com/391833
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: John Bauman <jbauman@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit c4431804c3d4ed1b175044d01dfcdee623a480a3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 3 15:41:38 2016 -0400

    D3D11: Fix Buffer11::copyFromStorage and UBOs.
    
    The change to initialize a constant buffer immediately after
    calling BufferData in D3D11 led to a bug where we would map
    the UBO for writing with the wrong map bits. Fix this by
    using the same map method as the rest of the code.
    
    The D3D11 runtime seems to allow arbitrarily large constant buffers
    on Windows 10, but not Windows 7. Thus this CL also fixes a bug in
    our constant buffer size clamping to not copy more than the available
    buffer size for uniform buffers.
    
    BUG=chromium:651493
    
    Change-Id: I876767691d02db90ecb08a8fa78199f03339a35e
    Reviewed-on: https://chromium-review.googlesource.com/391167
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit f51fdd2e6d6f68af9fe930eba8bec3b3cdbf14c9
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Oct 3 10:03:40 2016 +0100

    Ensure that all functions have a body node in the AST
    
    Some traversers that insert code to main() assume that the main()
    function has a non-null body node in place. This assumption was
    previously wrong, since functions could be missing the body node
    in case the function body was empty.
    
    Fix possible invalid dereferencing of missing function body nodes by
    always adding an empty sequence node to represent the body of
    functions that have an empty body in the ESSL source. This also
    enables simplifying some tree traversers that used to take the
    possibility of missing function body nodes into account.
    
    Also fix AddDefaultReturnStatements to check the last statement inside
    the function body for a return statement, instead of checking the
    first statement.
    
    BUG=angleproject:1539
    TEST=angle_unittests, angle_end2end_tests
    
    Change-Id: I2fbd18c78653fa2f1a96dbd9a619accc4874030d
    Reviewed-on: https://chromium-review.googlesource.com/392046
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit c9e6026c51a193f4bc47a0629d41b04d805e81be
Author: Kenneth Russell <kbr@chromium.org>
Date:   Fri Sep 30 17:15:07 2016 -0700

    Revert "Add workaround for unused std140 and shared uniform blocks on MacOS"
    
    This reverts commit 9aa83fe302578d226f195fff5fb3f0e2fb723a4c.
    
    The new test UniformBufferTest.ActiveUniformNumberAndName/ES3_OPENGL is failing on multiple platforms. Examples:
    https://build.chromium.org/p/chromium.gpu.fyi/builders/Mac%2010.10%20Release%20%28ATI%29/builds/12285
    https://build.chromium.org/p/chromium.gpu.fyi/builders/Linux%20Release%20(ATI)
    
    Change-Id: I78b1a4d58e9a291e40ad304eb32f990e0518f7ee
    Reviewed-on: https://chromium-review.googlesource.com/391049
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit 5dc37d05b19341e0ef8abeb6c2d5a4bf26e17785
Author: John Bauman <jbauman@chromium.org>
Date:   Sat Oct 1 00:00:19 2016 +0000

    Revert "Fix glGetIntegerv(GL_TEXTURE_BINDING_EXTERNAL_OES, ...)"
    
    This reverts commit ca40662aa81f7735d3510fa52e55d28503c7f9ec.
    
    https://chromium.googlesource.com/angle/angle/+/ca40662aa81f7735d3510fa52e55d28503c7f9ec broke angle_end2end_tests on the Win Debug bots. Examples:
    
    https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Debug%20%28NVIDIA%29/builds/18718
    https://build.chromium.org/p/chromium.gpu.fyi/builders/Win8%20Debug%20%28NVIDIA%29/builds/15905
    
    Tests failing:
    Texture2DTest.QueryBinding/ES2_D3D11
    Texture2DTest.QueryBinding/ES2_D3D9
    Texture2DTest.QueryBinding/ES2_D3D11_9_3
    
    Change-Id: If9da864f49e0de3a134d43ae36c2a99e9b5a2a53
    Reviewed-on: https://chromium-review.googlesource.com/391130
    Reviewed-by: John Bauman <jbauman@chromium.org>

commit 389dc9d44c294fbeabee357c81f9fb3e620d8c35
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Sep 8 09:34:58 2016 -0400

    Test filling small mips of ETC textures.
    
    BUG=angleproject:1510
    
    Change-Id: I9ed7c877767909ba93e2ea5ef09c4735b0d0bcc7
    Reviewed-on: https://chromium-review.googlesource.com/382652
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit ca40662aa81f7735d3510fa52e55d28503c7f9ec
Author: John Bauman <jbauman@chromium.org>
Date:   Wed Sep 28 14:22:27 2016 -0700

    Fix glGetIntegerv(GL_TEXTURE_BINDING_EXTERNAL_OES, ...)
    
    BUG=angleproject:1332
    
    Change-Id: I591b9520bc1122eb6232803ac86b6d0322f8c349
    Reviewed-on: https://chromium-review.googlesource.com/390323
    Commit-Queue: John Bauman <jbauman@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit ff5b2d5128f502927486e427e64032cfa1901d59
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Sep 7 11:32:23 2016 -0400

    Add a GL_ANGLE_robust_client_memory extension.
    
    This allows specifying data size to all GL functions that provide a pointer to
    client memory and a length parameter for all functions in which the driver
    writes to client memory.
    
    BUG=angleproject:1354
    
    Change-Id: Ia68be1576b957cb529c87b5e0d1bd638c7dbd371
    Reviewed-on: https://chromium-review.googlesource.com/382012
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 5eeff0e4b70b51d9e32d2f773f9113a11779e117
Author: Minmin Gong <mgong@microsoft.com>
Date:   Tue Sep 27 17:56:42 2016 -0700

    Fix ETC->DXT small mip transcode crash.
    
    BUG=angleproject:1510
    
    Change-Id: I42355607235a05fe276342084acd1eb359c16de4
    Reviewed-on: https://chromium-review.googlesource.com/390414
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit b6fa043d19dde919f9b1218b8f2992ffa396ae89
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Sep 28 16:28:05 2016 +0100

    Split vector swizzle AST nodes into a different node class
    
    This avoids creating a weird aggregate node with a sequence of
    constant union nodes to store the offsets. They're stored neatly
    inside a vector instead. This makes code that needs to iterate
    over the swizzle offsets much simpler.
    
    BUG=angleproject:1490
    TEST=angle_unittests
    
    Change-Id: I156b95723529ee05a94d30295ffb6d0952a98564
    Reviewed-on: https://chromium-review.googlesource.com/390832
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit fde9d8c174d11531621c761ac4c6d42fb5d91f91
Author: Edwin Flores <edwin@flores.geek.nz>
Date:   Thu Jul 28 10:53:19 2016 +0100

    D3D11: Add null check to Renderer11::testDeviceLost.
    
    After experiencing a device loss, Renderer11::resetDevice can fail to
    recreate mDevice, leaving it null. In a following call to
    testDeviceLost, mDevice will be dereferenced, causing a segfault.
    
    BUG=angleproject:1457
    
    Change-Id: Ib5be64542929441ceb7088a328c3245ae7e52f17
    Reviewed-on: https://chromium-review.googlesource.com/364120
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 9aa83fe302578d226f195fff5fb3f0e2fb723a4c
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Thu Sep 29 08:42:42 2016 +0800

    Add workaround for unused std140 and shared uniform blocks on MacOS
    
    On some Mac drivers with shader version 4.1, they will
    treat unused std140 and shared uniform blocks' members as inactive. However,
    WebGL2.0 based on OpenGL ES3.0.4 requires all members of a named uniform block
    declared with a shared or std140 layout qualifier to be considered active.
    The uniform block itself is also considered active.
    
    This workaround is to reference all members of unused std140 and shared uniform blocks
    at the beginning of the vertex/fragment shader's main().
    
    BUG=chromium:618464
    TEST=UniformBufferTest.ActiveUniformBlockNumber
    
    Change-Id: I1d2c5e3e8da04786ac6a37fd26f7bb9c14cd76ed
    Reviewed-on: https://chromium-review.googlesource.com/387169
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 886de369c7f050e9622e0c41634feb1410d1b5cd
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Sep 27 10:49:35 2016 -0400

    Factor code between PixelUnpackState and PixelPackState
    
    BUG=angleproject:1512
    
    Change-Id: I4c60472d216bfc5198e635d70fd197a5738dde98
    Reviewed-on: https://chromium-review.googlesource.com/390133
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 6f0a0dca16ff492e6aef30c34dcd294b019d07bf
Author: Shao <jiawei.shao@intel.com>
Date:   Tue Sep 27 13:51:29 2016 +0800

    Workaround isnan() on Intel drivers
    
    On some Intel drivers, calling function isnan() on highp float will get wrong
    answer. This patch work arounds this bug by using an expression to emulate
    this function.
    
    BUG=chromium:650547
    
    Change-Id: I5bc5e0352c434f42cd2c55103a74f9f7ba51a72c
    Reviewed-on: https://chromium-review.googlesource.com/389834
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 42fad76d02feadb05fdda1f11e25770893bc9c5e
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Sep 28 10:06:29 2016 +0100

    Handle negation of minimum representable integer
    
    Negating the minimum representable integer overflows, so it
    has undefined behavior in C++. Handle this as a special case in the
    code.
    
    BUG=chromium:637050
    TEST=angle_unittests
    
    Change-Id: Ic6e6d638faddad9b70b5d1637bb4b42ef4f43784
    Reviewed-on: https://chromium-review.googlesource.com/390551
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 1be4d493df6ff0448b720f87888effafeb055175
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Sep 27 11:15:38 2016 +0100

    Fix handling integer overflow in constant folding
    
    Integer operations that overflow are defined to wrap in the ESSL
    3.00.6 spec. Constant folding that happens inside the shader
    translator should also follow the wrapping rules.
    
    The new implementations of wrapping integer addition and subtraction
    use unsigned integers to perform calculations. Unsigned integers are
    defined to implement arithmetic in modulo 2^n in the C++ spec. This
    behavior is also leveraged to implement wrapping unsigned integer
    multiplication.
    
    The implementation of wrapping signed integer multiplication is
    slightly trickier. The operands are casted to a wider type to perform
    the multiplication in a way that doesn't overflow, and then the result
    is truncated and casted back to the narrower integer type.
    
    Incorrect tests that expected errors to be generated from integer
    overflow in constant folding are removed.
    
    BUG=chromium:637050
    TEST=angle_unittests
    
    Change-Id: I0de7e25881d254803455fbf22907c192f49d09ff
    Reviewed-on: https://chromium-review.googlesource.com/390252
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 9a8d366a992691e6e4ab45d985733d58ff9bbc62
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Sep 22 12:18:29 2016 -0400

    FramebufferGL: add readPixels workarounds
    
    Implements workarounds for:
     - The pack state making rows overlap in memory, which causes crashes on
       some drivers.
     - The driver adding an extra last row padding when checking if the
       pixel pack buffer is large enough for the readPixels.
    
    BUG=angleproject:1512
    
    Change-Id: I120ff58649bb523e8b01da6ef03d8fcadaf076b2
    Reviewed-on: https://chromium-review.googlesource.com/388029
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 0f40d235e22008e9ea12b9fb8597dc144f6cbc2c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Sep 23 14:50:29 2016 -0400

    Add a perf test for changing texture state.
    
    BUG=angleproject:1386
    
    Change-Id: I44da3a4cb2b23f98978349f26b80d6bb3a6dc8b5
    Reviewed-on: https://chromium-review.googlesource.com/388784
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit d445357315299e30c18c756f657ff928653128c2
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Sep 27 13:21:46 2016 +0100

    Fix integer division constant folding corner cases
    
    ESSL has undefined behavior when the integer modulus operator is used
    on negative operands. Generate a warning and fold the result to zero
    in this case.
    
    In case the minimum representable signed integer is divided by -1, the
    result is defined to be either the maximum or minimum representable
    value. We choose to fold the calculation to the maximum representable
    value in this case.
    
    BUG=angleproject:1537
    TEST=angle_unittests
    
    Change-Id: I57fac6b54a3553b7a0f0e36cc6ba0ed59a88eea9
    Reviewed-on: https://chromium-review.googlesource.com/390251
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit ece7c5a848df6b64e361184bbf3a9739b209e40c
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Sep 21 15:28:23 2016 -0400

    Add validation for the pack buffer in ReadPixels
    
    BUG=angleproject:1512
    
    Change-Id: Ia6bac628c35f04bc5d3adfde1569902475519698
    Reviewed-on: https://chromium-review.googlesource.com/387668
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 2cacb7783116bdd94b2dd70315418a62e035bd1d
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Sep 26 08:50:40 2016 +0100

    Fix folding shifts when operands have different signedness
    
    The code used to incorrectly assert that the right-hand side of shift
    should have the same signedness as the left-hand side. Instead simply
    assert that both the lhs and rhs are integer typed, and also don't
    rely on aliasing via union when accessing bit shift operands.
    
    Also disallow constant folded bit shifts where the right hand side is
    greater than 31. Shifting with values greater than the width of the
    type has undefined results in both ESSL and C++.
    
    BUG=chromium:648135
    TEST=angle_unittests
    
    Change-Id: I84a99abc55f0eeda549b4781e954d17ba7b87552
    Reviewed-on: https://chromium-review.googlesource.com/389351
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 054f7ed0d6b9ea9bc6ac257e3df2e85e192acf3a
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Sep 20 17:15:59 2016 -0400

    preprocessor: Miscellaneous cleanups
    
    - Use full header paths in includes
    - Use ASSERT instead of assert
    - Use angle::NonCopyable instead of PP_DISALLOW_COPY_AND_ASSIGN
    - Use range-for in a couple places
    - Remove pp_utils.h
    
    BUG=angleproject:1522
    
    Change-Id: If107fef89e8465bca65cf664926d1051c5d1e232
    Reviewed-on: https://chromium-review.googlesource.com/387212
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 6a0e4e5253dc8adfd60270c566b43eb5ee4f1de3
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Sep 22 17:03:09 2016 -0400

    BlitGL: orphan scratch textures when we are done.
    
    This will allow the OpenGL driver to reclaim GPU memory.
    
    BUG=angleproject:1512
    
    Change-Id: If063e1ff9f4a544012ca78c37e198054cb4edcac
    Reviewed-on: https://chromium-review.googlesource.com/388771
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 00ff11948e74abac78e2a125c7b85080d8877ada
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Fri Sep 23 18:25:47 2016 -0400

    Disable DrawBuffersTest.Gaps on Windows AMD OpenGL
    
    Fails on Win7 Release (AMD R7 240) bot
    
    BUG=angleproject:1535
    
    Change-Id: I5e8d0552867bfe0d81f3e189536c50b36f530089
    Reviewed-on: https://chromium-review.googlesource.com/389233
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit e8a7849613e5afa5b4ba223631d08278fbbae329
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 22 13:08:39 2016 -0400

    D3D11: Restrict ES3 bits to FL 10.1.
    
    We would advertise ES3 in some cases when we didn't support it.
    
    BUG=angleproject:1381
    BUG=chromium:649101
    
    Change-Id: I2a5bbc1d6153cdfc6c9c577aa0b82caf8482a42d
    Reviewed-on: https://chromium-review.googlesource.com/388190
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 32dd62b8976b5a93e6ddc631b3cfb55fbb208032
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Sep 23 14:09:06 2016 -0400

    Allow LINEAR filtering on OES_depth_texture formats.
    
    The ES3 spec and this extension lead to some awkward interactions. The
    extension doesn't mention allowed filtering modes, so be default it
    allows both linear and nearest. ES3 however, very clearly restricts
    any depth texture (any texture with effective internal format which
    has depth or stencil bits) to only use nearest filtering. This then
    breaks compatibility with the legazy unsized formats.
    
    Choose to be slightly non-conformant here, and allow linear filtering
    for the older unsized formats. Although this could lead to problems
    down the line, it is consistent with existing ES drivers in practice.
    
    Other future options might be to override the behaviour of the filter
    to use nearest when using WebGL validation compatibility.
    
    BUG=chromium:649200
    
    Change-Id: I4ee7608dd04d1fd238385aefee32c8c9c1e80ca0
    Reviewed-on: https://chromium-review.googlesource.com/388759
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 28a97ee11a38d9b4ac1e7adfb9343e228a5ed6ce
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Sep 22 13:01:26 2016 -0400

    Generate unique HLSL texture function names for external textures.
    
    Because 2D and external textures have the same HLSL texture type, they were
    generating texture functions with the same name.  This causes conflicts when
    both 2D and external textures are used in the same shader.
    
    BUG=angleproject:1534
    BUG=645532
    
    Change-Id: I4b324014b7d9b4851d358730cf4e31fc8461584c
    Reviewed-on: https://chromium-review.googlesource.com/388551
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit f41a7151a5487885833599f1896639dd13ebcc9d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Sep 19 15:11:17 2016 -0400

    Add an extension to disable resource generation on bind.
    
    BUG=angleproject:1518
    
    Change-Id: I662f7b07da5c97831496f2617b0adadf9858bdc9
    Reviewed-on: https://chromium-review.googlesource.com/386799
    Reviewed-by: Antoine Labour <piman@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 44ebf6b41ff832540a7584a189601e39123ecc04
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 22 13:00:02 2016 -0400

    ConstantUnion: Error on undefined shift.
    
    BUG=chromium:648135
    
    Change-Id: I41581f63af650564a0f61c1baeeb38017c8513ed
    Reviewed-on: https://chromium-review.googlesource.com/387470
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 1db8a26b563f326f394dc99a76cc6a16dc388925
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 22 13:53:47 2016 -0400

    Fix warning in standalone in new validation.
    
    BUG=angleproject:1512
    
    Change-Id: Ifdb8d4c38e3c90e03eee42ba9fd6390dffd61363
    Reviewed-on: https://chromium-review.googlesource.com/388611
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 2bd9c4430e68c7a67c52f1e2ab9f93ac6b12249d
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Sep 20 16:39:18 2016 -0400

    preprocessor: add a limit to the number of token expanded
    
    BUG=angleproject:1522
    BUG=chromium:648074
    
    Change-Id: Ibf0858aaeb81933dd221ac82a49160169b48a495
    Reviewed-on: https://chromium-review.googlesource.com/387211
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit f607c60a1e14d1519ad5055680a80be027db7a46
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Sep 21 11:46:48 2016 -0400

    Fix validation of ReadPixels format and type.
    
    The validation for ReadPixels allows for two combations of format/type:
      1. Based on the current framebuffer's component type.
        * GL_RGBA/GL_UNSIGNED_BYTE if the framebuffer is a normalized (signed
          or unsigned).
        * GL_RGBA_INTEGER/GL_INTEGER if the framebuffer is an
          integer format.
        * GL_RGBA_INTEGER/GL_UNSIGNED_INTEGER if the framebuffer is an
          unsigned integer format.
        * GL_RGBA/GL_FLOAT if the framebuffer is any type of float
          framebuffer (added in EXT_color_buffer_float).
        * These combations are detailed in the ES2 spec on pg 105 or ES3 on pg
          193.
      2. The implementation read format/type returned from glGetIntegerv.
        * These formats are added by specs, OES_texture_float, EXT_texture_rg,
          EXT_read_format_bgra, etc.
    
    Update the GL and D3D backends to perform the conversion from GL_HALF_FLOAT
    to GL_HALF_FLOAT_OES.
    
    Continue allowing reading as BGRA_EXT to support Skia.  Should be removed in
    the future.
    
    BUG=607283
    BUG=angleproject:1478
    
    Change-Id: I0312cad4d5f138ab036f383d221f8ccd19a77f6d
    Reviewed-on: https://chromium-review.googlesource.com/346232
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 1ce09ace6eb5daddccbf8a26ffc83a875b10ede6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 21 10:43:38 2016 -0400

    D3D11: Free buffer staging storage when idle.
    
    Using the same policy as for system memory storage, we release
    the staging buffer if it has been unmodified for several uses.
    
    We could further extend this technique to other storage buffers
    using a nearly identical policy. We might need to mitigate the
    cost of iterating over all the storages of all the buffers.
    
    BUG=angleproject:516
    
    Change-Id: Ib24ef03cf4184ef6f0c24f83347538df82de5f58
    Reviewed-on: https://chromium-review.googlesource.com/387200
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 596018ce7b6aa6faf45196febd597f051a626c94
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 21 12:57:03 2016 -0400

    translator: Refactor Constant Union shift ops.
    
    In preparation for making them robust.
    
    BUG=chromium:648135
    
    Change-Id: I88fc87d8887064fda04087c56de05d8725a6fe5f
    Reviewed-on: https://chromium-review.googlesource.com/387469
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit d2f195b5a4b266be817193ed004c26535a32723a
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Sep 19 15:53:33 2016 -0400

    preprocessor: Fix use after free when #undef the macro being invoked
    
    BUG=chromium:648031
    BUG=angleproject:1522
    
    Change-Id: I825cea9e736a2c99133408249cfcd525431d31de
    Reviewed-on: https://chromium-review.googlesource.com/386853
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit f979524a0eac3a2f9e70f705cb20f41634455b5e
Author: Jiawei-Shao <jiawei.shao@intel.com>
Date:   Wed Sep 21 15:19:00 2016 +0800

    Remove redundant code in RewriteTexelFetchOffset
    
    Remove useTemporaryIndex() in function RewriteTexelFetchOffset since
    no temporary variables will be created in this function.
    
    BUG=angleproject:1469
    
    Change-Id: Ibed56f0ba5c89b6ae1ab1611de39514c3fbb600f
    Reviewed-on: https://chromium-review.googlesource.com/387198
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c5cacd6035ecd0882c2bb483c4ca50380b835c4c
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Sep 14 14:50:24 2016 -0400

    Implement a separate last row texture unpack buffer upload workaround
    
    When uploading textures from an unpack buffer, some drivers expect an
    extra row paading, causing them to think the pixel buffer is not big enough.
    We work around this by uploading the last row separately.
    
    BUG=angleproject:1512
    
    Change-Id: I52fb8b35dc450b957f1fafb0b405c81bf0504157
    Reviewed-on: https://chromium-review.googlesource.com/385193
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 44d0a736545d6babbd57430d42671545e8d3892b
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Wed Sep 21 16:19:50 2016 -0400

    Disable some DrawBuffersTest on Windows AMD OpenGL
    
    DrawBuffersTest.FirstAndLast/ES2_OPENGL
    DrawBuffersTest.FirstHalfNULL/ES2_OPENGL
    Hang on Win7 Release (ATI) and Win7 Debug (ATI) bots.
    
    BUG=angleproject:1533
    
    Change-Id: I6e37893fbcdbcc7a2a76c1cab6e8ef1f7ebaec19
    Reviewed-on: https://chromium-review.googlesource.com/387714
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 93561c3a4c01a4014cfffb5cd6c917cc460ea0e8
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Sep 20 10:22:55 2016 -0400

    Regenerate the preprocessor with the latest versions of flex and bison.
    
    BUG=648063
    
    Change-Id: Ia90d12c8cb4ae0a694227145267e78ca02dcc2b0
    Reviewed-on: https://chromium-review.googlesource.com/387114
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit d4a07fbb2036bfe94ed72388907bd65870646f88
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Sep 20 10:24:23 2016 -0400

    Disallow bit-shifting when the left operand is negative.
    
    BUG=648063
    
    Change-Id: I82d9fbdaf8791a396dd71eeb57d93967ba5d65bf
    Reviewed-on: https://chromium-review.googlesource.com/387115
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit a59fcdf4427153313a9906e7c5944ff203bd9a7a
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Sep 14 10:52:14 2016 -0400

    CallDAG: rewrite assignIndicesInternal as iterative,
    
    Since the CallDAG is needed to check for the call graph depth, its
    creation code must be robust to very deep call graphs.
    
    BUG=angleproject:1517
    
    Change-Id: I753ab84ad4ced6363a212f0fe94a89aabf4e3c3e
    Reviewed-on: https://chromium-review.googlesource.com/385496
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit c287ea6e0a64e36d0bb1e87dcc2e0f24876b88c9
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Sep 16 14:46:51 2016 -0400

    Add WebGL validation extensions to ANGLE.
    
    BUG=angleproject:1523
    
    Change-Id: I6fecb5055ed8087665aeee34b3a066ea8f38d51b
    Reviewed-on: https://chromium-review.googlesource.com/386281
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Antoine Labour <piman@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 10f563d5ab96e280d85df9c99384e79eee9dec9f
Author: Sasha Bermeister <sashab@chromium.org>
Date:   Mon Sep 19 17:02:36 2016 +1000

    Fix base/numerics to not trigger upcoming Clang warning
    
    Fix base/numerics to not trigger upcoming Clang warning regarding
    unsigned enum bitfields producing non-portable code.
    
    For more details, see the patch here: https://reviews.llvm.org/D24289
    
    BUG=648462
    
    Change-Id: I9aaa01e99f734ff927b5b1171706b2f49b437d0b
    Reviewed-on: https://chromium-review.googlesource.com/386887
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit e292e90280ef614e337f04b49565c64d25baeb55
Author: Jiawei-Shao <jiawei.shao@intel.com>
Date:   Wed Sep 7 10:49:01 2016 +0800

    Workaround the unary minus operator issue on Intel
    
    On some Intel D3D drivers, evaluating unary minor operator on an
    integer variable may get wrong answer in vertex shader.
    
    This patch works around this bug by replacing -(int) with ~(int)+1
    on Windows Intel.
    
    BUG=chromium:644033
    
    Change-Id: I0af719e84d618a33f25bcb33bde0c381fb462a31
    Reviewed-on: https://chromium-review.googlesource.com/381675
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 5db69f573c92886cabca590826ee30e20b21c692
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 15 12:47:32 2016 -0400

    Add robust math to constant folding.
    
    Previously our multiplication and other operators could
    do overflows, which can lead to security bugs.
    
    BUG=chromium:637050
    
    Change-Id: Icee22a87909e205b71bda1c5bc1627fcf5e26e90
    Reviewed-on: https://chromium-review.googlesource.com/382678
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit a5615c69b1043e0c0342734c2282d9fd288c0436
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Sep 19 09:54:44 2016 -0400

    BUILD.gn: Disable pool alloc on all translator dependents when fuzzing
    
    It contains defines that need to be consistent between the header and
    the implementation.
    
    BUG=angleproject:1522
    BUG=chromium:647807
    
    Change-Id: Ica144c455b7366bd9939a07b171edffe5af8bf35
    Reviewed-on: https://chromium-review.googlesource.com/386945
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 2e60034b27f6929938e0ef83b32e86da683aff2f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Sep 19 13:56:40 2016 -0400

    D3D11: Store Buffer SRVs in native storage.
    
    This allows us to not store std::pairs to identify SRVs. Instead
    we can release the cached SRVs directly when we re-create the
    native buffer.
    
    BUG=angleproject:1513
    
    Change-Id: I6f6d5edc659aa843c9439b97661073415f1a772b
    Reviewed-on: https://chromium-review.googlesource.com/385818
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 30e11ab241640780844138763bb416c4ff2bc84b
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Sep 16 10:29:54 2016 -0400

    BUILD.gn: make the translator fuzzer a source set
    
    When we want to use GN standalone, the fuzzer_test template won't exist.
    Instead make the fuzzer a source set that is used by a target in Chrome.
    
    BUG=angleproject:1522
    
    Change-Id: I347e633448d508eb124d0861b0fb28315923016c
    Reviewed-on: https://chromium-review.googlesource.com/386636
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 8fcdf6ee53dbc7246081ed4358461a402aeffb54
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Sep 16 10:45:30 2016 -0400

    Supress failures in end2end tests for new Intel OpenGL driver.
    
    Change-Id: I442eac44212406b0fd9fb64b2e4e914bf61f8503
    Reviewed-on: https://chromium-review.googlesource.com/386280
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 8b28a8b0653643f520c1e1daa3e77b67b4c0981a
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Sep 15 19:47:56 2016 -0400

    translator/Compiler.cpp: fixup includes
    
    A stray iostream got introduced in
    28b6528ca2119d6715bb5e9eafa5a2dc8c968361
    
    BUG=angleproject:1522
    
    Change-Id: Ib0b14b47d4786309ec2d39acb5531f3772b91f20
    Reviewed-on: https://chromium-review.googlesource.com/386256
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 415f29e0cd01a9c93423e1b04b70d42987905929
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Sep 7 16:37:38 2016 +0300

    Disallow layout+invariant combo on ESSL 3.00 variable declarations
    
    This combination is not allowed by the formal grammar in the ESSL 3.00
    spec, and should still be disallowed in ESSL 3.00 shaders even though
    the shader parser now implements the more flexible ESSL 3.10 grammar.
    
    BUG=angleproject:1507
    TEST=angle_unittests
    
    Change-Id: I766a468fd7314c7e60e020b5b204aa6950263633
    Reviewed-on: https://chromium-review.googlesource.com/381933
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 5796127ea53f974c84e6b305e14b535edbc3caac
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Sep 14 13:57:46 2016 +0300

    Rename TIntermSelection to TIntermIfElse
    
    Now that ternary nodes are not represented by TIntermSelection any
    more, TIntermIfElse is an easier name to understand for newcomers to
    the code.
    
    BUG=angleproject:1490
    TEST=angle_unittests
    
    Change-Id: Ia1e04e356ab93409400245092a84533d7dfd129d
    Reviewed-on: https://chromium-review.googlesource.com/385416
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 28b6528ca2119d6715bb5e9eafa5a2dc8c968361
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Jun 16 07:24:50 2016 -0700

    Add a fuzzer for the shader translator.
    
    BUG=angleproject:1522
    
    Change-Id: Idbe8194ba478366e99c7460d403d03fe27dd89d0
    Reviewed-on: https://chromium-review.googlesource.com/353153
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 09cfac606ef5ca64cb657fd03cbc110a44c34fe6
Author: Qiankun Miao <qiankun.miao@intel.com>
Date:   Tue Sep 6 17:25:16 2016 +0800

    Work around For and While loop bugs on Intel Mac OSX
    
    Condition calculation in for and while loops has bug on Intel Mac. Work
    around it by converting "CONDITION" to "CONDITION && true".
    
    This CL also adds previous SH_EMULATE_ABS_INT_FUNCTION workaround to
    the ANGLE GL back-end on OSX
    
    BUG=chromium:644669
    TEST=deqp/functional/gles3/shaderloop_for/while.html
    
    Change-Id: I910f662b054f259fcb601b9938841b3a2d066840
    Reviewed-on: https://chromium-review.googlesource.com/381678
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Qiankun Miao <qiankun.miao@intel.com>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 930fefca127fb16c8a65172139ee2fa55a87c2ef
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Sep 14 15:54:18 2016 -0400

    RendererGL: enable GL_DEBUG_OUTPUT on Debug builds
    
    The intent was already to enable it but without glEnable(GL_DEBUG_OUTPUT)
    the Linux NVIDIA driver doesn't output anything.
    
    BUG=
    
    Change-Id: Ia9a500c2e792ee7c4e2a7be60d478419eda617e1
    Reviewed-on: https://chromium-review.googlesource.com/385278
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit fcb79357596c7ae06b4d5a168011ce37b67a580b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 13 15:13:15 2016 -0400

    D3D11: Detect driver version before workaround init.
    
    This is order-sensitive. The workarounds need the driver version to
    properly determine if workarounds should be used.
    
    This fixes the WebGL 2 test invalidate/sub on NVIDIA.
    
    BUG=angleproject:1246
    
    Change-Id: I7ca4f44ec2874553f167214e937e918b49e69567
    Reviewed-on: https://chromium-review.googlesource.com/385077
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit adaeb85ffc7eb98cb797ed0ee6a82d2d92f38fa7
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Sep 14 10:54:24 2016 -0400

    Fix standalone tests failing to find angle_util.dylib on Mac
    
    BUG=
    
    Change-Id: I69bddf27c1b019f71382d69c03eba94a268d2025
    Reviewed-on: https://chromium-review.googlesource.com/385497
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 7ebb97fc9a51aad770e07ee10de420b5fbc2a278
Author: Qiankun Miao <qiankun.miao@intel.com>
Date:   Thu Sep 8 18:01:50 2016 +0800

    Use 64-bits compile options
    
    BUG=chromium:645071
    
    Change-Id: I31825123bf4cb45fb37a93f538e8936487beb5ff
    Reviewed-on: https://chromium-review.googlesource.com/382712
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 47cb73ab1e90b2ce27b7bcfc288a728e6979ed29
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Sep 9 11:41:44 2016 -0400

    Refactor TConstantUnion.
    
    In preparation for constant folding fixes.
    
    BUG=chromium:637050
    
    Change-Id: I9ea49ce96b34c6ac3d2f0478b8fc6732c59e28be
    Reviewed-on: https://chromium-review.googlesource.com/373741
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit d0bad2c78893b3737e5f528b93c4e51e7d5d1d4e
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Sep 9 18:01:16 2016 +0300

    Split ternary node class from TIntermSelection
    
    Ternary operator nodes are typed parts of expressions, they always
    have two children and the children are also guaranteed to be
    TIntermTyped. "If" selection nodes can't be a part of an expression,
    they can have either one or two children and the children are code
    blocks. Due to all of these differences it makes sense to store these
    using two different AST node classes.
    
    BUG=angleproject:1490
    TEST=angle_unittests
    
    Change-Id: I913ab1d806e3cdb5c21106f078cc9c0b6c72ac54
    Reviewed-on: https://chromium-review.googlesource.com/384512
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 95738972a6cceb9b2330319276dafc49470a2a08
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Sep 13 10:30:57 2016 -0400

    Specialize GLTypeToGLEnum in headers
    
    BUG=angleproject:1514
    
    Change-Id: I1f95e985471ea7a2ea0242d8b48ceccca68edf42
    Reviewed-on: https://chromium-review.googlesource.com/384891
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 966456de40ae77d36743c9164f6dfcb35cf1b58e
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Sep 12 11:42:44 2016 +0300

    Remove SH_TIMING_RESTRICTIONS compiler flag
    
    The timing restrictions code is not in use and not updated for ESSL3,
    so it is better to remove it to make refactoring the AST easier.
    
    It can also be argued that perfect prevention of shader timing attacks
    is not feasible due to factors that are not under control of ANGLE,
    such as fixed function color compression in GPUs. Such color
    compression may make the use of texture bandwidth and thus performance
    dependent on the content of a texture regardless of whether a
    compressed format is chosen through the API.
    
    SH_DEPENDENCY_GRAPH flag that could only be active together with the
    timing restrictions flag is also removed, along with all the code that
    was supporting it. The newer CallDAG code is used for different
    purposes and is kept.
    
    BUG=angleproject:1490
    TEST=angle_unittests
    
    Change-Id: I2cd10e18df366e8e43f7c3af1ca12d2a4bfb2007
    Reviewed-on: https://chromium-review.googlesource.com/384511
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit e79c2d1f3f08963ec3cf01f7c81e4a7d048e79bf
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Fri Sep 9 16:33:09 2016 -0400

    Add newlines to error messages.
    
    Looks like this breaks parsing tests list in gtest runner,
    which causes deqp_gles2 to fail on Nexus 5X swarmed bot.
    
    Driveby fix of HowToMakeChanges md format.
    
    BUG=angleproject:1471
    
    Change-Id: I6cfa2d9287385aabf2aee47521e5e55e309831c0
    Reviewed-on: https://chromium-review.googlesource.com/383813
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 87d410c8dbe3142feef461e6a23d8f7dd5663570
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Sep 5 13:33:26 2016 +0300

    Disallow multiple locations on output variables
    
    GLSL ES specs from version 3.00 to 3.20 all mention that output layout
    location qualifier may appear at most once within a declaration.
    Enforce this rule when parsing shaders.
    
    Also set max draw buffers to 8 when compiling GLSL ES >= 3.00 in the
    qualification order tests and shader translator sample, so that
    parsing locations > 0 will succeed.
    
    BUG=angleproject:1505
    TEST=angle_unittests
    
    Change-Id: I50fe409041385f5e10e695f43dc3a572433e9772
    Reviewed-on: https://chromium-review.googlesource.com/381211
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit a223430c3d8478f13fd800f84ba88de2dd88b9c1
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Aug 31 12:05:39 2016 +0300

    Promote unary nodes automatically
    
    Unary nodes now get their type set automatically based on the
    operation and operand. The operand should only be changed to another
    of the same type after the node is constructed. The operation can't
    be changed on unary and binary nodes after they've been constructed.
    
    BUG=angleproject:1490
    TEST=angle_unittests
    
    Change-Id: Ib1ea3dcb1162261966c02d5f03d8091cf647fac1
    Reviewed-on: https://chromium-review.googlesource.com/378935
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 3272a6d3d22ec0ebe13cf7fc97a81fd3948e9b42
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Aug 29 17:54:50 2016 +0300

    Promote and fold indexing nodes similarly to other binary ops
    
    Indexing nodes now get their type set in TIntermBinary::promote, same
    as math and logic ops. They are also constant folded through
    TIntermBinary::fold() instead of having special functions for constant
    folding them in ParseContext.
    
    Index nodes for struct and interface block member access now always
    have integer type, instead of sometimes having the type of the field
    they were used to access.
    
    Usage of TIntermBinary constructor is cleaned up so only the
    constructor that takes in left and right operands is used. The type
    of TIntermBinary nodes is always determined automatically.
    
    Together these changes make the code considerably cleaner.
    
    Note that the code for constant folding for array indexing is actually
    never hit because constant folding array constructors is still
    intentionally disabled in the code.
    
    BUG=angleproject:1490
    TEST=angle_unittests
    
    Change-Id: Ifcec45257476cdb0d495c7d72e3cf2f83388e8c5
    Reviewed-on: https://chromium-review.googlesource.com/377961
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 57b9424f1af8f89953641376f782e84bd4e943d9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Sep 9 12:48:00 2016 -0400

    D3D11: Release SRV cache in Buffer11 destructor.
    
    This was leading to a resouce leak with fast unpack.
    
    BUG=angleproject:1513
    
    Change-Id: I4ff6c6e3c889392e314654d63f2db8f671b6913c
    Reviewed-on: https://chromium-review.googlesource.com/383711
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 2c07eb2188a377cfb8d3fe0dfbbcdcaba2387722
Author: Qin Jiajia <jiajia.qin@intel.com>
Date:   Fri Sep 2 13:06:43 2016 +0800

    Add workaround for B5G6R5 format in Intel driver
    
    In Intel driver, the data with format DXGI_FORMAT_B5G6R5_UNORM will be
    parsed incorrectly. According to
    https://msdn.microsoft.com/en-us/library/windows/desktop/ff471324(v=vs.85).aspx
    DXGI_FORMAT_B5G6R5_UNORM should be equivalent to D3DFMT_R5G6B5. However,
    the data will be treated as B5G6R5 not R5G6B5.
    
    This workaroud will disable B5G6R5 support when it's Intel driver.
    By default, it will use R8G8B8A8 format.
    
    BUG=chromium:644610
    TEST=dEQP-GLES3.functional.fbo.blit.default_framebuffer.rgb565*
    
    Change-Id: I9d64a9bcedf9247de6950d345ed2d3fb00170d30
    Reviewed-on: https://chromium-review.googlesource.com/380421
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 7ffdda9aa989c1407f8ac54542a810cfc8836102
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 8 13:26:51 2016 -0400

    D3D11: Don't allow fast unpack from GL_ALPHA8.
    
    This format is one that doesn't support buffer SRV creation. It seems
    like there is no equivalent dEQP test for this format.
    
    BUG=angleproject:1503
    
    Change-Id: I9ecdb9406ca0b62dd54b450d2b50341d76584b2b
    Reviewed-on: https://chromium-review.googlesource.com/381435
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 65d17e56cbae9d9cedae773fe58166c0a1c0598e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Sep 8 09:52:58 2016 -0400

    Generate OUT_OF_MEMORY when compiler initialization fails.
    
    INVALID_OPERATION implies that the error is recoverable.
    
    Change-Id: Iaa13293168f66f46864e5e4c0ab7d7c53c97e8fd
    Reviewed-on: https://chromium-review.googlesource.com/383131
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit c955058bdb9bb21e50a73e2f6c1b722e9f813d27
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Aug 29 17:56:22 2016 +0300

    Constant-qualify nodes in a consistent way
    
    Rely on that constant qualification of binary and unary nodes comes
    from promote().
    
    BUG=angleproject:1490
    TEST=angle_unittests
    
    Change-Id: Ie8d1d4df3c82ae5a2de8cc536e47016d13a4fd3d
    Reviewed-on: https://chromium-review.googlesource.com/377960
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 588e2085af07f090c59225066ee3ec2f847e2724
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Sep 8 11:23:30 2016 -0400

    Update dEQP test expectations with passing tests
    
    BUG=angleproject:1017
    BUG=angleproject:1097
    BUG=angleproject:1323
    
    Change-Id: I67754700c27041c99428857c48697fa11c0d34ab
    Reviewed-on: https://chromium-review.googlesource.com/382860
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit d13ca30d05eaafa6b84e44ce0fb3edda2453851d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Sep 8 09:35:57 2016 -0400

    Fix incorrect compressed internal format enum.
    
    This error was not exposed since compressed formats use different validation
    paths.  Fixed for completeness.
    
    BUG=angleproject:1511
    
    Change-Id: I9b44a795b1e43f52555440f776e00bb4b92354ef
    Reviewed-on: https://chromium-review.googlesource.com/382653
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit f119a263d8c25f90b065c916ddddf8e106c6890e
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Aug 19 15:54:22 2016 +0300

    Clean up unary and aggregate math folding
    
    Prefer asserts instead of adding internal errors to the compiler log
    when types of arguments are not as expected or the folding function
    runs into an operation it can't handle. Neither of these cases should
    be possible, the checks for correct argument types are solid at this
    point.
    
    In the future, when new built-in functions are added, constant folding
    support for them should be added as well.
    
    foldUnaryWithDifferentReturnType and foldUnaryWithSameReturnType are
    renamed to foldUnaryNonComponentWise and foldUnaryComponentWise
    respectively. These names better reflect what these functions are
    doing.
    
    The info sink member is removed from TIntermediate, since TDiagnostics
    is now passed into the functions that may generate warnings instead.
    
    BUG=angleproject:1490
    TEST=angle_unittests
    
    Change-Id: I6a08abbe29cf23f3a318032fdc46dd3dbaf4410e
    Reviewed-on: https://chromium-review.googlesource.com/377959
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 9df01f8ac568bc1fab58bf3d2ad8827a805342a3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 7 17:33:41 2016 -0400

    Fix overflow in ImageIndexIterator::done.
    
    The maxLayer() method was reading out of range for 2D arrays.
    
    BUG=644846,614178
    BUG=angleproject:1493
    
    Change-Id: I7cc4773d1ee9ff2d0a18cb0a8e916cf3687446db
    Reviewed-on: https://chromium-review.googlesource.com/382332
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit b6c3e77b7b0a6164285f8d5c0c3e54964ed8e8d2
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Sep 7 11:10:13 2016 -0700

    StateManagerGL: handle GL_DITHER
    
    DITHER is on by default and dEQP precision tests turn this off, to avoid
    dithering messing with the precision. The OpenGL backend didn't handle
    glDisable(GL_DITHER) causing precision to be wrong on RGB565 on Linux
    Intel.
    
    BUG=angleproject:1492
    
    Change-Id: I5e750fbe9df397e8b9a826979b14c84a2d72a00d
    Reviewed-on: https://chromium-review.googlesource.com/382111
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit e731d8aae5ef422cacd1b4f5fb43888c38f769e2
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Sep 7 10:56:25 2016 -0400

    TextureTest: suppress failure for newly added test.
    
    BUG=angleproject:1493
    BUG=chromium:638323
    
    Change-Id: I5cab149c735158fe810f002e47cc3c5c75bc503b
    Reviewed-on: https://chromium-review.googlesource.com/381951
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 5a7e20edfa35a86b793977b5d79502d8b5a4af8f
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Sep 6 18:07:22 2016 +0300

    Fix compiler allocations accidentally done outside memory pool
    
    Qualifier data structures were being accidentally allocated on the
    regular heap and never being freed inside the compiler due to missing
    POOL_ALLOCATOR_NEW_DELETE macros. Add in the macros where needed.
    
    Also fix up include directives in QualifierTypes.h/.cpp to use the
    full path of files from ANGLE.
    
    BUG=angleproject:1442
    TEST=angle_unittests
    
    Change-Id: Ib54f3cd3ab0f768fed9f0215d795ff493be513e0
    Reviewed-on: https://chromium-review.googlesource.com/380538
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 14718767d6a5ce65be44fb5b3a0019c248e2a518
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 6 15:56:54 2016 -0400

    Remove usage of std::log2 in tests.
    
    For some reason, this was giving a link error on Android.
    Change it to use the mathutil version to be sure.
    
    BUG=angleproject:1493
    BUG=chromium:638323
    
    Change-Id: I454ba4609d7818f50c668bb7c1a3b684f9ca8444
    Reviewed-on: https://chromium-review.googlesource.com/381671
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 509e4560b3c897311a101d4d41bb27a51a6c439a
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Aug 25 14:55:44 2016 -0400

    compiler: Work around a HLSL compiler aliasing opt bug.
    
    BUG=angleproject:1448
    
    Change-Id: I7d5bcbd100069152cea0cb03bc4fa6af1044460b
    Reviewed-on: https://chromium-review.googlesource.com/376020
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 9e3d7aa096a6ea8882a5da4178d1083be9c6e023
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Sep 2 15:19:43 2016 -0400

    D3D11: Work around small mipped stencil textures.
    
    AMD has a bug with 2x2 and 1x1 mips of depth/stencil textures. Formats
    D24S8 and D32FS8 both seem to render black for the very small mips.
    
    We can work around this by selectively caching a copy of the texture
    data that only has depth information, since stencil isn't filterable
    in OpenGL ES.
    
    BUG=angleproject:1493
    BUG=chromium:638323
    
    Change-Id: Iebef42c4680018d9854dbe789d677823167213dd
    Reviewed-on: https://chromium-review.googlesource.com/380037
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 6a25746c016b87739606b3d669a565e84d567a80
Author: jchen10 <jie.a.chen@intel.com>
Date:   Tue Sep 6 08:56:08 2016 +0800

    Generate uniqueId for all TStructure
    
    If not present, ASSERT error may happen in debug build.
    
    BUG=chromium:643075
    
    Change-Id: Ia57e3771ab4d2861aefc04287fbbce85232f1f4d
    Reviewed-on: https://chromium-review.googlesource.com/381315
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit dea2777cf59a302f94920ad8990e5d3c1225994e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Sep 2 15:09:09 2016 -0400

    D3D11: Rename TextureStorage swizzle invalidation.
    
    Since we'll also be storing a cache of depth textures as well as
    swizzle info, generalize the invalidation methods.
    
    BUG=angleproject:1493
    BUG=chromium:638323
    
    Change-Id: I8fef049b01c81483fcf28196866a22d5cfed32a1
    Reviewed-on: https://chromium-review.googlesource.com/380036
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 96f4f45e64754a82030f7555ccb61a4827100cbe
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Sep 2 16:20:11 2016 -0400

    Fix ImageIndexIterator termination.
    
    There was an off-by-one error preventing proper iteration.
    
    BUG=angleproject:1493
    BUG=chromium:638323
    
    Change-Id: I8a3907620a1503d16b039606a67fe3471f88e165
    Reviewed-on: https://chromium-review.googlesource.com/380325
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 3af2b3b05043de498a193626965d9fb6941e3246
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Sep 6 09:47:56 2016 -0400

    UniformBufferTest: add back suppressions for failing tests
    
    296398571213608b99d12266d0ba218f99c87abf fixes most but not all
    UniformBuffer Wintel failures of the waterfall, add back suppressions
    needed to make the waterfall green.
    
    BUG=chromium:593024
    
    Change-Id: I124666853e9943bcb71083e5563d02e65551f916
    Reviewed-on: https://chromium-review.googlesource.com/381451
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 613b959d5946ac43ba77a0fe0dc82f36c675a4dc
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Sep 5 12:05:53 2016 +0300

    Clean up qualification order checks
    
    Move determining whether qualification order checks are relaxed to
    QualifierTypes.cpp. The ParseContext only needs to construct
    TTypeQualifierBuilder with the shader version as a parameter, and it
    will make the decision based on that. ParseContext still passes
    diagnostics to the TTypeQualifierBuilder functions that return
    variable qualification to make it more explicit when errors are
    generated.
    
    Also encapsulate looking for symbols in the AST inside
    compiler_test.cpp.
    
    BUG=angleproject:1442
    TEST=angle_unittests
    
    Change-Id: I4190e6a680ace0cc0568a517e86353a95cc63c08
    Reviewed-on: https://chromium-review.googlesource.com/380556
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit b6b1a4a6d4396847a0242b94a7a673796a51090a
Author: Qiankun Miao <qiankun.miao@intel.com>
Date:   Tue Sep 6 14:16:13 2016 +0800

    Fix build failure in chrome due to unused function
    
    Chrome build fails on a warning:
    "../../third_party/angle/src/compiler/translator/QualifierTypes.cpp:30:6:
    error: unused function 'IsInvariantCorrect' [-Werror,-Wunused-function]"
    
    BUG=angleproject:1442
    
    Change-Id: If2fea0d90e9cd789c3a6449881794082f3e98afd
    Reviewed-on: https://chromium-review.googlesource.com/381201
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 5b55edd8f9252a7f98ce3edae1ef1d55adae4415
Author: Qiankun Miao <qiankun.miao@intel.com>
Date:   Mon Sep 5 14:55:15 2016 +0800

    Work around unpackHalf2x16 emulation for Intel Mac
    
    Negative operator is buggy in an expression on Intel Mac. Use abs(v) to
    replace -v for negative value.
    
    BUG=chromium:644057
    TEST=deqp/functional/gles3/shaderpackingfunction.html
    
    Change-Id: I6182e7a00b162e36ed9278c0e5a2fdd8fb480959
    Reviewed-on: https://chromium-review.googlesource.com/381152
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit c28888b30fd3e2f704093a304327d2873d77d243
Author: Martin Radev <mradev@nvidia.com>
Date:   Fri Jul 22 15:27:42 2016 +0300

    Relax checks when parsing type qualifiers in GLSL ES 3.10
    
    The grammar in GLSL ES 3.10 does not impose a strict order on the
    qualifiers and also allows multiple layout qualifiers.
    
    This patch relaxes the checks when parsing a type qualifier.
    
    BUG=angleproject:1442
    
    TEST=angle_unittests
    
    Change-Id: Ib3653a1ed1bfced099a6b2cbf35a7cd480c9100a
    Reviewed-on: https://chromium-review.googlesource.com/379016
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 296398571213608b99d12266d0ba218f99c87abf
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Sep 2 15:00:09 2016 -0400

    D3D11: Work around Intel uniform buffers bug.
    
    When copying from a staging buffer to a uniform buffer, the first
    upload would be incorrect. Work around this by trying to upload
    directly to a uniform buffer on the first BufferSubData call.
    
    BUG=chromium:593024
    
    Change-Id: I0df3a1422b962bf3ece5d445f435df01e3544b67
    Reviewed-on: https://chromium-review.googlesource.com/368774
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 4a9cd8008b9e7f15ca4869a8d7d25677f9b28514
Author: Martin Radev <mradev@nvidia.com>
Date:   Thu Sep 1 16:51:51 2016 +0300

    Refactor type_specifier_nonarray parsing to reduce code repetition
    
    When type_specifier_nonarray gets parsed the scope gets saved into
    TType and the code becomes repetitive. Setting of the scope is moved
    to type_specifier_no_prec as it occurs less times.
    
    BUG=angleproject:911
    
    TEST=angle_unittests
    TEST=angle_end2end_tests
    
    Change-Id: I6da5fe7bc2d60ba2996221af71b719b818f5e9b1
    Reviewed-on: https://chromium-review.googlesource.com/380535
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 5b46a680a314b46057230a5d12a6e5d60836c140
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Sep 1 15:22:06 2016 -0400

    Clear the swizzle cache in TextureStorage11::setData.
    
    BUG=angleproject:1494
    
    Change-Id: I67471e4b961b3d8374c2da84394ead743939c225
    Reviewed-on: https://chromium-review.googlesource.com/380095
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d08163d704987383c3974c6ccdc2f8686d50d015
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 1 13:56:24 2016 -0400

    Fix standalone build.
    
    BUG=angleproject:1471
    
    Change-Id: I52aadeb58f75d5b944421bd0cd4a5dddead3f6d1
    Reviewed-on: https://chromium-review.googlesource.com/379916
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 70866b89141f25091a72b8eb9acbb05f73240786
Author: Martin Radev <mradev@nvidia.com>
Date:   Fri Jul 22 15:27:42 2016 +0300

    Change grammar to support features from es31
    
    The grammar has been changed so that ES31 grammar is followed more
    closely. The ES31 grammar is not fully supported, only functionality
    related to qualifier enumeration is added.
    
    The ParseContext is changed so that type qualifiers can be now joined
    together (i.e. like layout qualifiers). This will allow enumeration of
    multiple storage qualifiers (i.e. uniform readonly coherent) which is
    essential for support of ES31 features.
    
    Some of the error checks had to be moved closer to the root of the
    parse tree since some of the information about the expression might be
    missing.
    
    Unfortunately, as there is no explicit ordering imposed by the
    grammar, additional checks for proper order of qualifiers had to be
    added. I also included unit tests which test against malformed
    shaders.
    
    BUG=angleproject:1442
    
    TEST=angle_end2end_tests
    TEST=angle_unittests
    TEST=dEQP-GLES3.functional.shaders.*precision*
    TEST=dEQP-GLES3.functional.shaders.*function*
    TEST=dEQP-GLES2.functional.shaders.*
    
    Change-Id: Ib3653a1ed1bfced099a6b2cbf35a7cd480c9100d
    Reviewed-on: https://chromium-review.googlesource.com/362940
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit b962aab6ffb79b8ddf8166db3561b212b73b0117
Author: Kenneth Russell <kbr@chromium.org>
Date:   Thu Sep 1 10:08:40 2016 -0700

    Remove stray reference to SH_EMULATE_BUILT_IN_FUNCTIONS.
    
    BUG=chromium:642227
    
    Change-Id: Ie1d74c0abd355a0bddc3c2b700390a3a2a9c4823
    Reviewed-on: https://chromium-review.googlesource.com/379875
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit e5bb72ff28773c42aae1a8e744882d194049b0a3
Author: Qiankun Miao <qiankun.miao@intel.com>
Date:   Thu Sep 1 01:41:27 2016 +0800

    Remove SH_EMULATE_BUILT_IN_FUNCTIONS which isn't used
    
    The flag is not used in chrome. We decide to do per emulation per flag.
    
    BUG=chromium:642227
    
    Change-Id: I936d53e5015186e35e672d0cb51c853a941582d2
    Reviewed-on: https://chromium-review.googlesource.com/379077
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 8314465defc7901f67687b9fea8e1ebebff898a2
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Aug 31 17:03:30 2016 -0400

    GL backend: add a workaround for bad default current vertex attributes
    
    BUG=angleproject:1492
    BUG=351528
    
    Change-Id: Ie4b25b0106282c9f60d19053e5a320549887bc8b
    Reviewed-on: https://chromium-review.googlesource.com/379196
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit a4e6f07433d219fbdc802fc438a5762f53822617
Author: Qiankun Miao <qiankun.miao@intel.com>
Date:   Mon Aug 29 14:49:21 2016 +0000

    Work around abs() issue in Intel Mac drivers
    
    abs(i) where i is an integer returns unexpected result in Intel Mac.
    This works around the issue by emulating abs(i) manually.
    
    BUG=chromium:642227
    TEST=deqp/functional/gles3/shadercommonfunction.html
    
    Change-Id: I2a41e0f4bcb0766109d651e663283b1760468017
    Reviewed-on: https://chromium-review.googlesource.com/377628
    Commit-Queue: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit c2c5fc48e3e8de4735f02c92b999e85746e80f16
Author: Qiankun Miao <qiankun.miao@intel.com>
Date:   Wed Aug 31 15:24:22 2016 +0800

    Remove CSS Shader related code
    
    CSS shader has been removed from spec and chrome code base. Remove the
    code in ANGLE.
    
    BUG=chromium:233383
    
    Change-Id: I93a35437f540e51ce7af9d49f21ca60d7c0b156a
    Reviewed-on: https://chromium-review.googlesource.com/378739
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 7ef9aa7b968034bbf197b51bc37d80dffed56712
Author: jchen10 <jie.a.chen@intel.com>
Date:   Wed Aug 31 15:39:38 2016 +0800

    Enable texelFetchOffset re-writing for GLSL translator
    
    Intel Mac has the same bug as Win. So the CL enables it in GLSL translator as
    well.
    
    BUG=chromium:642605
    TEST=deqp/functional/gles3/shadertexturefunction/texelfetchoffset.html
    
    Change-Id: I30323ea3a6d4c07ff32e50bd7c574916b5b865f4
    Reviewed-on: https://chromium-review.googlesource.com/378601
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit ad10a4aa7f121c410d35ce5429a0ca83ec7ff752
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Mon Aug 29 23:24:33 2016 -0400

    Update dEQP gles2 tests expectations for Android
    
    Mark tests that fail or hang on Nexus 5X as such.
    
    BUG=angleproject:1471
    TEST=gles2 tests pass on Nexus 5X
    
    Change-Id: I3de8ce3e472f9c75bd18140bf9aa4d79a73cb22d
    Reviewed-on: https://chromium-review.googlesource.com/377703
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit e3352f94a181e059275cfb501d7dd75b857f150b
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Fri Aug 12 20:40:14 2016 -0400

    Change angle_util to be a shared library
    
    So that there will be one instance of static thread synchronization variables
    in AndroidWindow.
    Previously there was one instance in lib_angle_deqp_gles2_tests__library
    and one in libangle_deqp_libgles2, resulting in AndroidWindow::initialize
    waiting forever.
    
    Also make the change in GYP build to fix standalone build,
    and fix rpath issues on Mac.
    
    BUG=angleproject:1471
    TEST=end2end and deqp tests on standalone Win10 and end2end on GN Mac 10.11
    
    Change-Id: I731578459400bb47d269df129aabed9b67b555e6
    Reviewed-on: https://chromium-review.googlesource.com/376202
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit d5da505da77f3ff31030b9f6fd02b4f00248dda4
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Aug 29 13:16:55 2016 +0300

    Fix constant folding non-square outerProduct
    
    Use all the vector elements correctly when constant folding non-square
    outerProduct. Previously the code used to discard some elements of the
    smaller outerProduct operand. Also clear up confusion about matrix
    rows/columns in matrix constant folding code in general.
    
    BUG=angleproject:1482
    TEST=angle_unittests
    
    Change-Id: I7cba8f97a92b875de01e57255d54258cdfd92a47
    Reviewed-on: https://chromium-review.googlesource.com/377298
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 2ac58792d5a867f354bd1da2809dd73e39b3c9e1
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Aug 29 15:31:44 2016 -0400

    Update dEQP GLES3 test expectations
    
    BUG=angleproject:1097
    
    Change-Id: Ib10ee930eb4d29bee3bc014c008a6b7420525e42
    Reviewed-on: https://chromium-review.googlesource.com/377458
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 4e58af614176072943bdb302b2395dd85a398514
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Aug 26 10:56:52 2016 -0400

    Add missing TexImage and CopyTexImage format combinations for ES3.
    
     * Some unsized DEPTH_COMPONENT combinations were not added to the validation
       tables for the ANGLE_depth_texture extension.
     * The HALF_FLOAT_OES format was not validated in ES3 for RGB and RGBA formats
       when the OES_texture_half_float extension is supported.
     * BGRA->BGRA CopyTexImage validation was missing.
    
    No more errors are generated within ANGLE when visiting
    http://alteredqualia.com/tools/webgl-features/
    
    BUG=605754
    
    Change-Id: If654c34adcebb4cd3eaa994ad7e912f6ffa4df55
    Reviewed-on: https://chromium-review.googlesource.com/376281
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit b920e360163336ce4b0deb08a53c4e4de8bd50d6
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Aug 3 18:19:41 2016 -0400

    Implement GL_ARB_create_context_robustness on GLX and WGL
    
    BUG=angleproject:1463
    
    Change-Id: I5bdcfd757d6f7d6411558c368fa7a26c8a38c9ba
    Reviewed-on: https://chromium-review.googlesource.com/365971
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 9ddfa060a38590c588fad41e834f886f344e76a0
Author: Martin Radev <mradev@nvidia.com>
Date:   Mon Aug 29 13:56:39 2016 +0300

    Disable compute shader tests on Intel
    
    The compute shader tests in angle_end2end_tests fail on Intel Linux.
    The patch disables the tests for Intel.
    
    TEST=angle_end2end_tests
    BUG=angleproject:1483
    
    Change-Id: I303f0852ea3ccb65c1dd96a196a640c76cc519e4
    Reviewed-on: https://chromium-review.googlesource.com/377318
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit ab48164566a4e3d859c75196047bd688437e0307
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Aug 26 12:09:10 2016 +0300

    Fix splitting nested sequence operators
    
    Make sure that only one sequence operator is split on one iteration
    of SplitSequenceOperator. This prevents multiple successive PostVisit
    calls to nested sequence operator nodes from adding duplicate nodes
    to the AST. The sequence operators are split starting from the
    outermost one to preserve execution order.
    
    Note that the shader translator somewhat unexpectedly generates nested
    sequence operators in the AST when there is a sequence operator with
    more than two operands, so this bug ended up affecting shaders in the
    wild. The code around parsing sequence operators could be clarified
    separately.
    
    BUG=638313
    TEST=angle_end2end_tests
    
    Change-Id: Ic6400a484ceff0c790c2290f7b4b80980f87cd88
    Reviewed-on: https://chromium-review.googlesource.com/376678
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 11e43ecee238ec6975652e0aa684e2f1c832d1d0
Author: Shao <jiawei.shao@intel.com>
Date:   Thu Aug 11 09:54:08 2016 +0800

    Add a workaround for Intel drivers on glsl function texelfetchoffset
    
    GLSL function texelfetchoffset will be translated into texture.Load in
    ANGLE. In D3D there is a note that When one or more of the coordinates
    in Location exceeds the u, v, or w mipmap level dimensions of the
    texture, Load returns zero in all components, but in glsl there is no
    such restriction, which will cause the WebGL 2 dEQP test
    deqp/functional/gles3/shadertexturefunction/texelfetchoffset.html fail
    on Windows with Intel GPU.
    
    Adapted from ExpandIntegerPowExpressions.cpp, this patch adds a
    translation from texelFetchOffset into texelFetch to work around this
    issue.
    
    BUG=angleproject:1469
    
    Change-Id: Iecfb9570472036acf5960789bdb1a63f191316be
    Reviewed-on: https://chromium-review.googlesource.com/367883
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 1fe74c7e2ecd1a811332f8c23b524f18fc3f7361
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Aug 25 13:23:01 2016 -0400

    Manually compute the mipmap size for the textureSize builtin.
    
    There were two issues with the current implementation:
     * The GetDimensions function already takes into account the base level of the
       SRV.
     * The GetDimensions function returns doesn't return valid sizes for levels
       that don't exist in the SRV.  Instead, manually do the lod offset.
    
    BUG=angleproject:931
    BUG=angleproject:1316
    
    TEST=dEQP-GLES3.functional.shaders.texture_functions.texturesize.sampler2d_fixed_vertex
    
    Change-Id: I63259b563a42b93b73949e0ef7ac412099a42f13
    Reviewed-on: https://chromium-review.googlesource.com/376099
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit b0465313084ccc460c9420071dff0400edd62589
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Aug 26 13:21:37 2016 -0400

    Don't allow packed integer types in glVertexAttribIPointer.
    
    They are only allowed in the glVertexAttribPointer call.
    
    BUG=angleproject:1101
    
    Change-Id: I85aae9e35b45e8b1296244756091271d01dd1533
    Reviewed-on: https://chromium-review.googlesource.com/376719
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 558b038c4499d65e03fd12f4d0db1aff0f956674
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Aug 26 17:54:34 2016 +0300

    Don't accept sampler operands for unary operators
    
    Unary plus and minus used to be accepted with sampler operands.
    Increment/decrement operators also now generate a clearer error
    message if a sampler operand is supplied.
    
    TEST=angle_unittests
    BUG=angleproject:1480
    
    Change-Id: I2c5165c4eaac7b023d96e46a177e36f6536b0125
    Reviewed-on: https://chromium-review.googlesource.com/376319
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 87fbe1c2534b8684758b44585494066d83793743
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Aug 3 14:41:42 2016 -0400

    ContextImpl: only expose getResetStatus for robustness
    
    This will allow each backend to implement this method separately. The
    current set of ContextImpl methods used for robustness are slightly
    D3D-centric.
    
    BUG=angleproject:1463
    
    Change-Id: I101f8ada2c49de4cf110db48b1e8380c52b50fb2
    Reviewed-on: https://chromium-review.googlesource.com/365829
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 4c4c8e7252a7fec399e9e78b9f2242c7ec5c7ea5
Author: Martin Radev <mradev@nvidia.com>
Date:   Thu Aug 4 12:25:34 2016 +0300

    Add compute program compilation and linking support
    
    Compute shaders can be now compiled and linked to create programs.
    Some tests are added to verify successful and unsuccessful compute
    shader linking.
    
    The patch also replaces std::array<int, 3> with a custom struct
    WorkGroupSize.
    
    BUG=angleproject:1442
    
    TEST=angle_end2end_tests
    TEST=angle_unittests
    
    Change-Id: I4ab0ac05755d0167a6d2a798f8d7f1516cf54d84
    Reviewed-on: https://chromium-review.googlesource.com/366740
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 63e1ec5c70706f664025ac69dd5dad73d45e6cbb
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Aug 18 22:05:12 2016 +0300

    Move the rest of the validation out of TIntermBinary::promote
    
    TIntermBinary::promote now has a single purpose of determining the
    type resulting from a binary math operation. The TIntermBinary
    constructor taking the left and right nodes can now also call promote
    automatically, and promote is made into a private member of
    TIntermBinary. Validation of binary math operand types is done
    inside ParseContext.
    
    BUG=angleproject:952
    TEST=angle_unittests
    
    Change-Id: I52a409f680c8d4120b757193972d03aed34c6895
    Reviewed-on: https://chromium-review.googlesource.com/372624
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 666f65a16f1419a4dd57bcaa8341de24de0fafa1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 26 01:34:37 2016 +0000

    Revert "Revert "Cover vector dynamic indexing case in SplitSequenceOperator""
    
    This reverts commit d2f59bb6dda4f3548e158a09540829f9ff56bba4.
    
    Change-Id: If2842bce17a0c085e2bc913ff120083fbe90497c
    Reviewed-on: https://chromium-review.googlesource.com/376189
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit b3925a3feb0f563714702b3143c17afde70d979a
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Aug 23 13:17:34 2016 -0400

    Add test for EGL_create_context_robustness
    
    The test is disabled on non-Windows as Linux drivers seem to not be
    able to kill an in-flight warp and the whole computer locks down.
    
    BUG=angleproject:1463
    
    Change-Id: Iea3dcb1df323aa1341a4d26fe291b6abfae2aa3a
    Reviewed-on: https://chromium-review.googlesource.com/374166
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 1dded803d767f24247e47bbb85f9d83e88bceee3
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Aug 18 18:13:13 2016 +0300

    Check multiplication validity in ParseContext
    
    This improves separation of responsibilities in the code: ParseContext
    should handle operand type validation, while TIntermBinary::promote
    should ideally only determine the type of the node based on the
    operation and operands.
    
    BUG=angleproject:952
    TEST=angle_unittests
    
    Change-Id: I9a8d8ede21cdf35de631623a62194c0da5c604d2
    Reviewed-on: https://chromium-review.googlesource.com/372622
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 9949f04d6b5756c04e0cf441ea0c78d05be42c9c
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Aug 3 12:47:27 2016 -0700

    Fence11: When busy looping on a fence, test for device loss
    
    Previously the code only checked is the device had already seen as lost
    but never updating the lost status. Since checking for device loss can be
    expensive, only do it every 128 loop iterations.
    
    BUG=angleproject:1463
    
    Change-Id: Ib481aebbb73d0f279e7ef835ac3a96c0a4663d58
    Reviewed-on: https://chromium-review.googlesource.com/365736
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 55033e583ba1bc5cbfafbab11d3255fecdfe9056
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Aug 25 17:32:12 2016 +0000

    Revert "Change angle_util to be a shared library"
    
    This reverts commit 2f9b5e6f79cd576bd3b7110272d58f143801bf0f.
    
    Change-Id: I90a7ba0596e79795c9549bc268eabff69c96d572
    Reviewed-on: https://chromium-review.googlesource.com/376079
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 0ea0caebcfa3f850670a9f8b419133b62c7243e7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Aug 10 12:39:29 2016 -0400

    Move load functions table to renderer layer.
    
    We will be able to use it for the Vulkan formats table.
    
    BUG=angleproject:1455
    
    Change-Id: Iddc09fe560b06880af72a6fa8eb03fa2792e2f8c
    Reviewed-on: https://chromium-review.googlesource.com/367454
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 17605b6160aa98cf32c342a007dbed6fea5ed2d0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Aug 10 11:48:29 2016 -0400

    Replace DXGI with ANGLE format in the load tables.
    
    BUG=angleproject:1455
    
    Change-Id: I851848d8a28bd70ff921d76b19902f40a5e8b17d
    Reviewed-on: https://chromium-review.googlesource.com/367453
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 46ad513f4e5b520892ae45b7ff3439c01ca7e480
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Sat Aug 13 14:22:47 2016 -0400

    dEQP: Use GL ES display factory on Android
    
    BUG=angleproject:1471
    
    Change-Id: I11964fa36fa75841512c49eda4cd5947d6197cda
    Reviewed-on: https://chromium-review.googlesource.com/368985
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 4628f38675369af18974daec782593e40aec9d51
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Sat Aug 13 14:13:16 2016 -0400

    Add dEQP search paths on Android devices
    
    Including: test expectations and list, dEQP data and test results.
    Hardcode chromium_tests_root for now, to avoid adding a new API
    to pass the path from test runner to ANGLE.
    
    BUG=angleproject:1471
    
    Change-Id: I654fa4727c436d743b3d6344ad17cb030934cde2
    Reviewed-on: https://chromium-review.googlesource.com/368984
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit b2e4863c5530fb4168aeb1a3a688cfd01ef856c8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 9 18:08:03 2016 -0400

    Replace std::map with switch in load functions.
    
    BUG=angleproject:1455
    
    Change-Id: Ica74ea5503efc0315bc4d98aa322da523a30b24c
    Reviewed-on: https://chromium-review.googlesource.com/367696
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 2f9b5e6f79cd576bd3b7110272d58f143801bf0f
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Fri Aug 12 20:40:14 2016 -0400

    Change angle_util to be a shared library
    
    So that there will be one instance of static thread synchronization variables
    in AndroidWindow.
    Previously there was one instance in lib_angle_deqp_gles2_tests__library
    and one in libangle_deqp_libgles2, resulting in AndroidWindow::initialize
    waiting forever.
    
    BUG=angleproject:1471
    
    Change-Id: Ia529c91e34960eb352730c1bb89a91ce6336c8a0
    Reviewed-on: https://chromium-review.googlesource.com/368983
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 6230dd54f5989c733b9c2b1cc1aa4929b2169bd4
Author: Martin Radev <mradev@nvidia.com>
Date:   Tue Aug 23 15:20:03 2016 +0300

    Check for OpenGL ES support when creating context
    
    Support for an OpenGL ES version can come either through OpenGL ES,
    OpenGL core or available extensions. The context creation should fail
    if the requested OpenGL ES version is not supported.
    
    BUG=angleproject:1477
    
    TEST=angle_end2end_tests
    
    Change-Id: I810d004a1bd62f75f162d775d3cf92c4283252a3
    Reviewed-on: https://chromium-review.googlesource.com/374338
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit ca05a081609679811d5695351ffcab0cc9e57682
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Fri Aug 12 14:46:30 2016 -0400

    Compile deqp_gles2 on Android
    
    Add some missing functions,
    modify preprocessor conditions and build files
    to include some other missing functions when building for Android.
    
    BUG=angleproject:1471
    
    Change-Id: Iadc0a0b9fed2444b8bc9a894ee65c8b66ea7f3c9
    Reviewed-on: https://chromium-review.googlesource.com/368982
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 91e71ed99fa7ba3eafb3f833996e6d7b081f728f
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Tue Aug 23 09:29:22 2016 -0700

    Misc minor WinRT fixes and cleanups
    
    Change-Id: Ibf041e74d81ef266791e6b6a3bb43bf504b035b3
    Reviewed-on: https://chromium-review.googlesource.com/374040
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit e18466657737df4e1371e6264c635abdac389e3b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 23 11:03:21 2016 -0400

    Add Vulkan to in-progress section of the landing page.
    
    Change-Id: Ib1f911d1a30921e4d74d405b77f930754a647d17
    Reviewed-on: https://chromium-review.googlesource.com/374048
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 39b110184e2675afbfda1fd70b10ca112127ae74
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Mon Aug 22 13:42:30 2016 -0700

    Remove Windows 8.1 (Store apps) and Windows Phone 8.1 support
    
    ANGLE has moved onto the Windows 10 SDK, and is using new compiler
    features that aren't supported by the old Windows 8.1 toolchain. Support
    for the 8.1 projects has been broken in master for some time now.
    
    Since more and more developers are moving towards Windows 10, we
    are going to take a snapshot of ANGLE that includes 8.1 support and
    freeze it in a branch on github.com/microsoft/angle. If developers
    wish to compile for use ANGLE in 8.1 apps then they should use that
    branch going forward.
    
    Change-Id: Ifee2d8a8cc0332500e0bd338911d831e7624fa82
    Reviewed-on: https://chromium-review.googlesource.com/374039
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit c47180403277d5a9c9d2dfaf5f9e4db7f9c72d64
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 9 17:21:03 2016 -0400

    Remove DXGI_FORMAT_UNKNOWN cases from load table.
    
    These cases were unreachable.
    
    BUG=angleproject:1455
    
    Change-Id: I5f3b969de3aca3862944ac9ed510c9f5e9fd77e2
    Reviewed-on: https://chromium-review.googlesource.com/367695
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 04d3d895d65e3ccfce395c643994d5566cb9b967
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 9 15:02:19 2016 -0400

    Simplify load functions table.
    
    The indexing of the table data was mismatched with the table,
    causing confusion with no appreciable gain. Fix this, reducing
    the lines in the script and table at the same time.
    
    BUG=angleproject:1455
    
    Change-Id: I59095ba11a416575fd2310765eaac8d368b90cab
    Reviewed-on: https://chromium-review.googlesource.com/367694
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 55f29a8c3226262d534369f20957ef6e8d2d37f1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 9 13:11:02 2016 -0400

    Check if conversion needed from load function.
    
    The 'LoadToNative' copy is the only one that should be considered a
    non-conversion. For depth formats, we should be clamping on SetData
    and CopyImage calls, so this changes the flags for two of the
    depth formats, but won't affect behaviour since the conversion bit
    is never check for depth/stencil formats.
    
    This allows us to remove the 'requiresConversion' bit from the data.
    
    BUG=angleproject:1455
    
    Change-Id: I739ecc54406d65049caad7851ffd51d7cb777946
    Reviewed-on: https://chromium-review.googlesource.com/367693
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c99518fc2fd2b1ec33cb38d6ac952d986df77595
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 9 11:10:38 2016 -0400

    Move default ANGLE format map to shared location.
    
    This default format mapping serves as a base for a Renderer format
    mapping. Any formats that require emulation or other representation
    in a Renderer can be overridden in the renderer layer.
    
    BUG=angleproject:1455
    
    Change-Id: I47f070c2ea132bada9cc0fc4353b89b74b8ee8f3
    Reviewed-on: https://chromium-review.googlesource.com/367692
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c2c106d44493f4b5188f857953146fa2aba5c39f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Aug 11 12:42:14 2016 -0400

    D3D11: Clean up buffer calls a bit.
    
    BUG=None
    
    Change-Id: I3b697c3b721b5be4888d039a5cefd160ab5b23f8
    Reviewed-on: https://chromium-review.googlesource.com/367877
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit f69682be3724f0490cb7842a4892b2082d9fdeb4
Author: Qiankun Miao <qiankun.miao@intel.com>
Date:   Tue Aug 16 14:50:42 2016 +0800

    Add unittests to verify invariant doesn't leak
    
    This is a followup CL of
    https://chromium-review.googlesource.com/366720. Unittests is added to
    check invariant status does not leak across shaders.
    
    This CL also moves mInvariantVaryings and mGlobalInvariant from
    TSymbolTable to TSymbolTableLevel. So at the end of a compilation, the
    levels pop, and the settings will be cleared and will not affect the
    next compilation.
    
    Change-Id: I1199fade7a637276ab149ab9a599621b9977298b
    Reviewed-on: https://chromium-review.googlesource.com/370844
    Commit-Queue: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit 3fdec9194941a763016ccf5d1ee536936143afab
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Aug 18 15:08:06 2016 +0300

    Refactor binary node creation
    
    1. Simplify code by using asserts instead of adding internal errors to
    log.
    
    2. Add a TIntermBinary constructor that takes left and right operand
    nodes as parameters.
    
    3. Remove TIntermediate functions with trivial functionality.
    
    BUG=angleproject:952
    TEST=angle_unittests
    
    Change-Id: I2e0e52160c9377d8efcf15f14fd59f01cb41bd83
    Reviewed-on: https://chromium-review.googlesource.com/372720
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 1cc598f8a8312dbceba96125bd9f5c876ab5493d
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Aug 18 13:50:30 2016 +0300

    Add error and warning helpers to Diagnostics
    
    This will make it easier to generate errors and warnings with a
    consistent format outside of ParseContext, for example in
    TIntermBinary::fold() which warns about division by zero.
    
    BUG=angleproject:952
    TEST=angle_unittests
    
    Change-Id: I25999d7bdc77efafe77785a0d6f4d63417dfaab9
    Reviewed-on: https://chromium-review.googlesource.com/372719
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 244be01a340632b9789af26385948a61a8fd7dbc
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Aug 18 15:26:02 2016 +0300

    Fix struct compound assignment being allowed in GLSL parsing
    
    The shader translator used to accept some invalid struct operations,
    like struct += struct and struct == struct with a different type. Fix
    this.
    
    BUG=angleproject:1476
    TEST=angle_unittests
    
    Change-Id: Ia2303fc1f740da4d78242e094ee6004b07364973
    Reviewed-on: https://chromium-review.googlesource.com/372718
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit bccc65d32305ba3d5f456c4dd45b18cae33d4e7e
Author: Kenneth Russell <kbr@chromium.org>
Date:   Tue Jul 19 16:48:43 2016 -0700

    Flatten "#pragma STDGL invariant(all)" into varying variables.
    
    This is implemented as a compiler option which is enabled by default
    when outputting to desktop GLSL version 130 and greater, which does
    not support this #pragma in fragment shaders. As a workaround, and for
    better compatibility on desktop OpenGL drivers, this pragma is also
    flattened into the outputs of vertex shaders, and the inputs of ESSL
    1.00 fragment shaders.
    
    TEST=conformance/glsl/misc/shaders-with-invariance.html with --enable-unsafe-es3-apis
    BUG=629622, angleproject:1293
    
    Change-Id: Ib040230915e639971505ed496d26e804c9d64e68
    Reviewed-on: https://chromium-review.googlesource.com/361792
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Kenneth Russell <kbr@chromium.org>

commit d2f59bb6dda4f3548e158a09540829f9ff56bba4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Aug 17 11:50:52 2016 -0400

    Revert "Cover vector dynamic indexing case in SplitSequenceOperator"
    
    This CL was causing inverted rendering in a WebGL application.
    
    This reverts commit 7da9850643f55335a13a4663d226c73d0ac4d3b1.
    
    Vectors or matrices that are dynamically indexed as a part of an
    l-value generate new statements in the RemoveDynamicIndexing AST
    transformation step. SplitSequenceOperator needs to detect this case
    and split the sequence operator before statements are generated from
    its operands to ensure the correct order of execution.
    
    BUG=angleproject:1341
    TEST=angle_end2end_tests
    
    Change-Id: I854f8cce2d46107afa62f48edf3d32c6d5c97eda
    Reviewed-on: https://chromium-review.googlesource.com/371643
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 6c9503ec49fd3ae5e59de7d31f6a9a90469eee6a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 16 14:06:32 2016 -0400

    D3D11: Improve integer pow workaround.
    
    A slight bug in the problem case detection applied the workaround
    overly-broadly. Also included a much more thorough test.
    
    BUG=angleproject:851
    
    Change-Id: I5c09d67eee3622c144401769af85958f23b60c57
    Reviewed-on: https://chromium-review.googlesource.com/371380
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 1200c41b7a99354a77d9cba0095053f2fbae3b8c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 16 14:09:14 2016 -0400

    Suppress two new AMD failures.
    
    These failures were exposed with the new R7 240 card.
    
    BUG=chromium:637037
    
    Change-Id: I1fe5add2fc08d5c93e338250efb2af62712d0e53
    Reviewed-on: https://chromium-review.googlesource.com/371318
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 8a17626d1bf64b6f9e9abd8822cea9dc8198a72a
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Aug 16 14:23:01 2016 +0300

    Refactor: Return true when checks succeed in ParseContext
    
    Instead of returning false when a check succeeds in ParseContext,
    return true. This is more intuitive and in line with conventions used
    elsewhere inside ANGLE.
    
    Also includes some minor other cleanup in ParseContext, like improved
    variable names and code structure especially when checking array
    element properties. This will make introducing arrays of arrays easier
    in the future.
    
    BUG=angleproject:911
    TEST=angle_unittests
    
    Change-Id: I68233c01ccfbfef9529341af588f615efc2b503a
    Reviewed-on: https://chromium-review.googlesource.com/371238
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 583c4d2a8daf9023279d49aa3d571b0a148152d9
Author: Qiankun Miao <qiankun.miao@intel.com>
Date:   Fri Aug 5 17:58:40 2016 +0800

    Invariant qualifier should not leak across shaders
    
    Change-Id: I2a35899bffd28767b8bc638f415857636d4ad8ef
    Reviewed-on: https://chromium-review.googlesource.com/366720
    Commit-Queue: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit 4e94fea8f3b362987942af28919df4d04e0c7f04
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Tue Aug 9 14:31:37 2016 -0700

    Emulate gl_FragColor broadcasting behavior when GL_EXT_draw_buffers is
    enabled.
    
    BUG=angleproject:1467,635433
    TEST=WebGL conformance, angle_unittests
    
    Change-Id: I9eb4ce715732087a3786da886f42243716f2b9b2
    Reviewed-on: https://chromium-review.googlesource.com/367532
    Commit-Queue: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 856c497e47988e69afaf17ebec3d8c9d02e340c7
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Aug 8 11:38:39 2016 +0300

    Clarify error checking function names in the GLSL parser
    
    Most error checking functions in ParseContext used to follow a format
    like <property>ErrorCheck. Sometimes this function would check that
    the node/value would have <property>, sometimes it would check that
    the node/value would not have it, which was confusing. Change most of
    these functions to use a lot more descriptive names, which clearly
    communicate what they are checking for.
    
    Also includes a bit of refactoring in constructorErrorCheck(), so that
    the function only checks for errors rather than also setting the type
    of the constructor node.
    
    Also make TType::arraySize unsigned, and return a sanitized size from
    checkIsValidArraySize() instead of using an output parameter.
    
    BUG=angleproject:911
    TEST=angle_unittests
    
    Change-Id: Id9767b8c79594ad3f782f801ea68eb96df721a31
    Reviewed-on: https://chromium-review.googlesource.com/367070
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 9371f7ab298e6f50c655760fc9dcbe2e6370199a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 9 11:10:37 2016 -0400

    D3D11: Remove unsized formats from the table.
    
    These cases weren't actually ever hit within ANGLE.
    
    BUG=angleproject:1455
    
    Change-Id: I60da3fb9eae91598ddaed5572a4bab0a66345694
    Reviewed-on: https://chromium-review.googlesource.com/367691
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 307120686df33a5eea6de92f281969be6e4b955e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 9 11:10:36 2016 -0400

    Move fast copy functions into angle::Format.
    
    These tables were duplicated in D3D11 and D3D9, and would have to be
    further duplicated into Vulkan.
    
    BUG=angleproject:1455
    
    Change-Id: Ice1b81417d7b14f933b61861c4a9997c260ef72e
    Reviewed-on: https://chromium-review.googlesource.com/367690
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 41ee20248d0df70212b099fab857e938b5c18ed3
Author: Minmin Gong <mgong@microsoft.com>
Date:   Mon Jul 18 16:22:03 2016 -0700

    D3D11: Improvements on ETC1 to BC1 transcode.
    
    ETC1 data doesn't need to be fully decoded before encoding to BC1. Saves
    ~50% computation.
    
    BUG=angleproject:1285
    
    Change-Id: I0cb479a08159ccd0472e5fdf40dd84323151883c
    Reviewed-on: https://chromium-review.googlesource.com/361553
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 8cf70d55aab2f70553d041e87dc8a4b521b3387e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 9 11:10:35 2016 -0400

    D3D11: Rename ANGLEFormatSet to Format.
    
    BUG=angleproject:1455
    
    Change-Id: I896b3ed2d5e4ff3ad72de9a3a4b554841129e4e9
    Reviewed-on: https://chromium-review.googlesource.com/367093
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c98cd326a4c4546c08f3f588e5fe65f7b374c8a2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 9 11:10:33 2016 -0400

    D3D11: Merge d3d11::TextureFormat and ANGLEFormatSet.
    
    BUG=angleproject:1455
    
    Change-Id: I7fc2640ec9d73528feb526b4d8b89cabccda4d17
    Reviewed-on: https://chromium-review.googlesource.com/367092
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit e5922891b33b85c1b0f452dd0c9f0910e1d6982a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 9 11:10:32 2016 -0400

    D3D11: Partially squash D3D11 format types.
    
    d3d11::TextureFormat and d3d11::FormatSet don't really do different
    things, so it would be best to merge them.
    
    BUG=angleproject:1455
    
    Change-Id: I8c09ae763e4cb284bb611fed9d74b9048fb9f13e
    Reviewed-on: https://chromium-review.googlesource.com/367091
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 950ee3cc433c755534c804bd08fad927a3b1c426
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Aug 10 15:46:07 2016 -0400

    Update the homepage support table.
    
    Mention our good ES 3.0 support. Also mention our multiplatform and
    Vulkan support.
    
    BUG=None
    
    Change-Id: Ib2a3f94b56ecf3a3b20b960b3270ebbc8948a628
    Reviewed-on: https://chromium-review.googlesource.com/367755
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 9a39224bd2f991be361781b59c68bc8211d94315
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 9 11:10:31 2016 -0400

    D3D11: Move the swizzle format set into ANGLEFormatSet.
    
    The only piece of data left in the d3d11::TextureFormat is the
    initializer function, which could just as easily be in the
    ANGLEFormatSet.
    
    BUG=angleproject:1455
    
    Change-Id: Iee8eb84f71807575c2a46bf4fcbf283aa1b7f565
    Reviewed-on: https://chromium-review.googlesource.com/367090
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 86e0b7f7f6af7e50864fbfe58e2c4bb80a4b86e0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 9 11:10:29 2016 -0400

    Clean up PackPixels.
    
    BUG=angleproject:1455
    
    Change-Id: I263719cc77ff80580a551683d062e862dee1bdab
    Reviewed-on: https://chromium-review.googlesource.com/365826
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a5ac1e1656cb06fb8c893e153c9b260249f6b5cc
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 9 11:10:28 2016 -0400

    D3D9: Use angle::Format when possible.
    
    This will unify the way we call into PackPixels and also cleans u
    the code. It required adding a few D3D9-specific formats to the table.
    
    BUG=angleproject:1455
    
    Change-Id: Ic8282f40f52cabdb2925e2bb305c26582284082d
    Reviewed-on: https://chromium-review.googlesource.com/365825
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit a5b1561ec31768ee86060604cd336589cde1d168
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 9 11:10:27 2016 -0400

    Place format info in angle::Format.
    
    Some bits of information, like the copy functions and mipmap gen
    functions, can be shared across back-ends in the angle::Format
    class.
    
    Also name the info struct angle::Format, and use an enum class
    angle::Format::ID to identify the particular format.
    
    This patch introduces a new table generator for angle formats
    and updates the D3D11 generator accordingly.
    
    BUG=angleproject:1455
    
    Change-Id: I13b8b98822b1186c6a9e436dc232c18fef50980c
    Reviewed-on: https://chromium-review.googlesource.com/365824
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 20f69ce5dbae087d844d4e6af6347c69b262155e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 9 11:10:26 2016 -0400

    Introduce angle::Format enum.
    
    This general enum can encapsulate different formats between
    GL/Vulkan/D3D9/D3D11/etc so we can use them in common routines like
    PackPixels. It also can help us get rid of the ANGLEX enums which
    we use to represent internal formats not present in GL.
    
    It is currently used for Textures/Renderbuffers/Surfaces, but can
    also be extended in the future to cover things like vertex formats.
    It mirrors something like a DXGI_FORMAT in D3D11 or VkFormat.
    
    BUG=angleproject:1455
    
    Change-Id: I467d7b36d8fc92bb45239d56b9243d06f4e29378
    Reviewed-on: https://chromium-review.googlesource.com/365413
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 383b791a1398fb59f48d386788954ffced16aa96
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Aug 5 11:22:59 2016 +0300

    Remove recover() from ParseContext
    
    This call is a no-op. The shader parser is intended to almost always
    recover from errors, so including it doesn't clarify the code either.
    It's simpler to remove it entirely.
    
    BUG=angleproject:911
    TEST=angle_unittests
    
    Change-Id: I0feae097c2807c8e9559672e7a3d50a2fc4fbdea
    Reviewed-on: https://chromium-review.googlesource.com/367040
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit b088360f01d494a1120dfc1996c771cdff02c9d2
Author: Martin Radev <mradev@nvidia.com>
Date:   Thu Aug 4 17:48:58 2016 +0300

    Add compute shader special variables
    
    Support is added for the compute shader special variables given in
    OpenGL GLSL ES 3.1 Revision 4, 7.1.3 Compute Shader Special Variables.
    Unit tests are added for legal and illegal usage of the special
    variables.
    
    BUG=angleproject:1442
    
    TEST=angle_unittests
    
    Change-Id: Idb25811c15c4044c55c611c0e73ef26eb5b3e9d7
    Reviewed-on: https://chromium-review.googlesource.com/366661
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 802abe0150b38df3c65205af60180acd63a66e51
Author: Martin Radev <mradev@nvidia.com>
Date:   Thu Aug 4 17:48:32 2016 +0300

    Add compute shader compilation support in the glsl compiler
    
    Support is added for compute shader compilation. There is a small
    extension to the parser so that 'local_size_x = ', 'local_size_y = '
    and 'local_size_z = ' are supported as layout qualifiers.
    
    A few shader compilation tests are added and one which checks the AST
    whether the layout qualifiers are properly parsed.
    
    BUG=angleproject:1442
    
    TEST=angle_unittests
    TEST=angle_end2end_tests
    
    Change-Id: I67283797d1cf13fa4ac47faa2a6e66d93a2db867
    Reviewed-on: https://chromium-review.googlesource.com/362300
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 17b10a9aaf277c3121d36372d58adf314ab7e521
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Aug 3 14:10:06 2016 -0400

    D3D11: Store more format info by-reference.
    
    This CL stores the d3d11::TextureFormat by reference in the texture
    storage. Adding the internalFormat to the TextureFormat allows us
    to store a single ref instead of three per TextureStorage11.
    
    Also store the format sets in a d3d11::TextureFormat by-ref instead
    of by-pointer, making the code a bit cleaner.
    
    BUG=angleproject:1455
    
    Change-Id: I3c0e966d948c694435577d7d45dc0cd156480cdb
    Reviewed-on: https://chromium-review.googlesource.com/365412
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 3416ff3eef4f29c157785e862f6518fc099855f2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Aug 4 10:13:21 2016 -0400

    D3D: Check for error before createTextureStorageEGLImage.
    
    Previously we were just dumping any unexpected errors here. Fix this
    by passing in the RT explicitly in the constructor, although we still
    store the EGLImage pointer in case the RT changes.
    
    BUG=angleproject:1455
    
    Change-Id: Ie4d4a07c3a7b3a5ccc0a43c4e80bfc6ee43a676b
    Reviewed-on: https://chromium-review.googlesource.com/365411
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit f7ccaf7383cf75874de3298063172378f80a5e47
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Aug 3 14:10:04 2016 -0400

    D3D11: Move texture format code out of the python script.
    
    It's better to maintain the code outside of a generator script. It
    gives easier formatting and updating.
    
    BUG=angleproject:1455
    
    Change-Id: I2b4383f1ed01545004de10024d03879201e2bf41
    Reviewed-on: https://chromium-review.googlesource.com/365410
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit f5207deab6e1f2e45f8adea1291e04cf1573fe3e
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Aug 5 11:51:40 2016 -0400

    DisplayGLX: XSync before setting the error handler
    
    This mirrors https://codereview.chromium.org/2206973002
    
    BUG=628823
    
    Change-Id: Ifd71d67df174cac3f90097c809fc91046699bed8
    Reviewed-on: https://chromium-review.googlesource.com/366790
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 43341b7a0e8c68e937f7ff9913fb72de2535afd7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Aug 3 14:10:03 2016 -0400

    D3D11: Merge FL10 and 9_3 ANGLE formats.
    
    This will let us use ANGLE formats to describe a format layout rather
    than a Renderer-specific usage. This in turn will let us use ANGLE
    formats for other Renderers, as a universal thing.
    
    BUG=angleproject:1455
    
    Change-Id: I56492cb809d4ef6ac4b962cb12affbc853bbdaa0
    Reviewed-on: https://chromium-review.googlesource.com/365269
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 509a1d4602e84807e60e449ed702e8f0bd6d5ec1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 18 10:10:29 2016 -0400

    GN: Enable more MSVS warnings.
    
    Some warnings were enabled only in standalone builds. Enabling them in
    the GN config will prevent standalone build breakage and also make
    some potentially harmful warnings more visible to non-Windows devs.
    
    BUG=angleproject:1449
    
    Change-Id: I11fe9bac957864d37af37b3860a22fcbd91946ac
    Reviewed-on: https://chromium-review.googlesource.com/360961
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit e1c4d39a9872d63c56ac558dfbd51cb95b6d8876
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Aug 4 11:44:34 2016 -0400

    Fix unused variable warnings.
    
    BUG=angleproject:1442
    
    Change-Id: I07b32d4c1f1a95f136bf922e78053e0de41c1633
    Reviewed-on: https://chromium-review.googlesource.com/366083
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit fbcd96dbae4ead75009674492e8d2f358d230eb9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Aug 3 17:12:34 2016 -0400

    dEQP: Add simple stats reporting to GTest runs.
    
    BUG=None
    
    Change-Id: Ia2b59916ebb0de5a09c1f039200d6c8885dd294c
    Reviewed-on: https://chromium-review.googlesource.com/365940
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c53507ca265dbb73214f21c26175dcd78f6c3d0c
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Aug 3 13:37:54 2016 -0700

    Noop cleanups to Renderer11.h and Renderer9.h
    
    BUG=
    
    Change-Id: I1cdaa61fa00cc418b3c0b4d9e8270e780ff0d8a6
    Reviewed-on: https://chromium-review.googlesource.com/365737
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit e93d24ef1fb0caddce3cbf1e6caf974292185abf
Author: Martin Radev <mradev@nvidia.com>
Date:   Thu Jul 28 12:06:05 2016 +0300

    Add es3.1 shader constants
    
    The patch adds all shader built-in constants.
    
    BUG=angleproject:1442
    
    TEST=angle_unittests
    TEST=angle_end2end_tests
    
    Change-Id: I81cae479d6506a8faa2dce023d5fcc2c1291d521
    Reviewed-on: https://chromium-review.googlesource.com/364460
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 3cbb27a10d884a8444718f1370c60c7d23cd9d81
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Jul 14 11:55:48 2016 +0300

    Simplify loop conditions so that they won't generate statements
    
    Introduce an AST traverser that can move the evaluation of certain
    types of loop conditions and loop expressions inside the loop. This
    way subsequent AST transformations don't have to worry about cases
    where they have to insert new statements to implement a loop condition
    or expression.
    
    This includes the revert of "Unfold short-circuiting operators in loop
    conditions correctly". The new traverser covers the loop cases that
    used to be handled in UnfoldShortCircuitToIf.
    
    BUG=angleproject:1465
    TEST=WebGL conformance tests,
         dEQP-GLES2.functional.shaders.*select_iteration_count*
    
    Change-Id: I88e50e007e924d5884a217117690ac7fa2f96d38
    Reviewed-on: https://chromium-review.googlesource.com/362570
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 66fb82067944ba3bbf87beae13018200e1459373
Author: Martin Radev <mradev@nvidia.com>
Date:   Thu Jul 28 11:45:20 2016 +0300

    Add ES3.1 API constants
    
    The newly added capability constants are handled in the corresponding
    glGet functions. Also, getBooleani_v has been added.
    
    BUG=angleproject:1442
    
    TEST=angle_deqp_gtest_gles31_tests
    --gtest_filter=*functional_state_query_integer_max_*
    TEST=angle_deqp_gtest_gles31_tests
    --gtest_filter=*state_query_indexed_max_compute_work_group_size*
    TEST=angle_unittests
    TEST=angle_end2end_tests
    
    Change-Id: I846e006307563ae81d8b6c62cf261417e15186c7
    Reviewed-on: https://chromium-review.googlesource.com/362270
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit f54b14fc11c4ba0f1cbd44a3b5f44c6b35ed43db
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Aug 2 11:28:13 2016 -0400

    Remove angle_standalone from GYP files
    
    BUG=angleproject:1462
    
    Change-Id: Ifdd714e2bc1f0a184f63f8ef162facce5286e935
    Reviewed-on: https://chromium-review.googlesource.com/365233
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 97073d12b757f7569f75491f412afeffc915b624
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Apr 20 10:42:34 2016 -0700

    Implement CHROMIUM_copy_texture for D3D11.
    
    BUG=angleproject:1356
    
    Change-Id: I70246762411dbeeb3e291e317854139a68d80070
    Reviewed-on: https://chromium-review.googlesource.com/339434
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 59a334fcebec7c6433c925b43d6204f6fa3819f5
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Aug 2 11:29:45 2016 -0400

    Remove ANGLE's isolate
    
    BUG=angleproject:1462
    
    Change-Id: I549692583bbf35edc4e383f8fb7e0dff17c28594
    Reviewed-on: https://chromium-review.googlesource.com/365234
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 9c721c64170b6698bbc68b407d780d25b2f7133c
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Aug 2 14:56:23 2016 -0400

    Check for device loss on all applicable EGL entry-points
    
    This will make applications aware of device loss on all EGL calls that
    need to have an initialized display. For that purpose, we track the
    device loss state at the egl::Display level instead of always querying
    the implementation. This is correct because at device-loss at the
    display level is non-recoverable. It also deduplicates the tracking
    that would have to be done in all the EGL backends.
    
    Changes made in this commit:
     - Cached device loss in egl::Display
     - Check isDeviceLost in ValidateDisplay
     - Changed EGL entry-points testing isDeviceLost to explicitely request
       a testDeviceLost
     - Add calls to ValidateDisplay to entry-points missing it
     - Removed unused virtual qualifiers for some robustness methods
    
    BUG=angleproject:1463
    
    Change-Id: I92bea81f2ecd5423c445cff31557a4d9783557d5
    Reviewed-on: https://chromium-review.googlesource.com/365450
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 6bbdce5b366dd1adc09c69b5265bc585d08b2c20
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 2 12:32:00 2016 -0400

    D3D11: Remove X24G8 special format.
    
    This special format means we're using a depth/stencil format with only
    the stencil channel being used. We can just use a normal D24S8 format
    here, there's pretty much no difference.
    
    BUG=angleproject:1455
    
    Change-Id: Id304094b92814f38930209a703733190ad8e8410
    Reviewed-on: https://chromium-review.googlesource.com/359086
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 7a074768a9bb98e688a6a073145f3ed53c787801
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 2 12:31:59 2016 -0400

    D3D11: Remove 'non-renderable' texture formats.
    
    The only difference between the NONRENDERABLE and normal versions of
    the formats is the rtvFormat is blank for non-renderable. The only
    place that I can see we check rtvFormat to make a decision is in
    TextureStorage11::GetTextureBindFlags. The rtvFormat here isn't
    necessary because we also check the 'renderTarget' flag, which won't
    be true for compressed formats at any time.
    
    BUG=angleproject:1455
    
    Change-Id: Icbb438d336e67b80c44a0ab8de995a32b92e451e
    Reviewed-on: https://chromium-review.googlesource.com/359085
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 00d6796aba7279c771082e899a3eb823a5df0ab1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 28 16:20:21 2016 -0400

    Replace std::set with vector for signal receivers.
    
    This should make insertion much faster, which will improve the speed
    of many BindBuffer calls.
    
    BUG=angleproject:1458
    
    Change-Id: I3f7ebc02cc481257be8b84773506b9ac9e3be677
    Reviewed-on: https://chromium-review.googlesource.com/364221
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 11b3061237eb7f16efee452b2a55d0365390a58b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 2 12:31:58 2016 -0400

    D3D11: Store ANGLEFormatSets instead of ANGLEFormats.
    
    This saves us looking up the FormatSet repeatedly.
    
    BUG=angleproject:1455
    
    Change-Id: I77890c1eb427e7d087ceaf194a5001b8b03585d4
    Reviewed-on: https://chromium-review.googlesource.com/359084
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit aae1e4ae8225ff47e38d133ce6d8e358d4706d90
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Aug 1 09:44:09 2016 -0400

    ShCheckVariablesWithinPackingLimits: remove deprecated overload
    
    BUG=621031
    
    Change-Id: Ib4cdd88ecd58f617813a91379a8b8b518fba149b
    Reviewed-on: https://chromium-review.googlesource.com/364910
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 5655b849d8fe1e79d06f2ed0b5064533ab893a44
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 2 11:00:07 2016 -0400

    D3D11: Fix integer pow workaround for nested pows.
    
    For some nested pow expressions, queueing two node replacements in the
    same tree traversal would mangle tree, resulting in invalid code. Fix
    this by iterating over the tree until no replacements are found, and
    doing one replacement each iteration.
    
    BUG=angleproject:851
    
    Change-Id: Ie08ab23f4bfe3d5f32726856afc61ff1f3d6c789
    Reviewed-on: https://chromium-review.googlesource.com/365400
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 1e0ea4f50823bcc2cd1295570bb51421b1843084
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jul 22 13:07:24 2016 -0400

    Add a workaround for NVIDIA drivers with repeated transform feedback.
    
    BUG=angleproject:1298
    
    Change-Id: Ibfbad8eb8ec824e377d8c1746a6691d6b689f498
    Reviewed-on: https://chromium-review.googlesource.com/362601
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit ee7e1e21981b138c3c31e664164fac858bbc727d
Author: Martin Radev <mradev@nvidia.com>
Date:   Mon Jul 18 15:39:47 2016 +0300

    Add ES31 entry points as function stubs
    
    Entry points were generated using scripts which take the
    new function declarations from gl31.h, find the newly added functions
    and output the new function declarations and defitions.
    
    BUG=angleproject:1442
    TEST=angle_unittests
    
    Change-Id: I2d77eb4cc24873a31cb2745b7b82bf611d5058c6
    Reviewed-on: https://chromium-review.googlesource.com/361291
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 03d863c84e92a106e47af0c034c552c58f45fef6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jul 27 18:15:53 2016 -0400

    translator: Refactor node replacement APIs.
    
    BUG=angleproject:851
    
    Change-Id: I50c3b3a4f00b27fed85f09509738513a441c7b5b
    Reviewed-on: https://chromium-review.googlesource.com/363990
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 64ae9952823b4060120dc4fe8451476b564faf81
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 25 17:55:27 2016 -0400

    D3D11: Get driver version from DXGI adapter.
    
    This is a simpler and more portable design. Thanks for Austin from MS.
    
    BUG=angleproject:1452
    
    Change-Id: I93e8f3fc61107f13c4b2c1cf7fbaf2bb7ccdfafb
    Reviewed-on: https://chromium-review.googlesource.com/363041
    Reviewed-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit ee0fac3fa5d4892c8d76bd907610780cd39d83ac
Author: Martin Radev <mradev@nvidia.com>
Date:   Tue Jul 19 14:58:18 2016 +0300

    Put chromium path rendering entry points into the extern C block
    
    Entry points were outside of the extern C block.
    
    Change-Id: Ifbd159c59b850a90f728db9027c485661aa96bc8
    Reviewed-on: https://chromium-review.googlesource.com/361720
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit c9bde92635e8dfa84961b86192af4ecda90de4d9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sun Jul 24 17:58:50 2016 -0400

    D3D11: Allow gl_PointCoord when not rendering points.
    
    ANGLE D3D11 uses a geometry shader to expand points into quads.
    This led to an edge case with gl_PointCoord. When the user references
    gl_PointCoord in the fragment shader but renders with GL_TRIANGLES or
    other non-point primitives, gl_PointCoord is undefined, but ANGLE
    would produce a link error. This would break some very odd edge-case
    shaders (e.g. a shader that is used with both points and triangles).
    
    We can fix this by simply adding a dummy PointCoord value to our
    vertex shader is all cases. If the user renders points, we ignore the
    PointCoord value passed to the geometry shader. If they render tris
    or lines and use PointCoord, the shader signatures will match, and
    PointCoord will even have a sane value of (0.5, 0.5).
    
    BUG=angleproject:1380
    
    Change-Id: I322155cd3801d0241cabc9bb639a5aaa502831b3
    Reviewed-on: https://chromium-review.googlesource.com/362779
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Commit-Queue: Zhenyao Mo <zmo@chromium.org>

commit ce1ed238a5949ddb895e94cb6ae5478b150d97a8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sun Jul 24 12:45:17 2016 -0400

    D3D11: Detect driver version for blit workaround.
    
    Since the newer driver versions are required for WebGL 2 conformance,
    we need a solution that can detect a driver version to know if we
    should apply the workaround.
    
    Use a modified copy of Chrome's Windows GPU driver detection code.
    In the future we should extend this to a full module when we port
    the command buffer workarounds.
    
    BUG=angleproject:1452
    
    Change-Id: I783d5726454671cc22585a2bf990c071d539aa9f
    Reviewed-on: https://chromium-review.googlesource.com/361962
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 1048e43f4a9704e25b41decec4ec76a29a2bf1c8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Jul 23 18:51:28 2016 -0400

    D3D: Work around HLSL integer pow folding bug.
    
    BUG=angleproject:851
    
    Change-Id: I68a47b8343a29e42c0a69ca3f2a6cb5054d03782
    Reviewed-on: https://chromium-review.googlesource.com/362775
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit ed0ab661b141d5b5d1793728eb1049526856b8d7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Jul 23 14:30:22 2016 -0400

    D3D11: Fix another missing viewport set.
    
    This one was in a different blit function.
    
    BUG=angleproject:1246
    
    Change-Id: Ib571c10ddc30b3293f5c0d6bdb357b4cd3b52579
    Reviewed-on: https://chromium-review.googlesource.com/362774
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit 7cfefb371e332c76a4d1ac3be9a9a8bf6db2be8c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Jul 23 13:02:32 2016 -0400

    D3D11: Set viewport in Blit11::resolveStencil.
    
    This introduced a flaky failure to the multisample resolve blit tests.
    They would work sometimes if the state had set the correct viewport
    previously, so it wasn't always evident there was a bug.
    
    BUG=angleproject:1246
    
    Change-Id: If16d574fb87484fcdc9b7cc6ecc0531ee4a8959d
    Reviewed-on: https://chromium-review.googlesource.com/362699
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit f178d0bdd19377f8fabd856b118e165803af2fc6
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Sat Jul 23 06:59:00 2016 -0700

    Fix output variable gl_FragData array size issue.
    
    If the GL_EXT_draw_buffers extension isn't explicitly enabled in the shader,
    then gl_FragData is an array of size 1, not of size max_draw_buffers.
    
    BUG=angleproject:1441
    TEST=webgl2_conformance with --use-gl=angle
    
    Change-Id: I2ead1457462bf1f396fda1f47022df6b54612e17
    Reviewed-on: https://chromium-review.googlesource.com/362781
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Commit-Queue: Zhenyao Mo <zmo@chromium.org>

commit c051372a19c28426e3bb2d323dd8cc3e71d0fcfd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jul 22 23:20:59 2016 -0400

    Fix standalone variable shadowing warning.
    
    Introduced in https://chromium-review.googlesource.com/362641
    Eventually we'll switch to using the same sets of warnings
    for standalone and GN ANGLE.
    
    BUG=angleproject:1441
    
    Change-Id: I6534b9f85b952ddf1d953342cf9c8ddc5de6614e
    Reviewed-on: https://chromium-review.googlesource.com/362780
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 0c8abca13231c5e7399a6019f61dbbeea6c30e57
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jul 22 20:21:26 2016 -0400

    Fix CopyTexSubImage validation.
    
    Now that we preserve the sized-ness information, we can validate
    CopyTexSubImage and related methods correctly.
    
    Fixed a lot of WebGL 2 tests when using ANGLE.
    
    BUG=angleproject:1228
    
    Change-Id: I959322c0a9bb16a2f16d60dce7cd1e63ca95b45a
    Reviewed-on: https://chromium-review.googlesource.com/362618
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a3944d4f493f9473f858b9206940ce1a0031be21
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jul 22 22:13:26 2016 -0400

    Add gl::Format to represent a texture/rb/surface format.
    
    This has a few advantages: it preserves all the information of the
    internal format, such as if it is sized or unsized. It also saves
    looking up the format multiple times in the table, which should
    improve speed in some cases.
    
    The extra sized-ness information will allow us to perform the
    correct validation in CopyTexSubImage calls.
    
    BUG=angleproject:1228
    
    Change-Id: I42954771b0a9a968f5d787b8cf6e0af721791855
    Reviewed-on: https://chromium-review.googlesource.com/362626
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit f931268f06da5443188643b7bcad022cf6cb97e5
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Fri Jul 22 12:51:31 2016 -0700

    Handle initializing of struct typed output variable correctly.
    
    BUG=angleproject:1441
    TEST=webgl2 conformance
    
    Change-Id: Idb27036347e1e814ba4603969cc2065e425ac4aa
    Reviewed-on: https://chromium-review.googlesource.com/362641
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Commit-Queue: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 156d71973ada7580b500d21d2b462e22a4c8c1ef
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jul 21 16:11:00 2016 -0400

    HLSL: Insert return statements into functions that are missing them.
    
    It's allowed to not have all code paths return a value in ESSL but the HLSL
    compiler detects this and generates an error.  Work around this by adding
    dummy return statements at the end of each function that doesn't have one.
    
    TEST=deqp/data/gles2/shaders/functions.html
    
    BUG=angleproject:1015
    BUG=478572
    
    Change-Id: I2913f90f0994d4caf25cc43b16b9fc4e9efb19a5
    Reviewed-on: https://chromium-review.googlesource.com/362085
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 1e8dcb5f053c2f4331db43bc1d13941ea7e51855
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jul 22 12:01:41 2016 -0400

    Add missing R16 formats to internal format mapping.
    
    These were missing and are in the spec.
    
    BUG=angleproject:1228
    
    Change-Id: Ife9d311e76662d467d06b7aec4e674f9699b3573
    Reviewed-on: https://chromium-review.googlesource.com/362624
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 6dd2843b9721fc546497f5b4e8b1b30646df1d29
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jul 22 14:28:42 2016 -0400

    Fix wrong type for GL_STENCIL_INDEX8.
    
    This was stored as DEPTH_STENCIL when it should be STENCIL.
    
    BUG=angleproject:1228
    
    Change-Id: I34c226a273cf962e83a040630bedbefa0f9ee382
    Reviewed-on: https://chromium-review.googlesource.com/362623
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 585362f4a8845274beb4068bd6c614c573ff292a
Author: Taiju Tsuiki <tzik@google.com>
Date:   Fri Jul 22 01:19:25 2016 +0900

    Remove manual include path setup for gtest and gmock
    
    This should no longer needed after http://crrev.com/d805a40eb7b1ef6b
    
    BUG=chromium:630299
    
    Change-Id: I2f78a922d873cf1b5809b3454cb0b72267261b97
    Reviewed-on: https://chromium-review.googlesource.com/362295
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 461e3af89f0f11bb10dd74db4b3513d1c45f9920
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 21 18:15:34 2016 -0400

    preprocessor: Fix negative shift with bad ids.
    
    Fix this by producing an error on undefined or negative shifts.
    
    BUG=629518
    
    Change-Id: Idfca5ed3fc8e557f6178408f3426a5ef2ce7cf14
    Reviewed-on: https://chromium-review.googlesource.com/362020
    Reviewed-by: Antoine Labour <piman@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 27776e33082741b63200dbf18d84f0dc78d99b4b
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Jul 22 14:00:56 2016 +0300

    Fix member variable masking warning in standalone MSVS build
    
    The patch for initializing output variables introduced a warning that
    broke MSVS 2015 standalone build. The "shaderType" variable passed to
    TCompiler::initializeOutputVariables was unnecessary and had the same
    name as a member variable of TCompiler that stores the shader type.
    
    TEST=MSVS 2015 build
    
    Change-Id: I9e01f5eae77a88babde21d4864a02c8731a220de
    Reviewed-on: https://chromium-review.googlesource.com/362550
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 72111915635c5e5a4f0954e4ecca457b8f3b068a
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Wed Jul 20 17:45:56 2016 -0700

    Initialize all output variables.
    
    BUG=angleproject:1441
    TEST=bots
    
    Change-Id: Ia4cf415d8346c3234bf0f548a178ee3ea8cd35c4
    Reviewed-on: https://chromium-review.googlesource.com/362110
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Commit-Queue: Zhenyao Mo <zmo@chromium.org>

commit dacac90a06c36953844580a7f35d14faa64acb3f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jul 21 17:12:27 2016 -0400

    Skip the TransformFeedbackTest.BufferRebinding on Windows NVIDIA.
    
    BUG=angleproject:1298
    
    Change-Id: I32750d5d81c14fe5a17634586cddf117f0a4e692
    Reviewed-on: https://chromium-review.googlesource.com/362157
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 7da9850643f55335a13a4663d226c73d0ac4d3b1
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Jul 20 18:45:09 2016 +0300

    Cover vector dynamic indexing case in SplitSequenceOperator
    
    Vectors or matrices that are dynamically indexed as a part of an
    l-value generate new statements in the RemoveDynamicIndexing AST
    transformation step. SplitSequenceOperator needs to detect this case
    and split the sequence operator before statements are generated from
    its operands to ensure the correct order of execution.
    
    BUG=angleproject:1341
    TEST=angle_end2end_tests
    
    Change-Id: I84e41a59c88fb5d0111669cab60312b930531a22
    Reviewed-on: https://chromium-review.googlesource.com/361695
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit e1d199bb9bfcf4d377608a52d5c0889be99724f9
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Jul 19 17:14:27 2016 +0300

    Split sequence operator when necessary
    
    Split sequence operators if some of their operands generate statements
    in subsequent AST transformations to guarantee the right order of
    execution. For now, this is supported for expressions that return
    arrays and unfolded short-circuiting operators, which is enough to get
    WebGL 2 tests passing. A trickier corner case with dynamic indexing of
    vectors as an l-value is left to be addressed later.
    
    BUG=angleproject:1341
    TEST=angle_end2end_tests, WebGL 2 conformance test:
         conformance2/glsl3/array-in-complex-expression.html
    
    Change-Id: I9301edd3366be7607a8aa4c42a5ec13928749e10
    Reviewed-on: https://chromium-review.googlesource.com/361694
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 1fc7493e43a6d1a60bb34c2c1ac353939c11df30
Author: Martin Radev <mradev@nvidia.com>
Date:   Thu Jul 21 10:15:04 2016 +0300

    Fix TearDown incorrect order in ReadPixelsTest
    
    The ANGLETest::TearDown() call was set at the beginning of the
    function where as it should be at the end since it destroys the
    context. The earlier version would not cause any crashes because the
    GL function calls would be ignored.
    
    BUG=angleproject:1445
    
    TEST=angle_end2end_tests
    
    Change-Id: I187cb8fede1db4ef2bfc13ab850594c41e00b0b0
    Reviewed-on: https://chromium-review.googlesource.com/362220
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 00f6fbbe3fac512d28e68a5bf8c659d952c4600f
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Jul 20 16:32:29 2016 +0300

    Add IntermNodePatternMatcher helper class
    
    This will enable sharing code between different AST traversers that
    apply transformations on similar node structures. This will make the
    code more maintainable.
    
    For now the helper class is used in UnfoldShortCircuitToIf and
    SeparateExpressionsReturningArrays.
    
    BUG=angleproject:1341
    TEST=angle_end2end_tests, WebGL 2 conformance tests
    
    Change-Id: Ib1e0d5a84fd05bcca983b34f18d47c53e86dc227
    Reviewed-on: https://chromium-review.googlesource.com/361693
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit b21e20dae8aed33745f7836b296100f67ab6b248
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jul 19 15:35:41 2016 -0400

    D3D: Validate that all color attachments are unique.
    
    The previous logic of only checking the currently enabled draw buffers was
    incorrect.  Also updated the logic to be more lenient and allow multiple
    slices or mips of the same texture.
    
    BUG=483282
    
    Change-Id: I0d406d1a9a96e48342baefbaf11e0c2ecc6d390c
    Reviewed-on: https://chromium-review.googlesource.com/361533
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit c4433f48d65f1e59240fed614d099d6e02ff07cd
Author: Sami Väisänen <svaisanen@nvidia.com>
Date:   Tue Jul 12 16:56:43 2016 +0300

    Fix uninitialized variables in BlendMinMaxTest
    
    BUG=angleproject:1443
    
    Change-Id: I1ad2ecee3ffc81a4d1c128aa4de4437e3ee88e34
    Reviewed-on: https://chromium-review.googlesource.com/360120
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 138064f5ce179b9a4993f32a0082d8abc42792c3
Author: Martin Radev <mradev@nvidia.com>
Date:   Fri Jul 15 12:03:41 2016 +0300

    Improve glCopyTexSubImage2D and glReadPixels validation
    
    glCopyTexSubImage2d and glReadPixels should generate a
    GL_INVALID_OPERATION when GL_NONE is specified as a color buffer.
    There are two tests added which cover glCopyTexSubImage2D and
    glReadPixels.
    
    BUG=angleproject:1445
    
    TEST=angle_end2end_tests
    
    Change-Id: I3ab1428aad7eee96ca2330909e2b6f765f539705
    Reviewed-on: https://chromium-review.googlesource.com/360860
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 1be913cff8323f4c7ccb79e7e0fca5cb63ee6e4d
Author: Martin Radev <mradev@nvidia.com>
Date:   Mon Jul 11 17:59:16 2016 +0300

    Add support for ES31 context creation
    
    The dEQP test for context creation passes.
    
    SH_WEBGL3_SPEC has been added, but it should be considered whether we
    should keep it, remove it or rename it. It was added so that there is
    a webgl mapping to es 310 shaders. Check Compiler.cpp. The bison file
    has been modified so that some tokens from es3 can be also used in
    es31 as well.
    
    A separate macro ES3_1_ONLY is added so that some tokens are limited
    only for es 310 shaders.
    
    BUG=angleproject:1442
    TEST=angle_unittests
    
    Change-Id: I2e5ca227c96046c30dc796ab934f3fda9c533eba
    Reviewed-on: https://chromium-review.googlesource.com/360300
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 6396d9f2455073294b72341218cdf6408c09ff7b
Author: Yoichi Osato <yoichio@chromium.org>
Date:   Wed Jul 20 17:43:10 2016 +0900

    Fix windows clang build
    
    Change-Id: I920e9be38c3dd63e00db111294f69c335c4e772d
    Reviewed-on: https://chromium-review.googlesource.com/361663
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 9d901791280b437b0cbf6be6a3c9deeb729a9bab
Author: Martin Radev <mradev@nvidia.com>
Date:   Fri Jul 15 15:58:58 2016 +0300

    Fix KHR_Debug segfault errors
    
    Calls to functions ObjectLabel, ObjectPtrLabel, GetObjectLabel,
    GetObjectPtrLabel were resulting into segfaults due to improper
    validation and parameter handling. It could be that the
    implementations of those functions were based on an earlier version
    of the KHR_Debug extension.
    
    The patch fixes the segfault error and almost all failing dEQP 3.1
    tests related to KHR_Debug. The failing tests were also relevant to
    older ES versions. There is still one failing test, but that one
    fails since ES3.1 is not fully supported yet.
    
    List of reasons for the segfault error and failing tests:
    - the segfault error was caused by strlen called on a null pointer
    - another segfault was caused by writing out the length to a null
    pointer
    - even if the buffer size for getObject(Ptr)Label is 0, still the
    length of the label can be returned. That was not handled.
    
    BUG=angleproject:1446
    TEST=angle_deqp_gtest_gles31_tests
    --gtest_filter=*functional_debug_object*
    
    Change-Id: I4743be8e862f3620091061cd7abb206a426655ed
    Reviewed-on: https://chromium-review.googlesource.com/361300
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 29f908bf3261b8b1e2faf3454b10b811415bd26a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 19 23:21:01 2016 +0000

    Revert "Support EXT_blend_func_extended in the GLES2 context"
    
    Test failures on Intel Release:
    https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20%28New%20Intel%29/builds/1163
    
    Also Intel Debug:
    https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Debug%20%28New%20Intel%29/builds/820
    
    Also NVIDIA with a different config:
    https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20%28NVIDIA%20GeForce%20730%29/builds/1564
    
    BUG=angleproject:1379
    
    This reverts commit 7f539ea52e6bc493d8e025ed2c43e10f606f088b.
    
    Change-Id: I2634ad2b3fcc31e1e5ffb3674b94cb0aed9fd773
    Reviewed-on: https://chromium-review.googlesource.com/361840
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 2be2949704620c8a155c330d85fd3a40d985da68
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jul 12 10:13:49 2016 -0400

    Force the flush through the GetData call in Renderer11::finish.
    
    NVIDIA drivers sometimes go into infinite loops in this code, jbauman@
    speculated that these drivers may need to do the flush in the GetData call.
    
    BUG=626849
    
    Change-Id: I85408fbe7176242240862225e968f557bd7818cf
    Reviewed-on: https://chromium-review.googlesource.com/360130
    Reviewed-by: John Bauman <jbauman@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit fed6d0e2a27e59ced01081552d414a10194e7a06
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jul 5 11:33:53 2016 -0400

    Check for out-of-date swap chains during eglWait calls.
    
    BUG=angleproject:1438
    
    Change-Id: I9b8d0da30e41c133ee92685d00f5f0239c7b2574
    Reviewed-on: https://chromium-review.googlesource.com/358490
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 73bd218e12d26a626e0b21625606593ad2a5fd1a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jul 15 13:01:24 2016 -0400

    Support virtualized contexts and transform feedback in Renderer11.
    
    Track buffer offets in the transform feedback object and dirty them when a
    buffer is bound.  This fixes problems when a buffer is rebound at the same
    offset and maintains tracking between context switches.
    
    BUG=angleproject:1447
    BUG=angleproject:1298
    
    Change-Id: I2f890e3ad5edacab47f624a95a502615c86cc0c8
    Reviewed-on: https://chromium-review.googlesource.com/360910
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit e074f728d003c33a7e71b14e1fe9de787e7607cb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 19 10:41:26 2016 -0400

    dEQP: Move the shadow texture failure expectations.
    
    BUG=angleproject:1435
    BUG=angleproject:1436
    
    Change-Id: Idd11e29ad49cb488d3a8ecefd6aefc181b43d3fc
    Reviewed-on: https://chromium-review.googlesource.com/361558
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 196ca36c93e2ebf38e1c924fce10325c1d3eb7e1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 12 10:54:04 2016 -0400

    D3D11: Implement multisample depth resolve.
    
    This uses a pretty slow path with readback to the CPU. It should be
    possible to use SV_Depth in HLSL to resolve without a readback, but
    that will be left for a future optimization.
    
    Enables the WebGL 2 tests gles3/fbomultisample and fboinvalidate/sub.
    
    BUG=angleproject:1246
    
    Change-Id: Id67178b0f6374cf53e4e107428637546ecca4124
    Reviewed-on: https://chromium-review.googlesource.com/359956
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit d9fe55feb51388e21990d17d15e0f8e61806ff1a
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Jul 19 13:48:54 2016 -0400

    Fix compilation errors on Android
    
    TBR=ynovikov@chromium.org
    BUG=None
    
    Change-Id: I3d90027eaa2479622d7ea80f5dc69d2578d5b1b3
    Reviewed-on: https://chromium-review.googlesource.com/361548
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 78a9c73398152bf4417c8d0aa8f6637dbf417567
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jul 15 11:22:43 2016 -0400

    D3D11: Implement multisampled stencil resolve.
    
    This implements a fairly slow path with readback for stencil blits,
    and depth/stencil resolve. In a subsequent patch I'll implement the
    depth blits.
    
    BUG=angleproject:1246
    
    Change-Id: I04151d1f49ca404d858172dff8286608eae29864
    Reviewed-on: https://chromium-review.googlesource.com/359955
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit e58e1416a5fa2f66173917a9cbcb21b252060d76
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Jul 18 16:40:46 2016 -0400

    ShCheckVariablesWithinPackingLimits add sh::ShaderVariable overload
    
    This overload doesn't take a stripped down version of the variable
    information, which makes it possible to handle varying structs
    correctly by flattening them as individual variables.
    
    BUG=621031
    
    Change-Id: I367629fce3d17dd7e1f876c5937eb37f3d97c7f4
    Reviewed-on: https://chromium-review.googlesource.com/361460
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 7f539ea52e6bc493d8e025ed2c43e10f606f088b
Author: Sami Väisänen <svaisanen@nvidia.com>
Date:   Fri May 20 13:29:08 2016 +0300

    Support EXT_blend_func_extended in the GLES2 context
    
    BUG=angleproject:1379
    
    Change-Id: Ibda6e84c0a7f86e838247cd5c538ef956dd786fe
    Reviewed-on: https://chromium-review.googlesource.com/346410
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Sami Väisänen <svaisanen@nvidia.com>

commit a8503cefdc47f7c24db8b4d626ac0fa72b337941
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 18 13:47:12 2016 -0400

    Re-land "GN: Enable chromium_code config instead."
    
    Using "no_chromium_code" is a bit less strict, but ANGLE should be
    able to handle slightly stricter warnings.
    
    Re-land with fix for Clang build.
    
    BUG=angleproject:1449
    
    Change-Id: I8988287d630a6258f2f9ee90e7bfef5f2d5799cd
    Reviewed-on: https://chromium-review.googlesource.com/361331
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit ae41faf569e22261ed97d382a2c237d7502dc1c8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 18 12:52:06 2016 -0400

    Add win_clang to CQ trybots.
    
    BUG=angleproject:1311
    
    Change-Id: I5a9f381ef7e7e18b20919f791beb2be7f2ddd7a5
    Reviewed-on: https://chromium-review.googlesource.com/361064
    Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>

commit f729e29d9a6a0445584f48319fdfd59dae961dab
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 18 11:07:00 2016 -0400

    dEQP: Make RandomOrderExecutor produce less spam.
    
    We can take out the test case duration output, as it would only be
    useful for diagnosing unexpectedly slow tests. This will reduce the
    size of dEQP logs on the bots.
    
    BUG=None
    
    Change-Id: I591b2c564e89393ca6754140001f334c19a10b1a
    Reviewed-on: https://chromium-review.googlesource.com/361243
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 5bc93c41866ff81e797084d3464805d6cd8b1e44
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 18 16:34:42 2016 +0000

    Revert "GN: Enable chromium_code config instead."
    
    Seems to fail the Clang build:
    
    ../../third_party/angle/src/libANGLE/renderer/d3d/d3d11/StateManager11.cpp(35,60):  error: comparison of integers of different signs: 'UINT' (aka 'unsigned int') and 'int' [-Werror,-Wsign-compare]
                maxSrvMip          = (desc.Texture2D.MipLevels == -1) ? INT_MAX : maxSrvMip;
                                      ~~~~~~~~~~~~~~~~~~~~~~~~ ^  ~~
    
    BUG=angleproject:1449
    
    This reverts commit aeb477fbe5fad337815560a0031815f0636471a1.
    
    Change-Id: I01baaf082f282c9d80a9c17fd6ffc2b8911313b2
    Reviewed-on: https://chromium-review.googlesource.com/361094
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 91bc2907283a45dceb9d9cb9c199e0ce3f873e7c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jul 14 13:38:52 2016 -0400

    D3D11: Add support for pack parameters when packing to PBOs.
    
    BUG=angleproject:1268
    TEST=conformance2/reading/read-pixels-pack-parameters.html
    
    Change-Id: Ia7d69bdabd94d146bc027e6a6d3bb619b1ada2e8
    Reviewed-on: https://chromium-review.googlesource.com/360491
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit aeb477fbe5fad337815560a0031815f0636471a1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jul 15 13:32:37 2016 -0400

    GN: Enable chromium_code config instead.
    
    Using "no_chromium_code" is a bit less strict, but ANGLE should be
    able to handle slightly stricter warnings.
    
    BUG=angleproject:1449
    
    Change-Id: Ifaf77201085dd70cf5ff628b1aa02de55c5e96ba
    Reviewed-on: https://chromium-review.googlesource.com/360940
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit e319171fa2e3d2f89450dfdcd3e9dac3c9b3afbe
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Jul 18 16:01:10 2016 +0300

    Fix debug standalone build warning on MSVS 2015
    
    Fixes signed/unsigned mismatch due to missing type cast inside an
    assert.
    
    BUG=angleproject:1382
    TEST=standalone MSVS 2015 debug build
    
    Change-Id: I1508b54a2608e9204ad582bde4bd62af6926c36e
    Reviewed-on: https://chromium-review.googlesource.com/360921
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 0d959258fc96c8e9c83fca46f62c112f150654f0
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Jul 12 17:26:32 2016 -0400

    ParseContext: validate additional restriction for the ? and , operators
    
    WebGL2 shaders have added restriction to improve portability for some
    OpenGL compilers that do not support arbitrary ternary and sequence
    operators. It disallows these operators for arrays, structs containing
    arrays and the void type.
    
    BUG=612066
    
    Change-Id: Id11042051bce25a91e57deaa9591d4d813fed7aa
    Reviewed-on: https://chromium-review.googlesource.com/359949
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 1b2f16292e1c5fafef95972f487cfb1d0165ad8e
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Mar 4 15:06:51 2016 +0200

    Forbid defined operator generated by macro expansion
    
    After lengthy debate, the GLES working group recommended that this
    should be an error in WebGL, though old specs were not updated. Make
    ANGLE follow the WebGL spec and generate an error in this case.
    
    This is a partial revert of the patch which added support for defined
    operator generated by macro expansion. The preprocessor unit tests
    added by the reverted commit are kept, but their expectations are
    changed.
    
    This breaks some dEQP tests that are not in line with the WebGL spec.
    
    BUG=angleproject:1335
    TEST=angle_unittests, WebGL conformance tests
    
    Change-Id: I7d8a1d42c61367197f2aed4ca4de9297cc48acfc
    Reviewed-on: https://chromium-review.googlesource.com/352471
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 4d675ca20907cc68bcf310f4446c59aeb70d1f8c
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Mar 7 14:48:49 2016 +0200

    Reserve "defined" as a macro name
    
    After lengthy debate, the GLES working group recommended that this
    should be an error in WebGL, though old specs were not updated. Make
    ANGLE follow the WebGL spec and generate an error in this case.
    
    This breaks some dEQP tests which are not in line with the WebGL spec.
    
    BUG=angleproject:1335
    TEST=WebGL conformance tests
    
    Change-Id: I93fc397094419ecbf6a1b5179631b72064149bd0
    Reviewed-on: https://chromium-review.googlesource.com/352470
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 163fa52193706ae87ece150f955861909e7c675f
Author: Qiankun Miao <qiankun.miao@intel.com>
Date:   Fri Jul 15 17:38:04 2016 +0800

    Workaround interpolation qualifier mismatching
    
    Centroid implies smooth when doing translation. But the Intel Mesa
    driver considers centroid and smooth are different interpolation
    qualifiers which makes shaders fail compilation.
    
    This patch adds smooth at the front of centroid at translation step. And
    it makes linkage.varying.rules.differing_interpolation_2 test in WebGL
    2.0 dEQP test pass.
    
    BUG=621031
    TEST=WebGL 2.0 deqp/data/gles3/shaders/linkage.html
    
    Change-Id: I8f0944846b5244b21c526ae95a7ce37c1504efb7
    Reviewed-on: https://chromium-review.googlesource.com/360638
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Zhenyao Mo <zmo@chromium.org>

commit 3f6a398c7dc16e12be32944fb2ec360740430ee4
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jul 15 15:20:45 2016 -0400

    Fix type conversion warnings.
    
    BUG=angleproject:1382
    
    Change-Id: Idee8882a7d7576faaa08418d9d399d836cec8fa7
    Reviewed-on: https://chromium-review.googlesource.com/360903
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 1a1829c433eb8fa01290fb02aafe0cadb1555c48
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Jul 15 11:26:06 2016 -0400

    dEQP GLES3 test expectations, reassign a bug.
    
    BUG=angleproject:1448
    
    Change-Id: I82346baa0989416cf0105e4446178a299f4f8ffb
    Reviewed-on: https://chromium-review.googlesource.com/360664
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 9bd4aa3e352d88a52335fa471b1266ff8394faa1
Author: Sami Väisänen <svaisanen@nvidia.com>
Date:   Tue Jul 12 16:34:05 2016 +0300

    Fix uninitialized stencil ref variables in the GL backend
    
    BUG=angleproject:1443
    
    Change-Id: I8c259368abdffb57c2963b29f81e2433a08ecae1
    Reviewed-on: https://chromium-review.googlesource.com/360110
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 46eaa94624cc3d7966fa84c5bfd4a6eea6a92593
Author: Sami Väisänen <svaisanen@nvidia.com>
Date:   Wed Jun 29 10:26:37 2016 +0300

    Support CHROMIUM_path_rendering fragment operations
    
    This brings two new APIs, BindFragmentInputLocation and
    ProgramPathFragmentInputGen that together dictate how the
    fragment shader varyings are used.
    
    BUG=angleproject:1382
    
    Change-Id: I4b52fd8a3555235a73aecd4f3dba2d500789cbb0
    Reviewed-on: https://chromium-review.googlesource.com/357071
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Sami Väisänen <svaisanen@nvidia.com>
    Commit-Queue: Sami Väisänen <svaisanen@nvidia.com>

commit 5b1304898e2ce7d4324337cb4c0a9561c589849b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jul 15 10:59:53 2016 -0400

    Audit and amend style guide.
    
    BUG=None
    
    Change-Id: Idb6863c93f639dfe4770e67710159f3e398c5238
    Reviewed-on: https://chromium-review.googlesource.com/360890
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 90892fbdd05047d6c5f7a8ebe14a6a41e40c9543
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Jul 14 14:44:51 2016 +0300

    Refine swizzle/indexing constant folding code
    
    Fix constant folding of subscripting non-square matrices. Previously
    constant folding would offset the pointer into the matrix in multiples
    of the number of columns, when it should offset the pointer in
    multiples of the number of rows.
    
    Also change the MalformedShaderTest so that it only succeeds if vector
    swizzle is being checked correctly. Previously compilation would fail
    in the test either way because the shader code contained a call to an
    undefined function.
    
    Also refactor indexing checks and constant folding so that constant
    folding is done entirely separately from out-of-range checks. Bogus
    comments are removed from the constant folding functions.
    
    BUG=angleproject:1444
    TEST=angle_unittests, angle_end2end_tests
    
    Change-Id: I7073b38f759e9b3635ee05947df4f6d8e23a39d5
    Reviewed-on: https://chromium-review.googlesource.com/360112
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 313d944745601ba9b371866760f0496670c1cc43
Author: Dirk Pranke <dpranke@chromium.org>
Date:   Wed Jul 13 18:01:55 2016 -0700

    Stop linking a static_initializer into the Mac chromium build.
    
    The :angle-image_util target was a source_set rather than a
    static_library(), causing us to link in loadimage.cpp, which
    pulled in mathutils.cpp, which contains a static initializer.
    Switching :angle_image_util to a static library (which is what GYP
    does) solved the problem.
    
    R=rsesek@chromium.org, cwallez@chromium.org
    BUG=628052
    
    Change-Id: I63387b3fc9d799c92f7c1b49a1c7c7435e70a951
    Reviewed-on: https://chromium-review.googlesource.com/360228
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Robert Sesek <rsesek@chromium.org>
    Reviewed-by: Dirk Pranke <dpranke@chromium.org>

commit 4c32feb1940a8e9a11e48f916176e84dfa3f01d6
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Fri Jun 24 00:08:04 2016 -0400

    Pause TransformFeedback before eglMakeCurrent.
    
    On Android Adreno eglMakeCurrent resets TransformFeedback position.
    Workaround is to pause TransformFeedback before eglMakeCurrent
    and resume afterwards.
    
    BUG=angleproject:1426
    TEST=TransformFeedbackTest.MultiContext
    
    Change-Id: I4fdb9edbd28b4b16c01d1a94419e78160b31b79f
    Reviewed-on: https://chromium-review.googlesource.com/355676
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 3f23406abf37e63452e0b10f2ce78fe35898dde2
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jul 13 15:35:45 2016 -0400

    Compute row pitch using the size of the input pixel, not the format pixel.
    
    For formats that can be loaded with data that has a different size pixel than
    the internal format (UNSIGNED_INT -> GL_DEPTH_COMPONENT_24) the row length
    would be computed as rowLength * 3 which is incorrect.
    
    BUG=angleproject:1095
    
    Change-Id: I0f60a3bb9bb387d475ddda1389a3b4b6f4973922
    Reviewed-on: https://chromium-review.googlesource.com/360214
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit b741c761445f461a22d9202a0ea9445dfcb893f7
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Jun 29 15:49:22 2016 +0300

    Support precision emulation on HLSL
    
    Re-submit with missing virtual destructor and angle::NonCopyable
    added.
    
    Add precision emulation support to HLSL 4.1 output. This makes it
    possible for developers to test their shaders for precision issues
    easily on Chrome on Windows without having to use the GL backend. The
    patch has been verified with Chrome on Windows to reproduce some
    precision bugs in real-world WebGL content, including old versions of
    the babylon.js library.
    
    The EmulatePrecision AST transformation still relies on writing out
    raw shader code for the rounding functions, with raw HLSL code added
    alongside pre-existing GLSL and ESSL code. In some ways it would be
    nicer to do the EmulatePrecision step as a pure AST transformation,
    but on the other hand the raw code is much more readable and easier
    to optimize.
    
    To better support multiple output languages in EmulatePrecision, add a
    RoundingHelperWriter class that has different subclasses for writing
    the rounding functions in different languages.
    
    The unit tests are expanded to cover the HLSL output of precision
    emulation. The parts of the tests that require the HLSL output are
    only active on Windows where ANGLE_ENABLE_HLSL define is added to the
    unit tests. Putting the HLSL tests in an entirely separate file is a
    worse alternative, since it would require either a lot of code
    duplication or add a lot of boilerplate to the individual tests.
    
    BUG=angleproject:1437
    TEST=angle_unittests
    
    Change-Id: I47d501037c206f4bd8b976d3acab9b21c717084c
    Reviewed-on: https://chromium-review.googlesource.com/360152
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 28ff4fd867fa5d2a251a4a01aa7eae7751858f6d
Author: Martin Radev <mradev@nvidia.com>
Date:   Wed Jul 6 11:54:21 2016 +0300

    Add deqp gles 3.1 tests to the build files
    
    BUG=angleproject:1442
    
    Change-Id: I2ef27478573ec362bff57b532f7fee5731333b06
    Reviewed-on: https://chromium-review.googlesource.com/360121
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 4107dda958cba1ceed0a58a2c0b5ff61f0bc33a5
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jul 13 14:19:49 2016 -0400

    Clamp float32 depth data when uploading.
    
    BUG=angleproject:1095
    
    Change-Id: I4c272aef0f94733fc7b5297ddaa1fa2bc765fe62
    Reviewed-on: https://chromium-review.googlesource.com/360029
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 84954988ad266c11cacdfd716bf09e3d7910ec7b
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Jul 12 15:42:18 2016 -0400

    ShaderVars: add isSameInterfaceBlockFieldAtLinkTime
    
    This will be used by Chromium to check for interface blocks mismatches.
    
    BUG=621031
    
    Change-Id: Ia6cc19e5d7b2a5c33af558d65b87885a6b72cea3
    Reviewed-on: https://chromium-review.googlesource.com/359607
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 3fdaf6f280d7c3cdaa449ef7ecc952994a6ad211
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Jul 13 15:07:41 2016 +0300

    Revert "Support precision emulation on HLSL"
    
    Forgot to add virtual destructors.
    
    BUG=angleproject:1437
    
    This reverts commit a42e8b2cb9d0857f53c0490b5be3bf25b4e1f827.
    
    Change-Id: If33fecfeca9947deedf4668c64dbadf25a5dc5eb
    Reviewed-on: https://chromium-review.googlesource.com/360122
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>

commit b00dcee451c41e224d962cd9e03bf844c542464a
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Jul 11 17:42:58 2016 -0400

    TranslatorGLSL/ESSL: Output #pragma before #extension
    
    The Intel Mesa driver considers the #pragma directive to be a
    non-preprocessor token which makes shaders fail compilation.
    
    The relevant blurb from the spec is: "the extension directives
    must occur before any non-preprocessor tokens"
    
    BUG=627417
    
    Change-Id: Ic22cff49a9f9c1fe5d140302581ca7b36688732c
    Reviewed-on: https://chromium-review.googlesource.com/359621
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit a42e8b2cb9d0857f53c0490b5be3bf25b4e1f827
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Jun 29 15:49:22 2016 +0300

    Support precision emulation on HLSL
    
    Add precision emulation support to HLSL 4.1 output. This makes it
    possible for developers to test their shaders for precision issues
    easily on Chrome on Windows without having to use the GL backend. The
    patch has been verified with Chrome on Windows to reproduce some
    precision bugs in real-world WebGL content, including old versions of
    the babylon.js library.
    
    The EmulatePrecision AST transformation still relies on writing out
    raw shader code for the rounding functions, with raw HLSL code added
    alongside pre-existing GLSL and ESSL code. In some ways it would be
    nicer to do the EmulatePrecision step as a pure AST transformation,
    but on the other hand the raw code is much more readable and easier
    to optimize.
    
    To better support multiple output languages in EmulatePrecision, add a
    RoundingHelperWriter class that has different subclasses for writing
    the rounding functions in different languages.
    
    The unit tests are expanded to cover the HLSL output of precision
    emulation. The parts of the tests that require the HLSL output are
    only active on Windows where ANGLE_ENABLE_HLSL define is added to the
    unit tests. Putting the HLSL tests in an entirely separate file is a
    worse alternative, since it would require either a lot of code
    duplication or add a lot of boilerplate to the individual tests.
    
    BUG=angleproject:1437
    TEST=angle_unittests
    
    Change-Id: Ia4ba0374cd415908f16f34752321af1cb93525a5
    Reviewed-on: https://chromium-review.googlesource.com/358473
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit fea6e952484f79c4d21bb22a02dd0930c64e279e
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Jun 23 16:29:20 2016 -0400

    Skip DXT1CompressedTextureTestES3.PBOCompressedTexImage when DXT1 not supported
    
    Was failing on Nexus 5X Adreno,
    which doesn't have GL_EXT_texture_compression_dxt1 extension.
    Also rename the tests to indicate they test DXT1 compression format.
    
    BUG=angleproject:1424
    TEST=DXT1CompressedTextureTestES3.PBOCompressedTexImage
    
    Change-Id: Ic82363a6f497da12602f3f3a662a52ffa833aa0f
    Reviewed-on: https://chromium-review.googlesource.com/355711
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 9585a784bff9752bed369d8247a918495bcdf3ab
Author: John Bauman <jbauman@chromium.org>
Date:   Fri Jul 8 15:12:34 2016 -0700

    Clear SRV cache on keyed mutex texture unbind from TextureStorage11_External
    
    This fixes the same issue as https://chromium-review.googlesource.com/328400,
    except with NV12 external storage textures. The SRV cache thinks the
    texture is still bound, but releasing the keyed mutex has unbound it.
    
    BUG=625900,626524
    
    Change-Id: I991cb3eeaaea0a1c4570b88de2ba873ae868ec2a
    Reviewed-on: https://chromium-review.googlesource.com/359430
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: John Bauman <jbauman@chromium.org>

commit e8d5c5c4360b967691024d5ad081cf7192fbe824
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Thu Jul 7 13:17:47 2016 -0400

    Check ozone_platform_gbm before doing gbm stuff.
    
    Just checking use_ozone fails when building an ozone platform which
    doesn't have gbm, e.g. chromecast.
    
    BUG=angleproject:1439
    CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_gn_chromeos_rel;tryserver.chromium.android:android_compile_dbg
    
    Change-Id: Idec14441ce30dd872b3bfddfe844abfeb910cc02
    Reviewed-on: https://chromium-review.googlesource.com/358860
    Reviewed-by: Luke Halliwell <halliwell@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit 8bad46d40e23671d4a723a2daf4ca1e252bb0617
Author: Kenneth Russell <kbr@chromium.org>
Date:   Fri Jul 1 19:52:52 2016 -0700

    The global invariant pragma must not leak across compilations.
    
    BUG=chromium:625363
    TEST=conformance/glsl/bugs/global-invariant-does-not-leak-across-shaders.html
    
    Change-Id: I66389352b92211f4d7967772f68470c8e93405bd
    Reviewed-on: https://chromium-review.googlesource.com/358515
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Kenneth Russell <kbr@chromium.org>

commit 61b81acf2c72b253bc1fe4f9180faa50c621d7db
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Jun 28 14:15:20 2016 +0300

    Support non-square matrices in precision emulation
    
    In case the shader version is greater than ESSL 1.00, the precision
    emulation needs to output rounding functions for non-square matrix
    types.
    
    Writing emulated compound assignment functions for non-square matrices
    already had most of the code in place before this change.
    
    New compound assignment operators like >>= don't need floating point
    precision emulation in ESSL 3.00, since all of them only operate on
    integers.
    
    BUG=angleproject:1434
    TEST=angle_unittests
    
    Change-Id: I4678f511edf4f9f744fe23bb8d7dab4387f07f20
    Reviewed-on: https://chromium-review.googlesource.com/358472
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 5695fc990fae1897f31bd418f9278e931776abdf
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jul 5 14:47:30 2016 -0400

    Clean up the SSE detection logic.
    
    * Include the correct header right in the SSE check in platform.h.
    * Don't use separate SSE versions of the load functions, have them use
      SSE automatically.
    
    BUG=612205
    
    Change-Id: I70f9a5513e144db4d16c1f3ad922debeb6c50268
    Reviewed-on: https://chromium-review.googlesource.com/358108
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit e92507bcfd267e322929af335492d00eef127b3d
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Jul 4 11:20:10 2016 +0300

    Reuse code for determining built-in type name string
    
    Add TType::getBuiltInTypeNameString() that returns an unique char
    pointer for each built-in type. They can be easily stored in an
    std::set as required by EmulatePrecision, and the function can also
    be used in TOutputGLSLBase.
    
    BUG=angleproject:1437
    TEST=angle_unittests
    
    Change-Id: I9acfe1b149546dedeae058841cbabf0d9829cdc9
    Reviewed-on: https://chromium-review.googlesource.com/358471
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 701b19bf28c7107a1745894373560547f6b29987
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 5 16:04:16 2016 -0400

    Use the Windows 10 SDK in standalone builds.
    
    BUG=None
    
    Change-Id: I52a9beeddfc83ee8711cc23979a97c79a4f22227
    Reviewed-on: https://chromium-review.googlesource.com/358109
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 3820e9c1ed2fa044a9473801647de0abfab3b80b
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Jul 4 16:01:15 2016 +0300

    Set correct type on nodes created in precision emulation
    
    The correct type needs to be set so that HLSL output will be able to
    disambiguate user-defined function calls correctly based on argument
    types. HLSL output support will be added to precision emulation in a
    future patch, which will also have tests that verify this patch.
    
    The lack of correct type on the nodes is not known to cause any bugs
    in GLSL output.
    
    BUG=angleproject:1437
    
    Change-Id: I53200df066ece0ab4bd7d7a6aab699d6a1ecb659
    Reviewed-on: https://chromium-review.googlesource.com/358470
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 7e1200b43cb611a32eda2e28a6c431db65b5aa3a
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Tue Jul 5 02:25:13 2016 +0000

    Revert "The global invariant pragma must not leak across compilations."
    
    This reverts commit ae2e19188cf0a9b035a27143f585df10e72ffabd.
    
    Change-Id: I017ba4ba9baa633793d7bdd9691c580ed7016cde
    Reviewed-on: https://chromium-review.googlesource.com/358410
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit ae2e19188cf0a9b035a27143f585df10e72ffabd
Author: Kenneth Russell <kbr@chromium.org>
Date:   Fri Jul 1 19:52:52 2016 -0700

    The global invariant pragma must not leak across compilations.
    
    BUG=chromium:625363
    TEST=conformance/glsl/bugs/global-invariant-does-not-leak-across-shaders.html
    
    Change-Id: Ie8d38e44837fc87bb4c94e76e779ad41e8b79957
    Reviewed-on: https://chromium-review.googlesource.com/358203
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Zhenyao Mo <zmo@chromium.org>

commit 6e4cfceb80110f24d7986a7bbd2015b4b616fb4d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jun 13 15:06:31 2016 -0400

    Refactor ANGLE's image manipulation code into a static library.
    
    Allows for chromium to make use of some of the functionality.
    
    BUG=612205
    
    Change-Id: Ib4435ca44775a3a554b0fb3bd384bd4d31d7952d
    Reviewed-on: https://chromium-review.googlesource.com/351753
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 91d569454714b56de957db00f99b23fb6b44827a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jul 21 18:56:48 2015 +0000

    Emulate the pack/unpack functions for unorms.
    
    BUG=angleproject:1044
    
    Change-Id: I2cfb792de43d3a6fddd750100c74f948948dc1f6
    Reviewed-on: https://chromium-review.googlesource.com/287290
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 3bc116e7f5e68917bb6d372d5c3a1689fcf7b12b
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Jul 4 13:49:28 2016 -0400

    Update dEQP test expectations for fixed tests.
    
    BUG=angleproject:1021
    BUG=angleproject:1027
    BUG=angleproject:1101
    BUG=angleproject:1323
    
    Change-Id: I52ce720de66373ea2174890097a6908307a7fa91
    Reviewed-on: https://chromium-review.googlesource.com/358168
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit ec0b580d650ee36005c8259ea115f6fb30a4c3ac
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 4 13:11:59 2016 -0400

    Re-land "D3D11: Fix readback of BGRA-backed formats."
    
    For some BGRA-backed formats (RGBA4, R5G6B5, RGB5A1), our ReadPixels
    implementation wasn't aware the BGRA format didn't exactly match the
    RGBA format. For these it would do the 'fast path' memcpy method, when
    it should stop and do the slow pixel-by-pixel packing method.
    
    Fixes conformance2/reading/read-pixels-from-fbo-test.html.
    
    Reland: fix empty format info that was causing us to only see the
    first pixel in the FBO in a ReadPixels call. Also fix bugs in the
    unorm 16-bit format readback code, and add ASSERTs to catch bugs in
    subsequent new formats.
    
    BUG=angleproject:1407
    BUG=chromium:616176
    
    Change-Id: I9fd55b9e1dd6a306eb4db195d775c02a1eb1f93f
    Reviewed-on: https://chromium-review.googlesource.com/357132
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 563e45aabaed2bba173236f0b9d47eaacb2a813a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu May 7 13:31:16 2015 -0400

    Remove the artificial uniform vector limitation in D3D11.
    
    BUG=407309
    
    Change-Id: Ic59bea88f0a4d7a6df9089238be0c79d654016e2
    Reviewed-on: https://chromium-review.googlesource.com/269971
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit c2128ff55f118cb1e4ef5e975f54701468d3ed2d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 4 10:26:17 2016 -0400

    translator: Fix two bugs that trigger ASSERTs.
    
    The first bug was a result of constant-folding a vector swizzle that
    was out-of-bounds. The second bug was a result of using a semicolon
    in a preprocessor define.
    
    BUG=angleproject:1425
    
    Change-Id: Id6643b1f3e3b13cc021bd721ef2572487fe3c8d3
    Reviewed-on: https://chromium-review.googlesource.com/357864
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 474a08c01ef0c5502c4cdc904cd82c1514fa86cf
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Jun 28 10:49:46 2016 +0300

    Remove qualifiers from empty struct declarations in output
    
    Empty struct declarations with qualifiers are rejected by NVIDIA GL
    driver version 367.27. For example this kind of construct that is
    expected to be accepted by the WebGL conformance tests is rejected:
    
    const struct a {
        int i;
    };
    
    Since qualifiers do not carry meaning unless a struct declaration
    has declarators, they can be simply omitted from the translator
    output in this kind of cases to work around this driver issue.
    
    New unit test is added to check that pruning empty declarations works
    correctly.
    
    BUG=angleproject:1430
    BUG=622492
    TEST=WebGL conformance tests, angle_unittests
    
    Change-Id: Id83f83124ae597fcdfa15100d336c2c207d9449c
    Reviewed-on: https://chromium-review.googlesource.com/356362
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit a8873ef535c88f992bf0d75e102d6d7a07508eca
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 4 10:44:42 2016 -0400

    Fix warnings in PathRenderingTest.cpp.
    
    Certain warnings are suppressed in Chromium but not standalone ANGLE.
    We should enable those warnings for ANGLE specifically, in a follow-up
    CL.
    
    BUG=angleproject:1382
    
    Change-Id: I12491a61b0f349c5937a1e5d9985c8da1d76e0dc
    Reviewed-on: https://chromium-review.googlesource.com/358107
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d59ca052c0bc4adc257a27b09639ed794597b2a6
Author: Sami Väisänen <svaisanen@nvidia.com>
Date:   Tue Jun 21 16:10:00 2016 +0300

    Support instanced CHROMIUM_path_rendering
    
    This implements instanced path rendering.
    
    BUG=angleproject:1382
    
    Change-Id: I4654251882975d707b22c7bb522af14ae34eb1a1
    Reviewed-on: https://chromium-review.googlesource.com/355401
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Sami Väisänen <svaisanen@nvidia.com>

commit 10fcd9be1cab462662f3faf6b4ecccb82f480a4b
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Jun 30 12:24:09 2016 +0300

    Add a helper class for compiler string matching tests
    
    The MatchOutputCodeTest class makes it easier to implement tests that
    do string matching on compiler output. Inheriting test classes set the
    compiler settings, tests then call compile() with the shader string
    and can call foundInCode() to check if the output code contains a
    given string.
    
    Various compiler unit tests that already did string matching are
    refactored to make use of this new helper class. Some tests now use
    SH_GLES3_SPEC instead of SH_GLES2_SPEC - this should not have a
    significant impact on test coverage.
    
    Some compileTestShader function variants that are now unused can be
    removed from the code.
    
    BUG=angleproject:1430
    TEST=angle_unittests
    
    Change-Id: I1fd3529d5a1c6ab192f95ace800cf162604e68e7
    Reviewed-on: https://chromium-review.googlesource.com/357800
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit bbf1c102119bdd5ead6cfea4e6f24b3e9b54a9bc
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Jun 28 13:31:33 2016 +0300

    Fix BeginQuery validation
    
    ANY_SAMPLES_PASSED and ANY_SAMPLES_PASSED_CONSERVATIVE queries can not
    be active at the same time. The only place where the
    State::isQueryActive function is used is validating whether a
    BeginQuery call is correct, so it can be changed to check for this.
    
    BUG=angleproject:1101
    TEST=dEQP-GLES3.functional.negative_api.fragment.begin_query
    
    Change-Id: Idadf129c6a036570f6e28857bdb24ffc11eeebe8
    Reviewed-on: https://chromium-review.googlesource.com/356363
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 3c754194a62c0ed8a3101ff1da88f77b35c7f69a
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Mon Jun 27 19:36:41 2016 -0400

    Skip Texture2DTestES3.UnpackSkipImages2D test on Adreno Android GLES
    
    Due to a bug in Adreno glTexImage2D with GL_UNPACK_SKIP_IMAGES.
    
    BUG=angleproject:1429
    TEST=Texture2DTestES3.UnpackSkipImages2D
    
    Change-Id: Iccb4cc968915a623f0aed099b81e759c6e4343f7
    Reviewed-on: https://chromium-review.googlesource.com/356494
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit ad6c04528bec31b91ec4c18ee47c4419d99ea50c
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Fri Jun 24 22:24:37 2016 -0400

    Skip SamplerInStruct AsFunctionParameter tests on Adreno Android GLES
    
    Due to Adreno bug in compiling struct function parameter in shader.
    
    BUG=angleproject:1427
    TEST=SamplerInStructAsFunctionParameterTest
         SamplerInStructArrayAsFunctionParameterTest
         SamplerInNestedStructAsFunctionParameterTest
    
    Change-Id: I979312885f2047e78b61530c97703854a4be1586
    Reviewed-on: https://chromium-review.googlesource.com/356125
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit b13e0a5b23a3f083df61609e660f7ccb00d0ef36
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Mon Jun 27 15:25:34 2016 -0400

    Add android_angle_rel_ng to ANGLE CQ
    
    Swarmed Nexus 5X bot.
    Mirroring Android Release (Nexus 5X) from chromium.gpu.fyi
    
    BUG=chromium:617848, chromium:534814
    
    Change-Id: I773c6accd3b4023822ddb165556e3af11ff5c6b1
    Reviewed-on: https://chromium-review.googlesource.com/356470
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 419bfc91c13478f85e4e758b4a0ceafec682a5c5
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Jun 28 10:54:45 2016 -0700

    On Desktop GL, require index-constant sampler array indexing
    
    BUG=598924
    
    Change-Id: If97dbaa782595997b815c70d14f079e0f0c3d82a
    Reviewed-on: https://chromium-review.googlesource.com/356710
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 0b2cc797a06ce925a537a23c761f3648d3f6c2ac
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jun 29 16:32:34 2016 -0400

    Update bug IDs for some shadow sampler failures.
    
    BUG=angleproject:1436
    
    Change-Id: I4f6c2eaf4bcb2f85fe31c0e0112c0a9651d4ad70
    Reviewed-on: https://chromium-review.googlesource.com/357161
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit ce342918f665f71d963c04f9a64afa4f4c129a57
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jun 29 15:30:44 2016 -0400

    Update bug IDs for some shadow sampler failures.
    
    BUG=angleproject:1435
    
    Change-Id: I4964c84f76991c156dfe49c99dae873ab451c8ab
    Reviewed-on: https://chromium-review.googlesource.com/357151
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit dcf12c7013091b4fc5452b4e7d5cf9e6de5a682a
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Jun 28 15:03:06 2016 +0300

    Fix validating non-square matrix compound multiplication
    
    The validation previously checked that two matrices in compound
    multiplication are the exact same size, which isn't correct for
    non-square matrices introduced in ESSL 3.00.
    
    Instead, check that the matrix multiplication is valid and that the
    resulting value has the same number of columns as the lvalue. The
    number of rows in the result is taken from the lvalue so it doesn't
    need to be checked.
    
    BUG=angleproject:1431
    TEST=angle_unittests
    
    Change-Id: I6f32b7dc037d72c3c5cfdfffcda5d996e8450283
    Reviewed-on: https://chromium-review.googlesource.com/356411
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 62ba96236ed5dedd0816e660f4349528e55f14b9
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Mon Jun 27 17:08:28 2016 -0400

    Require libdrm only if use_ozone=1.
    
    This is more accurate, and doesn't break platforms with no pkgconfig,
    e.g. Android.
    
    BUG=angleproject:1297
    CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_gn_chromeos_rel;tryserver.chromium.android:android_compile_dbg
    
    Change-Id: Iafbd66a5e81467d2a5431c3bb1ddd26a837888e7
    Reviewed-on: https://chromium-review.googlesource.com/356481
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit d33a806fffd35e1251964f1610000aed22f93514
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jun 21 15:17:27 2016 -0400

    Fix Image11::copyFromFramebuffer for emulated texture formats.
    
    Simply using the ReadPixels code paths to unpack the framebuffer into a texture
    was insufficient for handling cases like LUMA or RGB textures that are emulated
    with RGBA textures in D3D11.  Instead, read the framebuffer's data into a
    buffer and then use the loading functions which are aware of the emulated
    formats to write the data to the destionation.
    
    Fix LUMA format structure's logic for reading colors.  They aren't supposed
    to do any averaging logic.
    
    BUG=angleproject:1095
    BUG=483282
    
    Change-Id: Iad91d193d4c824573d9e9cafd28cf456d2de8be5
    Reviewed-on: https://chromium-review.googlesource.com/354482
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 9e55a9660640db16a3b00cdf820190089c63403e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jun 28 13:21:21 2016 -0400

    TextureD3D: No-op on zero-sized CompressedTexImage.
    
    TEST=deqp/functional/gles3/negativetextureapi.html
    
    BUG=483282
    
    Change-Id: Ifd9674c2d29dc7e3a5e620b7a043cdb38a923ca0
    Reviewed-on: https://chromium-review.googlesource.com/356680
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 5733801abc274335a5be9a118d3545e5590c37ff
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jun 23 18:10:38 2016 -0400

    D3D11: Refactor depth/stencil blit code.
    
    Blit11 refactorings enable re-using some code for multisample resolve
    blits. Also some Renderer11 refactorings to use TextureHelper11 make
    the code more flexible for the multisample resolve, to come later.
    
    BUG=angleproject:1246
    
    Change-Id: Id0c168cef75b0f487cb3995a906f6473989edcd5
    Reviewed-on: https://chromium-review.googlesource.com/354420
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 82a468af33aeaa8e5e01e9112a3de550fe6df916
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jun 21 17:18:25 2016 -0400

    Don't unpack un-referenced varyings in the pixel shader.
    
    Transform feedback varyings that were optimized out were still being unpacked
    causing HLSL compilation failures.
    
    This was triggering failures in the conformance2/state/gl-object-get-calls.html
    test.
    
    BUG=angleproject:1422
    
    Change-Id: I297cccd5b99435dfb69a3c2b0fd3086b6ddf0b3a
    Reviewed-on: https://chromium-review.googlesource.com/354590
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 4b7f12b2a79b9ebef8355725bae648032cdaed32
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jun 21 16:47:07 2016 -0400

    FramebufferD3D: Only make sure that enabled attachments are not the same.
    
    It's acceptable to have the same object attached to muliple framebuffer
    attachments if they are not being drawn to.
    
    This was triggering failures in the conformance2/state/gl-object-get-calls.html
    test.
    
    BUG=483282
    
    Change-Id: If088ccd9b1189f060dfa33ebbe4d82f1f47559b0
    Reviewed-on: https://chromium-review.googlesource.com/354570
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 41db2245556bd33953a93363d5da404b47f8ce3b
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Sat Jun 25 00:14:28 2016 -0400

    Skip GLSLTest_ES3.InitGlobalArrayWithArrayIndexing on Adreno Android GLES
    
    Due to Adreno compilation failure of two arrays in single line declaration.
    
    BUG=angleproject:1428
    TEST=GLSLTest_ES3.InitGlobalArrayWithArrayIndexing
    
    Change-Id: I05d7c6b3a0eef8c879edf4d9cf24cdec0a2a403c
    Reviewed-on: https://chromium-review.googlesource.com/356217
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit fd99bfc647aeb87689091a78498b178e8ac4e5d5
Author: Andrii Shyshkalov <tandrii@chromium.org>
Date:   Fri Jun 24 16:31:09 2016 +0200

    Make bucket names explicit in cq.cfg.
    
    Don't assume bucket name to start with 'master.'.
    
    NOTRY=True
    BUG=chromium:617627
    
    Change-Id: I4e634fd2f485ac06c8e06af2de0cd86dbf425e9b
    Reviewed-on: https://chromium-review.googlesource.com/355990
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 77df676ea371f3f448927dd1e7c5f009d929aa62
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Mon Jun 13 16:39:01 2016 -0400

    Add ozone display gn build.
    
    Pick up ozone source when use_ozone = true.
    Don't link X11 unless use_x11 = true.
    
    BUG=angleproject:1297
    CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_gn_chromeos_rel
    
    Change-Id: I94e6242189646c8a18b00436294bccdd4c5a8785
    Reviewed-on: https://chromium-review.googlesource.com/352251
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit 027cda6343919d9122520db2f06596b1d320c808
Author: Nickolay Artamonov <nartamonov@yandex-team.ru>
Date:   Wed Jun 22 16:42:30 2016 +0300

    Fix rounding problem for SwapChainPanel size.
    
    BUG=angleproject:1421
    
    Change-Id: I08f0fa5f178c8d25cd2b02e75cf92759254aa918
    Reviewed-on: https://chromium-review.googlesource.com/355020
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit afcec834a1bd19edf857f756e3b67d5cac383c01
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Tue Jun 21 22:19:51 2016 -0400

    Skip Texture2DTestES3.TextureLuminance16ImplicitAlpha1 on Adreno Android GLES
    
    Due to Adreno bug in GL_HALF_FLOAT support
    
    BUG=angleproject:1420
    TEST=Texture2DTestES3.TextureLuminance16ImplicitAlpha1
    
    Change-Id: Id9bc12da21048a557325f076202ec482675320e3
    Reviewed-on: https://chromium-review.googlesource.com/354782
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit c4aba2752874779ddcad89002540316ca665bd05
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Tue Jun 21 13:56:54 2016 -0400

    Cast display for eglGetPlatformDisplayEXT().
    
    Cast the second parameter of eglGetPlatformDisplayEXT() to the correct
    type to stop compiler complaining.
    
    BUG=angleproject:1297
    
    Change-Id: I37260edbd0fb6b92c24b556b15ea8206295e12d4
    Reviewed-on: https://chromium-review.googlesource.com/354740
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit 35f7ef818135f2e49f5bf03d91666161e0af36ba
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Tue Jun 21 20:04:39 2016 -0400

    Ozone null pointer checks.
    
    Check for null pointers so DisplayOzone::terminate() doesn't crash when
    DisplayOzone::initialize() wasn't completely successful.
    
    BUG=angleproject:1419
    
    Change-Id: I70e994490a7282083d5289e6c35b077676688b65
    Reviewed-on: https://chromium-review.googlesource.com/354700
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit e064d44b9a47fe004ca3fd4f2b642448da7fce7b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jun 21 20:00:41 2016 -0400

    translator: Fix use-after-free with DepthRange.
    
    Because this builtin uses a structure, certain shaders could trigger
    the mangled name to be allocated during normal shader compilation.
    Then when the scope is popped, the mangled name for DepthRange is
    freed, and we're left with a dangling pointer.
    
    Fix this temporarily by enforcing mangled name construction when
    we initialize the builtins, but we should look for a more robust and
    future-proof fix.
    
    BUG=620937
    
    Change-Id: If130c8b48a18054502abaec08f10264f282b4925
    Reviewed-on: https://chromium-review.googlesource.com/354494
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Antoine Labour <piman@google.com>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 9146bfa33c6ab3fd01be305378cd1dd55d06b1b4
Author: David Landell <landell@opera.com>
Date:   Wed Jun 22 10:13:45 2016 +0200

    Include what you use
    
    mbstowcs needs stdlib.h header on mipsel
    
    BUG=
    
    Change-Id: Ia93d0a877b2e22d5c1c461f0dea9999ede725520
    Reviewed-on: https://chromium-review.googlesource.com/354020
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit be5a8a400fd182fba174bd9110e470a54f8b14b6
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Wed Jun 22 02:16:16 2016 +0000

    Revert "use_ozone=1 for ANGLE CQ."
    
    This reverts commit 13511a9ccd1ec35a4ddd17fa44f590125bbe0c95.
    
    Change-Id: Ic5a91d14b59204c5667940797742bc55a137f177
    Reviewed-on: https://chromium-review.googlesource.com/354706
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>

commit 13511a9ccd1ec35a4ddd17fa44f590125bbe0c95
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Tue Jun 14 13:31:24 2016 -0400

    use_ozone=1 for ANGLE CQ.
    
    Add tryserver.chromium.linux:linux_chromium_gn_chromeos_rel to ANGLE CQ
    to build test with use_ozone=1.
    
    BUG=angleproject:1412
    
    Change-Id: Ib4e851b95f7cfbb7099b531affccd14f08418725
    Reviewed-on: https://chromium-review.googlesource.com/352318
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>

commit db8ae836731591f5db582545de403b3ca1c8edf7
Author: Robert Sesek <rsesek@chromium.org>
Date:   Tue Jun 21 11:47:03 2016 -0400

    [Mac/GN] Properly set the install_name and rpath for shared_library targets and their consumers.
    
    BUG=621932
    R=cwallez@chromium.org
    
    Change-Id: I10b0fd5a668d74b7062747002bc48ef0e0a6df9c
    Reviewed-on: https://chromium-review.googlesource.com/354302
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 4fb43115807c38415ff24196cc87827a70b7056d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jun 21 08:59:49 2016 -0400

    Add dEQP suppressions for two failing tests.
    
    BUG=angleproject:1418
    BUG=angleproject:1340
    
    Change-Id: I8930845a2d398440a78b2569daaf655b51a30ee9
    Reviewed-on: https://chromium-review.googlesource.com/354261
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit e9a6593a4e438b0532bda2f25bc0876be4d30259
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 20 17:57:05 2016 -0400

    Fix suppression for Intel.
    
    BUG=None
    
    Change-Id: I3e2e7e845e9ad3814f7d85e56c12023a5e2ef0df
    Reviewed-on: https://chromium-review.googlesource.com/354104
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 55deb36c8652a9f977cce5d034f4e80e0d83655c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jun 20 13:43:06 2016 -0400

    Fix warning about unused local variable.
    
    BUG=angleproject:1382
    
    Change-Id: I63925fb7eeff2bdab26c1e541afd9cd1851485e6
    Reviewed-on: https://chromium-review.googlesource.com/354083
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit c7d6ea485a92690e89d00a693c71a6cde76dddc7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Apr 21 16:02:57 2016 -0400

    Roll dEQP cc0ded6c77267b..cd361df193e7535b9
    
    https://android.googlesource.com/platform/external/deqp/+log/cc0ded6c77267b..f4f3d8079e7a37d7
    
    BUG=None
    
    Change-Id: I863f81d2c4c3f48862cb821b23c38266987a82a2
    Reviewed-on: https://chromium-review.googlesource.com/340260
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit b098776109bf0a724a8d75959759397c36cbdd23
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Fri Jun 17 18:10:15 2016 -0700

    Don't emit shader_texture_lod and draw_buffers extensions in core profile shader.
    
    BUG=angleproject:1416
    TEST=conformance/extention/ in core profile
    R=jmadill@chromium.org,geofflang@chromium.org,cwallez@chromium.org
    
    Change-Id: I89b815929535586a2e90489129a1c6692bb87b3c
    Reviewed-on: https://chromium-review.googlesource.com/353820
    Tryjob-Request: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Zhenyao Mo <zmo@chromium.org>

commit a81af59b54d94b20f240055cbc3b675358c6fe38
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jun 20 11:16:44 2016 -0400

    Fix incorrect PathParameter overload being called.
    
    BUG=angleproject:1382
    
    Change-Id: I9fd6e20b9487f9d7817865bc9129a60fc833d0ca
    Reviewed-on: https://chromium-review.googlesource.com/354030
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 0344b1e578aa449b6c5964dc25ab35e9ddeae48e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jun 20 11:17:37 2016 -0400

    Fix float-to-int conversion warnings in the path rendering tests.
    
    BUG=angleproject:1382
    
    Change-Id: I586cd4a03d06a6ec87b6a57342b7f8d0ed0d9cd8
    Reviewed-on: https://chromium-review.googlesource.com/354031
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit f8559282c7e577aefda04734d1dd434b5afe5d76
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Jun 16 18:21:19 2016 -0400

    Update the dEQP test expectations
    
    BUG=angleproject:1092
    BUG=angleproject:1095
    BUG=angleproject:1323
    
    Change-Id: I58550f841febbfdf45133707f72e7f3a62b20a1c
    Reviewed-on: https://chromium-review.googlesource.com/353343
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit c7f59d02f128a96ac971620d4d4ec32654a79ff9
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Jun 20 10:12:08 2016 -0400

    Suppress a Wintel/OpenGL failure on a new test.
    
    BUG=angleproject:1388
    
    Change-Id: I4d346ca3c6914e56055aa6492d9d013634a1b9ad
    Reviewed-on: https://chromium-review.googlesource.com/353693
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit e45e53bd209f2e29e4fb97dd4a165457e3db94a9
Author: Sami Väisänen <svaisanen@nvidia.com>
Date:   Wed May 25 10:36:04 2016 +0300

    Support CHROMIUM_path_rendering
    
    This is partial support for CHROMIUM_path_rendering
    and implements basic path management and non-instanced
    rendering.
    
    BUG=angleproject:1382
    
    Change-Id: I9c0e88183e0a915d522889323933439d25b45b5f
    Reviewed-on: https://chromium-review.googlesource.com/348630
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 2e1ba2743c49825aa375deddbda14be903fe9ba0
Author: Sami Väisänen <svaisanen@nvidia.com>
Date:   Mon Jun 20 15:15:20 2016 +0300

    Added Sami Väisänen (Nvidia) to CONTRIBUTORS
    
    Change-Id: I791fd7c4e145c37d0173e23cf57f937f802c26ea
    Reviewed-on: https://chromium-review.googlesource.com/353701
    Reviewed-by: Sami Väisänen <svaisanen@nvidia.com>
    Commit-Queue: Sami Väisänen <svaisanen@nvidia.com>

commit 095aaa0e3ddf5354e36c48083655bf63f46c5e96
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Fri Jun 17 01:02:53 2016 -0400

    Skip ReadPixelsPBOTest.SubDataOffsetPreservesContents on Adreno Android GLES
    
    Due to either Adreno bug in glBufferSubData,
    or generic Android bug in ANativeWindow_setBuffersGeometry.
    
    BUG=angleproject:1415
    TEST=ReadPixelsPBOTest.SubDataOffsetPreservesContents
    
    Change-Id: If55f6ad4eacde98cfdbc46a61cc9fb479b779297
    Reviewed-on: https://chromium-review.googlesource.com/353396
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit d364780a769f79e218ccd4e14d678e7a26bcfe57
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Jun 16 15:58:35 2016 -0400

    Skip ReadPixelsTest.OutOfBounds on Adreno Android GLES
    
    Due to Adreno bug in glReadPixels
    
    BUG=angleproject:1413
    TEST=ReadPixelsTest.OutOfBounds
    
    Change-Id: I2fd426bc6d21f5d9604ca32ad34dd8841cbb9a3e
    Reviewed-on: https://chromium-review.googlesource.com/353363
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 438dbcf15299a2abcc432d1670aa8e475ea55707
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 17 14:20:05 2016 -0400

    translator: Fix builtin function emulator use-after-free.
    
    We were calling the global pool allocator in the builtin function
    emulator, which would lead to us freeing TTypes that were still
    referenced. Fix this by using the TCache which was designed for
    such a purpose, and locking the allocator around the builtin
    function emulator to try and prevent similar bugs from creeping
    in.
    
    Eventually we would like to get rid of the global allocator and
    replace it with different pools in different contexts, which are
    managed more safely.
    
    BUG=620937
    
    Change-Id: If501ff6ea4d9bf8a2b8f89f2c94a01386f79ee3a
    Reviewed-on: https://chromium-review.googlesource.com/353671
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 8bcba14727e99bf5e0fd25c323b93a73fcf28978
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 17 12:58:01 2016 -0400

    Set GERRIT_SQUASH_UPLOADS to False.
    
    ANGLE uses a workflow where we upload stacks of dependent patches to
    Gerrit. The Chromium workflow has squashed by default for a long time,
    so the infra team is planning to switch to squash by default. This
    change will preserve our workflow.
    
    See http://crbug.com/611892
    
    BUG=None
    
    Change-Id: I62ab7a26d5bd899fbb8c48a1aced7d044640a66a
    Reviewed-on: https://chromium-review.googlesource.com/353039
    Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>

commit 362876b157135a9518d8b73cdca24f98f453a282
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jun 16 14:46:59 2016 -0400

    Cache Framebuffer completeness.
    
    Improves performance on the render-to-texture microbenchmark
    by ~3x on the OpenGL back-end. Wipes out several of the top profling
    hotspots on that benchmark.
    
    BUG=angleproject:1388
    
    Change-Id: I6a35a0b435b2ed3c83d32acdb9df090df98214ad
    Reviewed-on: https://chromium-review.googlesource.com/348957
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 73d417edc04e982de5473c431b4f24b246bf5a5c
Author: John Bauman <jbauman@chromium.org>
Date:   Fri Jun 17 00:49:40 2016 +0000

    Revert "D3D11: Fix readback of BGRA-backed formats."
    
    This reverts commit 230d95616d1309914a6703e27a797a440806dd02.
    
    This broke GLES2ConformTest.GL2Tests_framebuffer_objects_input_run on the NVIDIA Win8 Chromium bots.
    
    BUG=chromium:620908
    
    Change-Id: Idf6e3eb51483ff0b6bc758b95c5910863ddfc25f
    Reviewed-on: https://chromium-review.googlesource.com/353394
    Reviewed-by: John Bauman <jbauman@chromium.org>
    Commit-Queue: John Bauman <jbauman@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit a1f6dc95bb077e2587f6f5075f7e059849091931
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Wed Jun 15 23:27:04 2016 -0400

    Varying invariance must match between shaders in ESSL 1.00
    
    While in ESSL 3.00 invariant is allowed only for out varyings.
    Verify that, and update test expectations.
    
    BUG=angleproject:1293
    TEST=GLSLTest*.Invariant*
    
    Change-Id: I5cab6c68f2b94ea2179719119668d905fe7a9b3d
    Reviewed-on: https://chromium-review.googlesource.com/352743
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit cfa48d3744243b1247cd528cf2f6176db220de11
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Wed Jun 15 22:14:36 2016 -0400

    Shader versions must match.
    
    Per GLSL_ES_Specification_3.00.4 paragraph 3.3 Version Declaration:
    "Shaders declaring version 3.00 of the shading language
    cannot be linked with shaders declaring version 1.00."
    
    BUG=angleproject:1361
    TEST=GLSLTest_ES3.VersionMismatch
    
    Change-Id: Icee672b798dcdb41a189e4a6459c4e643daf1fa6
    Reviewed-on: https://chromium-review.googlesource.com/353182
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 230d95616d1309914a6703e27a797a440806dd02
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 15 18:11:52 2016 -0400

    D3D11: Fix readback of BGRA-backed formats.
    
    For some BGRA-backed formats (RGBA4, R5G6B5, RGB5A1), our ReadPixels
    implementation wasn't aware the BGRA format didn't exactly match the
    RGBA format. For these it would do the 'fast path' memcpy method, when
    it should stop and do the slow pixel-by-pixel packing method.
    
    BUG=angleproject:1407
    BUG=chromium:616176
    
    Change-Id: Ie24758513af6f9ef87f0aa503135456c96493701
    Reviewed-on: https://chromium-review.googlesource.com/352252
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit cd1b12260360cbf38e9dbcb6f9a8ffff4ed2c393
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jun 16 13:58:54 2016 -0400

    perf_tests: Work around stalls in gl_null test teardown.
    
    The Clear command in the draw call benchmark was not being properly
    no-op'ed. This would cause the driver to get a huge queue of GL
    command, which it would only flush when the test was torn down. This
    manifested as a 5+ second stall on test teardown.
    
    Looking at the clear command, it does some work with binding
    and then calling GL functions, so properly filtering out the driver
    commands would be a bit more complicated. For now, we can hack in a
    workaround for the draw call test (the only one that uses the GL
    NULL renderer at the moment) to not call clear when it would give
    us problems.
    
    BUG=620687
    
    Change-Id: I64a2ed1883e8d3bf0d4c423c8bce0902ae9bf8df
    Reviewed-on: https://chromium-review.googlesource.com/352828
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 218cf9ee8746417d672bc48899e8a3d37d3f97ec
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri May 20 13:55:24 2016 +0300

    Fix unpacking overlapping unpack buffer rows on NVIDIA GL
    
    When unpack parameters are set so that rows being read overlap in
    the unpack buffer stored in GPU memory, NVIDIA GL driver may not
    upload the last pixels of the last one or more rows of a texture. The
    driver may also crash when the amount of overlap is high.
    
    This issue affects both TexImage* and TexSubImage* calls.
    
    Work around the issue by uploading textures row by row when the rows
    being read overlap in the unpack buffer. The workaround could possibly
    be optimized by uploading several of the first rows with a single call
    in some cases where the amount of overlap is low, but this is expected
    to be a rarely used corner case, so the added complexity that the
    optimization would create seems like a bad tradeoff.
    
    The issue does not seem to be triggered when the layers (images) of a
    3D texture overlap, as long as the rows inside the images don't.
    
    The workaround has been ported from Chromium.
    
    This patch adds setting dirty bits when unpack state is set in
    StateManagerGL.
    
    The included test case also reveals some issue in the D3D backend, but
    this is left to be addressed later.
    
    BUG=angleproject:1376
    TEST=angle_end2end_tests
    
    Change-Id: I7dbe73ebb70bbbc284fa92381546f4f2f832d333
    Reviewed-on: https://chromium-review.googlesource.com/346430
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit cd9aa12afc83b9765ac78b6683f7f17fc03a8f42
Author: James Ross-Gowan <rossymiles@gmail.com>
Date:   Wed Jun 15 22:35:50 2016 +1000

    D3D11: Prevent DXGI hooking the Alt+Enter keystroke
    
    When ANGLE is using D3D11 and not using DirectComposition, DXGI will hook
    the window's message loop and override Alt+Enter to trigger a transition
    to exclusive fullscreen mode. This disables that behaviour, since it's
    inconsistent between backends and, at least during my testing, the
    application did not even work correctly after the transition to fullscreen
    mode.
    
    This commit should be similar to the workarounds implemented in Qt and mpv
    to prevent this behaviour and will hopefully make those workarounds
    unnecessary. Only the DXGI_MWA_NO_ALT_ENTER flag is used, since the other
    flags didn't seem to have an effect and probably only matter in fullscreen
    mode.
    
    BUG=angleproject:1414
    
    Change-Id: Icb70c2c1405225619dcb27c5ffc9472fddd1157b
    Reviewed-on: https://chromium-review.googlesource.com/352950
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 989cac3467248ec868a574682b218435464bd392
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Jun 8 16:18:49 2016 -0700

    Validate that unpack skip is in bounds
    
    Unpack skip needs to be taken into account when determining which part
    of the unpack buffer is read. This is now done in the out-of-bounds
    check when validating texture upload calls.
    
    Unpack skip code is removed from D3D9 backend, since skip is not
    supported in GLES2.
    
    BUG=angleproject:1411
    TEST=angle_end2end_tests
    
    Change-Id: I0db4db0877a352613c57e2820e5b650edb5a73ab
    Reviewed-on: https://chromium-review.googlesource.com/352450
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit e29324ff2db53cb72316a1b838ad64c271e425cf
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Jun 15 10:58:03 2016 +0300

    Don't allow returning a struct containing an array in ESSL 1.00
    
    ESSL 1.00.17 section 6.1 forbids this. Returning arrays was already
    covered by the checks that disallow declaring array types in ESSL
    1.00.
    
    BUG=angleproject:1015
    TEST=dEQP-GLES2.functional.shaders.functions.* (2 new tests pass)
         dEQP-GLES3.functional.shaders.functions.* (no regression)
    
    Change-Id: Iaffa1631c0c940afb57819221e7e8603b2305021
    Reviewed-on: https://chromium-review.googlesource.com/352920
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 51f40ecd7e7cc63f73b203cb0e977b028b8e7ca9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 15 14:06:00 2016 -0400

    Make Framebuffer::checkStatus non-const.
    
    BUG=angleproject:1388
    
    Change-Id: Ia9befba0c915c087f2fe0557d91060256f6d4950
    Reviewed-on: https://chromium-review.googlesource.com/348955
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit a9d60da882491df64de0e1c69c9fe3e2632f426e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 8 16:09:09 2016 -0700

    D3D11: Fix uploading RGB10A2 data to RGB5A1 textures.
    
    WebGL test: textures/misc/tex-new-formats
    
    BUG=angleproject:1407
    BUG=chromium:616176
    
    Change-Id: I7b557587c1ea0861bcac327a370480b36f679794
    Reviewed-on: https://chromium-review.googlesource.com/351170
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit e40dd76ca31ce82072cfc2da6d4731cff1685dd7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 8 15:30:14 2016 -0700

    D3D11: Fix loading of RGB5A1 data from RGBA8.
    
    BUG=angleproject:1407
    BUG=chromium:616176
    
    Change-Id: I2b88616b6b72dd9caf07fac8ebba9a065cf2983f
    Reviewed-on: https://chromium-review.googlesource.com/350907
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 9fc7b4c732f34c4c43ffb100535259a017382009
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 8 15:30:14 2016 -0700

    D3D11: Fix loading of RGBA8 data to RGB565.
    
    BUG=angleproject:1407
    BUG=chromium:616176
    
    Change-Id: I663d265abfabb88a5aca8ca0002d2cbc29f6b069
    Reviewed-on: https://chromium-review.googlesource.com/350906
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 986475fa0de8f0933cc76e879b4904522145555a
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Tue Jun 14 19:10:53 2016 -0400

    Fix native EGL library loading on Android.
    
    Takes care of non-component Clank build and 64 bit.
    
    BUG=angleproject:1362
    TEST=angle_end2end_tests
    
    Change-Id: Ib338734960c6ac378ae49028ae30416bff31ac2a
    Reviewed-on: https://chromium-review.googlesource.com/352710
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 1d688763dd25595ed6a286435eafe1b12e213d41
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 8 15:30:13 2016 -0700

    D3D11: Fix loading of RGBA4 textures for ubyte.
    
    BUG=angleproject:1407
    BUG=chromium:616176
    
    Change-Id: Ibb7c5e71b4cf8afe7b7d0092e7d019b87d507ba6
    Reviewed-on: https://chromium-review.googlesource.com/350905
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 193c671d1b10d2e12a6c0bc045f3e56b3f90aabb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jun 9 07:09:58 2016 -0700

    Add a perf test for render-to-texture.
    
    This perf test focuses on the hotspot we have in Framebuffer::
    checkStatus. It's exactly the same as the standard draw call
    benchmark, but binds a Framebuffer before rendering.
    
    BUG=angleproject:1388
    
    Change-Id: Icc7a99e399f469d765bf1ac6abe0562977b9a39d
    Reviewed-on: https://chromium-review.googlesource.com/348956
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 9de84a5db17d33681081baa894db6b85c74bb0e2
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Jun 14 17:36:01 2016 +0300

    Clean up parsing function headers
    
    Move function header parsing code to ParseContext instead of having
    it in the grammar file. This commit is pure refactoring. This code
    needs to be changed later to detect returning arrays containing
    structs.
    
    This commit also disables clang format for glslang.cpp generated by
    bison.
    
    TEST=angle_unittests
    BUG=angleproject:1015
    
    Change-Id: If60848ca32da6b98ea8bcd95bba8c3f831634b51
    Reviewed-on: https://chromium-review.googlesource.com/352480
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 9b08a3d55185bf9cfb7021c611a55c1ae0d28a5b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 8 15:30:12 2016 -0700

    Add RAII helpers for GL tests.
    
    These methods can obviate the need for glGen/Delete calls in tests.
    
    BUG=angleproject:1407
    
    Change-Id: Ied571e48db92bd1d4f4089d91a95e7c7fafcfcaf
    Reviewed-on: https://chromium-review.googlesource.com/350904
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit dfde6abf9f5a5daf1e280f2f5f07814a65222e5f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jun 9 07:07:18 2016 -0700

    Context: Remove mutable gl::State getter.
    
    This will preserve layering - the API layer doesn't mutate the state
    directly, it passes the API call through to the Context. Is also
    removes the possiblity of any shenanigans of the Validation layer
    changing the GL state.
    
    Also, this CL refactors a few validation entry points to take
    ValidationContext instead of Context. ValidationContext will be the
    correct way to interact with the gl::Context in the Validation code.
    
    Finally, additional refactorings make ContextState a proper class with
    private data. This allows the ContextState itself to keep a mutable
    pointer to the gl::State, so ValidationContext can modify it if
    necessary (and it will be necessary for Framebuffer completeness
    caching).
    
    BUG=angleproject:1388
    
    Change-Id: I86ab3561573caa9535c8d1b8aad4ab3d0e7cd470
    Reviewed-on: https://chromium-review.googlesource.com/348954
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 7d20dd4ac482c2105e7d17930ad9d04295d2821f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jun 7 10:45:36 2016 -0700

    Add missing EXT_disjoint_timer_query entry points to eglGetProcAddress.
    
    BUG=angleproject:1405
    BUG=angleproject:1265
    
    Change-Id: I823e1393943f7531374c094ce590fa0a6f49d213
    Reviewed-on: https://chromium-review.googlesource.com/351776
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit c20ab279cb1c6850425f828bc6751c23d5c1654e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jun 9 07:20:46 2016 -0700

    Refactor more GL entrypoints.
    
    In the next CL, the Context is going to remove the mutable getter
    for the gl::State. This means we can only mutate the state inside
    Context. So, we need to move all the state mutating GL command
    implementations to gl::Context.
    
    BUG=angleproject:747
    BUG=angleproject:1388
    
    Change-Id: I9ed351d08611934bf708781c6af3948396921593
    Reviewed-on: https://chromium-review.googlesource.com/351171
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 5034c9718c8c6cddb6f1b6393aa64408bcee3235
Author: Sami Väisänen <svaisanen@nvidia.com>
Date:   Mon Jun 13 11:03:31 2016 +0300

    Fix buildbreak on Linux GCC
    
    Add virtual destructor to SignalReceiver.
    
    class angle::SignalReceiver has virtual functions
    and accessible non-virtual destructor.
    This generates a compile error.
    
    Change-Id: Iced2ee94ad9268ab5c1d00ab336ab2cc98385afc
    Reviewed-on: https://chromium-review.googlesource.com/351930
    Reviewed-by: Sami Väisänen <svaisanen@nvidia.com>
    Commit-Queue: Sami Väisänen <svaisanen@nvidia.com>

commit 95faa233d3083907b2d66807c684eac5a0ad453b
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Jun 7 14:01:53 2016 -0700

    Do not apply UNPACK_SKIP_IMAGES for 2D textures on D3D
    
    Resubmitted with test skip added for Intel OpenGL.
    
    GLES 3.0.4 section 3.8.3:
    
    "For the purposes of decoding the texture image, TexImage2D is
    equivalent to calling TexImage3D with corresponding arguments and
    depth of 1, except that UNPACK_SKIP_IMAGES is ignored."
    
    An "applySkipImages" boolean parameter is added to the functions in
    the D3D backend that apply skip offset to the unpack pointer. In case
    2D texture data is uploaded, the parameter is set to false and
    UNPACK_SKIP_IMAGES is not applied.
    
    BUG=angleproject:1406
    TEST=angle_end2end_tests
    
    Change-Id: I5878439e3d38dbae89cc2452a056c2d6bbf9e0b3
    Reviewed-on: https://chromium-review.googlesource.com/351330
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit a1d6c4dc26981221e7879ec85ff5cb70abc1cc19
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jun 9 18:00:42 2016 +0000

    Revert "Do not apply UNPACK_SKIP_IMAGES for 2D textures on D3D"
    
    The Windows Intel GPU FYI bot started failing the Texture2DTestES3.UnpackSkipImages2D/ES3_OPENGL test after this CL. Example: https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20%28New%20Intel%29/builds/866
    
    This reverts commit ac3575b27296398baebeb6c891871c6dac7df338.
    
    Change-Id: I5120261f5cf1ece9b21e4a94f63f85e014d2d8e4
    Reviewed-on: https://chromium-review.googlesource.com/351280
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit e02a683414a959f7defc12378447bf188302bfae
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jun 9 06:52:41 2016 -0700

    Refactor how we signal dependent state changes.
    
    Dependent state changes happen when the user calls TexImage
    on a Texture attached to a Framebuffer. The Framebuffer should be
    told 'hey, you should know about this'. Other objects also have
    dependent relationships, like VertexArrays and Buffers.
    
    This refactoring uses a binding pointer design, similar to the type
    'RefCountObject'. This design fixes the need for manual decoupling
    when one or the other is destroyed. The pointers are cleaned up in
    destructors, and do no-ops when either the source or dest is missing.
    
    Also move these new classes to a location where they are accessible to
    the GL layer; they will be important for framebuffer completeness.
    
    BUG=angleproject:1388
    
    Change-Id: I92610acb85dae6f9c009b8f071e121fde53782ae
    Reviewed-on: https://chromium-review.googlesource.com/348953
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit d2b50a0b4909c74b057997293f6496cd8aeb24d3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jun 9 00:13:35 2016 -0700

    Move ReadPixels logic to helper methods.
    
    These routines were pretty much duplicated between D3D9 and D3D11.
    Since I was going to have to rewrite them again for Vulkan, I
    figured it would be best to move them into a common location and
    clean them up a bit.
    
    BUG=angleproject:1319
    
    Change-Id: I15d39b052daf3e1020dbd0880f01ae84f3686a0a
    Reviewed-on: https://chromium-review.googlesource.com/349630
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 6e4d1d21f702319414b9d0c45c5f3ea6ead54526
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 8 13:32:27 2016 -0700

    D3D11: Simplify load function table init.
    
    Now that C++11 constructor syntax is allowed, we can use a much
    simpler scheme.
    
    BUG=angleproject:1407
    BUG=chromium:616176
    
    Change-Id: Ida5f235c3ed1429564af5213a5fead6c3b896080
    Reviewed-on: https://chromium-review.googlesource.com/350903
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 768996c058dab053d924e0af16d3a1e41f2343ce
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 8 13:32:26 2016 -0700

    Add an error check to ANGLE DLL update script.
    
    BUG=None
    
    Change-Id: I6fdcb8c436f35b9e3aa284760063f27e04e15a48
    Reviewed-on: https://chromium-review.googlesource.com/350902
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit ac3575b27296398baebeb6c891871c6dac7df338
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Jun 7 14:01:53 2016 -0700

    Do not apply UNPACK_SKIP_IMAGES for 2D textures on D3D
    
    GLES 3.0.4 section 3.8.3:
    
    "For the purposes of decoding the texture image, TexImage2D is
    equivalent to calling TexImage3D with corresponding arguments and
    depth of 1, except that UNPACK_SKIP_IMAGES is ignored."
    
    An "applySkipImages" boolean parameter is added to the functions in
    the D3D backend that apply skip offset to the unpack pointer. In case
    2D texture data is uploaded, the parameter is set to false and
    UNPACK_SKIP_IMAGES is not applied.
    
    BUG=angleproject:1406
    TEST=angle_end2end_tests
    
    Change-Id: Iedc2b05377adee8d5c2504511a87421f4b1db18d
    Reviewed-on: https://chromium-review.googlesource.com/350465
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit b2ebb5e81f19b0f4f9f28ff300850f4805651748
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jun 8 18:17:55 2016 +0000

    Revert "Revert "Use MapBufferRangeWithFallback in VertexArrayGL::streamAttributes""
    
    This reverts commit 8b8d043205a69802be7579bd90798162f34740b2.
    
    Change-Id: I25726642d066ca322830d1f5a4327f4e7e551fa6
    Reviewed-on: https://chromium-review.googlesource.com/350870
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 4b4cdff894f412ad54fc53e24de3edbf5b25c07c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 6 13:53:38 2016 -0700

    Fix unpack parameter validation.
    
    BUG=angleproject:1397
    
    Change-Id: Icdfc99eefcfad730ec887b82ec0758a6d6c0b9a7
    Reviewed-on: https://chromium-review.googlesource.com/348064
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 8b8d043205a69802be7579bd90798162f34740b2
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jun 7 21:34:11 2016 +0000

    Revert "Use MapBufferRangeWithFallback in VertexArrayGL::streamAttributes"
    
    This reverts commit c88d8354479c2e8021ceacebed1450d509cf8ffa.
    
    Likely causing failures on Linux webgl tests:
    http://build.chromium.org/p/chromium.gpu.fyi/waterfall?builder=Linux%20Release%20(New%20Intel)
    
    Change-Id: I0294f7f544c666ee7db13c4f7acae868c6bd2240
    Reviewed-on: https://chromium-review.googlesource.com/350530
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 46d7932a68c7b7524f9d4a1840039eddfb3ad6cd
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Jun 7 13:10:50 2016 -0700

    Fix MSVS x64 build
    
    EGLAttrib can be a 64-bit type on some configurations, in which case
    it needs an explicit cast to be converted to EGLint.
    
    TEST=standalone MSVS 2015 x64 debug build
    
    Change-Id: I6b3e0ae705e8862e079e81e516d6bf99409732e7
    Reviewed-on: https://chromium-review.googlesource.com/350411
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit afe93f65aaba1e0fccfcf56686967d19ed1e6f57
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 6 13:53:37 2016 -0700

    Roll Cherry.
    
    This fixes a bug preventing Cherry from running on Windows.
    
    BUG=None
    
    Change-Id: I0049005093e5abb7a7fd2c5b125e8133c0e0cab5
    Reviewed-on: https://chromium-review.googlesource.com/350402
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 149a099948cb0ffdf31057d33d0e5d327079adcf
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jun 6 13:36:07 2016 -0700

    Translate requirements of GL_EXT_draw_buffers to GL_ARB_draw_buffers.
    
    GL_ARB_draw_buffers adds special semantics when writing to gl_FragData even
    if multiple renderbuffers is part of the core spec so it needs to be declared
    in the translated shader.
    
    BUG=617410
    
    Change-Id: Id5524634c278ba303413b11251d560744f2517ca
    Reviewed-on: https://chromium-review.googlesource.com/350121
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit a6426d675341a6cccc0fefa34eea7bf55a5ba7e9
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Fri Jun 3 00:18:38 2016 -0400

    Android GL backend and end2end tests
    
    Just the bare minimum implementation for end2end tests to run.
    
    BUG=angleproject:1362
    TEST=angle_end2end_tests on Nexus 5X
    
    Change-Id: I92293e0f8bdc2ffaa5d4661927750d7cb3d931e6
    Reviewed-on: https://chromium-review.googlesource.com/349353
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit acccc6c92739f410fed0eb2035ea99d63fe0c4b3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue May 3 17:22:10 2016 -0400

    Vulkan: Hook up Renderer create functions.
    
    Do this in a separate CL to preserve the renderer generation.
    
    BUG=angleproject:1319
    
    Change-Id: I6d5768f199f6aabff747b3708c0625ff78e1ceb0
    Reviewed-on: https://chromium-review.googlesource.com/349424
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 07529ff8dcacd94b93d432122d0c6aa68631843a
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Sat Jun 4 02:19:03 2016 -0400

    Remove const qualifier from generateConfigs
    
    Requested in https://chromium-review.googlesource.com/349353
    
    BUG=angleproject:1362
    
    Change-Id: I989757c2fb8f65d5afcfb177b7f8da1414871e6f
    Reviewed-on: https://chromium-review.googlesource.com/349694
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit c3c140995bacc04036d9519a2c34bc1c328553cc
Author: anatoly techtonik <techtonik@gmail.com>
Date:   Fri Jun 3 09:49:02 2016 +0300

    README.md group links by purpose and add Gerrit there
    
    Change-Id: Icb15891d4325ad1724647f5d6faf0d17fbb50269
    Reviewed-on: https://chromium-review.googlesource.com/349470
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit c88d8354479c2e8021ceacebed1450d509cf8ffa
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Jun 2 23:37:47 2016 -0400

    Use MapBufferRangeWithFallback in VertexArrayGL::streamAttributes
    
    Otherwise, end2end tests crash on Nexus 5X,
    because Adreno driver doesn't provide glMapBuffer.
    
    BUG=angleproject:1362
    TEST=angle_end2end_tests on Nexus 5X and Linux
    
    Change-Id: I6207eca2d0e03eee957bb612271a66016fd562bb
    Reviewed-on: https://chromium-review.googlesource.com/349421
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 27b96979263fec7d5d61ee432c22e7a0da16fffe
Author: anatoly techtonik <techtonik@gmail.com>
Date:   Fri Jun 3 09:14:57 2016 +0300

    Add how to update working copy after change is submitted
    
    Change-Id: I387249d29822d91a6126f6c25cb35e8b80cb4c36
    Reviewed-on: https://chromium-review.googlesource.com/349460
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit ae0c126a7a599182e36f2b1b2ebcfc8b78e3b471
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Jun 2 23:42:37 2016 -0400

    Move getSwapBehavior call to be after SurfaceImpl initialize
    
    Otherwise, end2end tests crash on Nexus 5X,
    since the underlying EGL surface doesn't exist
    at the time of getSwapBehavior call.
    
    BUG=angleproject:1362
    TEST=angle_end2end_tests on Nexus 5X
    
    Change-Id: I550e46ee82592b9d1ea49a3c968d7ffad3ab06f7
    Reviewed-on: https://chromium-review.googlesource.com/349430
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 7c5d2364d3d4ed320326e02bd92453db0fb38259
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Jun 2 23:31:45 2016 -0400

    Fix GL_KHR_debug extension functions names
    
    Otherwise, running end2end tests on Nexus 5X crashes.
    
    BUG=angleproject:1362
    TEST=angle_end2end_tests on Nexus 5X
    
    Change-Id: I063d9f9836a1575cbf0abe361dbf8b2c1492105d
    Reviewed-on: https://chromium-review.googlesource.com/349420
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 513558d373d11d18c6a9ce509ed9a5bc5328a2f4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jun 2 13:04:11 2016 -0400

    Pass depth to computeBlockSize.
    
    This was very wrong for 3D textures.
    
    BUG=angleproject:1384
    
    Change-Id: I7f042449e30e1e909778c0524d1ce99d20ddfd65
    Reviewed-on: https://chromium-review.googlesource.com/348063
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit e2e406c3a4fffc8be04631a6da3934cb180f4349
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jun 2 13:04:10 2016 -0400

    Add base::numerics for safe math and conversions.
    
    This replaces are "IsUnsignedXXXSafe" family of methods.
    Also add overflow checks to unpack block sizes.
    
    BUG=angleproject:1397
    
    Change-Id: Ib47be149b0486c70f795b0d0f8899441faac9340
    Reviewed-on: https://chromium-review.googlesource.com/348062
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 171e6a5806300855da8f6408703fa7ef4b0d4089
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Jun 2 09:57:13 2016 -0400

    ProgramGL: translate location in setUniform1uiv
    
    BUG=angleproject:1401
    
    Change-Id: I5d08ecb2d4090e4be049dc6d25fc2ea17911ff2c
    Reviewed-on: https://chromium-review.googlesource.com/349011
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 2766ecbaa566735f2dfaecbeccf5dd98065e9932
Author: anatoly techtonik <techtonik@gmail.com>
Date:   Thu Jun 2 09:44:14 2016 +0300

    Add cmdline help to commit_id.py
    
    Change-Id: I2b87e0b60f40d345388562e33ed8eb7010adf186
    Reviewed-on: https://chromium-review.googlesource.com/349040
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit c8ec0b20537cfb19f5c58de0ea63c38beb1c0eb9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue May 31 15:54:09 2016 -0400

    Roll buildtools.
    
    This will include a new clang-format for standalone ANGLE.
    
    BUG=None
    
    Change-Id: Ia4a888c77487d03c2c83989c5f565dea993d5a06
    Reviewed-on: https://chromium-review.googlesource.com/348374
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 44c2156ef0fc0ddaa9a71603f725180c8c611f82
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed May 25 13:10:16 2016 -0400

    D3D11: Fix CopyTexture for ES3 types.
    
    We were passing a sized format and indexing a table which expects unsized.
    
    BUG=angleproject:1384
    
    Change-Id: I69eb8e3d66cfb2178e3a7a4ddb93a54f47bbc938
    Reviewed-on: https://chromium-review.googlesource.com/347249
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit d787e50bcd1ff65611867297d5c58206bde0fbd1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed May 25 13:10:15 2016 -0400

    Try more to use ANGLE_TRY.
    
    Also refactor the Renderer11::copyImage functions to share code.
    
    BUG=angleproject:1384
    
    Change-Id: I95f4266c0c9b67a13cba17797989fcc0b0d50c1d
    Reviewed-on: https://chromium-review.googlesource.com/347248
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 093a4c3c0d0d2b2cfcbaf2b7547dc24ac3e30e3b
Author: anatoly techtonik <techtonik@gmail.com>
Date:   Sun May 29 12:00:06 2016 +0300

    Fix README.md for commonmark with small edits
    
    Change-Id: Id7ed37945744a083e6eb5b6a792f8379b7b98bac
    Reviewed-on: https://chromium-review.googlesource.com/348200
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit e31fd8753bb62c6d951efb9be463f7671d342b15
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri May 27 08:35:36 2016 -0400

    Enable Release ASSERT in ANGLE.
    
    This will mainly affect the Chromium bots.
    
    BUG=angleproject:790
    
    Change-Id: I0c4318e83eedba851f15b3b139551cdb6a2fde12
    Reviewed-on: https://chromium-review.googlesource.com/346103
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 064da41c7e7caefc7babb564917d6dd151f7951d
Author: anatoly techtonik <techtonik@gmail.com>
Date:   Mon May 23 16:43:40 2016 +0300

    doc/ContributingCode.md add more links needed at given context
    
    Change-Id: I331ac7b24fd35735a0822a6b86ece66e1847f475
    Reviewed-on: https://chromium-review.googlesource.com/347130
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 946903d23ae361ddb05d2c0f64b339eb1694311b
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Apr 18 17:30:07 2016 -0400

    Remove usage of auto_ptr in MacroExpander
    
    BUG=angleproject:1269
    
    Change-Id: I1fafa102b065f6da1797e8790ec3ed498d9d8b45
    Reviewed-on: https://chromium-review.googlesource.com/339379
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 901b379f0cb6368658874f40e244b01d6bfc4039
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 26 09:20:40 2016 -0400

    Fix use-after-free when deleting share contexts.
    
    The pattern of gen context, share context, free context, then allocate
    a shared GL object in the second context would cause a use-after-free
    of the ContextImpl as a GLFactory. Fix this by passing the factory
    as a parameter to the resource manager allocation methods instead of
    storing the factory pointer. This allows the same ResourceManager to
    work with separate Context implementations, which will work with
    non-virtual contexts.
    
    BUG=612931
    
    Change-Id: Ifceeb893bebd072f318963d935ff9d17181f5305
    Reviewed-on: https://chromium-review.googlesource.com/347463
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 9e54b5af89883d3add301b00f11c57c1efda579c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed May 25 12:57:39 2016 -0400

    Add Vulkan stubs.
    
    Currently enabled for Windows by default.
    
    BUG=angleproject:1319
    
    Change-Id: I87921c579bee466465fb1e3f629bb3a40fdff659
    Reviewed-on: https://chromium-review.googlesource.com/328730
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 35170f5c329f74623643421c61fa1cd1d9a8a01e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed May 25 12:57:38 2016 -0400

    Fix Renderer generator script.
    
    This script breaks peridocially because we don't have automated tests
    for it. Split the FBO attachment object class into its own file, and
    also fix a couple other small snags that prevented the script from
    running.
    
    This will facilitate generating Vulkan renderer stubs.
    
    BUG=angleproject:1319
    
    Change-Id: I30a6ce4ab0adad962cea76731dbe82837c5c9a1b
    Reviewed-on: https://chromium-review.googlesource.com/347064
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 25ab4510787f247ca364a052f7b3389ed7311d7a
Author: Vincent Lang <vincent@plexapp.com>
Date:   Fri May 13 18:13:59 2016 +0200

    Implement GL_EXT_texture_norm16 extension
    
    BUG=angleproject:1365
    
    Change-Id: I972b156ecb41ff44bc1f6365373ab386bacc85f1
    Reviewed-on: https://chromium-review.googlesource.com/346530
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit fd08a9597703aa5e1dfb983c8e228ba8aab8d533
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue May 24 15:19:33 2016 -0400

    DisplayGLX: make the Mesa context creation workaround Mesa specific.
    
    BUG=598902
    
    Change-Id: Ib2ca69fb3573dbd0df3dafb4caec0500c7a8aa3b
    Reviewed-on: https://chromium-review.googlesource.com/347071
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 00ed7a1f12f88ab9a4ea39429b1392b3a0615e84
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 19 13:13:38 2016 -0400

    Enable always-available extensions in gl::Context.
    
    We can consolidate exposing these extensions in initCaps. Otherwise
    we have to maintain the lists in every Renderer back-end.
    
    Also do the same treatment for select egl::Display extensions.
    
    BUG=angleproject:1319
    
    Change-Id: I529dd120c6d2cdbb789bd9dd20491e796e97f3f6
    Reviewed-on: https://chromium-review.googlesource.com/345914
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 19f88f927cde5968cdedfd292076d890d8cf83a2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue May 24 11:44:49 2016 -0400

    Add the ChromeOS trybot to the CQ config.
    
    BUG=angleproject:1347
    
    Change-Id: I93266da474909352a4b83de52cffde82687bda86
    Reviewed-on: https://chromium-review.googlesource.com/346735
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 60515399f3e4f48c64607dd15107a4c7ad56dea7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue May 24 10:35:38 2016 -0400

    Fix include order for Clang in Renderer11.cpp.
    
    BUG=angleproject:1369
    
    Change-Id: Ie02e7c0b469e148bd8da4499ed560c4907d2a539
    Reviewed-on: https://chromium-review.googlesource.com/346891
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 63bc3fcf6f9646c85bc8c8f7766ad4f64afef31e
Author: anatoly techtonik <techtonik@gmail.com>
Date:   Mon May 23 16:05:48 2016 +0300

    doc/DevSetup.md make lists rendered correctly by Gitiles
    
    Change-Id: Id0dc92373f41b089081202692519adfbc44e0729
    Reviewed-on: https://chromium-review.googlesource.com/346680
    Reviewed-by: Aaron Gable <agable@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 8b9b792dac4fea66134ac65bcf580c4bd4f61207
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 19 13:13:37 2016 -0400

    Make RendererD3D a bit smaller.
    
    Move some D3D11-specific stuff into Renderer11, and remove a few
    virtual methods that weren't needed to be virtual.
    
    BUG=angleproject:1369
    
    Change-Id: Id37e7271ffc28b089dbea123dca70f38c1a06ffb
    Reviewed-on: https://chromium-review.googlesource.com/345913
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 34106e7a26b6cdc890b86a6b666d17b61c494379
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 19 15:33:13 2016 -0400

    D3D11: Require FL 10.1+ for ES3.
    
    We decided some time ago to make our lives easier and raise the
    lower bound on the feature level to 10.1 from 10.0. This makes
    using some multisample samplers easier in HLSL. It is also a very
    small and poorly suppoted fraction of our userbase.
    
    BUG=angleproject:1381
    
    Change-Id: I25d330a6097f71ec772899d49ff5d3a97c0cb0d2
    Reviewed-on: https://chromium-review.googlesource.com/346102
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 62baf0cf6fd03049eb6c645c1407b2020b562d34
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 19 13:13:36 2016 -0400

    Add a shared egl::SurfaceState struct.
    
    This structure can share GL-level properties (immutably) with the
    implementation.
    
    BUG=angleproject:1369
    
    Change-Id: I1e9406f18b6b88bb7db2a8f87b5e6d547cc7ecb1
    Reviewed-on: https://chromium-review.googlesource.com/342061
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 0f2b15609349b4b9c7cf73d60f49969b21212fb7
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri May 13 16:15:35 2016 +0300

    Fix GenerateMipmap when base level or max level are set
    
    According to GLES 3.0.4 section 3.8.10, GenerateMipmap should generate
    levels based on the base level, and generate them at most up to the
    max level. Levels outside the base/max level range should be unchanged
    by GenerateMipmap.
    
    The Texture class is fixed so that the image descs are set only for
    the changed mipmap range when GenerateMipmap is called.
    
    The D3D backend is fixed so that mipmap generation is correctly
    started from the base level instead of level 0, and making sure that
    mipmaps are generated only up to the max level. Generating mipmaps for
    array textures is also fixed for cases where the base level depth >=
    max(width, height) * 2.
    
    The GL backend is fixed to sync texture state before GenerateMipmap is
    called, so that base level and max level are set correctly in the
    driver.
    
    The GenerateMipmap entry point is refactored so that it has a separate
    validation function and a context function which does the work.
    Validation for out-of-range base levels is added.
    
    New tests are added to verify the functionality. One corner case in
    the tests fails on NVIDIA GL drivers likely due to a driver bug -
    similar rules for GenerateMipmap are found from newer GLES specs and
    also OpenGL specs (checked versions 3.3 and 4.4).
    
    BUG=angleproject:596
    TEST=angle_end2end_tests
    
    Change-Id: Ifc7b4126281967fc4f6dc4f9452e5b01e39f83d7
    Reviewed-on: https://chromium-review.googlesource.com/344514
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit d3a5b18549b872f5bc2cb1525d54f0d9675b8734
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 19 13:13:35 2016 -0400

    Make inheritance heirarchy for egl::Surface.
    
    This will allow us to select the Impl constructor more easily
    
     createWindowSurface
     createPbufferSurface
     createPbufferSurfaceFromClientBuffer
     createPixmapSurface
    
    This in turn lets us pass an EGLImplFactory to the constructor and
    will allow us to pass in the local SurfaceState to the constructor.
    
    BUG=angleproject:1369
    
    Change-Id: I6b13c1548c54bd5c493d59b68bfdaf55226b6bb5
    Reviewed-on: https://chromium-review.googlesource.com/342060
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 61a692b1e6daec511ed06cf8e412d1cf4ab95162
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 19 13:29:42 2016 -0400

    Try hard to eliminate isError in ValidationEGL.
    
    We were getting a compile warning due to variable shadowing from
    redeclaring a local egl::Error. Fix this using the ANGLE_TRY macro.
    
    BUG=angleproject:596
    
    Change-Id: I38954bd1c9f171f264d7ecbf58d634ae721296ad
    Reviewed-on: https://chromium-review.googlesource.com/346092
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 87ae8cdf04d421e8c38f008f5bfd59ed061b5176
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu May 19 17:59:55 2016 -0400

    Fix Linux standalone compilation.
    
    simple_texture_2d, hello_triangle, stencil_operations, simple_texture_cubemap
    fail to compile after https://chromium-review.googlesource.com/342050.
    
    BUG=angleproject:1319
    TEST=ninja -C out/Release all
    
    Change-Id: Ib70008036f8688b737f3f40b5224437a7afdea19
    Reviewed-on: https://chromium-review.googlesource.com/346121
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit 771f307f0b26a4982d741bc90f80b8bff8d6700f
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu May 19 11:35:07 2016 -0400

    Update the dEQP GLES2/3 test expectations
    
    Removed the tests that didn't fail in the latest 20 runs on the bots,
    skipping a couple test categories that are known to flake with a very
    low probability. Some flakes might still go through and will have to be
    resuppressed later.
    
    BUG=angleproject:504
    BUG=angleproject:1027
    BUG=angleproject:1032
    BUG=angleproject:1051
    BUG=angleproject:1092
    BUG=angleproject:1093
    BUG=angleproject:1095
    BUG=angleproject:1097
    BUG=angleproject:1101
    BUG=angleproject:1143
    BUG=angleproject:1323
    BUG=angleproject:1324
    
    Change-Id: I5943cd5bc125c64a45ad383c8bf22e48596a4f7e
    Reviewed-on: https://chromium-review.googlesource.com/346050
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 5d6fad7da21f62ac760f4eb211139ea871fba891
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue May 10 17:12:40 2016 -0400

    Add build instructions for Linux and MacOS
    
    BUG=angleproject:1368
    
    Change-Id: I2a0852399cdf04192d7e1d11b33b2103aa173354
    Reviewed-on: https://chromium-review.googlesource.com/344003
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit e8528d8983636639c9929573f4196074885eefbe
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon May 16 17:50:52 2016 +0300

    Fix determining texture mipmap completeness
    
    The code didn't previously take base level properly into account
    when determining how many levels to check when checking for texture
    completeness.
    
    The code is refactored so that the "q" value in spec, that is the
    maximum mipmap level for determining completeness, can be queried from
    TextureState. This value is used now for checking completeness.
    
    This requires moving ImageDescs under TextureState. Functions that
    operate on the ImageDesc array are also moved from Texture to
    TextureState. TextureState members are also renamed to start with the
    "m" prefix and made private.
    
    Also handle levels outside the base/max level range consistently in
    eglCreateImageKHR validation. We interpret the spec so that if the
    level used for the EGL image is not a part of the texture levels that
    affect texture completeness, an error is generated.
    
    BUG=angleproject:596
    TEST=angle_end2end_tests
    
    Change-Id: I038ef24aa83e0a6905ca3c0bbada5989eecb00d9
    Reviewed-on: https://chromium-review.googlesource.com/344880
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit b66a9097a33d8a94a158815d7b684ae6570ee5d4
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon May 16 15:59:14 2016 -0400

    Add support for OES_EGL_image_external and OES_EGL_image_external_essl3.
    
    BUG=angleproject:1372
    
    Change-Id: I8489e7fd0ab409b0775041ad5e9fbf0aab53886d
    Reviewed-on: https://chromium-review.googlesource.com/344734
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit a0d3aa4116accbe011ec91984467684334190138
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed May 18 10:39:18 2016 -0400

    Fix float-to-int conversion warning.
    
    BUG=angleproject:1378
    
    Change-Id: I92b902154432e82a1357e8623426256c4ca53ca3
    Reviewed-on: https://chromium-review.googlesource.com/345585
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit a797e066c1307ada0077a8e6f1559e7ad70de531
Author: Sami Väisänen <svaisanen@nvidia.com>
Date:   Thu May 12 15:23:40 2016 +0300

    Support CHROMIUM_framebuffer_mixed_samples in the GL backend
    
    BUG=angleproject:1378
    
    Change-Id: I634c41f3507dbdeaa56234c4de1b498f81c848ed
    Reviewed-on: https://chromium-review.googlesource.com/344520
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Sami Väisänen <svaisanen@nvidia.com>

commit 776a75b45cee7412cd8d23401376c6a8f6fdf2e0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue May 17 13:43:17 2016 -0400

    Make Platform errors trigger test failures.
    
    This can be useful in the Vulkan back-end to make validation layer
    errors cause test cases to fail.
    
    BUG=angleproject:1319
    
    Change-Id: I523f3c874e892a2646600e4c5c554319ed8d770c
    Reviewed-on: https://chromium-review.googlesource.com/342050
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit be815a4feffc906863470f813e76e0e8887a9d34
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu May 12 20:38:38 2016 +0300

    Apply effective base and max level on GL backend
    
    This works around GL drivers that neglect to clamp the base level or
    max level of immutable textures.
    
    BUG=angleproject:596
    BUG=610800
    TEST=angle_end2end_tests
    
    Change-Id: Ie4e04aaa9253f2befd73bccefa7759486b3ef487
    Reviewed-on: https://chromium-review.googlesource.com/344590
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 53ea9cc65589ff60664683b2994f136a90a1fb00
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue May 17 10:12:52 2016 -0400

    Replace rx::Renderer with rx::ContextImpl.
    
    Previously Context had no Impl class, but had a special relationship
    with the instanced Renderer class. Having a ContextImpl backing every
    Context will allow new designs to enable things like multithreading
    (where each ContextImpl stores a Context-specific device) or non-
    virtual Contexts on Android or other platforms where it is more
    efficient.
    
    A large refactoring patch that touches every back-end.
    
    BUG=angleproject:1363
    
    Change-Id: Icb73a7d37447f08a664eeb499a310ba05d71a57e
    Reviewed-on: https://chromium-review.googlesource.com/342052
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 2a9358cc025343df85f97f55f03d8cdbdc64545b
Author: Nico Weber <thakis@chromium.org>
Date:   Mon May 16 20:16:11 2016 -0400

    gn: Add a missing test.
    
    BUG=chromium:604060
    
    Change-Id: I7e9b8c1bd7cb14daa15575cfcfe9ba3e8a1e6d1b
    Reviewed-on: https://chromium-review.googlesource.com/344701
    Tryjob-Request: Nico Weber <thakis@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Nico Weber <thakis@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 190028d3b2fd11292f30e8b0377eb8bf6bcc3a2d
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri May 13 12:11:29 2016 +0300

    Clean up specifying colors and texture scale in MipmapTest
    
    Remove unnecessary scale parameter from MipmapTestES3, and use the
    GLColor class and EXPECT_PIXEL_COLOR_EQ instead of EXPECT_PIXEL_EQ for
    greater readability.
    
    BUG=angleproject:596
    TEST=angle_end2end_tests
    
    Change-Id: I79c30ce85be5d554d89197f8f1ce7ab0c51c11b6
    Reviewed-on: https://chromium-review.googlesource.com/344513
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit de44d3a43a7d44ddfc5d8160c165c26de819ae6c
Author: Nico Weber <thakis@chromium.org>
Date:   Fri May 13 17:27:57 2016 -0400

    gn/mac: Build GL code, and include CGL code.
    
    BUG=chromium:431177
    
    Change-Id: Id9c8ad68a9703591d6f576bfae3d7061526ed27f
    Reviewed-on: https://chromium-review.googlesource.com/344740
    Tryjob-Request: Nico Weber <thakis@chromium.org>
    Reviewed-by: Nico Weber <thakis@chromium.org>

commit 74c2347e92c79a342bc83af5693bcb0dfa86a608
Author: Sami Väisänen <svaisanen@nvidia.com>
Date:   Mon May 9 17:30:30 2016 +0300

    Support EXT_multisample_compatibility in the GL backend
    
    BUG=angleproject:1377
    
    Change-Id: Ie14aceca8e01f1cbc93fd5bd06d986336fb752b3
    Reviewed-on: https://chromium-review.googlesource.com/343501
    Reviewed-by: Sami Väisänen <svaisanen@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Sami Väisänen <svaisanen@nvidia.com>

commit 87fc71c456851bf496f87baff87266496ebc469d
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed May 11 14:25:21 2016 +0300

    D3D: Reallocate storage when texture format changes with base level
    
    Different levels of the same texture may have different formats, so
    changing the base level may affect the format that should be used for
    the storage. Take this into account in the D3D backend.
    
    The added test fails on some GL drivers.
    
    TEST=angle_end2end_tests
    BUG=angleproject:596
    
    Change-Id: I5380e942694a75685ebb510edb01c0489e0d5179
    Reviewed-on: https://chromium-review.googlesource.com/344230
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 77ae8d578bff9a2392efd76bf8847cf9a5f2b6d9
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri May 6 14:19:01 2016 +0300

    Share TextureState structure with TextureImpl
    
    This refactoring patch removes the need to pass texture state to
    methods of TextureImpl in some cases. It also adds target value to
    TextureState, and moves TextureState definition to Texture.h.
    
    The effective base level can now also be queried from TextureState,
    which reduces the need to pass it around.
    
    Two different code paths that dealt with the TextureStorage11 SRV
    cache are combined into one.
    
    Besides refactoring, this patch fixes applying mTopLevel twice when
    determining the amount of mip levels TextureStorage11.
    
    BUG=angleproject:596
    TEST=angle_end2end_tests, angle_unittests
    
    Change-Id: I1add3d9ad847bec56774e394125156cf9cb0fc2a
    Reviewed-on: https://chromium-review.googlesource.com/342940
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit bc7b7ab08d34927db33397c0321b3c4590c7f65f
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Thu May 5 19:31:37 2016 -0400

    dEQP: Add GL ES display factory.
    
    So we can run dEQP on the GL ES back end.
    
    BUG=angleproject:1371
    
    Change-Id: I7694d766f04997f9ba60ad0dd0bb4b30e714b4ae
    Reviewed-on: https://chromium-review.googlesource.com/342843
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit 0f2ef7f93d1011f914f1636d85faad51c0e587e5
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed May 11 12:51:05 2016 -0400

    Suppress and end2end failure caused by a Mesa bug
    
    BUG=610800
    
    Change-Id: I4ee6ba589afc98277c3cf50b8f57afb184b11216
    Reviewed-on: https://chromium-review.googlesource.com/343994
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 2b4ce80c65b25021d9387f61e2777e2489f7676a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Apr 28 13:34:50 2016 -0400

    Implement GL_CHROMIUM_sync_query for D3D9 and D3D11.
    
    BUG=angleproject:1366
    
    Change-Id: Iadde61968f45b969c76578a6dd9116a25d63fb4b
    Reviewed-on: https://chromium-review.googlesource.com/341230
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 538281f6e0fd054f8aaf0c10c35b428d39358375
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Wed Apr 13 23:36:55 2016 -0400

    Initial Chrome OS support.
    
    Samples and end2end tests mostly work.  Only one config, and no input.
    
    BUG=angleproject:1297
    
    Change-Id: I5b69babccc5b97e486d86e1721a0a1740ad80941
    Reviewed-on: https://chromium-review.googlesource.com/319460
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit e271a7e4a15e5f58bd7c5a70e29e1f79803636c9
Author: John Bauman <jbauman@chromium.org>
Date:   Wed May 11 17:03:32 2016 -0700

    Use data_deps to depend on :copy_compiler_dll
    
    This should ensure that d3dcompiler_47.dll is saved into an isolate in
    chromium, as it's used at runtime.
    
    BUG=611235
    
    Change-Id: I64801f00bf90f2be68c7a691724609bbf4d28dfa
    Reviewed-on: https://chromium-review.googlesource.com/344351
    Tryjob-Request: John Bauman <jbauman@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: John Bauman <jbauman@chromium.org>
    Reviewed-by: Dirk Pranke <dpranke@chromium.org>

commit 7aea7e056d42ef5c71c3e6edf2f0a1f3cb5300be
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue May 10 10:39:45 2016 -0400

    Add EGLImplFactory.
    
    Also rename ImplFactory to GLImplFactory.
    
    This will allow us to use the same factory design pattern for EGL
    objects, and to use State helper classes to share data with Impls.
    
    BUG=angleproject:1363
    BUG=angleproject:1369
    
    Change-Id: I07a8fe40838d5d4ca32b04910c306edeab4d25a7
    Reviewed-on: https://chromium-review.googlesource.com/342051
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 43d0e6096864b1e77337643e4351637c6299a555
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed May 11 10:35:49 2016 -0400

    Disable the DXGI WGL swap chain surface on AMD drivers.
    
    BUG=540829
    
    Change-Id: Ib15658c3fd7132068e9eb1e69a7a04720b3e3d6b
    Reviewed-on: https://chromium-review.googlesource.com/344250
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 8c9e4d54d3300317a8f5e5441064760c445727c8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri May 6 09:13:10 2016 -0700

    Add DEPS.chromium to share dEQP deps with Chrome.
    
    This file will allow ANGLE to update the build files and roll dEQP
    in the same CL, making life a pleasure to live for maintainers.
    
    BUG=chromium:605987
    
    Change-Id: I8f574e80a5f7b176f08a9f51c2369e042cae56b7
    Reviewed-on: https://chromium-review.googlesource.com/343010
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 086d59ae38b5511bed3d1cae65cfd647b47e2a57
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Apr 29 09:06:49 2016 -0400

    In ES3, validate that depth and stencil are the same image
    
    BUG=605775
    
    Change-Id: I9508c70a588270dae871dde79fea1df1c3fd1558
    Reviewed-on: https://chromium-review.googlesource.com/341440
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 76287680aeff2ce748811583e84dac3d4c631978
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Apr 25 09:23:38 2016 -0400

    Fix the CopyTex validation logic for sized types
    
    Previously we allowed copies to a sized format only if the depth of each
    component matched (including 0 depth). Now we require that the bit depth of
    non-empty component matches.
    
    BUG=605775
    
    Change-Id: If8abab886b0da5a1c8e89adabf3809f928dcedce
    Reviewed-on: https://chromium-review.googlesource.com/340382
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit a314b61c16be864567920bab145881576457205e
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Mar 10 16:43:00 2016 +0200

    Determine D3D texture storage size with correct base level
    
    The size of the texture storage is now determined by extrapolating
    the level zero texture dimensions from the base level dimensions.
    This fixes crashing when images for levels below the base level are
    not defined, and also fixes texture storage dimensions being
    calculated wrong in case the levels outside the used level range have
    dimensions that are inconsistent with the dimensions inside the used
    level range.
    
    Checking texture level completeness in TextureD3D is now done based on
    the dimensions of the base level, and levels that are outside the base
    level to max level range are not taken into account. Textures are
    marked incomplete in case their base level is greater than their max
    level.
    
    Changing the base level can also affect the size of the storage
    required for the texture. Old storage is now discarded when the base
    level is changed and the new base level calls for different storage
    dimensions.
    
    Code in TextureD3D is refactored so that "base level" actually means
    the base level of the texture specified through the GLES API, and
    "level zero" is used where TextureD3D would sometimes previously use
    "base level".
    
    Changing either the base level or max level can also affect texture
    completeness, so invalidate the cached completeness in Texture if
    they are changed.
    
    Some of the added tests are still failing on Intel and NVIDIA OpenGL
    drivers because of driver bugs. Tests also fail on OSX.
    
    BUG=angleproject:596
    TEST=angle_end2end_tests,
         dEQP-GLES3.functional.texture.* (no regressions),
         dEQP-GLES3.functional.shaders.texture_functions.* (no regressions),
         dEQP-GLES3.functional.state_query.texture.* (no regressions)
    
    Change-Id: Icd73d6e29f84a341ed5ff36d5ec5cb2f469cb4e8
    Reviewed-on: https://chromium-review.googlesource.com/333352
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 369d03c1916330a0a6ae49bb17e69c3033906965
Author: Steven Bennetts <stevenjb@chromium.org>
Date:   Thu May 5 10:37:38 2016 -0700

    Disable angle_enable_gl on chromeos
    
    BUG=angleproject:1370
    
    Change-Id: I63e3ee8fc6e08fcd2a908cdca3558af886526cbd
    Reviewed-on: https://chromium-review.googlesource.com/342740
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit f691cfab65d50d8685eba18b09f4b359ddbac6a8
Author: John Bauman <jbauman@chromium.org>
Date:   Wed May 4 17:57:50 2016 -0700

    Fix eglStreamConsumerAcquireKHR
    
    This was incorrectly acquiring every plane to texture 0.
    
    BUG=angleproject:1332
    
    Change-Id: I6df1401b705d903078e2631634b6bf20a07570de
    Reviewed-on: https://chromium-review.googlesource.com/342513
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: John Bauman <jbauman@chromium.org>

commit 8415b5fd4a87f6c3682ca422ea41354350bf2922
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Apr 26 13:41:39 2016 -0400

    Pass ContextImpl to Framebuffer methods instead of ContextState.
    
    BUG=angleproject:1363
    
    Change-Id: I7e7524d95f2ca31c35918f9fe5c0cb681ed93616
    Reviewed-on: https://chromium-review.googlesource.com/340746
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 437fa654e3d4ebdfe28118ff8c9bdb609fbaccc1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue May 3 15:13:24 2016 -0400

    Add a ContextImpl class.
    
    This class can contain impl-specific functionality for a Context.
    This will eventually replace the Renderer class, and we can then
    start passing around a gl::Context instead of gl::ContextState.
    
    In D3D11, the ContextImpl could hold a DeferredContext, which would
    enable multi-thread rendering. In GL, we can implement non-virtual
    (native) Contexts. In Vulkan it might store the logical device.
    
    BUG=angleproject:1363
    
    Change-Id: I39617e6d1a605d1a9574832e4d322400b09867ec
    Reviewed-on: https://chromium-review.googlesource.com/340745
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit bd329091241f00c250bc320655102cd5248923f9
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Apr 29 12:51:42 2016 +0300

    Add missing errors specified by OES_EGL_image_external
    
    Previously the code just silently ignored some filtering parameters
    for external textures, when in fact trying to set them should result
    in an error according to the extension specs.
    
    BUG=angleproject:1332
    
    Change-Id: I3a691b60561638c562bc1a9780a4dcb88ac43012
    Reviewed-on: https://chromium-review.googlesource.com/341441
    Reviewed-by: Ian Ewell <ewell@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 2be8c8ccb654abf33c60d1dc9907512259780b14
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Apr 28 14:39:15 2016 -0400

    Add script for updating Canary ANGLE DLLs.
    
    This script makes debugging in Chrome easier on Windows. It scans
    for the latest set of ANGLE DLLs among many search paths, and then
    copies them to the latest Chrome Canary binary directory. It also
    backs up the original DLLs if it finds them.
    
    BUG=None
    
    Change-Id: I66f8897a1393ceba8f614e4f91c0e1f9f0439eb3
    Reviewed-on: https://chromium-review.googlesource.com/341221
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit bbd663a2d36e6135402e25fd9c5840eaacf121eb
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Apr 20 17:49:17 2016 -0400

    Add dirty bits for the pixel pack and unpack buffer
    
    BUG=605775
    
    Change-Id: Ifb7eee94a395a9e9f5a5c1d6c0f05299162264a9
    Reviewed-on: https://chromium-review.googlesource.com/340115
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 7cd7033763fef272dca31a7144019c4b980965ef
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Apr 20 16:40:49 2016 -0400

    Fix integer constant vertex attributes in OpenGL backend
    
    BUG=605775
    
    Change-Id: Ie76cae5be686478019c61c1877611bea83d7502f
    Reviewed-on: https://chromium-review.googlesource.com/340114
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit a2257dac9bd37ef37f39ea43db27ee160247aab1
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Apr 19 16:43:12 2016 -0400

    Set the bound XFB to 0 when it is deleted
    
    BUG=605775
    
    Change-Id: Ie7af2c0dc4536b26473510a80955f4628ea496bb
    Reviewed-on: https://chromium-review.googlesource.com/340113
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit e71ea19aba82368d4da6a6b9fd6d0669909b1700
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Apr 19 13:16:37 2016 -0400

    Allow queries of different types to be active at the same time
    
    BUG=605775
    
    Change-Id: I0e23fae25d450c504f174a080279cf51aebcd123
    Reviewed-on: https://chromium-review.googlesource.com/340112
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 3f5726805388571cc5182cf1dc9d86e258412271
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Apr 26 13:41:36 2016 -0400

    Rename gl::VertexArray::Data to gl::VertexArrayState.
    
    BUG=angleproject:1363
    
    Change-Id: I5acf670bd88988941676cc9bc75606d55cca224e
    Reviewed-on: https://chromium-review.googlesource.com/340744
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 15243d9b3754c1894ec828b1d11c78221bcfeb2b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Apr 26 13:41:35 2016 -0400

    Rename gl::Shader::Data to gl::ShaderState.
    
    BUG=angleproject:1363
    
    Change-Id: I49cb5d7319742487c8c00c58ec58f9a29561b9c1
    Reviewed-on: https://chromium-review.googlesource.com/340743
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit bda7559731631686cd8d59f91ee212c2cec644ac
Author: Ian Ewell <ewell@google.com>
Date:   Mon Apr 18 17:25:54 2016 -0400

    Finish NV12 support via streams.
    
    The main functionality for NV12 texture support through EGL streams has
    been added. Updates to the compiler, texture code, and stream code were
    added to support binding to external D3D11 NV12 textures. An end2end test
    was also added to test sampling of YUV textures and converting to RGB.
    There is also a new script to convert BMP files to an NV12 texture ready
    to load into D3D11 for testing purposes.
    
    BUG=angleproject:1332
    
    Change-Id: I39b6ec393ea338e2c843fb911acc1b36cd1158a0
    Reviewed-on: https://chromium-review.googlesource.com/339454
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Ian Ewell <ewell@google.com>
    Reviewed-on: https://chromium-review.googlesource.com/341254
    Reviewed-by: Ian Ewell <ewell@google.com>

commit 48ef11b2aab8796589f10f8bb1b3dd044c4bb47d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Apr 27 15:21:52 2016 -0400

    Rename gl::Framebuffer::Data to gl::FramebufferState.
    
    Moving this out of the Framebuffer class allows us to forward-
    declare it.
    
    BUG=angleproject:1363
    
    Change-Id: I91971c37a92151df508cdf7f0eb8c3e93506d112
    Reviewed-on: https://chromium-review.googlesource.com/340741
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 3d63bc798312282c17d39cc69b3401ba52ae5a1a
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Apr 19 12:42:49 2016 -0400

    OpenGL backend: fix logic updating max uniform components
    
    BUG=605775
    
    Change-Id: I37c1dc7117e7e47ee3a7e031cbccb44f39458c09
    Reviewed-on: https://chromium-review.googlesource.com/340111
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 9670b03eb082fe0184c4e3222daa517afc1389c1
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Apr 29 09:47:47 2016 +0000

    Revert "Finish NV12 support via streams."
    
    Broke Windows Clang compilation, see https://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Win%20Clang%20Builder%20%28dbg%29/builds/3583/steps/compile/logs/stdio and search for TextureStorage11.h
    
    This reverts commit 9b8b359fa3615be7c7492239a48f61103b2e4fcc.
    
    Change-Id: I6e54305eba02b40927a35577594df39e951adb32
    Reviewed-on: https://chromium-review.googlesource.com/341430
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 9082b982b9c377384563d85dafa24ad717cd58c5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Apr 27 15:21:51 2016 -0400

    Rename gl::Data to gl::ContextState.
    
    Part of the new world order of renaming the Obj::Data classes to ObjState.
    
    BUG=angleproject:1363
    
    Change-Id: I15cf002b8b093d687f540b9e86f045874af24a7e
    Reviewed-on: https://chromium-review.googlesource.com/340740
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 9b8b359fa3615be7c7492239a48f61103b2e4fcc
Author: Ian Ewell <ewell@google.com>
Date:   Mon Apr 18 17:25:54 2016 -0400

    Finish NV12 support via streams.
    
    The main functionality for NV12 texture support through EGL streams has
    been added. Updates to the compiler, texture code, and stream code were
    added to support binding to external D3D11 NV12 textures. An end2end test
    was also added to test sampling of YUV textures and converting to RGB.
    There is also a new script to convert BMP files to an NV12 texture ready
    to load into D3D11 for testing purposes.
    
    BUG=angleproject:1332
    
    Change-Id: I098940e6f25e113dcc4fc8d22ffed4b5a16fd860
    Reviewed-on: https://chromium-review.googlesource.com/339454
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Ian Ewell <ewell@google.com>

commit ac93b7ca9554d2be43094bd84010178f65b05b5f
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Apr 28 17:16:59 2016 +0300

    D3D: Fix RGB5_A1 texture upload from PBO failure on Windows 10
    
    Failure is consistently seen in the dEQP tests on Windows 10 on
    NVIDIA and Intel drivers, where creating an SRV from the buffer in the
    right format fails. Disable the fast copy path for this format
    similarly to how it's already disabled for some other formats.
    
    BUG=angleproject:1095
    TEST=dEQP-GLES3.functional.texture.specification.teximage2d_pbo.rgb5*
    
    Change-Id: I7a1cd15c2cd130c9e8a637457c201778f157333b
    Reviewed-on: https://chromium-review.googlesource.com/341170
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit f14f795e8183c3550a1e314491502275fc8fdca9
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Apr 21 15:43:51 2016 -0400

    Use base level to get internal format in GenerateMipMap
    
    BUG=605775
    
    Change-Id: I11039ee9ba21dbe2716eed0d3a12a0fb2cf50ea4
    Reviewed-on: https://chromium-review.googlesource.com/340116
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 65a0be92ff9b8beb0105e133040d92f887e41f88
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Oct 2 09:57:30 2015 -0400

    Implement program binary in ProgramGL.
    
    BUG=angleproject:882
    
    Change-Id: I8d57c185066e9fc0c1b8def09bc48d80ad97d328
    Reviewed-on: https://chromium-review.googlesource.com/303901
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit aab7e8683b444011825dc970ae0324813f448f1c
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Apr 18 11:47:28 2016 -0400

    DisplayGLX: Add AMD driver version detection
    
    BUG=590870
    
    Change-Id: I8b2548038635182bafa691671bdaa16f12b45694
    Reviewed-on: https://chromium-review.googlesource.com/339450
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit e7419b9fbfc612fdaed86ac31f168ae3ed780b08
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Wed Apr 13 23:29:27 2016 -0400

    Add FunctionsEGL, FunctionsEGLDL - EGL wrappers.
    
    FunctionsEGL is an abstract class.
    FunctionsEGLDL is an libdl-based implementation.
    
    BUG=angleproject:1297
    
    Change-Id: I0fe5a337e34518cc6248494dbc4ee5c2938d4b77
    Reviewed-on: https://chromium-review.googlesource.com/338884
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit 4200fc361b3349d20b630a0b4af5f76f2787215c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Apr 26 11:37:18 2016 -0400

    gyp: Remove the post-build script hook.
    
    This was used by developers to copy compiled libs around. With better
    dEQP integration and supporting tools it is no longer necessary.
    
    BUG=None
    
    Change-Id: Iff35be88111c2c806bb02abf43ffb33ed5b641fd
    Reviewed-on: https://chromium-review.googlesource.com/340589
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit d860552fc4cf6e387518b2e46b29a32d37979126
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Apr 13 10:19:12 2016 -0400

    Implement support for CHROMIUM_bind_uniform_location.
    
    BUG=angleproject:1353
    
    Change-Id: Ia219ff973de0de2f8e112c276b3ab6319f7d3884
    Reviewed-on: https://chromium-review.googlesource.com/334252
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 5ed23982b0ce180cf0d33d67b7b066fb9a1a0f2e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Apr 22 15:08:57 2016 -0400

    Fix allocation in ValidateOutputs.
    
    We should not be using the pool allocator for destructable objects.
    
    BUG=None
    
    Change-Id: I89236b28f04bd9b7095056edbda4172dbbfe9586
    Reviewed-on: https://chromium-review.googlesource.com/340362
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit d4f4c11b92cb03d121bda62fa75f605d8b190940
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Apr 15 15:11:24 2016 +0300

    Fix deferring global array initialization
    
    The initial implementation of DeferGlobalInitializers did not take
    HLSL corner cases into account. In particular, in case there was a
    const-qualified array variable with an initializer that contained
    elements that weren't constant folded, initialization would not be
    deferred and the global scope of HLSL output would contain a call to
    angle_construct_into_*().
    
    On the other hand, deferring global initializers was also done in
    cases where it wasn't necessary. Initializers of non-const qualified
    array variables that could be written as HLSL literals by HLSL output
    were unnecessarily deferred.
    
    This patch fixes both of these issues: Now all global initializers are
    potential candidates for deferral instead of just those where the
    symbol has the EvqGlobal qualifier, and initializers that are
    constructors taking only constant unions as parameters are not
    unnecessarily deferred.
    
    BUG=angleproject:1205
    BUG=541551
    TEST=angle_end2end_tests
    
    Change-Id: I4027059e0e5f39c8a5a48b5c97a3fceaac6b6f8a
    Reviewed-on: https://chromium-review.googlesource.com/339201
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 250062bc7fd3f4229332f2dd6381be6576120505
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Apr 25 12:33:44 2016 -0400

    Make sure D3DRS_TWOSIDEDSTENCILMODE is enabled if the stencil test is.
    
    This state-setting code was not ported when adding the dirty bits for D3D9
    depth stencil state in https://chromium-review.googlesource.com/#/c/316449.
    
    BUG=597107
    
    Change-Id: I0a1bdae18dd22c9b01f12a73267040157a866654
    Reviewed-on: https://chromium-review.googlesource.com/340436
    Tryjob-Request: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 82c47ad026302c17294f95cdee1f20c453700cac
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Apr 20 18:28:47 2016 +0300

    Pass ImplFactory to Texture constructor
    
    This improves encapsulation inside the Texture class, and removes
    duplication of createTexture calls. This is a necessary step towards
    adding a shared "Data" structure to the Texture classes, following a
    similar pattern as for example the Framebuffer class.
    
    This patch also shares the same MockFactory class among different
    unit tests.
    
    BUG=angleproject:596
    TEST=angle_unittests
    
    Change-Id: Ie8d3a9aa4ec35565d7ecbabb8c40e7b1ba068721
    Reviewed-on: https://chromium-review.googlesource.com/340200
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit e4857c7d39c1dff84e26fb0d8783fc2bcde1022d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Apr 21 14:13:53 2016 -0400

    Buffer11: Use adaptive threshold for releasing system memory.
    
    The hard-coded threshold of five uses before a release was regressing
    the Oort online benchmark, which seems to use an index buffer many
    times, then change to a different range of indices, which would need
    to check the system memory for index range validation.
    
    Also add a performance regression test, and an update to the perf
    runner script which checks for the most recent binary among the search
    directories.
    
    BUG=594066
    
    Change-Id: Id09cc32fd00bff1c72cbe9b6fb7c210fd047a551
    Reviewed-on: https://chromium-review.googlesource.com/339271
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit b97a3e774f1909ee99a7adc2ce40ddad026ebf00
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Apr 13 14:31:52 2016 +0300

    Clean up MipmapTest
    
    This refactoring is done to prepare for adding more mipmap tests for
    ES3 where base level / max level is changed from 0.
    
    1. Reuse drawQuad() from ANGLETest instead of having completely custom
    quad drawing code, and reuse the same clear+draw function for both 2D
    and cube map texture tests.
    
    2. Add a helper function for clearing texture level 0 with glClear.
    
    3. Remove a few redundant texture binding and useProgram calls.
    
    4. Rely on sampler uniforms being set to 0 by default and texture unit
    0 being active by default.
    
    5. Remove "Offscreen" from variable names.
    
    6. Split SetUp functions to helper functions.
    
    7. Reuse FillWithRGBA from TextureTest also in MipmapTest.
    
    BUG=angleproject:596
    TEST=angle_end2end_tests
    
    Change-Id: I9fd738f4b8b0a19c7aa1d267f7dbaa40a6935631
    Reviewed-on: https://chromium-review.googlesource.com/338791
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit b0a531059e96765819c6230c6e8eb22a304bd2d8
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Apr 1 11:43:54 2016 -0400

    Add a NativeWindowD3D abstract class to handle native window interactions.
    
    The previous NativeWindow class included D3D11 headers while being included in
    all D3D backds and had platform-dependent includes and members.  This
    turns it into an abstract class that only implements the minimal
    functionality for each renderer.
    
    BUG=angleproject:1345
    
    Change-Id: I8f20339dd6bba719e574a1dcb3ec859897c9228f
    Reviewed-on: https://chromium-review.googlesource.com/336780
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit ae2d0a0e865545fbc5f55bf2014d00bb8f4669c9
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Apr 15 15:04:14 2016 -0400

    Fix incorrect dirty bit state tracking on D3D9 AMD with color masks.
    
    When using the zero color mask workaround in StateManager9, the blend state and
    blend equation were being modified.  This caused inconsistant state if the
    workaround stopped being used in subsequent draw calls.  To deal with this
    issue, dirty the BLEND_ENABLED and BLEND_EQUATION states when the COLOR_MASK
    changes and dirty the COLOR_MASK state wheneither BLEND_ENABLED or
    BLEND_EQUATION changes.
    
    BUG=597107
    
    Change-Id: I03de934b419b7593e4863838720ced1e5773c092
    Reviewed-on: https://chromium-review.googlesource.com/339280
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tryjob-Request: Geoff Lang <geofflang@chromium.org>

commit 5858f7e3f2dff2e24e274450a91f8030bb1ca786
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Apr 8 13:08:46 2016 +0300

    Re-land "Refactor texture function handling in OutputHLSL"
    
    This change is pure refactoring, it does not introduce any functional
    changes.
    
    Separate texture function output into a helper class and further into
    different helper functions to make the code more maintainable.
    
    Some of the logic is simplified slightly by eliminating duplicate
    cases and limiting the scope of variables where possible, but care
    has been taken to preserve the exact same functionality as before.
    
    Re-land with a fix to typo in include guard.
    
    BUG=angleproject:1349
    TEST=dEQP-GLES3.functional.shaders.texture_functions.* (no regression)
         dEQP-GLES3.texture.* (no regression)
    
    Change-Id: I57c1ec1950fa05bd16275ca578eb5ee99b34a5ae
    Reviewed-on: https://chromium-review.googlesource.com/339180
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit c2ed9380ff49da529c501a5fcc58c771ee3eb5c4
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Apr 15 13:29:25 2016 +0000

    Revert "Refactor texture function handling in OutputHLSL"
    
    It triggered an include guard warning on Windows Clang
    
    This reverts commit 6f6c5580553d1f3c584df692823c2f5640e23d88.
    
    Change-Id: Ibd4f2851f311a494f16376d8eed38f3119594761
    Reviewed-on: https://chromium-review.googlesource.com/338933
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 6f6c5580553d1f3c584df692823c2f5640e23d88
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Apr 8 13:08:46 2016 +0300

    Refactor texture function handling in OutputHLSL
    
    This change is pure refactoring, it does not introduce any functional
    changes.
    
    Separate texture function output into a helper class and further into
    different helper functions to make the code more maintainable.
    
    Some of the logic is simplified slightly by eliminating duplicate
    cases and limiting the scope of variables where possible, but care
    has been taken to preserve the exact same functionality as before.
    
    BUG=angleproject:1349
    TEST=dEQP-GLES3.functional.shaders.texture_functions.* (no regression)
         dEQP-GLES3.texture.* (no regression)
    
    Change-Id: I5d81b842d693c0055890d5724eae6c105e454cd8
    Reviewed-on: https://chromium-review.googlesource.com/337931
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 6684007a77572f3616fc453138b0ef5f7d42d038
Author: Minmin Gong <mgong@microsoft.com>
Date:   Tue Mar 15 17:01:42 2016 -0700

    Takes principal component analysis to improve the endpoint in ETC transcode.
    
    Insteading of getting the BC1 endpoints from the max and min intensity, a PCA
    on pixels might give us better quality results, with limited costs.
    
    Change-Id: I7638d78c666c2580a6b0c267470bf4a0f7082e05
    Reviewed-on: https://chromium-review.googlesource.com/332871
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 3d932d839a93bc81a3ed7a971946164298ce2dd0
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Apr 12 11:10:30 2016 +0300

    Defer global initializers when necessary
    
    Move global variable initializers that are not constant expressions to
    a function that gets called at the start of main(). This is done
    with an AST transformation. This needs to be done because global
    variable initializers must be constant in native GL, but ANGLE is more
    lenient with what can be put into ESSL 1.00 global initializers to
    remain compatible with legacy WebGL content.
    
    Non-constant global variable initializers also caused issues in HLSL
    output, since in HLSL output some types of expressions get unfolded
    into multiple statements. These include short-circuiting operators and
    array initialization. To make sure that these cases are covered, any
    initializers that can't be constant folded are deferred, even if they
    have the const qualifier.
    
    The old deferring mechanism in OutputHLSL is removed in favor of this
    new AST transformation based approach.
    
    BUG=angleproject:819
    BUG=angleproject:1205
    BUG=angleproject:1350
    BUG=596616
    TEST=WebGL conformance test
         conformance/glsl/misc/global-variable-init.html
    
    Change-Id: I039cc05d6b8c284baeefbdf7f10062cae4bc5716
    Reviewed-on: https://chromium-review.googlesource.com/338291
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit b079c7af7221c59603fe6b5595e4ba041931a828
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Apr 1 12:32:52 2016 +0300

    Wrap integer textures with correct wrap mode in HLSL
    
    The wrap mode information for all three dimensions is packed to a
    single integer in order to conserve sampler metadata space. Only one
    int4 vector is used for the metadata for a single sampler.
    
    The sampler metadata is now packed into a struct instead of an array
    of integers in order to make the code more readable and maintainable.
    The internalFormatBits field is not removed in this patch. It's better
    to remove it in a separate patch, so restoring it is easier in case it
    will be used for optimizing some of the texture sampling functions.
    
    The wrap mode passed in sampler metadata is used to wrap the texture
    coordinates in the code generated to implement ESSL 3.00 integer
    texture sampling built-ins.
    
    Those dEQP-GLES3.functional.texture.units.* tests that sample from
    integer cube maps still fail on Intel D3D after this change,
    presumably due to driver issues.
    
    BUG=angleproject:1244
    BUG=angleproject:1095
    BUG=angleproject:1092
    TEST=dEQP-GLES3.functional.texture.units.* (all pass on NVIDIA),
         dEQP-GLES3.functional.shaders.texture_functions.* (no regressions)
    
    Change-Id: I4e31e5796086f9cc290c6f1f8c4380a768758d71
    Reviewed-on: https://chromium-review.googlesource.com/336638
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit f4863a455cdaf9ed4211069382786c66ad432d63
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Apr 12 11:37:23 2016 -0400

    Add a perf test for setting uniform data.
    
    BUG=angleproject:1353
    
    Change-Id: Iaae79bb85318583c12b9a939ea27a7f7f7f64faf
    Reviewed-on: https://chromium-review.googlesource.com/338441
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 81efa8ec6f4efc25bc728ffc03155cfe6e0776c2
Author: Brett Wilson <brettw@chromium.org>
Date:   Tue Apr 12 14:17:19 2016 -0700

    Disable pointer conversion warning in XNVCtrl
    
    This warning happens on some older versions of the X headers, such
    as those present on the current Chromium
    linux_chromium_chromeos_rel_ng bots. The default warnings in the GN
    build are slightly more strict than in GYP which is why we need to
    add some isolated warning disables.
    
    BUG=432959
    
    Change-Id: Id6218780195c59f160adae789305638d3463be9a
    Reviewed-on: https://chromium-review.googlesource.com/338424
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 71fb210092d50c7251cf99905a9b7ccd987fa8a2
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Thu Apr 7 20:30:50 2016 -0400

    Gyp support for Ozone.
    
    Introduce gyp flag 'use_ozone' to select Ozone code.
    Ozone is a display method used on Chrome OS which is based on
    gbm, drm/kms, and surfaceless egl.
    
    BUG=angleproject:1297
    
    Change-Id: Ic1f66121d23d26bac56b09e3e6aedefec5a131df
    Reviewed-on: https://chromium-review.googlesource.com/338442
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 9a9c0484da1ee1887117b508aa3fc5fb315c110c
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Apr 12 10:36:25 2016 -0400

    Lexer: Error out on invalid field start.
    
    When parsing something like x.} the following would happen:
     - Parsing "." the lexer would move to the FIELDS start condition
     - Parsing } the lexer wouldn't find any <FIELDS> rule matching
     - The parser would fall back to <*>. that was asserted unreachable.
    
    The fix is to add a <FIELDS>. rule to catch bad field starts
    
    BUG=angleproject:1352
    
    Change-Id: I262d2b9ef5f7346c19ae5e19a173e24f40f2f600
    Reviewed-on: https://chromium-review.googlesource.com/338222
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 50fcf744f898883424c374b753f86bff0b11d6ca
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Apr 11 13:57:32 2016 -0700

    Add a test for gl_VertexID
    
    BUG=angleproject:1217
    BUG=587781
    
    Change-Id: I2fd20c686863c1409228717606977a3c4e1cd7fa
    Reviewed-on: https://chromium-review.googlesource.com/338180
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 52b09c2f1f1d13b7acd7ce9d79763950408bef2c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Apr 11 14:12:31 2016 -0400

    Re-re-land "D3D11: Implement dirty bits for VertexArray11.""
    
    Translated attributes are now stored in the VertexArray11 in a cache,
    and only updated when dirty bits change. Currently dynamic attributes
    must be re-translated every call, so these are stored in a list and
    processed repeatedly.
    
    This skips doing a lot of the VertexDataManager work for vertex
    attributes that don't change between draw calls.
    
    Current value attributes, which correspond to disabled attributes that
    the program will pulls vertex data from, are owned by the Context, so
    these need to be handled outside of the VertexArray11.
    
    Further changes will be necessary to reduce the redundant work we do in
    the InputLayoutCache. We shouldn't need to re-check the cache if
    nothing relevant changed.
    
    This give about a 23% performance improvement on the draw call
    benchmark on my machine.
    
    Re-land with a fix for the start vertex offset.
    
    Re-re-land with a fix for using XFB with deleted buffers.
    
    BUG=angleproject:1327
    
    Change-Id: I0fba49515375c149bbf54d933f8d1f747fbb8158
    Reviewed-on: https://chromium-review.googlesource.com/338003
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 8c15c5740fb4ddc65b9ee3b18d3e9792eff7b626
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Apr 12 11:33:37 2016 +0300

    Revert "Gyp support for Ozone."
    
    This broke the Linux standalone build. Error message seen when running
    "gclient runhooks":
    
    "gyp: name 'use_ozone' is not defined while evaluating condition
    'OS=="linux" and use_ozone==0' in build/ANGLE.gyp while trying to load
    build/ANGLE.gyp"
    
    This reverts commit 35e65e921394713f89df8d9bfe243b4abb5e9bd7.
    
    Change-Id: Iee5f08195ee1c74ead99bb9d70d04928c9bae7af
    Reviewed-on: https://chromium-review.googlesource.com/338290
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 35e65e921394713f89df8d9bfe243b4abb5e9bd7
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Thu Apr 7 20:30:50 2016 -0400

    Gyp support for Ozone.
    
    Introduce gyp flag 'use_ozone' to select Ozone code.
    Ozone is a display method used on Chrome OS which is based on
    gbm, drm/kms, and surfaceless egl.
    
    BUG=angleproject:1297
    
    Change-Id: I5272651bd1af5806b6b42067d2d0f0abf0895af3
    Reviewed-on: https://chromium-review.googlesource.com/337781
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit b6d88e727c134bd2226e3552b6217aed2e8cdfb1
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Thu Apr 7 20:17:00 2016 -0400

    Gyp support for Chrome OS.
    
    Change comment to explain the 'chromeos' gyp flag.
    Make it possible to override pkg-config.
    
    BUG=angleproject:1297
    
    Change-Id: Ifc56cc4575d83ff893aaa0283c3aaa91df14fafd
    Reviewed-on: https://chromium-review.googlesource.com/337708
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit 4091119bc4913cdb22f720ee0b3f71db5c8a3ca8
Author: Philippe Hamel <hamelphi@google.com>
Date:   Thu Apr 7 16:45:50 2016 -0400

    Add workaround to always call useProgram after a successful link.
    
    This workaround is meant to reproduce the behavior of the
    use_current_program_after_successful_link workaround in
    Chromium (http://crbug.com/110263)
    
    The workaround was shown to be unnecessary for MacOSX 10.9 and
    higher (http://crrev.com/39eb535b).
    
    BUG=349137
    
    Change-Id: I3023f053aa1593ba7044a889dd47746b8f7e0581
    Reviewed-on: https://chromium-review.googlesource.com/337780
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 53a36004bf36a288d7f6e77c9087c093d5ad4678
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Apr 8 19:03:18 2016 +0000

    Revert "Re-land "D3D11: Implement dirty bits for VertexArray11."""
    
    Seems to make the following dEQP test flaky:
    dEQP-GLES3.functional.lifetime.attach.deleted_output.buffer_transform_feedback
    
    doesn't show up on every bot test, but run it a few times and it'll flake. Reverting while I investigate.
    
    BUG=angleproject:1327
    This reverts commit 3477f3a62dc139a253a0b361ee138116e9fa881f.
    
    Change-Id: Ic23a392526f5f6e107cf0aa06448389804d6b208
    Reviewed-on: https://chromium-review.googlesource.com/337961
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 76d17b274ce107f2f694c56548faa69c084e4d70
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Thu Apr 7 20:05:18 2016 -0400

    Deqp gyp use_x11 fixes.
    
    Remove the use_x11==1 condition from two things which have nothing to do
    with x11: defining _GNU_SOURCE and choosing deqp_libtester_sources_unix.
    This lets us build for Chrome OS where typically use_x11==0.
    
    BUG=angleproject:1297
    
    Change-Id: I9166f2a8119493aaab82af15e109d378fffb811a
    Reviewed-on: https://chromium-review.googlesource.com/337695
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit 4a48d9a3af32b62d888863a03e71ab4941bb7f96
Author: Ian Ewell <ewell@google.com>
Date:   Thu Mar 31 16:46:25 2016 -0400

    Initial implementation of ANGLE_stream_producer_d3d_texture_nv12.
    
    Add the validation and entrypoints for
    ANGLE_stream_producer_d3d_texture_nv12, which is a new EGL extension
    currently being written. The purpose of this extension is to allow
    insertion of D3D11 NV12 textures to be inserted into a stream. This acts
    as the producer of the EGL stream.
    
    BUG=angleproject:1332
    
    Change-Id: I50d4565cc82b63f7da7632adad4ac4c77d8800f2
    Reviewed-on: https://chromium-review.googlesource.com/336695
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Ian Ewell <ewell@google.com>

commit 06feb81cb628b81393471fc3430f2fc893226e74
Author: Jeremy Roman <jbroman@chromium.org>
Date:   Wed Apr 6 16:39:52 2016 -0400

    Make :angle_common depend on :commit_id.
    
    BUG=chromium:601195
    Change-Id: Ic90b8c8dbe07700e66c8fe973a3e620f439d2fbe
    Reviewed-on: https://chromium-review.googlesource.com/337335
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit ced87057f0f1dd8ba8853899d5650510ca6b6b07
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Apr 4 16:34:27 2016 +0300

    Fix integer texture sampling with explicit gradients
    
    The lod level should be selected according to the explicit gradients,
    and the gradients are relative to the normalized texture coordinates,
    so they need to be multiplied by the base level dimensions to get the
    correct gradients to use in the lod level formula.
    
    In the case of sampling integer cube maps, the derivatives of the
    texture coordinates on the cube map face need to be calculated based
    on the derivatives of the cube map direction vector components.
    
    Also includes fix for sampling integer cube maps with explicit LOD.
    
    BUG=angleproject:1092
    TEST=dEQP-GLES3.functional.shaders.texture_functions.*grad*
    
    Change-Id: Iadd358e713fa9695e755e98db8f368e8c512ac45
    Reviewed-on: https://chromium-review.googlesource.com/337100
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit a1c917f2a41dfd212710627c61fcf525a313b623
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Apr 6 13:50:03 2016 +0300

    Suppress samplers in structs test failures on Intel OpenGL
    
    Some of the tests made to verify D3D implementation of samplers in
    structs are failing on Intel's OpenGL drivers, so suppress the
    failures.
    
    Since the test was crashing in shader program setup, shader program
    setup needs to be moved out of the SetUp() function of the texture
    tests.
    
    BUG=600758
    TEST=angle_end2end_tests
    
    Change-Id: I1b6e788d900425e914572d2a3d7ef1fc43146f50
    Reviewed-on: https://chromium-review.googlesource.com/337500
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit d4102f0994bd8c30aa043999517b3c401623537d
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Jan 22 14:54:04 2016 +0200

    Refactor HLSL texture coordinate output to prepare for wrap modes
    
    Wrap modes for integer textures need to be implemented in shaders in
    HLSL. This requires more complex transformations on the texture
    coordinates, so store the texture coordinate code for each texture
    coordinate in a string variable.
    
    BUG=angleproject:1244
    TEST=dEQP-GLES3.functional.shaders.texture_functions.* (no regression),
         dEQP-GLES3.functional.texture.units.* (no regression)
    
    Change-Id: Iadd9617a7f906aa1d56dabfba6639f932152e6f1
    Reviewed-on: https://chromium-review.googlesource.com/336637
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 54f8746e277db28837c79596d7fb85178bda0cf5
Author: Ian Ewell <ewell@google.com>
Date:   Thu Mar 10 13:47:21 2016 -0500

    Add initial support for various stream extensions.
    
    Add entry points and validation for various egl stream extensions
    including EGL_KHR_stream_consumer_gltexture and
    EGL_NV_stream_consumer_gltexture_yuv and NV_EGL_stream_consumer_external.
    The extensions functionality is not yet implemented and the extension
    strings are thus not exposed yet.
    
    BUG=angleproject:1332
    Change-Id: I115d872557db38d8dd94cc367038668406719109
    Reviewed-on: https://chromium-review.googlesource.com/332026
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Ian Ewell <ewell@google.com>

commit ec2c0c5e106665311941aaf07025717ff9a5eea2
Author: Ian Ewell <ewell@google.com>
Date:   Tue Apr 5 13:46:26 2016 -0400

    Update internal AttributeMap type to EGLAttrib.
    
    Newer EGL functions use EGLAttrib to pass in attributes, which can be
    either 32-bit or 64-bit depending on the system while the old attributes
    are passed in as EGLints, which are usually 32-bits. To support these
    newer functions, AttributeMap now uses EGLAttrib internally instead of
    EGLint, and all the code using AttributeMap has been updated to cast
    properly.
    
    BUG=angleproject:1348
    
    Change-Id: I7c4dd9ef23ea1b1741f3a565502fb5e26bf962d7
    Reviewed-on: https://chromium-review.googlesource.com/337162
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Ian Ewell <ewell@google.com>

commit 4f66748d5d01987b55fdc3c7b9ce62296926579a
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Mar 30 15:56:35 2016 +0300

    Fix buffer mapping validation and refactor entry points
    
    Checks for extension support are added to GetBufferPointervOES,
    mapBufferOES, unmapBufferOES, mapBufferRangeEXT and
    flushMappedBufferRangeEXT.
    
    The GetBufferPointerv function now checks if state is queried from
    buffer object zero.
    
    The code is also refactored so that validation happens in separate
    validation functions and the implementations are in Context functions.
    
    BUG=angleproject:1101
    TEST=dEQP-GLES3.functional.negative_api.state.get_buffer_pointerv
         dEQP-GLES3.functional.*buffer*map* (no regression)
    
    Change-Id: I0f439abd12c92c51324f2e5a31bf621f61534306
    Reviewed-on: https://chromium-review.googlesource.com/336164
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 9696316d666b347e1ebcd43b7310f0e737fc101b
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Mar 21 11:54:33 2016 +0200

    Support ESSL structs containing samplers on D3D
    
    Since HLSL can't natively handle samplers in structs, samplers need to
    be extracted out of structs into separate variables in the translated
    shader code. In HLSL 4.1, samplers that were in structs go into the
    normal sampler arrays and are identified by index constants. In other
    HLSL versions, samplers that were in structs are translated as uniform
    variables.
    
    These transformations are done inside the HLSL output classes, not as
    tree transformations. This helps to keep the uniform API provided by
    the shader translator intact.
    
    Wherever a struct containing samplers is passed into a user-defined
    function, the translated HLSL code passes the separate sampler
    variables alongside a struct where the samplers have been removed.
    
    The D3D backend in libANGLE queries the uniform registers of any
    samplers that were in uniform structs, and adds them to the register
    maps, so that correct sampler state gets assigned to them.
    
    The extracted sampler variables are prefixed with "angle_" instead of
    the usual "_" to prevent any name conflicts between them and regular
    variables.
    
    BUG=angleproject:504
    TEST=angle_end2end_tests,
         dEQP-GLES*.functional.shaders.struct.uniform.* (all pass),
         dEQP-GLES*.functional.uniform_api.* (most now pass)
    
    Change-Id: Ib79cba2fa0ff8257a973d70dfd917a64f0ca1efb
    Reviewed-on: https://chromium-review.googlesource.com/333743
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit f0fee07ad067da50fdccf8586b730088e9939d42
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Mar 30 15:11:58 2016 +0300

    Fix ProgramParameteri validation
    
    dEQP tests suggest that passing a value other than GL_FALSE or GL_TRUE
    to ProgramParameteri generates INVALID_VALUE. The code is also
    refactored so that the implementation of ProgramParameteri is in the
    Context object.
    
    BUG=angleproject:1101
    TEST=dEQP-GLES3.functional.negative_api.shader.program_parameteri
    
    Change-Id: I432d19fb574e58a7e0059189ab5b1863de029cdc
    Reviewed-on: https://chromium-review.googlesource.com/336163
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 0c0d8006a9dd31552079b521a16db072526901db
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Fri Apr 1 18:21:06 2016 +0000

    Revert "Gyp build support for Chrome OS."
    
    http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_rel_ng/builds/189745
    
    ../../third_party/angle/src/libANGLE/renderer/gl/glx/DisplayGLX.cpp:87:27: error: assigning to 'Display *' (aka '_XDisplay *') from incompatible type 'EGLNativeDisplayType' (aka 'long')
        mXDisplay             = display->getNativeDisplayId();
                              ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ../../third_party/angle/src/libANGLE/renderer/gl/glx/DisplayGLX.cpp:93:19: error: comparison between pointer and integer ('Display *' (aka '_XDisplay *') and 'EGLNativeDisplayType' (aka 'long'))
        if (mXDisplay == EGL_DEFAULT_DISPLAY)
            ~~~~~~~~~ ^  ~~~~~~~~~~~~~~~~~~~
    
    TBR=kbr@chromium.org
    TBR=jmadill@chromium.org
    BUG=angleproject:1297
    
    This reverts commit b5aa26bda986d7f367ed4c33e50e931e9620abe9.
    
    Change-Id: Icf3bd84df4493e66e78f8351b1a3879893ae9d0e
    Reviewed-on: https://chromium-review.googlesource.com/336849
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 3477f3a62dc139a253a0b361ee138116e9fa881f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Mar 29 17:15:29 2016 -0400

    Re-land "D3D11: Implement dirty bits for VertexArray11.""
    
    Translated attributes are now stored in the VertexArray11 in a cache,
    and only updated when dirty bits change. Currently dynamic attributes
    must be re-translated every call, so these are stored in a list and
    processed repeatedly.
    
    This skips doing a lot of the VertexDataManager work for vertex
    attributes that don't change between draw calls.
    
    Current value attributes, which correspond to disabled attributes that
    the program will pulls vertex data from, are owned by the Context, so
    these need to be handled outside of the VertexArray11.
    
    Further changes will be necessary to reduce the redundant work we do in
    the InputLayoutCache. We shouldn't need to re-check the cache if
    nothing relevant changed.
    
    This give about a 23% performance improvement on the draw call
    benchmark on my machine.
    
    Re-land with a fix for the start vertex offset.
    
    BUG=angleproject:1327
    
    Change-Id: Ic23e48fb18ed7f29c1999914a2f799ac04aa03e9
    Reviewed-on: https://chromium-review.googlesource.com/334225
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 04c8cc2e5245c4dd0480a67cab6e55b0278fbfbb
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Mar 31 17:18:58 2016 -0400

    Mark mRenderer as unused in Stream11.
    
    BUG=angleproject:1332
    
    Change-Id: I122f1b079e6d507423719df4576d7460e058f4b2
    Reviewed-on: https://chromium-review.googlesource.com/336696
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 701b74b0cc54bfc9c569d858af9cbd3299ef8340
Author: Ian Ewell <ewell@google.com>
Date:   Wed Mar 2 15:26:39 2016 -0500

    Add support for EGL_KHR_stream.
    
    EGL_KHR_stream is now implemented. Since the extension does not come with
    any producers or consumers, it does not have much functionality and the
    implementation is therefore very simple (validation layers and a new
    object to store some attributes). This however add the groundwork to add
    the appropriate consumer and producer extensions to stream D3D NV12
    textures directly into ANGLE which will significantly improve video
    performance on Chromium on D3D-based platforms.
    
    BUG=angleproject:1332
    
    Change-Id: Ie240c73869f5098d1215cc5e27aa5decd06c3ed1
    Reviewed-on: https://chromium-review.googlesource.com/330003
    Commit-Queue: Ian Ewell <ewell@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit bb51c35c575122d209b63e6248008e0a23c4d85f
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Thu Mar 24 16:27:37 2016 -0400

    Insert slash when concatenating paths.
    
    BUG=angleproject:1343
    
    Change-Id: I04180135dcd3aac2d40dc3f6d32b1aad362c69d1
    Reviewed-on: https://chromium-review.googlesource.com/334920
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit b076adde143fc2e5248750aec034958b88d4ef99
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Jan 11 16:45:46 2016 -0500

    Implement gl_VertexID
    
    BUG=angleproject:1217
    
    Change-Id: Ibb9423d7de4966bce231734925a804b6340b5059
    Reviewed-on: https://chromium-review.googlesource.com/321420
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 37477918c1609dba3b60fd0db22f834bfb3816b1
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Mar 30 14:54:40 2016 +0300

    Fix samplerParameter validation
    
    Refactor the validation out from the API and into a separate Validate
    function. Also check the sampler parameter first to match dEQP
    expectations.
    
    BUG=angleproject:1101
    TEST=dEQP-GLES3.functional.negative_api.shader.sampler* (all pass)
    
    Change-Id: I5f4072d9e52d37f741bd4c90f1bffe13371af3f5
    Reviewed-on: https://chromium-review.googlesource.com/336162
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 9e3c615e041bbb3a140769d33ae615e2dc1c9a73
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Mar 29 21:58:33 2016 -0400

    Suppress end2end failures for the new Linux Intel bot.
    
    Since this is a new bot, we should make it green ASAP so we can catch
    any new regressions.
    
    BUG=angleproject:1346
    
    Change-Id: I2c1288b8115a9d7980d5a3f37753b35cbb837486
    Reviewed-on: https://chromium-review.googlesource.com/336050
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit da1233080f27b0c855a1ffc8f635aebc4d9c6af3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Mar 29 17:00:48 2016 -0400

    Add ANGLE_TRY macros to reduce boilerplate with gl/egl Errors.
    
    The macros don't need to disambiguate between GL/EGL. Also make
    helpers to deal with ErrorOrResult.
    
    BUG=angleproject:1310
    BUG=angleproject:1327
    
    Change-Id: I8041c4b17a859fe1f236bca3ad266453d67a8fd4
    Reviewed-on: https://chromium-review.googlesource.com/335826
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit e2fcf5c319ba9418403ab1569a5f3728bf628314
Author: Bruce Dawson <brucedawson@chromium.org>
Date:   Wed Mar 30 11:27:12 2016 -0700

    Fix C4434 warnings about 32-bit shift assigned to 64-bits
    
    VS 2015 has a new or louder warning about 32-bit shifts that are then
    assigned to a 64-bit target. This code triggers it:
    
    int64_t size = 1 << shift_amount;
    
    Because the '1' being shifted is a 32-bit int the result of the shift
    will be a 32-bit result, so assigning it to a 64-bit variable is just
    misleading.
    
    In other cases the destination is a size_t which means that the warning
    only shows up on 64-bit builds. However in this case the size_t was
    later cast to a 32-bit type, so the warnings can be suppressed by
    selecting more natural types and *deleting* some casts. The two warnings
    were:
    
    C4334: '<<': result of 32-bit shift implicitly converted to 64 bits
      third_party\angle\src\tests\gl_tests\framebufferrendermipmaptest.cpp(90)
      third_party\angle\src\tests\gl_tests\framebufferrendermipmaptest.cpp(156)
    
    BUG=593448
    
    Change-Id: Ice9f67096b155fbb5fa3247ad04ac41acffa36a5
    Reviewed-on: https://chromium-review.googlesource.com/336332
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 7d712e7d05418533fd90652ad089b3cacfcfca72
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Mar 29 21:54:33 2016 -0400

    Re-land "Clean up Buffer11."
    
    This cleans up some messy stuff from the emulated index buffers, which
    were caching variables that didn't need to be cached.
    
    Also add in missing error checks. This touches a lot of code.
    
    Re-land with a fix for clang-win build.
    
    BUG=angleproject:1327
    BUG=angleproject:1310
    
    Change-Id: I31ed81c7242782bef7c5f6cde2192552f7ff9403
    Reviewed-on: https://chromium-review.googlesource.com/336052
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit e34deaa3bec55d3e9ef92e74435d3eb12b770b02
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Mar 30 01:50:40 2016 +0000

    Revert "Clean up Buffer11."
    
    Fails Clang-win because of std::forward
    
    ..\..\third_party\angle\src\libANGLE/Error.h(60,40):  error: no matching function for call to 'forward'
    
    BUG=598944
    BUG=angleproject:1327
    BUG=angleproject:1310
    
    This reverts commit 041d678b4764484386f934df927f00a5df48a351.
    
    Change-Id: I9fb0685cd01090b1faf8417ffa3c9b49eeb4510e
    Reviewed-on: https://chromium-review.googlesource.com/336040
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 041d678b4764484386f934df927f00a5df48a351
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Mar 29 17:00:47 2016 -0400

    Clean up Buffer11.
    
    This cleans up some messy stuff from the emulated index buffers, which
    were caching variables that didn't need to be cached.
    
    Also add in missing error checks. This touches a lot of code.
    
    BUG=angleproject:1327
    BUG=angleproject:1310
    
    Change-Id: Icd722d57d9449388fbabc62c7ea37f0526a568ff
    Reviewed-on: https://chromium-review.googlesource.com/334731
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 7d52be028d06dfdb6bdddc1665b4184152d19d4e
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Thu Mar 24 14:40:58 2016 -0400

    Move -lrt where it belongs.
    
    Only deqp uses librt so the dependency belongs there, not in util.gyp,
    and the condition should be OS==linux, not use_x11.
    This lets things work on Chrome OS.
    
    BUG=angleproject:1297
    
    Change-Id: If397da5463b9c2d5217eb3b20841fa5a44bf56a3
    Reviewed-on: https://chromium-review.googlesource.com/334813
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit 7e2ba9eee3bfeb50d7447038a4b372456de63528
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Mar 29 15:22:01 2016 -0400

    Fix warning introduced in "Program::getUniformInternal: return only one array element"
    
    The warning does not seem to occur on the Chromium bots, but shows
    when compiling ANGLE standalone.
    
    BUG=595836
    
    Change-Id: I3c22bbea263223f9e92f82229817e9e9894a46ad
    Reviewed-on: https://chromium-review.googlesource.com/335576
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit c3e55a4354bd1c04cad5d33e34d20ba1e8d1b84c
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Mar 9 16:29:18 2016 +0200

    Validate program changes wrt transform feedback
    
    UseProgram can't be called while transform feedback is active and
    unpaused. Validate this by checking the presence of active transform
    feedback in UseProgram.
    
    LinkProgram or ProgramBinary can't be called while transform feedback
    associated with the program is active. Validate this by going through
    all of the existing transform feedback objects when one of these
    functions is called and checking whether they are associated with the
    program being changed. A program association is added to
    gl::TransformFeedback to facilitate this.
    
    BeginTransformFeedback can't be used to unpause a transform feedback
    object, so code for that is removed.
    
    The validation of the entry points touched in this patch is refactored
    to follow the current convention of separate Validate* functions,
    though with LinkProgram following this convention fully isn't
    practical.
    
    This patch also makes sure that ANGLE doesn't invoke behavior that the
    GL spec doesn't specify if a program object associated with a paused
    transform feedback is deleted.
    
    Tests are edited so that they don't call UseProgram when it generates
    an error.
    
    BUG=angleproject:1101
    TEST=dEQP-GLES3.functional.negative_api.shader.* (2 more tests pass),
         dEQP-GLES3.functional.transform_feedback.* (no regressions),
         angle_end2end_tests
    
    Change-Id: I2e5b3a027ced11249b762ec01a29fa41d2c0dd96
    Reviewed-on: https://chromium-review.googlesource.com/332141
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 6596c465a7817723f9093ece444892b2817a3221
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Mar 17 17:26:58 2016 -0400

    Program::getUniformInternal: return only one array element
    
    Reland with a compilation fix for GPU Builder, with a fix for
    UniformTest.BooleanArrayUniformStateQuery and better formatting.
    
    When getUniformInternal detected a mismatch between the glGetUniform
    type and the uniform type, it entered a code path where it wrongly wrote
    the whole array instead of a single element, causing a buffer overflow.
    
    Adds a regression test.
    
    BUG=595836
    
    Change-Id: Ie860b87ad56046483650f457457116cc22bf3c0f
    Reviewed-on: https://chromium-review.googlesource.com/334448
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit cc068e9385d2d3023793ffcd20471222f87e8a60
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Feb 29 16:37:04 2016 -0500

    Add DisplayGL::getDriverVersion and implementation on Linux NVIDIA
    
    Some GPU driver bug workarounds should be active only for specific
    driver version ranges. This adds NVIDIA Linux driver detection using
    the XNVCtrl X11 extension.
    
    BUG=590870
    
    Change-Id: I8cbf692a0c8a6da7473169f29d720bdc2d07663d
    Reviewed-on: https://chromium-review.googlesource.com/329637
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit bc4c4bc5f6659f3dc815b6b1d0c68ad8ab80eea2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Mar 23 21:04:43 2016 -0400

    Re-land "Validate that attrib offsets don't overflow buffers."
    
    During draw calls, we wouldn't add the current attrib offset to the
    required draw call size when checking attributes. This could lead to
    us producing warnings in the D3D11 runtime, and miss returning some
    errors.
    
    Re-land with a test data initialization fix, and with some extra
    tests merged from another CL.
    
    BUG=angleproject:1339
    
    Change-Id: Ifd549c3b1f6871417dc1693cb3ec534414e92cfd
    Reviewed-on: https://chromium-review.googlesource.com/333723
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 71dfb3693d5b337c9a56bc351c56f508c25273e2
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Mar 10 14:04:27 2016 +0200

    Add validation for DrawRangeElements end < start
    
    end < start must generate an INVALID_VALUE error. Before this patch
    INVALID_OPERATION was generated from the check which validated the
    actual index range against end and start in this case.
    
    BUG=angleproject:1101
    TEST=dEQP-GLES3.functional.negative_api.vertex_array.*
         (few more subtests pass)
    
    Change-Id: Ida9c5a8bc9dc416f1955e9012e5715c0848a0307
    Reviewed-on: https://chromium-review.googlesource.com/332143
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit b5aa26bda986d7f367ed4c33e50e931e9620abe9
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Sun Jan 24 12:43:37 2016 -0500

    Gyp build support for Chrome OS.
    
    Don't hard code "chromeos" to zero.
    Fix incorrect assumptions that X11 would always be used on linux.
    Introduce "angle_use_drm" as the Chrome OS alternative to "angle_use_x11."
    Define USE_OZONE for Chrome OS.
    Allow overriding pkg-config.
    
    BUG=angleproject:1297
    
    Change-Id: Ie85b5c37f39170e0d11f8fc1bb70c175db6ee334
    Reviewed-on: https://chromium-review.googlesource.com/323610
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit a3d333c27cdf86b212c76fc7c775357fb35e51e1
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Tue Mar 22 22:09:14 2016 -0400

    Don't enable/disable sRGB on GLES.
    
    glEnable/glDisable GL_FRAMEBUFFER_SRGB isn't meaningful on GLES.
    
    BUG=angleproject:1300
    
    Change-Id: I0afd697ed9770e2eb1cdcc851884b90de1a4583c
    Reviewed-on: https://chromium-review.googlesource.com/334490
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit 5051eee5768ffcdf4dd01924794399bb71270f17
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Mar 23 01:35:01 2016 +0000

    Revert "Program::getUniformInternal: return only one array element"
    
    It breaks compilation on GPU Builder
    
    This reverts commit 3ea54ba890f25fcce9213d8ab7c7f8a9fdf10cad.
    
    Change-Id: Ie18f876b1db353d75cbd5a612f0a433cfc552ef2
    Reviewed-on: https://chromium-review.googlesource.com/334405
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 3ea54ba890f25fcce9213d8ab7c7f8a9fdf10cad
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Mar 17 17:26:58 2016 -0400

    Program::getUniformInternal: return only one array element
    
    When getUniformInternal detected a mismatch between the glGetUniform
    type and the uniform type, it entered a code path where it wrongly wrote
    the whole array instead of a single element, causing a buffer overflow.
    
    Adds a regression test.
    
    BUG=595836
    
    Change-Id: Id7372faece276d28363a30bf3183497d97357c76
    Reviewed-on: https://chromium-review.googlesource.com/333771
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 1a4523f3d27e523fd0388c3e208cc3f80e0aa2d3
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Mar 18 15:33:55 2016 +0200

    Avoid copying of texture format info structures
    
    Use const pointers to the statically allocated structures instead of
    copying them in TextureStorage11. This avoids the cost of copying and
    saves a little bit of memory.
    
    BUG=angleproject:1244
    TEST=angle_end2end_tests
    
    Change-Id: Ib59fddd68ba9bc53e491d55683416c0661f26e0e
    Reviewed-on: https://chromium-review.googlesource.com/333930
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 90a96efc84b7f0c8eb915bab05be4fb5ee114d3f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jan 27 14:53:36 2016 -0500

    Allow BufferGL to function without being able to map buffers for read.
    
    Reading back buffer data is required for index range validation but
    without glMapBufferRange it is not possible to read back buffer data on
    OpenGL ES.  To work around this, keep a shadow copy of the buffer data
    when this function is not available.
    
    BUG=angleproject:1145
    
    Change-Id: I8e9b3b174574316d3af0022bd29c7d9c96d168c3
    Reviewed-on: https://chromium-review.googlesource.com/324092
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 356f5165aff42517d2df74e8eb50f1ec71d97b60
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Mar 18 14:19:41 2016 +0200

    Add a texture data fill helper function to tests
    
    Several tests need to initialize arrays of RGBA texture data. Add a
    helper function for this to reduce duplication and to make the code
    more readable.
    
    BUG=angleproject:596
    TEST=angle_end2end_tests
    
    Change-Id: Id4a35b34a8fad25c2dc263ad8635dd43355a4f17
    Reviewed-on: https://chromium-review.googlesource.com/333911
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 41997e764104dc25cd957400e0bb062be5ca3d61
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Mar 10 13:38:39 2016 +0200

    Improve validation of Gen/Delete calls
    
    Add checks for negative count to GenTransformFeedbacks and
    DeleteTransformFeedbacks, and check for active transform feedbacks in
    DeleteTransformFeedbacks.
    
    Unify validation and error messages of all other Gen/Delete calls.
    
    BUG=angleproject:1101
    TEST=dEQP-GLES3.functional.negative_api.* (two more tests pass)
    
    Change-Id: I128063fab3db27a25e282a10c916c53646d68b9c
    Reviewed-on: https://chromium-review.googlesource.com/332142
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit f26ada3b1778c8bc48ed0550e6d787ca9cbb469f
Author: Jacek Caban <cjacek@gmail.com>
Date:   Wed Mar 16 18:05:48 2016 +0100

    Minor mingw cross compilation fix.
    
    Change-Id: I380fa56e9f65e5982e77d2b0cd5af70777cc24be
    Reviewed-on: https://chromium-review.googlesource.com/332951
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 00f394ec669faa3a778180991204caa474eb1dd2
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Mar 16 12:09:11 2016 -0700

    Revert Dirty bits for VertexArray11
    
    This is a combination of two reverts:
    Revert "D3D11: Remove unused mRenderer from VertexArray11."
    Revert "D3D11: Implement dirty bits for VertexArray11."
    Reverting only the first commit would trigger warnings on the Windows
    clang bot.
    
    BUG=594509
    BUG=angleproject:1327
    
    This reverts commit fc4712b5ed270436f2993bfda9e916d4f92684a4.
    This reverts commit 7d8585b802b7eb741b380bd0d05769281d9507c9.
    
    Change-Id: I612dbba0816d6144f71ce815701c13a798585bc7
    Reviewed-on: https://chromium-review.googlesource.com/332989
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit a0fc18d9f7c921a1c62927b2548a29e1ff1807f0
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Feb 29 11:17:16 2016 +0200

    Fix D3D11 DXGI format info tables
    
    - Treat red/green views into depth/stencil formats as being red/green.
    
    - Sort all AddDXGIFormat calls in a similar way and remove duplicate
      AddDXGIFormat calls.
    
    - Add info on typeless formats.
    
    These changes are needed to make it possible to change integer texture
    DXGI formats. Native mipmap generation support will still be
    determined by querying the DXGI format info table with the texture
    storage format, so the TYPELESS formats will need entries there.
    
    The changes to format info used for depth/stencil formats will not
    affect existing uses of GetDXGIFormatInfo:
    
    - In Clear11.cpp, info is queried for rtvFormat and dsvFormat. Info
      for possible values of rtvFormat and dsvFormat is not changed.
    
    - In Renderer11::blitRenderbufferRect, info is queried for rtvFormat
      and dsvFormat.
    
    - In Renderer11::packPixels, GetDXGIFormaInfo is used to get a
      fast-copy function. The function only exists for conversion from
      BGRA to RGBA, so the changes do not affect this.
    
    - In Renderer11::getVertexComponentType, the component type is
      queried for vertex formats. The formats that might be queried here
      are SINT, SNORM, UINT, UNORM, or FLOAT formats with regular RGBA
      fields. Info is not changed for these.
    
    - In TextureStorage11_Cube::createSRV, the SRV or blitSRV format is
      queried for whether it has integer on unsigned integer channels.
      This will not be affected by the changes done to the format table.
    
    This change does not enable native mipmap generation for any new
    formats to avoid any possible regressions.
    
    BUG=angleproject:1244
    TEST=angle_end2end_tests,
         dEQP-GLES3.functional.texture.mipmap.* (no regressions),
         dEQP-GLES3.functional.fbo.* (no regressions)
    
    Change-Id: Ic5ed731ddf153ae97bce631b1634347f8d9ae75c
    Reviewed-on: https://chromium-review.googlesource.com/329690
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 022315de30fcdfa527e593c7f0017e1812fa96d0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sun Mar 13 08:18:03 2016 -0700

    D3D: Add perf test for dynamic buffer promotion.
    
    Drawing with a DYNAMIC usage array or element array buffer should
    eventually lead to internally switching to a static usage, if the app
    doesn't modify the data very often. This perf test simply renders a
    bunch of random indexed triangles where both buffers are specified as
    DYNAMIC. It should perform just as well as the static usage after a
    warm-up period.
    
    BUG=angleproject:1334
    
    Change-Id: Ibe432d2122feaefc82d3c11cdf227f93ada82eda
    Reviewed-on: https://chromium-review.googlesource.com/332578
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit acea5015fb82a486230e2c1e6f054d3047bde6ac
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Mar 14 17:34:00 2016 -0700

    Add dEQP-EGL test expectations.
    
    This will allow us to put these tests on the bots.
    
    BUG=angleproject:1340
    
    Change-Id: Ic91423414c06210a97f9fbeeda4b7a0796c490f7
    Reviewed-on: https://chromium-review.googlesource.com/332219
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 7b591905df1b35a2cb6d3d7ff085a0df37aa5a0d
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Feb 26 14:37:57 2016 +0200

    D3D11: Use blit SRV format for blits
    
    blitSRVFormat stores the format that is used with ANGLE's internal
    blit shaders. By default, it is the same as the normal SRV format.
    For integer textures with a red channel, the RTV format is used
    instead. This makes it possible to change the storage format and the
    SRV format for the integer textures without affecting the blit format.
    
    The blitSRVFormat is used when doing blits in Blit11::copyTexture().
    
    An exception is made for depth/stencil renderbuffer blit - in these cases
    it is okay to assume that the regular SRV format works for blitting.
    
    In the future the regular SRV format for integer textures will be changed
    to be different from their blit SRV format.
    
    TEST=angle_end2end_tests
         dEQP-GLES3.functional.fbo.blit.* (no regression)
         dEQP-GLES3.functional.texture.swizzle.* (no regression)
    BUG=angleproject:1244
    
    Change-Id: Ie0e790e58ec054b64ef5983a09dbfc7754f269ca
    Reviewed-on: https://chromium-review.googlesource.com/327104
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 84c9f593ecd14ee16acd8eed7b447854aed9fb0a
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Mar 9 14:37:25 2016 +0200

    Fix framebuffer attachment enum validation
    
    In GLES 3.0, GL_COLOR_ATTACHMENTi enums run all the way up to i=31,
    and don't stop at i=15 which the validation was previously checking
    against. It's acceptable to use this new enum range also for
    EXT_draw_buffers, since an error will still be generated if an enum
    is outside the range of maximum supported attachments.
    
    Also, generate INVALID_ENUM when dEQP tests expect it to be generated
    for color attachment number that's outside the supported range. This
    is not in line with the published 3.0 spec, but that's just an
    oversight in the spec document.
    
    Also fix incorrect INVALID_VALUE error in the validation of
    renderbufferStorageMultisample to INVALID_OPERATION.
    
    BUG=angleproject:1101
    TEST=dEQP-GLES3.functional.negative_api.buffer.* (all pass)
    
    Change-Id: Ib8cf92651d29ef8fe8da0ce4bfa456cbc4d48850
    Reviewed-on: https://chromium-review.googlesource.com/332140
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit c979aabf7e9f85daeea02f94c97f614d3d903d93
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Mar 12 00:26:44 2016 +0000

    Revert "Validate that attrib offsets don't overflow buffers."
    
    Seems to fail the Windows 8 bots in FL9_3 for some reason.
    
    https://build.chromium.org/p/chromium.gpu.fyi/builders/Win8%20Release%20%28NVIDIA%29/builds/20703
    
    VertexAttributeTest.ShortNormalized_ES2_D3D11_9_3
    VertexAttributeTest.ShortUnnormalized_ES2_D3D11_9_3
    
    BUG=angleproject:1339
    This reverts commit fb57c04c781df708a432f0e90acf2e431b7983bb.
    
    Change-Id: I4c678ff6b337e9a3e0a1fc809f96f6b89407ea33
    Reviewed-on: https://chromium-review.googlesource.com/332442
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit fb57c04c781df708a432f0e90acf2e431b7983bb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Mar 10 11:35:17 2016 -0500

    Validate that attrib offsets don't overflow buffers.
    
    During draw calls, we wouldn't add the current attrib offset to the
    required draw call size when checking attributes. This could lead to
    us producing warnings in the D3D11 runtime, and miss returning some
    errors.
    
    BUG=angleproject:1339
    
    Change-Id: I03555be396df46f83d96dfb34fbcb145169625e8
    Reviewed-on: https://chromium-review.googlesource.com/331807
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit fc4712b5ed270436f2993bfda9e916d4f92684a4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Mar 10 11:31:25 2016 -0500

    D3D11: Remove unused mRenderer from VertexArray11.
    
    This was uncovered by the Clang-win bot, which uses a different set of
    warnings from MSVS.
    
    BUG=angleproject:1327
    
    Change-Id: Id298fee2df92752b77bf6e2b93307fa5311cf1fc
    Reviewed-on: https://chromium-review.googlesource.com/332035
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 19d1dc998ada24c7cfbc3d1435016d85b06bce66
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Mar 8 17:18:46 2016 +0200

    Add option to limit the number of function parameters
    
    Trying to compile user-defined functions that have thousands of
    parameters introduces some instability in native compilers, so it is
    better to reject shaders with large numbers of function parameters
    in ANGLE.
    
    The check is only enabled if the SH_LIMIT_EXPRESSION_COMPLEXITY flag
    is turned on. The default limit for the number of parameters is 1024,
    but it can also be configured.
    
    BUG=angleproject:1338
    TEST=angle_unittests
    
    Change-Id: I5c9b7a4e97e67f36e77f969368336fa8fffba1c3
    Reviewed-on: https://chromium-review.googlesource.com/331970
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit bd382711c33bf4e419f0ad011feaff603907d2ae
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Mar 9 10:38:26 2016 -0500

    dEQP GLES3 expectations: better suppression for flaky Linux trybot
    
    BUG=angleproject:1323
    
    Change-Id: I6d559db0e72e8efc37b447d15244465835a6f310
    Reviewed-on: https://chromium-review.googlesource.com/331398
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 3be43be0bbb1b8f32f7e6c42d06f5b0a1f1ee467
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Mar 9 20:05:08 2016 -0500

    Fix crash in IndexDataManagerPerfTest.
    
    Using a mock BufferFactory would sometimes leave us with a nullptr in
    the VertexBufferInterface class. This would lead to a null deref in
    the perf tests only. Fix this by adding a null check.
    
    BUG=593541
    
    Change-Id: I98685a9990124f521cd26ed81a26aeb11aafaf0d
    Reviewed-on: https://chromium-review.googlesource.com/331768
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 4e25a0d6cf2e5facdce4f90cb28b024bade1b55f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Mar 8 13:53:03 2016 -0500

    Use std::unordered_map in ResourceManager.
    
    The hashed query performs significantly faster than std::map.
    This improves performance in applications which use Bind* often.
    
    Also use the same scheme for the Context-managed resources.
    
    BUG=angleproject:1333
    
    Change-Id: I8a1f25d80e060c62dab1f86005e1bc4df1c06dba
    Reviewed-on: https://chromium-review.googlesource.com/331387
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 0e49e6b5f00ed93e72a3b66ab8e8b510b2581a42
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Mar 8 13:53:04 2016 -0500

    D3D: Fix static promotion of dynamic index data.
    
    The static promotion somehow slipped into the direct usage check,
    meaning we would never promote dynamic index data to static, even
    if unchanged for many frames. Fix this by putting the update back
    in the correct place.
    
    BUG=angleproject:1334
    
    Change-Id: I90897fcd2f6a2b231ccef9f1fa044d276b238b56
    Reviewed-on: https://chromium-review.googlesource.com/331388
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 3f01e6c2531c1ff5518aeb676b617bdc1452a81f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Mar 8 13:53:02 2016 -0500

    Return pointers from check*Allocation.
    
    This avoids the need to consult the resource maps twice per bind.
    It improves performance in applications which call Bind* often.
    
    BUG=angleproject:1333
    
    Change-Id: I7b733cc89e50e24a2e38a2eb2dc7fd658d612e27
    Reviewed-on: https://chromium-review.googlesource.com/331386
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 7d8585b802b7eb741b380bd0d05769281d9507c9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Mar 9 15:53:12 2016 -0500

    D3D11: Implement dirty bits for VertexArray11.
    
    Translated attributes are now stored in the VertexArray11 in a cache,
    and only updated when dirty bits change. Currently dynamic attributes
    must be re-translated every call, so these are stored in a list and
    processed repeatedly.
    
    This skips doing a lot of the VertexDataManager work for vertex
    attributes that don't change between draw calls.
    
    Current value attributes, which correspond to disabled attributes that
    the program will pulls vertex data from, are owned by the Context, so
    these need to be handled outside of the VertexArray11.
    
    Further changes will be necessary to reduce the redundant work we do in
    the InputLayoutCache. We shouldn't need to re-check the cache if
    nothing relevant changed.
    
    This give about a 23% performance improvement on the draw call
    benchmark on my machine.
    
    BUG=angleproject:1327
    
    Change-Id: I7fb944d32ea7e6c78b9e478406bdb7e10a7fc05b
    Reviewed-on: https://chromium-review.googlesource.com/330173
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit aa57aa4c907fc2160adbc88b0101bc67a0b8f3c2
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Wed Jan 27 00:02:13 2016 -0500

    Correct GLES depth 32 format.
    
    GL_OES_depth32 is required for DEPTH_COMPONENT32_OES render buffers.
    This stops Mesa from complaining when using GLES in the back end.
    
    BUG=angleproject:1301
    
    Change-Id: I8c6ce6a5ce0cb5bf26157e3bb414f391a41d15c4
    Reviewed-on: https://chromium-review.googlesource.com/331359
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit b5abec33708fe1edf13d335c847b98318cd0bb13
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Mar 8 11:21:20 2016 -0500

    D3D11: Remove unused field in InputLayoutCache.
    
    The mCounter field became exposed as unused after it was initialied in
    the constructor initializer list. Previously this was hidden because
    it was initialized in the body of the constructor.
    
    BUG=angleproject:1327
    
    Change-Id: I18d9aa8a377d234f4c161ace845edfb9fc7f226c
    Reviewed-on: https://chromium-review.googlesource.com/331385
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 7828c5217f66a404d2dea23b7ec04d8a8e37d827
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Feb 26 14:05:12 2016 +0200

    D3D11: Check packPixels memcpy support based on ANGLEFormat
    
    Instead of querying DXGI format info to determine whether framebuffer
    data can be copied to packPixels target memory with memcpy, compare
    the internal format information from the ANGLE format to the packing
    format. This makes it possible to change some of the DXGI formats
    used for integer textures without breaking packPixels.
    
    This makes it possible to entirely remove the DXGI format to GL
    internal format mapping from the DXGI format info table.
    
    BUG=angleproject:1244
    TEST=angle_end2end_tests,
         dEQP-GLES3.functional.fbo.* (no regressions),
         dEQP-GLES3.functional.pbo.* (no regressions),
    
    Change-Id: Id5ffd581349e7afe39872d69cb05381f3e78d352
    Reviewed-on: https://chromium-review.googlesource.com/329214
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 67946766c1ac6af5c48cb7619898c92d8f08449b
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Mar 8 15:43:55 2016 +0200

    Improve info log length checks
    
    Extend the info log length checks to shader_utils used by tests, and
    treat info log with length 1 as empty, since it can only include the
    null terminator. At least the Intel GL driver may generate "\0" as
    info log in some situations, for example when compiling a user-defined
    function with 50000 parameters.
    
    BUG=angleproject:1323
    
    Change-Id: I00f2965539ec235cb949c80c2a9e1d063d32fa15
    Reviewed-on: https://chromium-review.googlesource.com/331461
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 9a7e8cabae04a05bb0a694d663eaa300a16a2d73
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Wed Jan 27 00:02:13 2016 -0500

    Disallow GLES BGRA render buffers.
    
    This stops Mesa from complaining when using GLES in the back end.
    
    BUG=angleproject:1301
    
    Change-Id: I0b8cb78efea97c1ea0d21cd6b9f656e53b9b6cc2
    Reviewed-on: https://chromium-review.googlesource.com/331395
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>

commit 114d129d0f06d22069f06ba5552cdd6a2ba2933c
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Feb 26 12:33:00 2016 +0200

    D3D11: Get color read function from ANGLE format
    
    This is done to make it possible to change some of the DXGI formats
    of integer textures without affecting their color read function
    associations.
    
    The packPixels function gets the ANGLE format from the texture helper,
    which now requires the ANGLE format to be passed in at the time of
    creation.
    
    BUG=angleproject:1244
    TEST=angle_end2end_tests,
         dEQP-GLES3.functional.fbo.* (no regressions),
         dEQP-GLES3.functional.pbo.* (all pass)
    
    Change-Id: I368337cfe5f8c86ff3292009ccf29e9d01409a07
    Reviewed-on: https://chromium-review.googlesource.com/329213
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 3b3657be318e3abd06a403e23c57b4c1fa1f727a
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Mar 7 18:37:22 2016 -0500

    FBConfigCompatibility.md: fix rendering with gittiles
    
    BUG=
    
    Change-Id: I17d691b1e0ebdc766e2d3cb8363ce1c2b1ba26cf
    Reviewed-on: https://chromium-review.googlesource.com/331362
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit be59c2fb70591b4df0fea23d630bed1f494d8914
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Mar 7 11:32:34 2016 +0200

    Fix ambiguous function call issues in HLSL output
    
    D3D compiler can't resolve between these overloaded functions:
    
    float4 vec4(float2x2 x0);
    float4 vec4(float4 x0);
    
    Include the parameter types in the function name to disambiguate
    between overloaded user-defined functions and constructors, like this:
    
    float4 vec4_float2x2(float2x2 x0);
    float4 vec4_float4(float4 x0);
    
    This is only done for float2x2 and float4 parameters, other parameter
    types like float2x3 vs. float3x2 don't need this.
    
    BUG=angleproject:1099
    BUG=angleproject:1030
    TEST=angle_end2end_tests,
         dEQP-GLES3.functional.attribute_location.* (10 more tests pass),
         dEQP-GLES2.functional.attribute_location.*
    
    Change-Id: Ief047d41b0adbc238393c3c13cb29771cbb83d58
    Reviewed-on: https://chromium-review.googlesource.com/329882
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 2b3cc8151ddb1e5f2a7ff71aade6ecb45c889cc0
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Mar 4 13:57:51 2016 +0200

    Fix state query for DEPTH_STENCIL attachment properties
    
    Add missing negation to validate the existence of a DEPTH_STENCIL
    attachment correctly.
    
    BUG=angleproject:1101
    TEST=dEQP-GLES3.functional.state_query.fbo.framebuffer_attachment_x_size_rbo,
         dEQP-GLES3.functional.negative_api.state.get_framebuffer_attachment_parameteriv
    
    Change-Id: I278875684fdff562d16faba9a7eca0aa83bf80e9
    Reviewed-on: https://chromium-review.googlesource.com/329867
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit f945dc8fbf54c9dcd1a8790b2c3ebf0ef73ca180
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Mar 7 16:22:11 2016 -0500

    Skip the dEQP GLES3 functional.ubo tests on Linux.
    
    We previously marked them as failing but they are causing a crash so we
    skip them until they are fixed.
    
    BUG=angleproject:1323
    
    Change-Id: I717e402d56ea88ef93da50d10803d0a62aa58fdf
    Reviewed-on: https://chromium-review.googlesource.com/331281
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 8047c0d24041ee770df4f9527b473960375f91b0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Mar 7 13:02:12 2016 -0500

    D3D11: Clean up InputLayoutCache.
    
    This change does a couple things. First, it uses the 'active attribs'
    mask in the gl::Program to sort the translated attributes, instead of
    checking the translated attribute themselves. This means we don't have
    to consult the 'active' field of the translated attributes, which in
    turns means we don't have to update the active field in the attributes,
    which breaks the dependency of the attributes on the gl::Program.
    
    Second, use a dynamically sized array for storing the cached vertex
    attributes in the InputLayoutCache. This is nice because it means
    we don't have to store the size of the array separately.
    
    Also some other refactoring cleanups. Refactoring change only.
    
    BUG=angleproject:1327
    
    Change-Id: Iab22de92840b30674b92eca72e450673ed9f6d6d
    Reviewed-on: https://chromium-review.googlesource.com/330172
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit e9e1534917a801e9ded601a30bf0362ca707118d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Mar 4 15:16:42 2016 -0500

    D3D11: Remove RTV and DSV cache vars from Renderer11.
    
    These were only referenced by the StateManager11. Instead of using
    these cache variables, ensure the StateManager11 marks the RT as
    dirty and apply the RenderTarget state.
    
    Also remove the RenderTarget setters from Renderer11, and don't
    unapply RTs after a one-time set operation. The StateManager11
    should take care of updating the necessary changes itself.
    
    BUG=angleproject:1321
    
    Change-Id: Idc8d22ea9e92ac8d07392ab10d067df6084403bb
    Reviewed-on: https://chromium-review.googlesource.com/330462
    Reviewed-by: John Bauman <jbauman@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 4b66f055b0e249dc6f8720a8e8c5b06d69fd355d
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Feb 25 16:53:38 2016 +0200

    Make copyDepthStencil more robust to texture format table changes
    
    This will make it easier to verify changes to integer texture DXGI
    formats. Currently the DXGI format info table contains some values
    that wouldn't make sense after the integer formats are changed, such
    as R32_TYPELESS being recorded as a depth format, and we need to make
    sure no code relies on this kind of information to make changing the
    table safe.
    
    Includes cleaning up unused depth/stencil offset fields from
    DXGIFormatInfo.
    
    BUG=angleproject:1244
    TEST=dEQP-GLES3.functional.fbo.blit.*depth*
    
    Change-Id: I0149f28e4c6f961af99ac2f5a656f3fbfe13aee6
    Reviewed-on: https://chromium-review.googlesource.com/328964
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 86821db31a6b041e774ac43619bf51576468f044
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Mar 4 12:05:47 2016 +0200

    Add support for READ_BUFFER and SAMPLER_BINDING queries
    
    BUG=angleproject:1101
    TEST=dEQP-GLES3.functional.state_query.integers.* (all pass)
    
    Change-Id: I3a70335eeaef39822700ff639443a59849ed53fa
    Reviewed-on: https://chromium-review.googlesource.com/329866
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 586bc55cafa31ca6cfb19e7e50526d32d4d58396
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Mar 4 11:46:03 2016 +0200

    Return the correct count from getAttachedShaders
    
    The count should be the total amount of shader ids written. Before
    this patch the code used to write the amount of attached shaders
    to count regardless of the value of maxCount.
    
    BUG=angleproject:1101
    TEST=dEQP-GLES3.functional.state_query.shader.*
    
    Change-Id: I5ae729748c7809f03fd496c927a76f60398d2b42
    Reviewed-on: https://chromium-review.googlesource.com/329865
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit e18eb970f23ba5e8d06def088bbd5f312ceb0351
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Mar 4 15:46:59 2016 -0500

    D3D: Refactor VertexDataManager attribute storage.
    
    Instead of splitting attributes into 'active enabled' and 'active
    disabled', split them into static/dynamic/direct/current value, and
    handle each group invidually. This also will allow the dirty bits
    code to call in to the VertexDataManager separately for each type
    of necessary vertex data translation, and skip it entirely for
    direct buffer storage.
    
    Should be a refactoring patch only.
    
    BUG=angleproject:1327
    
    Change-Id: I53cb5672054d99ae68e9aa2e5a3c046a002e360d
    Reviewed-on: https://chromium-review.googlesource.com/330171
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit e36b92d4e054e7deab60634254d4614a4d97ca03
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Mar 4 15:46:58 2016 -0500

    D3D: Use a single D3D buffer per static vertex attribute.
    
    The current caching logic stores multiple static attributes in a single
    buffer if the attributes share a D3D buffer - sometimes.
    If a buffer is 'committed' (has been used in a draw) then we would
    make a new D3D buffer for the next set of static attributes.
    
    Instead use a simpler scheme of a single D3D buffer for each
    static attribute. Also change rx::VertexBuffer to a reference
    counted class. This simplifies the caching logic for static vertex
    buffers (translated attributes) considerably. We only need to
    release the buffers when the ref count is zero, and ensure we
    track the ref count correctly when bound to D3D.
    
    This leads the way towards using a simpler dirty bit scheme for
    intelligent state updates, and less overhead doing work with
    buffer state updates.
    
    BUG=angleproject:1327
    
    Change-Id: I99461d50b9663024eaa654cd56b42a63f1416d08
    Reviewed-on: https://chromium-review.googlesource.com/330170
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit c52a40268aa9c18ac46752c2296aeffc7fd07cf8
Author: Ian Ewell <ewell@google.com>
Date:   Fri Mar 4 13:12:43 2016 -0500

    Update eglext.h to latest.
    
    The new header contains EGL_NV_stream_consumer_gltexture_yuv, which will
    be implemented in the future for video rendering purposes.
    
    BUG=angleproject:1332
    Change-Id: Ia35ee7360b8f09703ad2800c641c67f0f243e927
    Reviewed-on: https://chromium-review.googlesource.com/330278
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Ian Ewell <ewell@google.com>

commit 01ad644500a913db1ab876560078f40aabc42b4e
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Mar 3 13:53:45 2016 -0500

    Program/ShaderGL: handle empty info logs
    
    The GL driver can sometimes have an empty info log and return an info
    log length of 0. This would cause a vector to be initialized with a
    length of 0 just before it's .data() pointer was used, causing a
    segfault.
    
    BUG=angleproject:1323
    
    Change-Id: Iaf9b569ec64a90c714a213562e427fb7cc8daa6b
    Reviewed-on: https://chromium-review.googlesource.com/330197
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 9cb1df4f4b34e53e5f37d6c99857a6fb8c8f360d
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Feb 25 16:16:41 2016 +0200

    D3D11: Get mip generation function from ANGLE format
    
    This is done to make it possible to change some of the DXGI formats
    of integer textures without affecting their mip generation function
    associations.
    
    BUG=angleproject:1244
    TEST=angle_end2end_tests,
         dEQP-GLES3.functional.texture.mipmap.*generate* (all pass)
    
    Change-Id: Ie83dd0e1883e9d8e267fbd4bf54b1e466fb0b210
    Reviewed-on: https://chromium-review.googlesource.com/328963
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 99cdca03325d097c1c6488034b9dcca968aad3e5
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Feb 24 14:45:06 2016 +0200

    Remove getDXGIFormat() function from RenderTarget11
    
    This query would return either the RTV format, the DSV format or the
    texture format depending on the render target. This made the code hard
    to understand.
    
    getDXGIFormat() calls are replaced by querying the ANGLE format, and
    explicitly choosing which associated DXGI format to query info for
    (RTV format or DSV format).
    
    This refactoring makes changing some format associations for integer
    texture formats easier in the future.
    
    BUG=angleproject:1244
    TEST=angle_end2end_tests,
         dEQP-GLES3.functional.fbo.blit.* (no regressions)
    
    Change-Id: Ibe3c03fc6b7768af1a131d4df3909a1e20a71228
    Reviewed-on: https://chromium-review.googlesource.com/329102
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit f706901e1c9ac82cc715ea2b04c46407ce918890
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Feb 24 15:14:01 2016 +0200

    D3D11: Associate ANGLE formats with GL internal formats
    
    Add a corresponding GL internal format to ANGLE format set. This is
    one step on the way to removing the problematic DXGI format to GL
    format mapping. This will also make it possible to stop storing the
    DXGIFormat field in RenderTarget11. The DXGIFormat field in
    RenderTarget11 can currently carry either the DSV format, the RTV
    format or the texture storage format of the resource it is managing,
    which makes code using it hard to understand.
    
    Also fills in missing componentType for some compressed ANGLE formats
    in texture_format_data.json.
    
    BUG=angleproject:1244
    TEST=angle_end2end_tests
    
    Change-Id: I87eedca8736aeface3fa6a0ec3c9d355cf006b24
    Reviewed-on: https://chromium-review.googlesource.com/328961
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 6ad072360fe1e5ee1fcd0884c6bced1004469c02
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Mar 3 17:15:49 2016 +0200

    Fix texture and sampler state queries
    
    Round MAX_LOD / MIN_LOD values correctly according to section 6.1.2
    of GLES 3.0.4, and add code for COMPARE_MODE and COMPARE_FUNC.
    
    BUG=angleproject:1101
    TEST=dEQP-GLES3.functional.state_query.texture.* (all pass),
         dEQP-GLES3.functional.state_query.sampler.* (all pass)
    
    Change-Id: I6043c308c23997513d5de70510a0267419dd1868
    Reviewed-on: https://chromium-review.googlesource.com/330112
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit b18530960724061503ad48b372daadb7c33e5c04
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Feb 24 16:07:39 2016 +0200

    D3D11: Don't use DXGI to GL format map in copy functions
    
    The swizzle or copy shader needs to be chosen according to the
    component type of the source SRV. Before this patch, the component
    type was obtained by going through the mapping from the SRV DXGI
    formats to GL formats.
    
    This mapping is problematic, because it has entries that don't really
    make sense, like R16_UNORM and R16_TYPELESS formats being mapped to
    GL_DEPTH_COMPONENT16. This is an issue particularly because these
    formats will be used for integer RED textures in the future. For
    this reason the mapping should be removed.
    
    In the case addressed by this specific commit, rather than look up the
    component type of the SRV indirectly through the GL format table using
    the GL internal format that corresponds to the DXGI format, just use
    the component type of the DXGI format. The depth+stencil swizzle cases
    where the component type is not well defined are handled as a special
    case.
    
    BUG=angleproject:1244
    TEST=angle_end2end_tests,
         dEQP-GLES3.functional.texture.swizzle.* (all pass),
         dEQP-GLES3.functional.fbo.blit.* (no regressions)
    
    Change-Id: I39fb8a14921b89d299e0077b3bea8b4e66ef218d
    Reviewed-on: https://chromium-review.googlesource.com/329103
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 713e4db734806e7771372402895253b1f0ff524c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Mar 2 16:35:33 2016 -0500

    D3D11: Fix RGBA32_UNORM integer vertex attribs.
    
    This formats were mistakenly listed as having no conversion necessary
    in the vertex formats table. Fix is to mark them as CPU-converted.
    
    This bug would only occur for 'direct' storage attributes, not those
    that were dynamically streamed.
    
    BUG=angleproject:1331
    
    Change-Id: Ifa51b47d75e2f5bc762a718587470950cf195cb4
    Reviewed-on: https://chromium-review.googlesource.com/329999
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit bdec2f4e7dab809beaf4b10f46babd1167c476d3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Mar 2 16:35:32 2016 -0500

    D3D11: Fix overlapping vertex shader signatures.
    
    For the case of drawing with un-normalized integer vertex attributes,
    we need to do some dynamic conversion in the VS. However, each
    attribute can either be signed or unsigned, and our shader signature
    code would treat both as a match, giving rise to a warning in the
    D3D11 Debug runtime. It's unclear if this would give incorrect
    results, but it certainly should not produce a warning.
    
    BUG=angleproject:1329
    
    Change-Id: I302d11b44e8a0ef981e89c181aefac5451a899b7
    Reviewed-on: https://chromium-review.googlesource.com/329998
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit d8fa921572e43b5c46b28d99a3944a728e332f01
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Mar 2 11:51:43 2016 -0500

    D3D: Refactor VertexBuffer::getSpaceRequired.
    
    By making this a virtual call to BufferFactoryD3D (aka RendererD3D),
    we can also stop having side-effects in the BufferD3D class of
    creating a static buffer storage when we only want to know the space
    required for some vertex elements.
    
    This refactoring will aid implementation of VertexArray11 dirty bits.
    
    BUG=angleproject:1327
    
    Change-Id: I0e34c6e9f5da35edebc179d578ad9392dc0166db
    Reviewed-on: https://chromium-review.googlesource.com/329741
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit 7ec6549d2e6ce8879ddadff0eca67d552e68f70b
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Mar 2 16:57:32 2016 +0200

    Use static_cast instead of reinterpret_cast for nullptr
    
    reinterpret_cast should not be used to cast nullptr_t. This should fix
    clang and also stops IntelliSense from complaining.
    
    TEST=build on Windows
    
    Change-Id: I4ba342172e36941f6a234fa4ed1369010527a790
    Reviewed-on: https://chromium-review.googlesource.com/329901
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit dbfc6c630c72a65edb4e494de8a964cef1917ce0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Feb 29 01:08:57 2016 -0500

    D3D: Make directStoragePossible a local static method.
    
    This method doesn't need to call through to the VertexBuffer class,
    since in only really depends on vertex format caps. This makes the
    code local to the VertexDataManager, the only place it is used.
    
    Refactoring patch only, for VertexArray11 dirty bits.
    
    BUG=angleproject:1327
    
    Change-Id: I315313a72a00186930d7f9b1091ccb91f37f9f96
    Reviewed-on: https://chromium-review.googlesource.com/329740
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 7649fcaa6b36f0d2152d6cb746d33c59b2f21b26
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Mar 1 15:48:12 2016 -0500

    Add wildcard suppression for flaky dEQP GLES3 tests on Linux
    
    BUG=angleproject:1323
    
    Change-Id: Idcd49f9744db6ea282ccc2b4fbb932642b1c4c49
    Reviewed-on: https://chromium-review.googlesource.com/329738
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit e6bcdd24fe54f7200af0df5b087c845d6891f135
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Mar 2 11:26:02 2016 -0500

    Fix a bug in EGLPresentPathD3D11Test
    
    This test was releasing a resource created with a queried device
    after it released the D3D11 device. It is problematic because the
    error was not caught by the swarming tests on the trybots, but did
    show up on the Intel bot because it was not a swarming test.
    
    BUG=589851
    BUG=angleproject:1219
    
    Change-Id: I7383640df9794aaf0e32e0a7c276ae3b22232050
    Reviewed-on: https://chromium-review.googlesource.com/330001
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 518b9fab194414a7eb999603e1962b059e2732c1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Mar 2 11:26:02 2016 -0500

    Suppress some failing end2end_tests on Intel.
    
    BUG=589851
    
    Change-Id: Ia580cee30e6842aaddb4683025f425166f0f6120
    Reviewed-on: https://chromium-review.googlesource.com/329735
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit f09bf6698d58203177ec48b87b89a1845ca9d303
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Mar 2 11:26:01 2016 -0500

    Revert "Suppress some failing end2end_tests on Intel."
    
    This reverts commit 7208f6994cf7d810c2226965362aad43d2a66f53.
    
    Still some failures on Intel, requires a slightly different solution.
    
    BUG=589851
    
    Change-Id: I6ac6599249e9e0f6319c917e04734cd48ca9274d
    Reviewed-on: https://chromium-review.googlesource.com/329734
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit bc21e18b8ec49ac543b8941272da36cbf79fb4cb
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Feb 23 16:04:57 2016 +0200

    D3D11 Texture refactoring: Store ANGLEFormat in TextureStorage11
    
    This is needed to enable removing GetDXGIFormatInfo calls, which are
    difficult to use correctly due to a texture format being associated
    with multiple DXGI formats. This is done in preparation of changing
    some of the DXGI formats associated with integer textures.
    
    BUG=angleproject:1244
    TEST=angle_end2end_tests,
         dEQP-GLES3.functional.fbo.* (no regressions)
    
    Change-Id: I992c4c06189887c1b9de02f9b63dd9a474fcffab
    Reviewed-on: https://chromium-review.googlesource.com/329094
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 0011bb6037b097aa90fc3ae347a98a19410441e4
Author: stal <stal@zodiaclabs.org>
Date:   Mon Feb 29 22:28:06 2016 -0800

    fix texture size check in WindowSurfaceCGL::swap
    
    BUG=angleproject:1233
    
    Change-Id: I92fddf331fe0687b290606fe222863bd0fcbc2da
    Reviewed-on: https://chromium-review.googlesource.com/329804
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit c4a96d674fa062df6ac42ef82021f11c25b4238f
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Jul 23 17:37:39 2015 +0530

    Names of built-in functions cannot be redeclared as functions
    
    With ESSL 3.00, names of built-in functions cannot be redeclared as
    functions, and therefore an error needs to be generated if a built-in
    function is overloaded.
    
    This is fixed by inserting unmangled built-ins into a special set in
    the symbol table and checking if function declarations match any of
    the built-ins in the set.
    
    The regular symbol table structures can't be used for storing the
    unmangled names because that interferes with name hashing in
    OutputGLSL.
    
    Credit goes to Arun Patole, apatole@nvidia.com for initially
    investigating this issue and developing the first version of the
    patch.
    
    BUG=angleproject:1066
    TEST=angle_unittests,
    dEQP-GLES3.functional.shaders.functions.invalid.overload_builtin_function*
    (2 tests started passing with this change)
    
    Change-Id: I28c8325f5a3a8f4a97226b0dfdbb9762724fa609
    Reviewed-on: https://chromium-review.googlesource.com/328994
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit eaef7c1786ceb5db723619ff3b4d99cfe1c55986
Author: Russ Lind <russ.lind@amd.com>
Date:   Mon Feb 15 13:52:28 2016 -0800

    floating point perf improvement in CopyNativeVertexData
    
    In the CopyNativeVertexData template function, in the else clause
    use memcpy/memset rather than for loops.  This is a performance
    improvment for floating point versions of CopyNativeVertexData,
    particularly on 32-bit Firefox, where the -arch:IA32 compiler
    option used cause the compiler to generate fld/fstp operations
    inside the for loops.
    
    Update AUTHORS & CONTRIBUTORS to include AMD.
    
    BUG=angleproject:1317
    
    Change-Id: I7133fc476028284f56783f4e2f9e2395f6227514
    Reviewed-on: https://chromium-review.googlesource.com/327590
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit d2f02c2a82c1a23d55f5e7bf23561942a05b7d7b
Author: Ian Ewell <ewell@google.com>
Date:   Fri Feb 26 13:39:54 2016 -0500

    Fix a memory leak in the Query11 class.
    
    The destructor did not release D3D objects that could be in the
    mPendingQueries list when the destructor is called. This fix now iterates
    through the list and releases them.
    
    BUG=angleproject:1325
    
    Change-Id: Ia3bd2a8a611f8dbf85051ab5bfea18ab72038af5
    Reviewed-on: https://chromium-review.googlesource.com/329426
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Ian Ewell <ewell@google.com>

commit 14ed667f879c98acd26337dd927c7f701f00618d
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Feb 24 15:22:11 2016 +0200

    Remove a few GetDXGIFormatInfo queries
    
    It's needlessly complex to query texture info when determining whether
    a format is a depth/stencil format. It can be tested simply by
    checking if the dsvFormat field of the format set is set.
    
    BUG=angleproject:1244
    TEST=angle_end2end_tests,
         dEQP-GLES3.functional.texture.specification.*depth* (no regressions)
    
    Change-Id: I76d008462564657328dae35d664be5f5e22238fa
    Reviewed-on: https://chromium-review.googlesource.com/329104
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 7208f6994cf7d810c2226965362aad43d2a66f53
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Feb 29 10:47:35 2016 -0500

    Suppress some failing end2end_tests on Intel.
    
    BUG=589851
    
    Change-Id: I91588014784a8a9b75389aeb596923458c30d80a
    Reviewed-on: https://chromium-review.googlesource.com/329427
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit eae0c7d4233c1a8a8b5bf014273b5c385966abd5
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Feb 26 14:41:55 2016 -0500

    Add EGL tests to help troubleshoot environment problems
    
    BUG=585132
    
    Change-Id: I9d04ad1705f45280cc608f419dbbd56db44d4d80
    Reviewed-on: https://chromium-review.googlesource.com/329324
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 7d32aa5fb396f761aebdfee9728a6a86818e4dff
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Feb 29 14:45:32 2016 +0000

    Revert "D3D11 Texture refactoring: Store ANGLEFormat in TextureStorage11"
    
    Failing Windows Debug WebGL tests:
    
    https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Debug%20%28NVIDIA%29/builds/13587
    
    Seems to fail in and around:
    
    [  FAILED  ] WebglConformance.conformance_renderbuffers_framebuffer_object_attachment (320392 ms)
    [ RUN      ] WebglConformance.conformance_renderbuffers_framebuffer_state_restoration
    
    BUG=angleproject:1244
    This reverts commit d72c61c66e75536681c5fb529a92a2ee2134f0f1.
    
    Change-Id: Id84d6988bc1a3530d8dde4c36d18b735f3de06fc
    Reviewed-on: https://chromium-review.googlesource.com/329621
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d72c61c66e75536681c5fb529a92a2ee2134f0f1
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Feb 23 16:04:57 2016 +0200

    D3D11 Texture refactoring: Store ANGLEFormat in TextureStorage11
    
    This is needed to enable removing GetDXGIFormatInfo calls, which are
    difficult to use correctly due to a texture format being associated
    with multiple DXGI formats. This is done in preparation of changing
    some of the DXGI formats associated with integer textures.
    
    BUG=angleproject:1244
    TEST=angle_end2end_tests,
         dEQP-GLES3.functional.fbo.* (no regressions)
    
    Change-Id: I820b8331e6f9aacfe9979b13118371687c5fca51
    Reviewed-on: https://chromium-review.googlesource.com/329075
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit ff92e1f52a1df4a5a22f90ede8afe652852e3ff2
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Feb 24 15:45:20 2016 -0500

    Add suppressions for dEQP-GLES3 on Linux
    
    BUG=angleproject:1323
    
    Change-Id: Id437ecd8c05e151558b66294f4c0946e0fee2df9
    Reviewed-on: https://chromium-review.googlesource.com/329049
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit bc49758c367ce5de1d3dbb9ed656ee74e3ed6425
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Feb 23 14:43:19 2016 +0200

    Choose D3D11 swizzle formats in gen_texture_format_table.py
    
    Making swizzle format data come from the ANGLE format table will make
    it easier to make changes that affect both swizzle formats and regular
    texture formats. Swizzle format is now specified manually for some
    tricky formats, but for most it can be determined automatically from
    the ANGLE texture format info.
    
    The ANGLE texture format info in texture_format_table.json is changed
    to facilitate this. The componentType field now captures only whether
    the data is normalized, int or float and its signedness, but not the
    width of the data type. Bit widths of the individual channels are
    recorded in a separate "bits" object for each ANGLE format entry.
    
    Also, a new 16-bit RGBA UNORM ANGLE format is added to support
    swizzling 16-bit normalized depth formats.
    
    This change is mostly just refactoring, but it fixes swizzling for
    formats which have less bits for alpha than other channels:
    
    - RGB10_A2
    - RGB10_A2UI
    - RGB5_A1
    
    BUG=angleproject:1322
    BUG=angleproject:1244
    TEST=angle_end2end_tests,
         dEQP-GLES3.functional.texture.swizzle.* (all pass)
    
    Change-Id: I87d8a9cc0b6569191f50c41754d77b20ca6afef9
    Reviewed-on: https://chromium-review.googlesource.com/329074
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 9062b3b7a670e681b85ef62140cee16b806efb37
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Feb 25 13:30:50 2016 -0500

    dEQP: Mark while 'continue' tests as failing on Linux.
    
    These tests seem to be flaky, and now they are showing up in
    a bunch of CLs as failures.
    
    BUG=angleproject:1324
    
    Change-Id: I47c0e0895f8d87fba52084cf571fb453e5d996e0
    Reviewed-on: https://chromium-review.googlesource.com/329279
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit cca8bc91df5addde6c5f5ee5b83b84b29780a46c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Feb 25 20:00:09 2016 +0000

    Revert "dEQP: Mark while 'continue' tests as failing on Linux."
    
    Accidentally committed GLES3 suppressions to a GLES2 file.
    
    BUG=angleproject:1324
    
    This reverts commit ea9b92f6ad24b8643322e0b5cf03eaccfe9b0e27.
    
    Change-Id: I510f05350d397ced8c68c3ea74c8549062835641
    Reviewed-on: https://chromium-review.googlesource.com/329335
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit ea9b92f6ad24b8643322e0b5cf03eaccfe9b0e27
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Feb 25 13:30:50 2016 -0500

    dEQP: Mark while 'continue' tests as failing on Linux.
    
    These tests seem to be flaky, and now they are showing up in
    a bunch of CLs as failures.
    
    BUG=angleproject:1324
    
    Change-Id: Ie7dd70bde1490c8623910c6d319128ca1225990a
    Reviewed-on: https://chromium-review.googlesource.com/329156
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 115056012f5a63c1068df0a1feade979ef260b8a
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Feb 17 16:41:50 2016 +0200

    D3D11 Texture refactoring: Add ANGLEFormat enumeration to C++ code
    
    Texture formats that are internal to ANGLE can now be uniquely identified
    using the ANGLEFormat enum.
    
    GetANGLEFormatInfo returns a structure with the DXGI texture formats
    associated with the ANGLE format.
    
    For starters, the ANGLEFormat enum is used when building texture info
    structures queried from GetTextureFormatInfo.
    
    BUG=angleproject:1244
    TEST=angle_end2end_tests
    
    Change-Id: I58a2027a1d9b7a5621f943cc5ceeb88a858009e3
    Reviewed-on: https://chromium-review.googlesource.com/328254
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 1fbc59fe2ea402149820a7215398394c57dfacea
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Feb 24 15:25:51 2016 -0500

    D3D11: Enable dirty bits for Framebuffer11.
    
    This patch works using a notification scheme - whenever a Texture or
    Renderbuffer changes in such a way as to recreate its RenderTarget, we
    pass a signal to the Framebuffer to invalidate some internal state.
    Everything is entirely tracked in the Renderer11 layer, and the GL
    layer is left untouched.
    
    A RenderTarget11 now tracks points to which it is bound, and the
    Framebuffer11 is mostly responsible for managing those links.
    
    The three locations where we notify a Framebuffer when its bound
    RenderTargets might be dirty are:
    
     1) RenderTarget11::~RenderTarget
     2) EGLImageD3D::copyToLocalRendertarget
     3) TextureStorage11_2D::useLevelZeroWorkaroundTexture
    
    This patch gives about a 10% score increase in the D3D11 draw call
    benchmark on my system.
    
    BUG=angleproject:1260
    
    Change-Id: Ide38aeadff4a2681bf5bd685e8ca3c9e2612a380
    Reviewed-on: https://chromium-review.googlesource.com/327255
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit d834e3dc0d87c4ceae034400bf277f17fec9ba64
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Feb 24 13:44:43 2016 -0500

    D3D11: Fix Array texture depth-stencil attachments.
    
    We were missing support for these layer depth-stencil attachments.
    This fixes running a WebGL test for this feature.
    
    BUG=angleproject:1260
    BUG=angleproject:1315
    
    Change-Id: Ida7d44ba1fe65d5da95d2db721e497bfa685db77
    Reviewed-on: https://chromium-review.googlesource.com/327402
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit f434906cbeeddceb8eaa1b322322163f63a257de
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Feb 22 14:53:26 2016 +0200

    Group D3D11 DXGI format info under a struct
    
    This patch refactors how DXGI format info is stored. The goal is to
    make it easier to make changes that affect both swizzle formats and
    regular texture formats, and make it easier to pass the format sets
    around.
    
    BUG=angleproject:1244
    TEST=angle_end2end_tests
    
    Change-Id: I1cc220bccbbdde9200a41829fdc37c8ec123c6a1
    Reviewed-on: https://chromium-review.googlesource.com/329072
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 6151af8cb21bd1991eeb79792d1030fb7a305803
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Feb 19 15:22:07 2016 +0200

    Remove renderFormat from TextureFormat structure
    
    The renderFormat is only ever needed in renderer11_utils when
    determining which multisample sample counts a format supports.
    Determine the renderFormat in the context where it is needed instead
    of storing it in the TextureFormat structure. Extra fallbacks can
    also be removed from the code.
    
    The D3D11FormatTablesTest is restructured so that it doesn't need to
    use the renderFormat field.
    
    This refactoring is done to make it simpler to expand usage of the
    ANGLE format enumeration in the C++ code.
    
    BUG=angleproject:1244
    TEST=angle_end2end_tests,
         dEQP-GLES3.functional.fbo.* (no regressions)
    
    Change-Id: I980152eb2f3fdaaa1cc5b08e3c9b695c1625e9e5
    Reviewed-on: https://chromium-review.googlesource.com/328680
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 8fd2ca41cbb1d27b0b061b1060c5c731695c5cf9
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Feb 23 11:14:39 2016 +0200

    Fix MSVS 2013 build
    
    Implicit conversion from int to boolean was generating a warning on
    MSVS 2013.
    
    Still useful to keep support around at least while build instructions
    recommend using MSVS 2013.
    
    Change-Id: I6975198f4bc6740a745454375f422d9c67ffaea5
    Reviewed-on: https://chromium-review.googlesource.com/329070
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>

commit ad9f24e1a28b91fc1f6d8e19b9163e70b888fa4a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Feb 12 09:27:24 2016 -0500

    Don't always sync all dirty object state on update.
    
    This leads to a problem where we're synching objects out of order. For
    instance, when we call SetImage, we need to sync the pack state. But
    SetImage can affect the FBO state, so we need to sync the FBO only
    after we've finished with SetImage.
    
    Fix this by using a mask of dirty objects to sync instead of all of
    them, always. This also has the side effect of deferring some syncs
    that don't have to be processed immediately.
    
    BUG=angleproject:1260
    
    Change-Id: I5678d8f967930d11b42a4309d209215be2bae963
    Reviewed-on: https://chromium-review.googlesource.com/327259
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 662986f2eecb2d02fccef2a9dc0227f25cce6823
Author: Tibor den Ouden <tibordenouden@gmail.com>
Date:   Thu Feb 18 18:06:13 2016 +0100

    Implement dynamic cast to TIntermBranch * on TIntermNode
    
    On the TIntermNode class there is no Derived *getAsDerived() for
    TIntermBranch. This is needed for the shader debugger to determine
    the node type.
    
    BUG=angleproject:1320
    
    Change-Id: I9ce07017ccdb206c06c296b003b31eab6c65653c
    Reviewed-on: https://chromium-review.googlesource.com/328281
    Tryjob-Request: Tibor Ouden, den <tibordenouden@gmail.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 24a504ecb82b6d2a854c18f9eb7a31c1ae321245
Author: John Bauman <jbauman@chromium.org>
Date:   Thu Feb 18 13:53:00 2016 -0800

    Clear SRV cache on keyed mutex texture unbind from TextureStorage11
    
    If the calling code releases the keyed mutex after the unbind then D3D will
    unbind the SRV or RTV from the pipeline without notifying the cache. This
    allows the SRV to be destroyed, which means that a subsequently-created SRV
    could have the same address. This would cause the new SRV to not be correctly
    bound to the pipeline if its slot is the same as the unbound SRV.
    
    BUG=588000
    Change-Id: I0ad1ba3706a6bcc1fee50745e6148c9b23e578f6
    Reviewed-on: https://chromium-review.googlesource.com/328400
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: John Bauman <jbauman@chromium.org>

commit 73a8496999ee1ed887df510c84f3a652d18bc09d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Feb 12 09:27:23 2016 -0500

    Refactor more Texture entry points to a consistent style.
    
    TexImage, SubImage and the Compressed variants were all taking a GL
    Context as the first parameter, which is a layering violation and
    also caused problems with reworking how the sync works. Fix this
    by refactoring them in the same style as the CopyTex* entry points.
    
    BUG=angleproject:1260
    BUG=angleproject:747
    
    Change-Id: Ibe5e87d0ebc790e2dcadb8ba153cf40fec73d1f6
    Reviewed-on: https://chromium-review.googlesource.com/327258
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 6ad306cb433f46bf20a62fe8f7d398fcd7a95914
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Feb 11 17:06:41 2016 -0500

    dEQP: search for the data directory relative to the exe path.
    
    BUG=580045
    
    Change-Id: I58bfa9ab6766eaae756b3c0f4d28f545e86d543b
    Reviewed-on: https://chromium-review.googlesource.com/327306
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 8a854d68fc3166499f3dfb9031d7b4ccf7126b9e
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Feb 17 11:54:04 2016 +0200

    Replace GetDXGIFormatInfo with a GetDXGIFormatSizeInfo where possible
    
    It's not always clear which format should be passed to GetDXGIFormatInfo,
    since a resource is associated with multiple formats. In some cases, one
    of the formats is typeless and one of them is typed, which would return
    different type information depending on which one is used. In some cases,
    one of the formats may even be a depth format while another is not.
    GetDXGIFormatSizeInfo will return correct data no matter which format
    associated with a certain resource is passed to it.
    
    Remaining uses of GetDXGIFormatInfo will need to be addressed separately,
    either making sure that they always use the format that makes sense in a
    given context, or plumbing in the required information in some other way.
    
    BUG=angleproject:1244
    TEST=angle_end2end_tests
    
    Change-Id: If3cb03ab68d27743b1fdeb539234ec621dfa3c04
    Reviewed-on: https://chromium-review.googlesource.com/328230
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 8322cb91aa6fb1710560084f3ce46f672f627f94
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Wed Jan 27 00:02:13 2016 -0500

    Corrections to GLES sRGB formats.
    
    This stops Mesa from complaining when using GLES 3.0 in the back end.
    
    BUG=angleproject:1301
    
    Change-Id: Ib9c0397586a11c407c6aa9ad1544e12b43dd08a7
    Reviewed-on: https://chromium-review.googlesource.com/324031
    Tryjob-Request: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 6253415f35e07536ceace10cc9258e516b06dc7e
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Feb 22 12:20:00 2016 +0200

    Mark sampler metadata clean when it is updated
    
    This was accidentally left out of the patch:
    
    "Pass texture base level to shaders on D3D11"
    
    TEST=angle_end2end_tests
         angle_perftests on d3d11
    BUG=587846
    
    Change-Id: I5d801288303cf0e0a3d52c1314aca95c47f02e25
    Reviewed-on: https://chromium-review.googlesource.com/328960
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 6ee394a193473dd79151a70028128ca9915b406b
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Feb 18 13:30:09 2016 +0200

    Add initializer function to more texture formats
    
    All GL RGB formats that ANGLE stores as RGBA formats under the covers
    need to have their alpha channel set to 1. See GLES 3.0.4 table 3.24
    for the relevant spec. In some cases, this is handled by the
    dataInitializerFunction associated with the format. Previously, some
    texture formats had the function set correctly, but not all.
    
    Associating formats with the datainitializerFormat is now a
    responsibility of the gen_texture_format_table.py script. The new
    automation there makes sure that all GL RGB formats emulated with
    RGBA formats get a data initializer function.
    
    Tests are added in end2end_tests for most of the RGB formats.
    
    BUG=angleproject:1318
    TEST=angle_end2end_tests
    
    Change-Id: Iad860357f33d87c625445ea6c58a53af47e0b547
    Reviewed-on: https://chromium-review.googlesource.com/328253
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 7a533f74f0674ebd6b5d8de632815f4080ae0db0
Author: Nico Weber <thakis@chromium.org>
Date:   Thu Jan 7 14:12:19 2016 -0500

    Add a few missing newlines at eof.
    
    Change-Id: Ie4b0811be8fe2d075a8854f1b9d318f7cb747cd1
    Reviewed-on: https://chromium-review.googlesource.com/320930
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit ea6b6376c565d4e4f4442f2649cd136d506e8f3a
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Feb 17 17:29:52 2016 +0200

    Remove AnyDevice from gen_texture_format_table
    
    This makes the generated code easier to read.
    
    BUG=angleproject:1318
    BUG=angleproject:1244
    TEST=angle_end2end_tests
    
    Change-Id: I6f232f3b8959cf8c72efb1e68b3fae6358b7b698
    Reviewed-on: https://chromium-review.googlesource.com/328252
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit a615852dd816479595105fe08e088c7e1742ed68
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Feb 17 15:39:34 2016 +0200

    Split texture_format_data.json into two files
    
    After this change, texture_format_map.json maps the GL internal formats
    to an enumeration of formats that is internal to ANGLE.
    
    Each ANGLE format specifies a unique combination of DXGI formats and
    what type of data the format contains. In the future, the ANGLE format
    could be used instead of DXGI format inside C++ code to identify which
    type of data a resource contains. This becomes useful when a GL format is
    associated with multiple DXGI formats, which may have different type
    information (for example depth vs. red, integer vs. float).
    
    texture_format_data.json is changed to only store data on these ANGLE
    formats.
    
    BUG=angleproject:1318
    BUG=angleproject:1244
    TEST=gen_texture_format_table.py (no changes in autogenerated file)
    
    Change-Id: I729c4a4d6fc66ee61598ef2d879e6785c85d40ab
    Reviewed-on: https://chromium-review.googlesource.com/328251
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit cbed3f5b74b09e8bf1cf598711bdaef9de907d91
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Feb 17 15:46:32 2016 +0200

    Sort texture formats in gen_texture_format_table.py better
    
    Sort the formats in a meaningful way, so that even if the structure of
    the source files change, the order can be maintained. This makes it
    easier to review further changes that affect the autogenerated texture
    format table.
    
    BUG=angleproject:1318
    BUG=angleproject:1244
    TEST=angle_end2end_tests
    
    Change-Id: Id3602a809137da43431144a31e36d4a0ed2e596e
    Reviewed-on: https://chromium-review.googlesource.com/328250
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit f8bf583b8cd60a7f7361e6dffddb8549c6662903
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Feb 11 16:21:49 2016 +0200

    Pass integer texture format bit count to shaders on D3D11
    
    This will be needed in the future when integer texture wrap mode support
    will be added by sampling integer textures through FLOAT/UNORM/SNORM
    SRVs.
    
    The bit count needs to be passed for 8-, 10- and 16-bit textures. 32-bit
    integer textures are the ones left over. Only passing the bit counts for
    the absolute minimum number of formats avoids unnecessary driver constant
    buffer updates.
    
    BUG=angleproject:1244
    BUG=angleproject:1095
    TEST=angle_end2end_tests
    
    Change-Id: I28a84588842b2eb9a1661454437d21c22ce794b7
    Reviewed-on: https://chromium-review.googlesource.com/326944
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 72e6606d6820c19e6842c894c5f301917c332830
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Feb 15 11:52:54 2016 +0200

    Add more const qualifiers in TextureStorage11
    
    This makes the code easier to follow.
    
    BUG=angleproject:1244
    TEST=angle_end2end_tests
    
    Change-Id: I7787b04217a6771629e69f6f67586f62ce5cfccf
    Reviewed-on: https://chromium-review.googlesource.com/327053
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit b9ada71de8d00052c9922107383ef3e86c4b23d8
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Feb 17 11:45:58 2016 -0500

    Sync the D3D11 rasterizer state if pointDrawMode or multisample changes.
    
    When drawing points, culling is disabled to make sure the generated point
    sprites are not culled. Since there are no dirty bits for pointDrawMode or
    multiSample, they were not being checked to ensure the rasterizer state was
    correct.
    
    BUG=586531
    
    Change-Id: I8fe60dd8d5bbc79b1bce2c0aa62c40cee560fe24
    Reviewed-on: https://chromium-review.googlesource.com/327862
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit bce743aba493762704359d35af7e3134b539f71e
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Jan 15 17:18:28 2016 +0200

    Use texture base level to implement textureSize on D3D11 HLSL
    
    HLSL GetDimensions call doesn't take the texture base level into account,
    so ANGLE needs to use the texture base level passed in uniforms to
    emulate ESSL textureSize() which does take it into account.
    
    After this change the relevant dEQP tests pass on NVIDIA, Intel is still
    suffering from an issue where a wrong value is returned when the lod
    is > 0 (tested on Intel HD Graphics 4600). AMD is also suffering from an
    unknown issue.
    
    BUG=angleproject:596
    TEST=dEQP-GLES3.functional.shaders.texture_functions.texturesize.*
         (all pass on NVIDIA now), angle_end2end_tests
    
    Change-Id: I13e33d126008ecdf2b89461a3fb5040949cf19e2
    Reviewed-on: https://chromium-review.googlesource.com/322123
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 618bebcde4d6de75b108de83ee2f73c0e1926c0f
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Jan 15 16:40:00 2016 +0200

    Pass texture base level to shaders on D3D11
    
    The base level is passed to shaders in an array included in the driver
    uniform block. This is done on feature levels above 9_3, which treat
    samplers as indices to sampler arrays in shaders.
    
    A separate uniform block couldn't be used for the sampler metadata,
    since that would bring the number of available uniform blocks down to
    below minimum level defined by GLES 3.0.
    
    BUG=angleproject:596
    TEST=angle_end2end_tests
    
    Change-Id: Ie040521402f9996d51a978aeeba9222e9dd761ce
    Reviewed-on: https://chromium-review.googlesource.com/326290
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit d14e3c45c50c5364d06b316236a88854d2f1e98b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Feb 12 10:08:19 2016 -0500

    Initialize TextureState::usage.
    
    This was probably omittted some time ago, and was showing up as
    garbage in the debugger in some cases.
    
    BUG=angleproject:1260
    
    Change-Id: Ifca5243d0c94e7659a2245e327a72eed9dd918ab
    Reviewed-on: https://chromium-review.googlesource.com/327401
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 89f2845cd197dd3427a7eeb5ebcc8b93a57434de
Author: Ian Ewell <ewell@google.com>
Date:   Wed Feb 10 11:33:07 2016 -0500

    Context virtualization for D3D11 queries
    
    Queries in D3D11 are now virtualized such that they work as expected with
    multiple contexts. Timer queries now only time the operations that their
    context is responsible for and the operations of other contexts are
    ignored.
    
    BUG=angleproject:657
    
    Change-Id: I667de594bdb5831d126d5801c0e692ded4c88bf4
    Reviewed-on: https://chromium-review.googlesource.com/327150
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Ian Ewell <ewell@google.com>

commit dc10797822719b7d75c33983268125bd400f6cf1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Feb 12 09:27:23 2016 -0500

    Clean up the style in TextureStorage11.
    
    This is a pure refactoring change, and should behave identically.
    
    BUG=angleproject:1260
    
    Change-Id: I44f5ef2f1444ffd8f8dd6ce55c266ec95781a6d8
    Reviewed-on: https://chromium-review.googlesource.com/327266
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 8613f4946861a52fd39d3d5c37ca4742d6ef9f55
Author: Cooper Partin <coopp@microsoft.com>
Date:   Thu Feb 11 10:28:05 2016 -0800

    Fixed clang build for InputLayoutCache.
    
    Change-Id: I0757874fad5f665cf4629092ad2d0d5982ca4856
    Reviewed-on: https://chromium-review.googlesource.com/327301
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 534bf87b8acec7399053bc6483dda0a81143af38
Author: Cooper Partin <coopp@microsoft.com>
Date:   Tue Feb 9 11:33:29 2016 -0800

    Implemented instanced rendering for emulated point sprites
    
    Non-instanced PointSprite emulation for lower feature levels is
    implemented using D3D DrawIndexedInstanced and an instanced vertex
    buffer containing a pointsprite quad.
    
    GL instanced rendering using glDrawArraysInstanced and
    glDrawElementsInstanced with pointsprite emulation is performed using
    a for-loop.  The loop iterates over each instance to render and adjusts
    the buffer offsets accordingly. This is not performant and is only used
    and required by this chosen pointsprite emulation method.
    
    Indexed instanced (glDrawElementsInstanced), uses the same offset loop
    because the vertex buffer containing the data to be rendered has already
    been expanded using getEmulatedIndexedBuffer().  Expanding the buffer
    makes the two rendering operations similar enough to share code.
    
    BUG=angleproject:1279
    TEST=angle_end2end_tests
    
    Change-Id: If46cc9f158e29f5518c70ad630b3228f474a9f8b
    Reviewed-on: https://chromium-review.googlesource.com/321407
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit cfd6b2b6e9af86d25ce82a62325c20c56659500d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Feb 8 12:50:38 2016 -0500

    D3D11: Add a test to cover a clear RTV driver bug.
    
    See dEQP-GLES3.functional.fbo.color.repeated_clear.sample.tex2d.rgba8
    
    This test uses ClearRenderTargetView to clear various FBO textures,
    but it does not seem to work correctly on my Nvidia configuration.
    It has been reported to Nvidia. It also seems to fail on Intel.
    
    Current GPU: NVIDIA GeForce GTX 660
    Current Driver: 10.18.13.5598 (9-13-2015)
    Works on Desktop OpenGL back-end, also on AMD R5230
    
    BUG=angleproject:1305
    
    Change-Id: I4b53b7376faf71f234d05c90f4fb55462de23e36
    Reviewed-on: https://chromium-review.googlesource.com/314304
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit ee991799fcaf0fff1b9cae452ed3ace39eb62651
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Feb 10 18:25:40 2016 +0200

    Fix texture swizzle cache initialization
    
    Texture swizzle cache needs to be initialized so that the keys do not
    represent a valid swizzle state before any swizzled textures have been
    cached.
    
    BUG=angleproject:1095
    TEST=dEQP-GLES3.functional.texture.swizzle.* (all pass)
    
    Change-Id: I66c10ed49134875d29b07852488a41a776e8fb67
    Reviewed-on: https://chromium-review.googlesource.com/326971
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 0ecb18b9b98c576699ff85218888c577117cdd59
Author: John Bauman <jbauman@chromium.org>
Date:   Wed Feb 3 13:40:37 2016 -0800

    Avoid a copy in TextureStorage11::setData
    
    This is essentially a reland of 9cf9bcbecaa1e54a47a92eb784e7f591f7b65c57
    
    This code always allocates a new memory buffer for the texture memory,
    picks a load function to copy/convert the input data into it, and the
    uploads.
    
    In the case where the input format matches the upload format we should
    be able to skip the allocation and copy and be much happier.
    
    Change-Id: If4281aeb4cd7bbbebba60122a10610a916833052
    Reviewed-on: https://chromium-review.googlesource.com/326852
    Tryjob-Request: John Bauman <jbauman@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: John Bauman <jbauman@chromium.org>

commit 0dcaaf7765640391846d26ce155d390654856719
Author: Kenneth Russell <kbr@chromium.org>
Date:   Wed Feb 10 10:58:59 2016 -0800

    Re-enable win_angle_x64_dbg_ng as a trybot target.
    
    BUG=chromium:585270
    
    Change-Id: I94b78d21aa700fbc7549f9f30534ba9f414780a3
    Reviewed-on: https://chromium-review.googlesource.com/326924
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 3271328ca53bb8fed8aa748febc71fed84d7b8bc
Author: Kenneth Russell <kbr@chromium.org>
Date:   Tue Feb 9 23:52:21 2016 +0000

    Revert "Re-enable win_angle_x64_dbg_ng as a trybot target."
    
    This reverts commit b36b491c00924acfc03c71453833c442b7a22be6.
    
    Forgot to restart the tryserver.chromium.angle waterfall to add this bot, and now waterfall restarts are broken: http://crbug.com/585632 .
    
    Change-Id: Id25ac99a54013a9dd1406d4680717bef12a75940
    Reviewed-on: https://chromium-review.googlesource.com/327033
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit b36b491c00924acfc03c71453833c442b7a22be6
Author: Kenneth Russell <kbr@chromium.org>
Date:   Mon Feb 8 15:55:49 2016 -0800

    Re-enable win_angle_x64_dbg_ng as a trybot target.
    
    BUG=chromium:585270
    
    Change-Id: I9d95667d676f54bfe8901a428a6cb5eddf927819
    Reviewed-on: https://chromium-review.googlesource.com/326830
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 536ebf4dde3e54c0a6c90570a8f38132a30aa175
Author: Ian Ewell <ewell@google.com>
Date:   Tue Feb 9 13:20:12 2016 -0500

    Increase the timeout on Timer queries tests.
    
    On Mac, the timer queries tests have flakiness as the tests may timeout
    before the query result is available. The time to wait before throwing a
    timeout error in the tests was therefore increased by a factor of 20.
    
    BUG=585498
    
    Change-Id: I55047ee7759e6d2dde69294df451202dfb498034
    Reviewed-on: https://chromium-review.googlesource.com/327031
    Commit-Queue: Ian Ewell <ewell@google.com>
    Reviewed-by: Ian Ewell <ewell@google.com>

commit 292f005f3e0504b0d391642a61e42999d49fe8ba
Author: Ian Ewell <ewell@google.com>
Date:   Thu Feb 4 10:37:32 2016 -0500

    Fix context virtualization for timer queries
    
    In the current implementation of query virtualization, queries are
    paused/resumed during draw calls. Timer queries however are affected by
    every OpenGL call, so virtualization and context switches for timer
    queries must happen every time there is a context switch. Thus the logic
    for context-switching queries was moved to a new function in the GL state
    manager that is called everytime a makeCurrent call on the context is
    made. Since queries may be made after a context is made current, the state
    manager needs to keep track of any new queries that are started in a
    context, so an additional delegate function was added to the state manager
    that is called every time a glBeginQuery() call is made that adds the
    query object to a set. All the queries in that set are paused when a
    context switch is made and the queries in the new context are then loaded
    and resumed.
    
    BUG=angleproject:1307
    
    Change-Id: I4e596d83739274cb2e14152a39e86e0e51b0f95c
    Reviewed-on: https://chromium-review.googlesource.com/325811
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Ian Ewell <ewell@google.com>

commit a78d12c5e4949896a7ac81ec5ded7fc0a0305a9a
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Feb 8 14:02:52 2016 -0500

    Make the dEQP GTEST initialization failures red on swarming.
    
    On swarming the dEQP GTEST initialization failures would show as green
    because the FAIL GTEST macro was called outside of a test. Use exit(-1)
    instead that shows up as red on the bots.
    
    BUG=580045
    
    Change-Id: Icf82a8593a11fe7e992778ffd8c682f6738c39a6
    Reviewed-on: https://chromium-review.googlesource.com/326690
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 3f16afd3897676169bae27f7790f08716ba57bf9
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Feb 5 10:20:59 2016 -0500

    Add in GN the data dependencies required by the dEQP tests.
    
    BUG=580045
    
    Change-Id: I3424568c6b200d6b6eb9921c6c09a3b3c974d710
    Reviewed-on: https://chromium-review.googlesource.com/326320
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 39046169da60396c651b664aa67ea52a04146d2f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Feb 8 15:05:17 2016 -0500

    CollectVariables: Don't include block name in field name.
    
    The spec mandates that the instance name of a block determines how the
    active uniform name for this field is reported. However, our handling
    of this was a bit bugged. We would include the proper prefix on the
    compiler-side, but this mangled the hashing, and was also not strictly
    needed. We now also expose the instance name, so we can determine the
    proper prefix for variable linking on the GL-side of things. This also
    is consistent with how we handle other spec issues, where the GL-side
    handles the GL-API specific functionality.
    
    This also allows us to fix name hashing of instanced uniform blocks,
    which was previously broken because we would hash the full name of the
    active uniform, instead of just the field.
    
    BUG=angleproject:1306
    
    Change-Id: I06ace6dbc3f75fdd8129677360dcc142aa89136e
    Reviewed-on: https://chromium-review.googlesource.com/326681
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 15e890e601d38db7e00141d722834fa26d1cf75f
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Feb 8 16:06:11 2016 +0200

    Remove unused texture format source files
    
    These files are not included in the build, they have been replaced by
    autogenerated files.
    
    TEST=build on Windows
    
    Change-Id: I6b8448d6f2426bc05c01b7ec6db605e6047ee207
    Reviewed-on: https://chromium-review.googlesource.com/326660
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit ded2e2ee7898c03cd1df05c3e4b4b62c0ad7d28f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Feb 8 19:32:19 2016 -0800

    Remove unreferenced member of Renderer11, mDepthStencilInitialized.
    
    BUG=angleproject:1260
    
    Change-Id: I3773297a4e517e2fca7072f56f3bdbec0a561d9a
    Reviewed-on: https://chromium-review.googlesource.com/326851
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 1eabcf41efc6db028b352e5f39035558300b0606
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Feb 2 13:54:00 2016 -0500

    Replace '> >' with '>>'
    
    BUG=angleproject:1308
    
    Change-Id: I00bd2ea939b633817662205eb7879efb7f99965f
    Reviewed-on: https://chromium-review.googlesource.com/326400
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 2a63b3f8600bb9f90ff2870a0e1a23d251d45239
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Mon Feb 8 12:29:08 2016 -0800

    Re-land "Implement EGL_experimental_present_path_angle"
    
    - Re-land with clang fix.
    
    This allows ANGLE to render directly onto a D3D swapchain in the correct
    orientation when using the D3D11 renderer.
    
    The trick is to add an extra uniform to each shader which takes either
    the value +1.0 or -1.0. When rendering to a texture, ANGLE sets this
    value to -1.0. When rendering to the default framebuffer, ANGLE sets
    this value to +1.0. ANGLE multiplies vertex positions by this value in
    the VS to invert rendering when appropriate. It also corrects other
    state (e.g. viewport/scissor rect) and shader built-in values
    (e.g. gl_FragCoord).
    
    This saves a substantial amount of GPU time and lowers power
    consumption. For example, the old method (where ANGLE renders all
    content onto an offscreen texture, and then copies/inverts this onto the
    swapchain at eglSwapBuffers() time) uses about 20% of the GPU each frame
    on a Lumia 630.
    
    Verification:
    + dEQP GL ES2 tests pass when "present path fast" is enabled
    + all ANGLE_end2end_tests pass when "present path fast" is enabled
    
    BUG=angleproject:1219
    
    Change-Id: I56b339897828753a616d7bae837a2f354dba9c63
    Reviewed-on: https://chromium-review.googlesource.com/326730
    Tryjob-Request: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit c9bdeff4e47c174cb373ee2d872de4c253902350
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Feb 8 12:36:55 2016 -0500

    D3D11: Refactor RenderTarget apply into StateManager11.
    
    This is a refactoring patch only, and doesn't change the behaviour.
    The intent is to make it easy to turn on the Framebuffer dirty bits
    in a subsequent patch, once we can cleanly handle textures and
    renderbuffers getting recreated.
    
    BUG=angleproject:1260
    
    Change-Id: Iaa5cfe222b020724e088eee5f1ae909b6f981a08
    Reviewed-on: https://chromium-review.googlesource.com/325423
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 570f67d7b8379901630b03b33926cabc97b62618
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Feb 5 15:28:24 2016 -0500

    Download GN in the gclient hooks.
    
    Recently git cl format has started requiring GN and would fail when run
    in the ANGLE standalone repository because the binary was not present.
    
    BUG=
    
    Change-Id: I0482db6fd6a868dc02ef6e395e6ff4817623c291
    Reviewed-on: https://chromium-review.googlesource.com/326420
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit d1c46228efe7a0dcaf45d3d6068b3c7a58c65cfa
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Feb 8 14:51:18 2016 +0000

    Revert "Implement EGL_experimental_present_path_angle"
    
    Compile failure on Clang/Win:
    
    The reason for reverting is: FAILED: ninja -t msvc -e environment.x86 --
    "..\..\third_party/llvm-build/Release+Asserts/bin/clang-cl" -m32 /nologo
    /showIncludes /FC
    @obj\third_party\angle\src\tests\egl_tests\angle_end2end_tests.EGLPresentPathD3D11Test.obj.rsp
    /c ..\..\third_party\angle\src\tests\egl_tests\EGLPresentPathD3D11Test.cpp
    /Foobj\third_party\angle\src\tests\egl_tests\angle_end2end_tests.EGLPresentPathD3D11Test.obj
    /Fdobj\gpu\angle_end2end_tests.cc.pdb
    In file included from
    ..\..\third_party\angle\src\tests\egl_tests\EGLPresentPathD3D11Test.cpp:7:
    In file included from
    ..\..\third_party\angle\src\tests\test_utils/ANGLETest.h:13:
    ..\..\testing\gtest\include\gtest/gtest.h(1392,16) :  error: comparison of
    integers of different signs: 'const int' and 'const unsigned int'
    [-Werror,-Wsign-compare]
      if (expected == actual) {
          ~~~~~~~~ ^  ~~~~~~
    ..\..\testing\gtest\include\gtest/gtest.h(1422,12) :  note: in instantiation of
    function template specialization 'testing::internal::CmpHelperEQ<int, unsigned
    int>' requested here
        return CmpHelperEQ(expected_expression, actual_expression, expected,
               ^
    ..\..\third_party\angle\src\tests\egl_tests\EGLPresentPathD3D11Test.cpp(281,9) :
     note: in instantiation of function template specialization
    'testing::internal::EqHelper<false>::Compare<int, unsigned int>' requested here
            ASSERT_EQ(mWindowWidth * 4, mappedSubresource.RowPitch);
            ^
    ..\..\testing\gtest\include\gtest/gtest.h(1960,32) :  note: expanded from macro
    'ASSERT_EQ'
    # define ASSERT_EQ(val1, val2) GTEST_ASSERT_EQ(val1, val2)
                                   ^
    ..\..\testing\gtest\include\gtest/gtest.h(1943,67) :  note: expanded from macro
    'GTEST_ASSERT_EQ'
                          EqHelper<GTEST_IS_NULL_LITERAL_(expected)>::Compare, \
                                                                      ^
    
    BUG=angleproject:1219
    
    This reverts commit 6b3c1db5170450bbc4946d8f18ba0d8619da43a0.
    
    Change-Id: Ia67ab82dd13295dc03235d57fa417c73f20a49e6
    Reviewed-on: https://chromium-review.googlesource.com/326680
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit c674abeb87277e872209caf2a55abc4bff1ec001
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Feb 5 17:24:20 2016 -0500

    Refactor InputLayoutCache::applyVertexBuffers.
    
    The redesigned code places the internal buffers and input elements for
    instance point sprite emulation (FL9_3) at the start of the arrays,
    instead of swapping with the first non-instanced element. This makes
    the tracking logic of the caching somewhat cleaner.
    
    This facilitates the work of implementing instancing-on-instancing for
    FL9_3 conformance.
    
    BUG=angleproject:1279
    
    Change-Id: Ifb030816a313b1e8b916c57ef05915914443312a
    Reviewed-on: https://chromium-review.googlesource.com/325090
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 3a9132642c1ad10309998213bd90142a7531f3c2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Sat Feb 6 01:34:25 2016 +0000

    Revert "Avoid a copy in TextureStorage11::setData"
    
    Fails on the Windows builders:
    
    https://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Win%20Builder/builds/42201
    
    e:\b\build\slave\gpu_win_builder\build\src\third_party\angle\src\libangle\renderer\d3d\d3d11\load_functions_table_autogen.cpp(787) : error C2440: 'return' : cannot convert from 'const std::map<GLenum,rx::LoadImageFunction,std::less<_Kty>,std::allocator<std::pair<const _Kty,_Ty>>>' to 'const std::map<GLenum,rx::d3d11::LoadImageFunctionInfo,std::less<_Kty>,std::allocator<std::pair<const _Kty,_Ty>>> &'
            with
            [
                _Kty=GLuint
    ,            _Ty=rx::LoadImageFunction
            ]
            and
            [
                _Kty=GLuint
    ,            _Ty=rx::d3d11::LoadImageFunctionInfo
            ]
            Reason: cannot convert from 'const std::map<GLenum,rx::LoadImageFunction,std::less<_Kty>,std::allocator<std::pair<const _Kty,_Ty>>>' to 'const std::map<GLenum,rx::d3d11::LoadImageFunctionInfo,std::less<_Kty>,std::allocator<std::pair<const _Kty,_Ty>>>'
            with
            [
                _Kty=GLuint
    ,            _Ty=rx::LoadImageFunction
            ]
            and
            [
                _Kty=GLuint
    ,            _Ty=rx::d3d11::LoadImageFunctionInfo
            ]
            No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
    
    This reverts commit 52d3e43b66478b07d26c95a5511d4132cec26000.
    
    Change-Id: I83774ea09ccbb2b92ff609714e1c7201beb775bc
    Reviewed-on: https://chromium-review.googlesource.com/326540
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit b0c14b79dd5d1cd42f178816d800b769106de399
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Feb 5 16:49:10 2016 -0500

    D3D11: Fix 3D ReadPixels with PBOs.
    
    Pass the FBO attachment to the Buffer packing method so we can
    retrieve the layer of the attachment when doing an asynchronous
    readback. Also take advantage of the TextureHelper11 class to
    remove some redundant code.
    
    BUG=angleproject:1290
    
    Change-Id: I26bb21a03e0ff7a42aab4eee75f3c3d12915f398
    Reviewed-on: https://chromium-review.googlesource.com/324021
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 52d3e43b66478b07d26c95a5511d4132cec26000
Author: John Bauman <jbauman@chromium.org>
Date:   Wed Feb 3 13:40:37 2016 -0800

    Avoid a copy in TextureStorage11::setData
    
    This is essentially a reland of 9cf9bcbecaa1e54a47a92eb784e7f591f7b65c57
    
    This code always allocates a new memory buffer for the texture memory,
    picks a load function to copy/convert the input data into it, and the
    uploads.
    
    In the case where the input format matches the upload format we should
    be able to skip the allocation and copy and be much happier.
    
    Change-Id: I3c1a0ab34be91c7d39eb2d0866029d01352b6056
    Reviewed-on: https://chromium-review.googlesource.com/325526
    Tryjob-Request: John Bauman <jbauman@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit af344a1b0a5ba754a13eb8d6d0427a348f03b561
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Feb 5 14:51:00 2016 -0500

    Fail the dEQP tests early if the case list is not found.
    
    BUG=580045
    
    Change-Id: I917f62dca047ca163bfdbcc5437b2fc1d7a1e020
    Reviewed-on: https://chromium-review.googlesource.com/326401
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit f04f6671a793906476b5e9cb6c69136c02a9736c
Author: Ian Ewell <ewell@google.com>
Date:   Wed Feb 3 10:50:16 2016 -0500

    Add support for timer queries in D3D11
    
    Timer queries without context virtualization are now supported in the
    Direct3D11 backend. Only the elapsed time portion of the GL extension is
    supported though due to limitations of D3D11 preventing a reliable
    implementation of the timestamp functionality. As a result of this, the
    counter bits for the timestamp is set to 0 and any queries of the
    timestamp will always return 0.
    
    BUG=angleproject:657
    
    Change-Id: I51ca1a1a6bd6bc13155cebeacdca414b764db168
    Reviewed-on: https://chromium-review.googlesource.com/325780
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 6b3c1db5170450bbc4946d8f18ba0d8619da43a0
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Fri Dec 18 14:01:46 2015 -0800

    Implement EGL_experimental_present_path_angle
    
    This allows ANGLE to render directly onto a D3D swapchain in the correct
    orientation when using the D3D11 renderer.
    
    The trick is to add an extra uniform to each shader which takes either
    the value +1.0 or -1.0. When rendering to a texture, ANGLE sets this
    value to -1.0. When rendering to the default framebuffer, ANGLE sets
    this value to +1.0. ANGLE multiplies vertex positions by this value in
    the VS to invert rendering when appropriate. It also corrects other
    state (e.g. viewport/scissor rect) and shader built-in values
    (e.g. gl_FragCoord).
    
    This saves a substantial amount of GPU time and lowers power
    consumption. For example, the old method (where ANGLE renders all
    content onto an offscreen texture, and then copies/inverts this onto the
    swapchain at eglSwapBuffers() time) uses about 20% of the GPU each frame
    on a Lumia 630.
    
    Verification:
    + dEQP GL ES2 tests pass when "present path fast" is enabled
    + all ANGLE_end2end_tests pass when "present path fast" is enabled
    
    BUG=angleproject:1219
    
    Change-Id: Ib6eeea46bafa6ebce4adada0ae9db3a433b8fc4c
    Reviewed-on: https://chromium-review.googlesource.com/321360
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tryjob-Request: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit dbc9ccfb719c031fb82432db2d1fe43df1f7928c
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Feb 2 11:44:21 2016 -0500

    Remove the _ANGLE targets from the GN build.
    
    They are no longer needed by Chromium.
    
    BUG=522967
    
    Change-Id: I187eed52378a58f3ea24c3e21082c6a93e56da7f
    Reviewed-on: https://chromium-review.googlesource.com/325330
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit e3939b985c8dc68b815bf9b2cb66e1ba7446fb33
Author: Minmin Gong <mgong@microsoft.com>
Date:   Tue Dec 1 15:36:51 2015 -0800

    D3D11: Transcode ETC1 to BC1.
    
    Adds a new extension to allow transcode ETC formats to suitable BC formats.
    This commit implements ETC1 to BC1. More formats will be supported soon.
    
    BUG=angleproject:1285
    
    Change-Id: Iacbfbc2248dfe1aebf24b92696249a9404e331cd
    Reviewed-on: https://chromium-review.googlesource.com/316511
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 7718c05b7966967bb01b28a93b7a677b4b31642a
Author: John Bauman <jbauman@chromium.org>
Date:   Mon Dec 28 20:34:34 2015 -0800

    Enable EGL_ANGLE_keyed_mutex on D3D11
    
    Pbuffers created using eglCreatePbufferFromClientBuffer from share handles
    created using keyed mutexes can now have their keyed mutex queried. All other
    pbuffers will continue to be created without keyed mutexes.
    
    BUG=337606
    
    Change-Id: Id9039064dd8c89fe1706cc8ecb31111c994761fc
    Reviewed-on: https://chromium-review.googlesource.com/324253
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 00140f4a412896b269212c93f39426ee6143a5e6
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Feb 3 18:47:33 2016 +0000

    Revert "Pass texture base level to shaders on D3D11"
    
    This reverts commit 3026829e155bd89b5ca5b7b7c5267699b9192557.
    
    Change-Id: I0b4c3f5b1453b993b149423bb1ce407f4918cf54
    Reviewed-on: https://chromium-review.googlesource.com/325435
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 3026829e155bd89b5ca5b7b7c5267699b9192557
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Jan 15 16:40:00 2016 +0200

    Pass texture base level to shaders on D3D11
    
    The base level is passed to shaders in a uniform block created
    specifically for passing sampler metadata. This is done on feature levels
    above 9_3, which treat samplers as indices to sampler arrays in shaders.
    
    BUG=angleproject:596
    TEST=angle_end2end_tests
    
    Change-Id: I846f2fc195ab1fd884052824ffd3c1d65083c0fb
    Reviewed-on: https://chromium-review.googlesource.com/322122
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit 9c757b127c514d9ae2f1a47ffb0f3fdd407fe381
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Feb 1 14:09:06 2016 -0500

    D3D11: Fix ReadPixels with layer 3D attachments.
    
    Non-zero layer attachments are FBO attachments of 3D textures bound
    from a layer other than zero. These haven't ever worked AFAIK. Fix
    them by retrieving the correct layer from the FBO attachment.
    
    Note: 3D attachments are still broken with PBO ReadPixels. The fix
    for those will come in a subsequent patch.
    
    BUG=angleproject:1290
    
    Change-Id: I5417e7374188dd320e1209d006723ce070f98561
    Reviewed-on: https://chromium-review.googlesource.com/323472
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit e2509a39b9e2db46f7e6121c2109dd3b15c03b15
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Feb 1 14:09:05 2016 -0500

    D3D11: Fix basic ReadPixels from 3D attachments.
    
    Use the TextureHelper class to abstractly handle 2D and 3d textures.
    
    Also refactor the Image11 copy methods to be a bit cleaner and not
    use the copy conversion path when unnecessary.
    
    This patch does not yet fix layer attachments - the fix for that will
    come up in a subsequent patch.
    
    BUG=angleproject:1290
    
    Change-Id: If8b7aa8848ca4260e0dde690e7a99e115a97fabb
    Reviewed-on: https://chromium-review.googlesource.com/323442
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 5e017349e29840ddb4c739834e95c9a729bedfb2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Feb 1 11:13:04 2016 -0500

    Add Debug labels to more D3D11 objects.
    
    This makes debugging using graphics tools easier on Windows.
    
    BUG=angleproject:1290
    BUG=angleproject:1299
    
    Change-Id: Ia3889c10fd8e23486f0122e0b567c470517bc9e0
    Reviewed-on: https://chromium-review.googlesource.com/324821
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 69a75a2ebdd33ae6f975a57986fe39f7f2b5a81e
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Tue Nov 3 16:40:28 2015 -0800

    Add an EGL spec for EGL_experimental_present_path_angle
    
    BUG=angleproject:1219
    
    Change-Id: I1e303ec30ffe877aebf00720620b818c335fac76
    Reviewed-on: https://chromium-review.googlesource.com/310652
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Austin Kinross <aukinros@microsoft.com>

commit 53f59f4e75282a4f8be0e7e638f1588775b1bba4
Author: Ian Ewell <ewell@google.com>
Date:   Thu Jan 28 17:36:55 2016 -0500

    Finish basic timer query support in GL backend
    
    EXT_disjoint_timer_query is feature complete with the WebGL tests passing
    with Chromium using ANGLE as a backend. There is some flakiness in the
    timestamp query test on WebGL, but investigation revealed a bug on
    Chromium's end and a fix is being made there. Since the extension is
    feature complete, it is now enabled by default on OpenGL so that it can be
    regression tested.
    
    BUG=angleproject:1265
    
    Change-Id: If018b7e3ae84aff7e40c73ff8e672a86689ae6c4
    Reviewed-on: https://chromium-review.googlesource.com/324580
    Tryjob-Request: Ian Ewell <ewell@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Ian Ewell <ewell@google.com>

commit 331c68a2db95465d79bf62d763e2b2cb67552e13
Author: Kenneth Russell <kbr@chromium.org>
Date:   Mon Feb 1 18:54:48 2016 -0800

    Remove win_angle_x64_dbg_ng tryserver.
    
    This won't be mirrored on the waterfall for the time being due to lack
    of hardware.
    
    BUG=542370
    
    Change-Id: I2ecfde30f66d3dcdde2d05144d647c2b4b5c83d3
    Reviewed-on: https://chromium-review.googlesource.com/325133
    Tested-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit ae7864556a5e3db0bb9cc303a8e9f8800ce94fc7
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Feb 1 16:23:34 2016 -0500

    Tell GN about the dependecy of dEQP tests on expectations
    
    Without this, gn-built isolates do not include the test expectations
    file in the isolate, causing the test suite to bail out at startup.
    Also rename target_name to api_name as target_name is a special
    variable name when inside a target definition.
    
    BUG=580045
    
    Change-Id: I20be39c7e50e24757a0828f9056613e171f0002f
    Reviewed-on: https://chromium-review.googlesource.com/325040
    Tested-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit 9b4e8626f8b78bb4320010abb0de3bc5b528fa94
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Dec 22 15:53:22 2015 +0200

    Redesign samplers in shaders on D3D11
    
    Translation of samplers to HLSL on D3D11 is changed as follows:
    
    Instead of passing around HLSL sampler and HLSL texture references in
    shaders, all references to ESSL samplers are converted to constant
    indices within the shader body. Each ESSL sampler is identified by an
    unique index. In the code generated to implement ESSL texture functions,
    these indices are used to index arrays of HLSL samplers and HLSL
    textures to get the sampler and texture to use.
    
    HLSL textures and samplers are grouped into arrays by their types. Each
    unique combination of a HLSL texture type + HLSL sampler type gets its
    own array. To convert a unique sampler index to an index to one of these
    arrays, a constant offset is applied. In the most common case of a 2D
    texture and a regular (non-comparison) sampler, the index offset is
    always zero and is omitted.
    
    The end goal of this refactoring is to make adding extra metadata for
    samplers easier. The unique sampler index can be used in follow-up
    changes to index an array of metadata passed in uniforms, which can
    contain such things as the base level of the texture.
    
    This does not solve the issues with samplers in structs.
    
    The interface from the point of view of libANGLE is still exactly the
    same, the only thing that changes is how samplers are handled inside the
    shader.
    
    On feature level 9_3, the D3D compiler has a bug where it can report that
    the maximum sampler index is exceeded when in fact it is not. This can
    happen when an array of samplers is declared in the shader. Because of
    this the new approach can't be used on D3D11 feature level 9_3, but it
    will continue using the old approach instead.
    
    BUG=angleproject:1261
    TEST=angle_end2end_tests,
         dEQP-GLES3.functional.shaders.texture_functions.* (no regressions)
         dEQP-GLES3.functional.texture.units.* (no regressions)
    
    Change-Id: I5fbb0c4280000202dc2795a628b56bd8194ef96f
    Reviewed-on: https://chromium-review.googlesource.com/320571
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>
    Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com>

commit 5bf9ff4aa2ebb60c59d1050b7cf9da827c711656
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Feb 1 11:13:03 2016 -0500

    Fix leak with binding Framebuffers directly.
    
    Using BindFramebuffer(1) then GenFramebuffers would return 1.
    This leads to a memory leak and was something that was obscuring
    debugging a bug in my ReadPixels fix for ES3.
    
    This also fixes a bug where running the texture tests along produces
    some random failures.
    
    BUG=angleproject:1290
    BUG=angleproject:1299
    
    Change-Id: If11e8c743d2ddde725b12749ac012f670cd290e1
    Reviewed-on: https://chromium-review.googlesource.com/324820
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 541591d50969f6435c97719a82a884de68f39717
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Jan 28 14:27:50 2016 -0500

    Fix some override related warnings.
    
    BUG=
    
    Change-Id: I9e67ba2165ac87959f319fd2485fe385c60a8ea0
    Reviewed-on: https://chromium-review.googlesource.com/324461
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 07fd1aaa83a9c1f0eebd7305daeec67cea7519ec
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Feb 1 11:13:03 2016 -0500

    Updated a few new passing tests in dEQP-GLES3.
    
    Unknown when these started passing, but they seem to be OK locally
    and on the bot.
    
    BUG=angleproject:1095
    BUG=angleproject:1097
    BUG=angleproject:1101
    
    Change-Id: Icf6102792b356cd23bf39414f75e796fe7e81879
    Reviewed-on: https://chromium-review.googlesource.com/324940
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 7c41df139f0bcd29554edac750f3427c2a162d10
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Feb 1 08:55:14 2016 -0500

    DisplayGLX: fix a SwapControl copy-paste error
    
    BUG=angleproject:1304
    
    Change-Id: If0ec8682b1d519bc6460cd6ed82f42c4c1ceb952
    Reviewed-on: https://chromium-review.googlesource.com/324930
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit bc69f3bead4925736374532a18a3201042db2c3c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jan 29 09:48:08 2016 -0500

    Build GN dEQP iff "build_angle_deqp_tests==true"
    
    BUG=580045
    
    Change-Id: Id19f843e8a04d38938b6827a7a64970eb088bcc6
    Reviewed-on: https://chromium-review.googlesource.com/324760
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit f2523eb7dcf109f5e66427082bf84c4b13af787c
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Jan 28 14:25:04 2016 -0500

    DisplayGLX: disable the GLES backend on Intel and NVIDIA
    
    This is to fix failures in the automated testing while we work on them.
    
    BUG=angleproject:1303
    
    Change-Id: I0813b5cf1dca1e329504704c70b9d2b0c34d003b
    Reviewed-on: https://chromium-review.googlesource.com/324460
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 3ffd78bc8b11a411c88c32179379696e25147716
Author: Ian Ewell <ewell@google.com>
Date:   Fri Jan 22 16:09:42 2016 -0500

    Add initial support for EXT_disjoint_timer_query.
    
    Basic timer queries are supported and tested in the OpenGL backend
    but are not enabled by default. A good portion of the existing query
    code was also refactored for improved validation - specifically for
    validating that the appropriate extensions are available.
    
    BUG=angleproject:1265
    
    Change-Id: Iebae994cd7a8d3ed3e9fc3776fe2f3d99caa9237
    Reviewed-on: https://chromium-review.googlesource.com/323450
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tryjob-Request: Ian Ewell <ewell@google.com>
    Tested-by: Ian Ewell <ewell@google.com>

commit 89853e8420c5feaa751173dc709d6680e13f9b8a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jan 28 10:36:36 2016 -0500

    Clean up unused variable macros.
    
    We might want UNUSED_ASSERTION as a special case but the unused trace
    variable macro was being abused in places.
    
    BUG=angleproject:1290
    
    Change-Id: I5f9252b3ff0484d2e859b9fcf68d5d060b28f1fc
    Reviewed-on: https://chromium-review.googlesource.com/324290
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit eaaeb7fbe69a1cfbce93a93a06b78ceceb2b2eaf
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jan 27 16:07:07 2016 -0500

    Disable support for OpenGL ES targets with WGL on Intel drivers.
    
    BUG=angleproject:1145
    
    Change-Id: I9f3a8926eaad88076026f58922289487f90518c7
    Reviewed-on: https://chromium-review.googlesource.com/324270
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 5c8966911d5082ccaa0288cacbe0361ca639b3df
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Jan 26 14:29:20 2016 -0500

    X11Window: fix the behavior of setVisible
    
    An obvious bug crept in setVisible where setVisible(true) twice would
    end up hiding the window.
    
    BUG=angleproject:1145
    
    Change-Id: Iea8ca3de4ab8c05e6da66fb04c8d377824547b41
    Reviewed-on: https://chromium-review.googlesource.com/324090
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>

commit b3844843dd413a0758c28cb1fd16efab83b4e5fb
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Jan 27 15:03:06 2016 -0500

    Remove the now unused _ANGLE targets.
    
    BUG=522967
    
    Change-Id: I9a5c1793b089920273c74ab43fd5464d0aea7adb
    Reviewed-on: https://chromium-review.googlesource.com/324022
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit a832742dd4698be5ecbc25b976a7aba7ad1ff152
Author: Andrii Shyshkalov <tandrii@chromium.org>
Date:   Wed Jan 27 22:22:52 2016 +0100

    Touch Infraustructure CQ config.
    
    Change-Id: I9f733055ba3c22950eeedc17e756fe50af272a16
    Reviewed-on: https://chromium-review.googlesource.com/324280
    Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
    Tested-by: Andrii Shyshkalov <tandrii@chromium.org>

commit 4c06817a45dc2b350f21ff15ae37453ea5f9d7f4
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Jan 25 15:50:20 2016 -0500

    Add support for targetting GLES with DisplayGLX.
    
    BUG=angleproject:1145
    
    Change-Id: I3072c31f2f743943b2ed9a3b1a020529112d5f71
    Reviewed-on: https://chromium-review.googlesource.com/324091
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 2e5dd41cd48039c858c0edf4840947c5041d625e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jan 27 13:16:35 2016 -0500

    Fix warnings from shadowed variables in DXGISwapChainWindowSurfaceWGL.
    
    BUG=540829
    
    Change-Id: I3595f316afa1897224ad95d6f9a3da3685aa0831
    Reviewed-on: https://chromium-review.googlesource.com/324032
    Tryjob-Request: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 3e1b4f80d856095e0a6d1ed97f75218d73d9ff81
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jan 27 12:39:27 2016 -0500

    Refactor ReadPixelsTest.
    
    Split the test into several categories based on what fixture types
    they need.
    
    BUG=angleproject:1290
    
    Change-Id: Ia25a022d90a0571e03d86c8e38f6243189968149
    Reviewed-on: https://chromium-review.googlesource.com/324020
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit ed1afee699016c6458d0dc8b4536cdb69110732b
Author: Andrii Shyshkalov <tandrii@chromium.org>
Date:   Wed Jan 27 16:03:22 2016 +0000

    Reland "Infrastructure: CQ Verified label is no longer required."
    
    This re-lands https://chromium-review.googlesource.com/#/c/323690/. It didn't break tryjobs, they actually didn't work.
    
    Change-Id: Id3da7658515f59e8dae550816d82b1fcce1e5f7a
    Reviewed-on: https://chromium-review.googlesource.com/324220
    Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
    Tested-by: Andrii Shyshkalov <tandrii@chromium.org>
    Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>

commit a15472a3e0f8a77f44737e19a8b2e8bc58b4445c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Aug 11 11:48:03 2015 -0400

    Fix bugs with drawbuffer state.
    
     * IsAttachmentEnabled was checking the wrong draw buffer state.  Instead
       of checking that drawbuffer[colorAttachment] is in use, it should have
       been scanning for a drawbuffer state that points to colorAttachment.
     * Allow for maxDrawBuffer != maxColorAttachments.  Tested by the GL
       backend on some systems that don't have the draw buffers extension.
    
    Fixed by updating the helpers and adding a new getDrawBuffer helper.
    
    BUG=angleproject:1121
    
    Change-Id: Idd1b0a9ec4a3f944d332c708364408bf5d59e1fd
    Reviewed-on: https://chromium-review.googlesource.com/292740
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tryjob-Request: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 722b0d3134a50ee60d4594ac7ef7493c725a41f4
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Dec 8 11:46:28 2015 -0500

    Add a WGL Surface implementation that renders to a DXGI swap chain.
    
    This avoids sandbox issues when calling SetPixelFormat on windows from
    other processes while in a sandboxed process.
    
    BUG=540829
    
    Change-Id: I012168531d8c2e5b189671533cea9f57ec713538
    Reviewed-on: https://chromium-review.googlesource.com/296340
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tryjob-Request: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 0dfa807f7d4d127c67a518e26289298a6f643f98
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jan 22 15:27:21 2016 -0500

    Tests: Prettify output for EXPECT_PIXEL_EQ.
    
    Previously our output would spam multiple lines by checking equality
    for each color component. Instead, use a helper struct with a stream
    operator to clean up the output. This makes it much more legible.
    
    New output style:
    
      Expected: (0, 255, 0, 255)
      Actual: angle::MakeGLColor(255, 0, 127, 255)
      Which is: (255, 0, 127, 255)
    
    BUG=angleproject:1290
    
    Change-Id: Ieea018ab6c149a20b5fd74d74c972118b63a4b5e
    Reviewed-on: https://chromium-review.googlesource.com/323441
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit f83cbc653154a20919ee7da1a99e47b00896a322
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jan 22 15:27:21 2016 -0500

    Use std::random functions for test and samples RNG.
    
    These standard functions are much more powerful than the C random()
    routines. Use them to improve the random utils, and use a class
    to clean things up further.
    
    This fixes a problem I was having using random_utils where I was
    having trouble generating random 32 bit unsigned integers.
    
    BUG=angleproject:1290
    
    Change-Id: I5081764053d0667a4e323553b7dea531256aa778
    Reviewed-on: https://chromium-review.googlesource.com/323440
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 436e32aec8736454db7f64600924a0bf791f30bb
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Jan 15 15:53:12 2016 -0500

    GLX backend: check for child window resizes on eglWaitNative
    
    This is the standard way, if not often used, for application to notify
    the driver of window size changes. Chromium uses it to resize when it
    is done rendering and swapping so that drivers do not clobber the
    backbuffer.
    This fixes black flickering appearing when resizing the Chromium
    windows with --use-gl=angle.
    
    BUG=angleproject:1281
    
    Change-Id: Ic76f3c3ef453eae07eb59122135290411f86764d
    Reviewed-on: https://chromium-review.googlesource.com/322390
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit c1069a0884d9c083c58832d0e45ef4a2c6f804f9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jan 22 15:27:20 2016 -0500

    D3D11: Add a TextureHelper class to wrap 2D+3D reads.
    
    In some cases in our code we had hard-coded ID3D11Texture2D, where
    the code should handle 2D and 3D textures. This happens in ReadPixels,
    where we have to handle 3D textures when the user binds a layer of a
    3D textures with FramebufferTextureLayer.
    
    This is a refactoring patch only, which makes the error cleaner.
    Tests and the bug fix to come in a follow-up patch.
    
    BUG=angleproject:1290
    
    Change-Id: Ie1c293dead4d5b6b4dd6ce24ba2a9146619b141d
    Reviewed-on: https://chromium-review.googlesource.com/322680
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 5103f4c0571fa215492dfd223b916c2f9b9c8454
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jan 26 11:40:18 2016 -0500

    Supress AMD OpenGL failures in angle_end2end_tests.
    
    BUG=angleproject:1291
    
    Change-Id: I4fc8cc152bb5ef18fff78bf312a14691e9de0243
    Reviewed-on: https://chromium-review.googlesource.com/324030
    Tryjob-Request: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 69accbd15bc61e389ce4f0d90bca8a98b24a1c57
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jan 25 16:22:32 2016 -0500

    Supress Mac OpenGL AMD angle_end2end_test failures.
    
    BUG=angleproject:1291
    
    Change-Id: I7fe6a6203c71c893dad97d6e9bc8272164d44f58
    Reviewed-on: https://chromium-review.googlesource.com/323790
    Tryjob-Request: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 60ec6ea70370741bd002525a15be2713ff3597ff
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jan 22 15:27:19 2016 -0500

    Implement dirty bits for Framebuffer.
    
    The dirty bits set the stage for performance improvements in D3D, but
    don't actually reduce any of the redundant work just yet.
    
    BUG=angleproject:1260
    
    Change-Id: Ib84e6a9b7aa40c37c41790f492361b22faaf4742
    Reviewed-on: https://chromium-review.googlesource.com/318730
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit b8d283990c32a4ddaac401094c1dd993c6997828
Author: Andrii Shyshkalov <tandrii@chromium.org>
Date:   Mon Jan 25 19:49:46 2016 +0000

    Revert "Infrastructure: CQ Verified label is no longer required."
    
    This might cause analyze weirdness as shown in tryjobs here.
    
    NOTRY=true
    
    This reverts commit 5b74bd390334b1c988bb4b941e7765b992f611f7.
    
    Change-Id: I018925a55ce4cebbc873e8c0ebb4b97ae9ca1020
    Reviewed-on: https://chromium-review.googlesource.com/323581
    Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
    Tested-by: Andrii Shyshkalov <tandrii@chromium.org>
    Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>

commit e0cc2a4a5877237d076317701a1142a1e5780eca
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jan 20 10:58:17 2016 -0500

    Enable all angle_end2end_tests targeting OpenGL and OpenGL ES backends.
    
    Added failure supressions and filed bugs for failing tests.
    
    BUG=angleproject:1145
    BUG=angleproject:1289
    BUG=angleproject:1291
    BUG=angleproject:1292
    BUG=angleproject:1293
    BUG=angleproject:1296
    
    Change-Id: Ida78ba855500fe8a6ce6154d43ee01520330e3b1
    Reviewed-on: https://chromium-review.googlesource.com/322695
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>

commit 9d81989dc803349c5ededc7c1cd04eb122042777
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Fri Jan 22 16:56:04 2016 -0500

    Add GL_OES_EGL_image functions.
    
    Needed to work on Chrome OS.
    
    BUG=angleproject:1297
    
    Change-Id: I78e18472780745f73257c8954f263d236ff92180
    Reviewed-on: https://chromium-review.googlesource.com/323470
    Tryjob-Request: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Frank Henigman <fjhenigman@chromium.org>

commit 82e3f3de8e1a0581d9b753e3704a4d639da61ed8
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Fri Jan 22 17:55:44 2016 -0500

    Cast display parm for eglGetPlatformDisplayEXT.
    
    The native display parameter to eglGetPlatformDisplayEXT has type void*.
    When building with -DUSE_OZONE the native display type is intptr_t so
    a cast is needed.
    
    BUG=angleproject:1297
    
    Change-Id: I947f5f9016926b6e3d590a2e29b5ee1fc883384d
    Reviewed-on: https://chromium-review.googlesource.com/323471
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
    Commit-Queue: Frank Henigman <fjhenigman@chromium.org>
    Tested-by: Frank Henigman <fjhenigman@chromium.org>

commit 5b74bd390334b1c988bb4b941e7765b992f611f7
Author: Andrii Shyshkalov <tandrii@chromium.org>
Date:   Mon Jan 25 15:17:50 2016 +0100

    Infrastructure: CQ Verified label is no longer required.
    
    BUG=577560
    
    Change-Id: Ibd5b8bfd0da1631b03317dc6d0c85c649c947c12
    Reviewed-on: https://chromium-review.googlesource.com/323690
    Commit-Queue: Andrii Shyshkalov <tandrii@chromium.org>
    Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
    Tested-by: Sergiy Byelozyorov <sergiyb@chromium.org>

commit 33db61d1ac8d862f248bbe2080b978ee791d6137
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jan 20 10:54:49 2016 -0500

    Add support for targetting GLES with DisplayWGL.
    
    BUG=angleproject:1145
    
    Change-Id: I5a0a667621aceedb4662cfb2356d7dbd0d9f7718
    Reviewed-on: https://chromium-review.googlesource.com/285557
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 451ed25a1da263cca5402a0fa2c6d7f12e9fd97f
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Jan 21 21:16:45 2016 -0500

    Fix packSnorm2x16.
    
    Casting -32767.0f to uint16_t on Android resulted in 0.
    According to C99 6.3.1.4 footnote 50 this kind of cast behavior is unspecified
    
    BUG=angleproject:913
    TEST=build/android/test_runner.py gtest -s angle_unittests --release
    
    Change-Id: I136386fe0aa618c17f07f99d8e1ca72fa407d36a
    Reviewed-on: https://chromium-review.googlesource.com/323230
    Tryjob-Request: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Yuly Novikov <ynovikov@chromium.org>

commit a8e3494e4d598a0fb7461776e966d9c9e292b1aa
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jan 20 10:51:40 2016 -0500

    Don't force using sized internal texture formats for OpenGL ES.
    
     * LUMA formats don't have sized versions without specific extensions.
     * This allows a more direct translation, the driver should do the right
       thing.
    
    BUG=angleproject:884
    BUG=angleproject:1145
    
    Change-Id: I2ad13db7216eb7c715621a237b13ae9e3035310a
    Reviewed-on: https://chromium-review.googlesource.com/322694
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit b2d9ab67f55f43b1b0e37b25b53f5c0b68a6d058
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jan 20 10:50:09 2016 -0500

    Update FunctionsGL to load OpenGL ES entry points.
    
    BUG=angleproject:1145
    BUG=angleproject:879
    
    Change-Id: I04eb900df28909f97469691a6c05a6af775d7465
    Reviewed-on: https://chromium-review.googlesource.com/322693
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 924b7de2c7c039cc5f01eda2a41363f1b803c840
Author: Ian Ewell <ewell@google.com>
Date:   Thu Jan 21 13:54:28 2016 -0500

    Always write to gl_Position when compiling shaders with
    SH_GLSL_COMPATIBILITY_OUTPUT.
    
    BUG=angleproject:1277
    
    Change-Id: Ib820a46151637e8c61e94b966b970de46ccca6b9
    Reviewed-on: https://chromium-review.googlesource.com/323160
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Tested-by: Ian Ewell <ewell@google.com>

commit d544cc9ff4a48adb2b0013e8abc9b9dd51bc8d18
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Mon Jan 11 15:26:42 2016 -0800

    Fail any ANGLE test if it outputs D3D11 SDK message in debug mode
    
    Also:
     - Disable some Feature Level 9_3 tests that trigger SDK messages
     - Fix a debug object name issue. If you try to assign a debug name
       to an object twice then you get an SDK warning message. This can
       occur if you 'create' two objects (e.g. Rasterizer States) with
       identical DESCs on the same device, since D3D11 can optimize
       this and return the same object both times.
     - Disable the message checks in Line Loops tests, since the tests
       trigger incorrect D3D11 SDK messages on Win7 machines
    
    BUG=angleproject:667;angleproject:1282
    
    Change-Id: I7284fb3a11377afde24e0014e21dbcea80ebb126
    Reviewed-on: https://chromium-review.googlesource.com/321393
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tryjob-Request: Austin Kinross <aukinros@microsoft.com>
    Tested-by: Austin Kinross <aukinros@microsoft.com>

commit fc7cf8e98c21cd08436b6a5b630c4aa821bdd35f
Author: Ian Ewell <ewell@google.com>
Date:   Wed Jan 20 15:57:46 2016 -0500

    Fixed validation errors in teximage3d and friends.
    
    BUG=angleproject:1169
    BUG=angleproject:1101
    
    Change-Id: I3770335d04cafd652c2f3839afca3e4a854e6e76
    Reviewed-on: https://chromium-review.googlesource.com/322381
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Tested-by: Ian Ewell <ewell@google.com>

commit b9deac1c967416a6fb79121edc8e4e30306ddf0b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jan 20 10:47:50 2016 -0500

    Fix version check for GL_MAX_VARYING_COMPONENTS with OpenGL ES.
    
    BUG=angleproject:1145
    
    Change-Id: Ibd5dab0fe54516427e6f7697559fb0ef670e1035
    Reviewed-on: https://chromium-review.googlesource.com/322692
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 7acd7354a5e6486c8ffb97e77620faf3b5f04592
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Jan 20 15:12:07 2016 -0500

    Revert "Revert "OSXWindow: fix window size and position computations""
    
    This reverts commit 67d810449c661460770ba7812856cd3da30ad8d6.
    
    Change-Id: I4fcaffeb161d22c1cea72fd764461b0c38024e01
    Reviewed-on: https://chromium-review.googlesource.com/322214
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 70c27e8e5dae8fa0c12c01581b3741027dafb8d9
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Jan 20 14:41:42 2016 -0500

    Revert "Revert "WindowSurfaceCGL: unregister the SwapLayer on destruction""
    
    This reverts commit 10277159570e987a02a112fa994a4b82845786d3.
    
    Change-Id: I9ecf977845c6ee01d7c3e3791c23673407cfb91a
    Reviewed-on: https://chromium-review.googlesource.com/322213
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit dd46e64324805b92137293aaa28996616743744b
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Jan 20 15:13:10 2016 -0500

    Suppress ProvokingVertexTest.FlatTriWithTransformFeedback on Mac AMD
    
    BUG=
    
    Change-Id: Ia6e7c67aaed40cca70be5522e0b9edff2610b63a
    Reviewed-on: https://chromium-review.googlesource.com/322212
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>

commit c9d442d721cf9e8ca90c632ac04827a426e71812
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jan 20 11:17:24 2016 -0500

    Sync dirty objects at the GL layer.
    
    The dirty bit system currently puts dirty objects in line with the
    rest of the dirty state. This means at the Renderer level, the sync
    manager code would call back to the GL layer to sync the specific
    objects that are dirty. This is a bit of a layering violation (impl
    layer mutating top-level objects) and also a bit of repeated boiler-
    plate code.
    
    Fix this by treating dirty objects in a separate dirty bit set, called
    the dirty objects. This also has the benefit of allowing us to re-
    implement the dirty object set at a later date, if we want to store
    them in a list, or other structure.
    
    Also don't skip the state sync at the GL level if there are no GL
    dirty bits. The Impl might have some dirty bits locally, and it's
    better to call syncState and do the no-op check in the Impl than it
    is to also sync local state at every sync point (draw call, read, etc)
    in each Impl.
    
    BUG=angleproject:1260
    
    Change-Id: Id5d4beb2a1c4e3ad351edf54e3f32e828d5f5da3
    Reviewed-on: https://chromium-review.googlesource.com/318790
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 6fd7472f68260fd73741277fc0d09833139e694b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jan 20 10:59:34 2016 -0500

    Disable dEQP in GN.
    
    Change-Id: If2b3097f976a4433625b393c8562ea5d22c0c070
    Reviewed-on: https://chromium-review.googlesource.com/322211
    Reviewed-by: Nico Weber <thakis@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit c29968bbba8459cb17dd8f01e5a943106af7b55c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jan 20 11:17:23 2016 -0500

    Refactor FBO related entry points.
    
    Change the validation to the consistent style for easy auto-generation
    and make the context itself implement the entry points. This will more
    easily allow us to sync state without passing the Context to the
    Texture methods, or doing work in the entry point.
    
    BUG=angleproject:1260
    BUG=angleproject:747
    
    Change-Id: I7ed6ec5418b7f51d9e59529267b14b76b87743fb
    Reviewed-on: https://chromium-review.googlesource.com/319823
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 45838e33add73d519cbbac42af848c3a633f25e3
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Jan 15 11:40:56 2016 -0500

    WindowSurfaceGLX: ignore X11 when destroying windows
    
    Chromium seems to destroy the parent window before calling asking to
    destroy the EGL surface. We don't want to generate a BadWindow X11
    error in this case so we ignore errors when calling XDestroyWindow.
    
    BUG=angleproject:1281
    
    Change-Id: Ie63d188b6206c0ff3b5ac6a5a874e7d6018489e4
    Reviewed-on: https://chromium-review.googlesource.com/322361
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 07651e2482b7820138bccac8203692d474fe6f4f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jan 20 10:45:08 2016 -0500

    Fix OpenGL ES extension checks for floating point textures.
    
    BUG=angleproject:1145
    BUG=angleproject:884
    
    Change-Id: I1ab16a187155573989f0605dbdd06f73ad8c8c58
    Reviewed-on: https://chromium-review.googlesource.com/322691
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 0e7fe6751b11a0c56eef666c497eb50480d0152d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jan 20 10:41:05 2016 -0500

    Don't expose OES_texture_float_linear without OES_texture_float.
    
    Due to our extra logic that only exposes OES_texture_float if the format
    is renderable, it's possible that the OES_texture_float_linear can be
    exposed without OES_texture_float.  Make sure that can't happen.
    
    BUG=angleproject:1145
    
    Change-Id: I9b1262a39872abf4654d4e4751706679e24926f3
    Reviewed-on: https://chromium-review.googlesource.com/322690
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 7cfcdf0614526d94c468aef69a948258c050fd47
Author: Andrii Shyshkalov <tandrii@chromium.org>
Date:   Mon Jan 18 20:06:25 2016 +0100

    Set up infra config folder with CQ configuration.
    
    BUG=503611,577560
    
    Change-Id: I4ecb2c6a01c81f6a93c8ff4a52b89789711b23a5
    Reviewed-on: https://chromium-review.googlesource.com/322142
    Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
    Reviewed-by: Paweł Hajdan Jr. <phajdan.jr@chromium.org>
    Tested-by: Andrii Shyshkalov <tandrii@chromium.org>

commit 450955818a3af6e46228169abdb62c49c50963be
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Thu Jan 14 16:53:36 2016 -0800

    Enable resource sharing for D3D11 devices created with WARP
    
    ANGLE currently blocks resources sharing if ANGLE was initialized using
    EGL_PLATFORM_ANGLE_DEVICE_TYPE_WARP_ANGLE. This is to prevent applications
    from trying to share resources between hardware D3D devices and WARP.
    
    However, this prevents developers from deliberately initializing ANGLE
    to run on WARP, and then sharing resources with an external WARP device.
    ANGLE should support that scenario.
    
    BUG=angleproject:1283
    
    Change-Id: I86681355bf34f7fe3367261dd76c434a9fa60739
    Reviewed-on: https://chromium-review.googlesource.com/317318
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tryjob-Request: Austin Kinross <aukinros@microsoft.com>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 88829e846d06261c0aeac85da22a5e7d106c2774
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Tue Jan 12 13:04:41 2016 -0800

    Don't compile D3D geometry shader when using instanced point emulation
    
    If ANGLE is using instanced point sprites (e.g. on Feature Level 9_3) then it
    still tries to compile the point sprite geometry shader. It shouldn't do this.
    
    Change-Id: I6e7753dd337c385893fc4bea6c8438aeaf5e8427
    Reviewed-on: https://chromium-review.googlesource.com/321397
    Tryjob-Request: Austin Kinross <aukinros@microsoft.com>
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit a433388d568b626aaa8f7c453e5bf725c00c1d93
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Jan 14 17:24:50 2016 -0500

    Implement eglWait*
    
    This mostly does nothing except on X11 where it calls the equivalent
    glXWait*. eglWait* are needed because they are used by Chromium and
    were triggering an UNREACHABLE().
    
    BUG=angleproject:1281
    
    Change-Id: Iff9c127b16841bc27728304a5ba2caff49ff11b5
    Reviewed-on: https://chromium-review.googlesource.com/322360
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 10277159570e987a02a112fa994a4b82845786d3
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Jan 19 13:22:48 2016 -0500

    Revert "WindowSurfaceCGL: unregister the SwapLayer on destruction"
    
    This reverts commit da66ed625901c1ec2df324aa9563ee275130be4f.
    
    Change-Id: Ifcef6e06d1f3f30c14f4397d659df6bab857d05d
    Reviewed-on: https://chromium-review.googlesource.com/322392
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 986d09df24ad92f4eaa669deb140facb8be5ddd6
Author: Tibor den Ouden <tibordenouden@gmail.com>
Date:   Thu Jan 7 11:23:21 2016 +0100

    Improved performance of RefCountObject
    
    Drop virtual specifier on addRef() and release(). There are no derived
    classes which re-implement these functions.
    Inlined implementation of constructor and destructor. Destructor is
    still virtual, but empty implementation is now visible for derived
    classes. Destructor is now protected to make sure that object is
    destructed through release().
    
    BUG=angleproject:1263
    
    Change-Id: I744430c1d99b917f3d7b63d47305d937be323ee7
    Reviewed-on: https://chromium-review.googlesource.com/320861
    Tryjob-Request: Tibor Ouden, den <tibordenouden@gmail.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 67d810449c661460770ba7812856cd3da30ad8d6
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Jan 19 10:28:30 2016 -0500

    Revert "OSXWindow: fix window size and position computations"
    
    This reverts commit 34087533024da6a7253a57c83e23b8fa07ee66a8.
    
    Change-Id: Ide87d79791aa37095127f048929e1b7a925259ab
    Reviewed-on: https://chromium-review.googlesource.com/322391
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 46e6c7a512aa019a9af1239b6a139017facf2e31
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jan 18 14:42:30 2016 -0500

    Add stubs for no_error extension.
    
    In some cases ANGLE flushes state for FBOs during validation. For
    testing of the state synching code for FBOs, this makes end-to-end
    testing impossible.
    
    Solve this by partially implementing a hidden no_error extension,
    hidden to the user by not exposing the extension string, but allowing
    us to skip validation of some of the FBO methods that require checking
    for complete FBOs.
    
    BUG=angleproject:1280
    BUG=angleproject:1260
    
    Change-Id: I708f348ccec6697b974c48cd890ec75a703abe21
    Reviewed-on: https://chromium-review.googlesource.com/322210
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit e5df3066c0a33f31f79fca27fc4a14d2f5b219be
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Nov 18 13:45:19 2015 +0200

    D3D: Run applyTextures before applyShaders
    
    applyShaders will update uniform data by uploading the constant buffer.
    In the future uniform data will contain the base level of textures so
    that shaders can use it to adjust results of texture functions. The most
    natural place to set the base level in uniform data is applyTextures, so
    it needs to be run before applyShaders.
    
    updateSamplerMapping needs to be called before applyTextures, but
    genericDraw* functions already do that. Remove redundant
    updateSamplerMapping call from ProgramD3D::applyUniforms.
    
    BUG=angleproject:596
    BUG=angleproject:1092
    BUG=angleproject:1261
    TEST=angle_end2end_tests
    
    Change-Id: I1828f7bdc75999872a26941a02cb4b6c6a66094d
    Reviewed-on: https://chromium-review.googlesource.com/322121
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit a7416ff7fd10c79e976ea6cdc1caa78a7ca6f465
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Jan 18 12:22:55 2016 +0200

    Fix texture completeness check when base level > 0 is used
    
    ANGLE would previously treat a texture as incomplete whenever its base
    level was above 0. This was because the base level wasn't being taken
    into account correctly when determining what size the image at a specific
    mip level should be. Fix this by taking the base level into account when
    determining the expected size.
    
    BUG=angleproject:596
    TEST=angle_end2end_tests
    
    Change-Id: I4b05514aed2858797ea46cf3570c3c40e5efc508
    Reviewed-on: https://chromium-review.googlesource.com/322132
    Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 60f007d57c4965d218e670ae3006c4c293314f86
Author: Andrii Shyshkalov <tandrii@chromium.org>
Date:   Mon Jan 18 19:49:00 2016 +0100

    Remove obsolete parts of codereview.settings.
    
    Change-Id: Id59fca42b922c5c9bacb6eaed36ceb59e839d35e
    Reviewed-on: https://chromium-review.googlesource.com/322133
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tryjob-Request: Andrii Shyshkalov <tandrii@chromium.org>
    Tested-by: Andrii Shyshkalov <tandrii@chromium.org>

commit 34087533024da6a7253a57c83e23b8fa07ee66a8
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Jan 15 10:58:03 2016 -0500

    OSXWindow: fix window size and position computations
    
    Also improve debug messages in window_test.
    
    BUG=angleproject:1273
    
    Change-Id: Ie47dc1d7ad3be5a55d2a199334bba606f2b45ad0
    Reviewed-on: https://chromium-review.googlesource.com/322350
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit da66ed625901c1ec2df324aa9563ee275130be4f
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Jan 8 13:35:02 2016 -0500

    WindowSurfaceCGL: unregister the SwapLayer on destruction
    
    Previously the SwapLayer was kept in the CALayer hierarchy after
    WindowSurfaceCGL's destruction which caused SwapLayer's callbacks to be
    called after the shared data was freed, causing a segfault.
    
    BUG=angleproject:1233
    
    Change-Id: I71dce45330e6b7d5f06a41198c10890b1d8d520e
    Reviewed-on: https://chromium-review.googlesource.com/320711
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit c8c99a0a5d73a6494aebce463aef1eecca1304a9
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Jan 14 16:47:22 2016 +0200

    Add a texture test with a mix of different sampler types
    
    This test makes sure that even if sampler / texture registers get
    grouped together based on type in the HLSL backend of the shader
    translator, the D3D renderer still has the right register index
    information for each ESSL sampler.
    
    BUG=angleproject:1261
    TEST=angle_end2end_tests
    
    Change-Id: Id09f96cfa903cd20c8e7229980fa363bb07b6045
    Reviewed-on: https://chromium-review.googlesource.com/322200
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 8ff8da52deb223f9cf08f7a8cc2d8989c93fe57c
Author: John Bauman <jbauman@chromium.org>
Date:   Thu Jan 14 17:42:23 2016 -0800

    Create DirectComposition backbuffers as SHADER_INPUT
    
    With EGL_ANGLE_surface_orientation this is now necessary.
    
    Change-Id: I92a20a128640f7f30b8d1d18173336d40fdad187
    Reviewed-on: https://chromium-review.googlesource.com/322265
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: John Bauman <jbauman@chromium.org>

commit 732703e6bf547a5d7ad3bc384148efcdc9cb36c3
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jan 13 15:56:45 2016 -0500

    Don't duplicate calls to X11Window's setVisible.
    
    Calling setVisible multiple times in a row can cause a hang while
    X11Window waits for events that will never be generted.
    
    Change-Id: I43af8d4c79c7010dae78aa38c9716ed5b7b02865
    Reviewed-on: https://chromium-review.googlesource.com/322380
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 1a679900be26cf76f55fe0d6523aea69fd277a01
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Jan 14 12:21:47 2016 +0200

    Test shadow sampler + 3D sampler in the same shader
    
    Shadow samplers use a different sampler object type in D3D11 HLSL than
    other ESSL samplers. They need to be able to coexist in the same shader.
    
    BUG=angleproject:1261
    TEST=angle_end2end_tests
    
    Change-Id: I960f6a41c0237ed912b072527e14aebeca98cf7c
    Reviewed-on: https://chromium-review.googlesource.com/322120
    Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit 51f1c0f085aeb84a6a774a52ddb5b1b96a7dbc66
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Jan 13 16:16:24 2016 +0200

    Add a workaround for default framebuffer sometimes being SRGB
    
    On some GL driver/window system combinations the default framebuffer may
    do SRGB conversion, which affects the values written there by draw
    operations and read by readPixels. This is known to happen at least on
    some Intel systems. For this reason, use an FBO with a known format
    instead in the texture end2end tests.
    
    This enables turning on most TextureTest cases on the OpenGL backend.
    Tested on Intel HD 4600.
    
    BUG=angleproject:1261
    TEST=angle_end2end_tests
    
    Change-Id: I5a39bd1dadf15b7c52793a0f66d67e9f61618b83
    Reviewed-on: https://chromium-review.googlesource.com/321612
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit eb3169237f471f2b9dac72c2df0e49c68b8de4ec
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jan 12 10:22:09 2016 -0500

    Include function in EVENT macro on non-MSVS.
    
    Adding the function is very helpful for diagnostic messages. Also
    change the name of the debug trace capture file to the more distinct
    angle_debug.txt from debug.txt.
    
    Change-Id: I59b3d61568fd3917cd8c4a8125ee1c28d608aa30
    Reviewed-on: https://chromium-review.googlesource.com/321871
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 5fc4e56dfa3fade0b683a7b42e691137bda5fed0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jan 11 10:10:50 2016 -0500

    Remove two unused methods in BlockLayoutEncoder.
    
    Using these methods to compute block offsets instead of the block
    layout info could lead to some confusion.
    
    Change-Id: Iaa3b91bdb517632107923076e3ece7efeab278c2
    Reviewed-on: https://chromium-review.googlesource.com/321250
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Alexis Hétu <sugoi@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 19d48db1f3148ab042e40a01b386e8e4cafd3ada
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Jan 13 14:43:21 2016 +0200

    Fix incorrect delete function call in TextureTest
    
    The test must call glDeleteBuffers to delete a buffer instead of
    glDeleteTextures. This was one reason behind the texture tests failing
    on the GL backend.
    
    BUG=angleproject:1261
    TEST=angle_end2end_tests
    
    Change-Id: I67042f6948146f3c3fca9e01231b0c4935a6f08d
    Reviewed-on: https://chromium-review.googlesource.com/321611
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 8000a99e79200b972fe8a6d26575c80f5959a757
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Dec 15 14:11:59 2015 -0500

    WindowSurfaceCGL: make resizing work correctly.
    
    Previously the code didn't resize the depth buffer. Also adds a magic
    setNeedsDisplay call when resizing a CALayer.
    
    BUG=angleproject:1233
    
    Change-Id: Id1906312f58d474e95a1b5ebfc15eff4344cd126
    Reviewed-on: https://chromium-review.googlesource.com/318450
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 5faa15bfcb7c66b3660af0f37bfc9103d14ff822
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Mon Jan 11 13:32:48 2016 -0800

    Fix null sampler warning in TextureTest.TextureNPOT_GL_ALPHA_UBYTE
    
    The test deliberately tries to render a scene using an invalid texture.
    ANGLE rendered this correctly, but when it bound the dummy 1x1 black texture
    that's used instead of invalid textures, it didn't bind a sampler state. This meant
    that D3D had no pixel shader samplers bound, and outputted a debug warning.
    
    Also, technically the test should have been setting GL_UNPACK_ALIGNMENT=1,
    but that wasn't impacting the result of the test.
    
    BUG=angleproject:1248
    
    Change-Id: I871706d518077ea840a585ae0df8f9176e130cb1
    Reviewed-on: https://chromium-review.googlesource.com/321391
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 2173db3d7dfd73a32d2814ae3abebabf6560a100
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Jan 12 13:55:14 2016 +0200

    Add sampler array tests
    
    This adds some coverage for samplers that is missing from dEQP.
    
    The shaders in the added tests both have a sampler array with two
    samplers. The test shaders sample both textures, add up the results,
    and the tests then check that the results of the shaders are correct.
    Only constant indexing is used to access the sampler arrays.
    
    One test accesses the sampler array in the main function, another one
    first passes the array as a parameter to a user-defined function.
    
    BUG=angleproject:1261
    TEST=angle_end2end_tests
    
    Change-Id: I9a0100705ac0da4905d50da37c0149fdbdd24c42
    Reviewed-on: https://chromium-review.googlesource.com/321623
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 4644a20b9d898bb273abc11b3a7c3906d638543a
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Jan 12 15:12:53 2016 +0200

    Add a test for sampler as a function parameter
    
    This adds some coverage for samplers that's missing from dEQP.
    
    The test shader passes a sampler to an user-defined function, samples
    the texture there and sets the returned sample to gl_FragColor. The
    test then checks that the shader result is correct.
    
    BUG=angleproject:1261
    TEST=angle_end2end_tests
    
    Change-Id: I2cc511e591a4af01515c6fb38fd43c5f15337bcb
    Reviewed-on: https://chromium-review.googlesource.com/321622
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 53a2da13482c788664d9c94e7e117e3de83aaed8
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Jan 11 15:43:32 2016 +0200

    Test drawing with a shader with two different sampler types
    
    This adds some test coverage that's missing from dEQP.
    
    The test uses two different samplers in a shader, a cube map sampler
    and a 2D texture sampler, adds the sampling results together and checks
    if the result is correct.
    
    BUG=angleproject:1261
    TEST=angle_end2end_tests
    
    Change-Id: If21e24c964fc208b5d1ccd446834dabf13194944
    Reviewed-on: https://chromium-review.googlesource.com/321621
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 4a8329f2c895e0912ec43b595520a17c48b255aa
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Jan 11 17:12:57 2016 +0200

    Refactoring: Split TextureTest to multiple classes
    
    This removes the cube map setup and the draw scale parameter from the
    tests that don't need them, and reuses the code for setting up the window
    and the shader program for most of the texture tests. The tests are now
    structured as follows:
    
    TexCoordDrawTest: Test class that sets up a shader program for drawing
    with texture coordinates. Vertex shader source can be overridden in
    subclasses, and fragment shader source must be specified in subclasses.
    
    Texture2DTest: Inherits TexCoordDrawTest, sets up a 2D texture and a
    shader for drawing from it.
    
    Texture2DTestWithDrawScale: Inherits Texture2DTest, adding a scale
    parameter that scales the quad that gets drawn.
    
    TextureCubeTest: Inherits TexCoordDrawTest, sets up a cube map and a 2D
    texture and a shader for drawing from them.
    
    Texture2DArrayTestES3: Inherits TexCoordDrawTest. Reserves a texture ID
    and sets up an ESSL3 shader for drawing from a 2D texture array.
    
    Also add a few comments about where things being tested are specified.
    
    Also, ANGLETest::drawQuad parameter names are renamed to make their
    meaning clearer. The parameters affect the vertex shader attribute
    values, which the shader may use for other things besides setting the
    vertex position.
    
    BUG=angleproject:1261
    TEST=angle_end2end_tests
    
    Change-Id: Id673e36d5883aaaf47f2f830c2a1ad0ca293d578
    Reviewed-on: https://chromium-review.googlesource.com/321620
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 74f445060d812d44e5d84a9c90baf9eea179076d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jan 12 17:03:47 2016 -0500

    Only use the shortening warning in Clang.
    
    This seems to be Clang-only.
    
    Change-Id: I4276a29e3d1575bd47d58d819ed3223b2c66838a
    Reviewed-on: https://chromium-review.googlesource.com/321820
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit adc5b0eb75cf696c21ebe75a84cd8a0baef9a465
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Jan 12 16:35:23 2016 -0500

    Fix translator having multiply defined symbols in GN builds.
    
    This error was introduced in 82b5ab606f68bad27fe5d143d8b96e84801222ac
    where the translator's essl and glsl sources are compiled in both
    the translator and translator_lib targets. As translator depends on
    translator_lib this caused symbols to be defined multiple times.
    
    BUG=angleproject:1250
    
    Change-Id: I50bab7112d1460e14710f50250fa2417b2163236
    Reviewed-on: https://chromium-review.googlesource.com/321770
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit e865bb12998d0b1528044841e6fa956bd379a2ad
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jan 12 16:21:37 2016 -0500

    Update Debugging Tips document.
    
    BUG=None
    
    Change-Id: I9e417b37b072ea3874cd8b111d6b751295b9b0c2
    Reviewed-on: https://chromium-review.googlesource.com/321760
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit c89df2ba30ef5f3894916a6b00c0602e9ba601b9
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Dec 7 13:05:17 2015 -0500

    Add loadable_module versions of libEGL and libGLESv2.
    
    Reland with a link fix for Clang on Windows
    
    In order to implement the --use-gl=angle Chrome flag on Linux, we need
    to have the ANGLE .so directly in the build directory however GYP
    places shared_libraries under lib/ on Linux. On the contrary loadable_modules
    cannot be linked against so we need to keep the shared_library targets.
    
    This commit adds _ANGLE versions of the libEGL and libGLESv2 targets as
    loadable module that depend on their respective shared library.
    
    BUG=522967
    
    Change-Id: Iad968ab786b94b6041c279921de99633d23b48a7
    Reviewed-on: https://chromium-review.googlesource.com/318470
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 1fae35562c7538a201414b6ced601e5dc2aea586
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jan 7 14:33:48 2016 -0500

    Add dEQP Linux GN integration.
    
    BUG=angleproject:1272
    
    Change-Id: I20cb8968221c25bb374b3cc71d7ca619a35f1a2f
    Reviewed-on: https://chromium-review.googlesource.com/320781
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 5f80d0163e11ee25a3ceee261f3b7e8a139c932b
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Jan 11 11:16:01 2016 +0200

    Disallow invariant(all) pragma in ESSL 3.00 fragment shaders
    
    ESSL 3.00.4 section 4.6.1 says that using #pragma STDGL invariant(all)
    in a fragment shader is an error, so make it an error. This spec
    language is not found in ESSL 1.00, and it's been removed in ESSL 3.10.
    
    BUG=angleproject:1276
    TEST=angle_unittests
    
    Change-Id: I2022f35475f867304b55dfb142f8568f6df28830
    Reviewed-on: https://chromium-review.googlesource.com/321240
    Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit edbc2449de8e1f1b03859378422f59c4441b4933
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jan 4 11:25:00 2016 -0500

    Add dEQP GN integration.
    
    This is Windows-only for now, but will be expanded to Linux. Also do
    a bit of refactoring in our deqp.gypi file.
    
    BUG=angleproject:1272
    
    Change-Id: I526a99fe3b91a2d9e8901c7e033a4916a06780be
    Reviewed-on: https://chromium-review.googlesource.com/320800
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 82b5ab606f68bad27fe5d143d8b96e84801222ac
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Fri Dec 11 09:30:15 2015 -0800

    Compile out GLSL/ESSL translator output code if it's not needed
    
    In WinRT we only use the HLSL code, so the GLSL/ESSL output code
    is not necessary and is only adding to our binary size.
    
    BUG=angleproject:1250
    
    Change-Id: I9363ca3981bde50a230f8353c1bcc09f6ea209cb
    Reviewed-on: https://chromium-review.googlesource.com/317358
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tryjob-Request: Austin Kinross <aukinros@microsoft.com>
    Tested-by: Austin Kinross <aukinros@microsoft.com>

commit ff318af11dd07d7261f4e3597e4abee37a8a3b89
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Tue Dec 22 15:34:45 2015 -0800

    Fix BlendMinMaxTest.RGBA16F on D3D11 Feature Level 9_3
    
    This test checks for OES_texture_half_float, but it's trying to use a
    16F texture as a color buffer so it should be checking for
    EXT_color_buffer_half_float.
    
    Since EXT_color_buffer_half_float requires more format support (e.g.
    R16F, RG16F, RGB16F) than OES_texture_half_float, it's possible for an
    implementation to support one extension and not the other. D3D11 Feature
    Level 9_3 does this.
    
    Change-Id: I40fb38aa3f419be2606464bd0476cd064afe90fa
    Reviewed-on: https://chromium-review.googlesource.com/319642
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 9a8664539d6aa84d5b976ea6114f8cc52089c241
Author: Byungseon Shin <xingri@gmail.com>
Date:   Fri Jan 8 10:35:55 2016 +0900

    Fix compilation error on Linux
    
    BUG=574909
    
    Change-Id: I6dc4b010b67a9c7f3b64215a168e6ed5e894989b
    Reviewed-on: https://chromium-review.googlesource.com/320635
    Commit-Queue: Byungseon Shin <xingri@gmail.com>
    Tested-by: Byungseon Shin <xingri@gmail.com>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>

commit 200205840c7f612fa4db7b011432a411c2c05a69
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Jan 4 09:09:21 2016 -0500

    Small cleanup of MultiWindow
    
    Fixes a glitch on OSX where the root window would swap twice, causing a
    glitch.
    
    Change-Id: I5886105fb18ed8f45e69cd10b5d1cac49b82093f
    Reviewed-on: https://chromium-review.googlesource.com/320291
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 539146e1b65f7bea639a6e7e938b893bf6670b90
Author: Kenneth Russell <kbr@chromium.org>
Date:   Wed Jan 6 19:34:18 2016 -0800

    Add rpath for GN build of angle_end2end_tests.
    
    This fixes the static library build of this target on Linux.
    
    BUG=angleproject:1270
    
    Change-Id: Id65bd9b7136918829f385920b540a4df83650c6f
    Reviewed-on: https://chromium-review.googlesource.com/320615
    Tested-by: Kenneth Russell <kbr@chromium.org>
    Tryjob-Request: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 8d8b108ab6f71c73ae8635fddc51731b72e6a758
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Jan 4 16:44:57 2016 +0200

    Disallow local function prototypes
    
    Function prototypes should not be allowed inside other functions
    according to ESSL 3.00.4 section 4.2.4.
    
    BUG=angleproject:1068
    TEST=angle_unittests,
         dEQP-GLES*.functional.shaders.functions.invalid.local_function_proto*
    
    Change-Id: I54160da4d49b92a6cd7cbee020e67733963d4e10
    Reviewed-on: https://chromium-review.googlesource.com/320091
    Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 5d653186fd84a08579cec2874760fabf90681922
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Jan 4 14:43:28 2016 +0200

    Disallow multiple function prototypes in ESSL 1.00
    
    The same function can't be declared twice in ESSL 1.00. In ESSL 3.00 this
    is allowed.
    
    A function prototype following the definition of that function is not
    interpreted as redeclaration, and the shader compiler continues to allow
    this.
    
    BUG=angleproject:1067
    TEST=angle_unittests,
         dEQP-GLES2.functional.shaders.functions.invalid.double_declare*
    
    Change-Id: I6d2ddafd456d378d92839600f19069ad1cd19aff
    Reviewed-on: https://chromium-review.googlesource.com/320082
    Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit ee63f5d9f9ad4a47248abd4cdb7e8aee2ef453df
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Jan 4 11:34:54 2016 +0200

    Move function parsing code to ParseContext
    
    This change is pure refactoring. It will make it easier to fix bugs
    related to function declarations.
    
    BUG=angleproject:911
    BUG=angleproject:1067
    BUG=angleproject:1068
    TEST=angle_unittests
    
    Change-Id: I031783dc02612d9cf3ff7a9c8291cf8ab33577aa
    Reviewed-on: https://chromium-review.googlesource.com/320081
    Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit e66838601bc035585c35f12b811697585b5bed94
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jan 6 09:49:43 2016 -0500

    Make sure clang is defined before usage.
    
    Standalone builds failed to generate projects.
    
    Change-Id: I2897f84242255edabd0606ad858a048f635db0bc
    Reviewed-on: https://chromium-review.googlesource.com/320680
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nico Weber <thakis@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit e1743f37a9844a7b315c1703d4cf94bd3fce46ca
Author: Hans Wennborg <hans@chromium.org>
Date:   Wed Jan 6 05:24:22 2016 -0800

    Clang warning fixes
    
    This fixes member initialization order and unused private member
    warnings that broke the Clang build after the last Angle roll.
    
    BUG=82385
    
    Change-Id: If866f352bda6d66093c180fdbec6c16bf902b628
    Reviewed-on: https://chromium-review.googlesource.com/320466
    Reviewed-by: Nico Weber <thakis@chromium.org>
    Tryjob-Request: Nico Weber <thakis@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tryjob-Request: Geoff Lang <geofflang@chromium.org>
    Tested-by: Nico Weber <thakis@chromium.org>

commit ce95d05bd6df9a28c8f6a449985fe4d5988a7267
Author: Tibor den Ouden <tibordenouden@gmail.com>
Date:   Sun Dec 20 22:20:14 2015 +0100

    Fixed memory leak in egl::Error and gl::Error
    
    Move assignment operator of both classes contained a memory leak.
    Changed type of mMessage from mutable std::string *to mutable
    std::unique_ptr<std::string>
    
    BUG=angleproject:1264
    
    Change-Id: I7d1419b2e9f385b36afebfd6371983be33ee9e61
    Reviewed-on: https://chromium-review.googlesource.com/319520
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tryjob-Request: Tibor Ouden, den <tibordenouden@gmail.com>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit f786c2b9768ab0035593756fcd45c649dd112788
Author: Roland McGrath <mcgrathr@chromium.org>
Date:   Tue Jan 5 12:26:07 2016 -0800

    GN: Use $root_out_dir in in copy_compiler_dll rule
    
    The root_build_dir variable yields the root of the build tree.
    But when the component is being built under a non-default
    toolchain, its output files are delivered to a toolchain
    subdirectory instead.  The copy_compiler_dll rule should put its
    output next to where libANGLE and things built using it will go,
    which is root_out_dir.  This fixes cases where the angle GN
    component is instantiated under more than one toolchain, which
    heretofore would produce multiple Ninja rules for the same target
    file $root_build_dir/d3dcompiler_47.dll and thus get complaints
    from Ninja.
    
    BUG=512869
    
    Change-Id: I9fe83c5c5fa74902ef270654d3707636588af6b7
    Reviewed-on: https://chromium-review.googlesource.com/320119
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Roland McGrath <mcgrathr@chromium.org>

commit 69bbc98eaa5dd5f9524370387980ce7f60f7fbe7
Author: Trent Apted <tapted@chromium.org>
Date:   Tue Jan 5 13:25:05 2016 +1100

    Fix case of #includes in DisplayCGL.mm
    
    Building libGLESv2 on Mac currently results in
    
    .../DisplayCGL.mm:9:10: fatal error: 'libANGLE/renderer/gl/CGL/DisplayCGL.h' file not found
    
    Other files in libANGLE/renderer/gl/cgl are using lowercase `cgl`
    for #includes. DisplayCGL.mm should do the same.
    
    Change-Id: I03b68041ef3194eb14d65738e4e4fb12711b1b20
    Reviewed-on: https://chromium-review.googlesource.com/320155
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit ca311ddb5edd2c93b473bd9e4be4516f261d110a
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Dec 7 15:07:48 2015 -0500

    Enable and fix the -Wshorten-64-to-32
    
    BUG=angleproject:635
    
    Change-Id: If09014508d5f4dfeb17ac946672a76a98b8ad175
    Reviewed-on: https://chromium-review.googlesource.com/316580
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 7ee40d1a0e83112d235cf00bbc0a5d12a595ea27
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Jan 4 08:37:00 2016 -0500

    Fix compilation failures on OSX standalone builds
    
    BUG=
    
    Change-Id: Ifd40ae30d601227caf550546fcffc286cf533a73
    Reviewed-on: https://chromium-review.googlesource.com/320290
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit ce8045dcec4ec34ce9936211b2e17eb090504262
Author: John Bauman <jbauman@chromium.org>
Date:   Mon Jan 4 19:40:47 2016 -0800

    Fix EGL_ANGLE_flexible_surface_compatibility string
    
    The extension string was misspelled.
    
    Change-Id: Ic44dfe7340696e7e49c4924db068e9454927d5c4
    Reviewed-on: https://chromium-review.googlesource.com/320371
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 0d53c4007f6cf346765fae9dc99d4bb7b2ca8e40
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Jan 5 03:30:51 2016 -0500

    Revert "Ignore clang -Wall warning."
    
    This was not working as intended. The correct fix was implemented in
    444922662a59a45ad8f86ec9480b180571337f4e
    
    This reverts commit 74b92323c9a210178ab97cc9418d6bf639cb9d8c.
    
    Change-Id: Ib2bc3861bcdb49555b59981ca95f1c1c1e924d7d
    Reviewed-on: https://chromium-review.googlesource.com/320480
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 465b3a5f9542986812a1e6b55551b8ecd401636c
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Dec 15 12:08:24 2015 +0200

    Add texture sampling perf test
    
    The test generates a texture containing random data and then blurs it in
    a fragment shader using nearest neighbor sampling. The test is
    specifically designed to test overhead of GLSL's builtin texture*()
    functions that may result from how ANGLE translates them on each backend.
    
    BUG=angleproject:1261
    TEST=angle_perftests
    
    Change-Id: I188fa8c07e609b7f371e587358f913b506bd7d44
    Reviewed-on: https://chromium-review.googlesource.com/319382
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 9b6b351ef5263ea1100c327c64083693701a6238
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Jan 5 14:16:22 2016 +0200

    Fix build issue in direct composition patch
    
    MSVS2013 was warning about implicit conversion from EGLint to bool.
    Fix this by making the conversion explicit like another similar
    conversions.
    
    The issue got introduced by the recent patch "Implement
    EGL_ANGLE_direct_composition extension". Since the issue only affects
    some particular build varieties, it's simpler to fix it rather than
    revert the patch.
    
    Change-Id: I120d34fddb48278856cbb0339ce25c49e57eb781
    Reviewed-on: https://chromium-review.googlesource.com/320530
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 49ae88bad9c6a1c9a52728755c632b3a39438251
Author: John Bauman <jbauman@chromium.org>
Date:   Wed Dec 9 16:44:29 2015 -0800

    Implement EGL_ANGLE_direct_composition extension
    
    On D3D11, if dcomp.dll can be loaded then EGL_ANGLE_direct_composition
    is exposed. Setting EGL_DIRECT_COMPOSITION_ANGLE as an attrib on a
    surface will force it to use DirectComposition to draw to the screen,
    possibly saving power.
    
    BUG=524838
    
    Change-Id: I3ea175a97bbca1a3388ffe52fdd1587a2f0c2ce7
    Reviewed-on: https://chromium-review.googlesource.com/319214
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: John Bauman <jbauman@chromium.org>

commit 444922662a59a45ad8f86ec9480b180571337f4e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jan 4 13:04:08 2016 -0500

    Disable virtual destructor warning in dEQP.
    
    This small error in dEQP triggers a warning that was recently
    enabled in Chromium builds. We should remove the suppression once
    we fix dEQP.
    
    BUG=angleproject:1271
    
    Change-Id: I9df3a304043b6decc00440103d105c9de76dc2db
    Reviewed-on: https://chromium-review.googlesource.com/320320
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Nico Weber <thakis@chromium.org>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit c22cf238b22566e5e50b3689804a565be728c955
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jan 4 13:58:38 2016 -0500

    Fix missing virtual destructor warning.
    
    This only showed up on Linux/standalone builds for me. The error
    was added during the Debug extension patch.
    
    Change-Id: Ibfcbdb61a71f30e863a10719c552ce662f835256
    Reviewed-on: https://chromium-review.googlesource.com/320330
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 7f448b586a8a7cda06fad84b4c08b19e54118fbb
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Dec 16 13:31:57 2015 -0500

    Add an EGL_ANGLE_surface_orientation extension.
    
    BUG=angleproject:1262
    
    Change-Id: Ifbb0f5302311a68a0c6f02baaea706cbb7055a52
    Reviewed-on: https://chromium-review.googlesource.com/320011
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 666cb828d6660fca0529caad34b0e1fea3ac3577
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jan 4 17:44:09 2016 +0000

    Revert "Add an EGL_ANGLE_surface_orientation extension."
    
    Compilation warnings on clang.
    
    This reverts commit 18cc14b5951842ede85c06dcbc0bba230bcedc45.
    
    Change-Id: If58047486116e34ef30c4b317d3fb47cd2349d15
    Reviewed-on: https://chromium-review.googlesource.com/319822
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 18cc14b5951842ede85c06dcbc0bba230bcedc45
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Dec 16 13:31:57 2015 -0500

    Add an EGL_ANGLE_surface_orientation extension.
    
    BUG=angleproject:1262
    
    Change-Id: I863c46c8557604da045447550f7d69831c9f06b5
    Reviewed-on: https://chromium-review.googlesource.com/318780
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 329af698d8105d30547b1175d759aa133a87dbbc
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Jan 4 11:12:12 2016 +0200

    Make generate_parser.sh run from any working directory
    
    The script used to have partial support for specifying complete paths to
    the files it referenced, but the patch command didn't work if the
    working directory wasn't src/compiler/translator. It's simplest to fix
    the script by just changing the working directory in the script.
    
    Change-Id: If3642cbe11436d8c7553cd1812ee0f6c19fe990b
    Reviewed-on: https://chromium-review.googlesource.com/320270
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 66641c615522b849438fc8cc855b6850f2edbd04
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Jan 4 15:31:15 2016 +0200

    Fix typo in shader test
    
    The only error in the test should be the non-integer index. gl_FragColor
    should be used correctly.
    
    BUG=angleproject:1254
    TEST=angle_unittests
    
    Change-Id: I0b7a36be5485661cc03bf2c476aaacae5d3b6e76
    Reviewed-on: https://chromium-review.googlesource.com/320280
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d8cd6f2c7da100a02e2d3f5001aa4835392375a2
Author: Geoff Lang <geofflang@chromium.org>
Date:   Sat Jan 2 12:44:33 2016 -0500

    Fix clang warning in Buffer.cpp
    
    BUG=angleproject:520
    
    Change-Id: I3ee9e61a6a25eb6f16cf7d68d6da27ba1eec752d
    Reviewed-on: https://chromium-review.googlesource.com/320240
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 70d0f4996a876f9816f3c9c76835f78b3935612f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Dec 10 17:45:46 2015 -0500

    Implement GL_KHR_debug.
    
    BUG=angleproject:520
    
    Change-Id: I9ced3e7ab1515feddf2ec103c26b2610a45b1784
    Reviewed-on: https://chromium-review.googlesource.com/319830
    Tryjob-Request: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 74b92323c9a210178ab97cc9418d6bf639cb9d8c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Sat Jan 2 09:58:25 2016 -0500

    Ignore clang -Wall warning.
    
    Change-Id: I76e3cd5038457a7d978497ef9a5ebee60b05e34d

commit 66988745f2b0cd03f997e02f3fb89f258db989a7
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Dec 22 19:39:19 2015 +0000

    Revert "Implement GL_KHR_debug."
    
    This reverts commit 6c521b7a70a53b1c9f7762e53e34b5a8146b0f7b.
    
    Change-Id: I6ff981198e31f34d3e405edea6277ee75516d6ee
    Reviewed-on: https://chromium-review.googlesource.com/319820
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 6c521b7a70a53b1c9f7762e53e34b5a8146b0f7b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Dec 10 17:45:46 2015 -0500

    Implement GL_KHR_debug.
    
    BUG=angleproject:520
    
    Change-Id: I78d14cc8c94f5cef58604220f0ca847473b25bf8
    Reviewed-on: https://chromium-review.googlesource.com/317820
    Tryjob-Request: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 8047f0655429d0fe1e8dee1dd576dba252057f55
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Dec 15 17:54:42 2015 +0200

    Improve perf testing framework
    
    The ANGLERenderTest subclasses have a parameter "iterations". Previously
    most of these tests would perform iterations^2 iterations, since the
    looping was done both in ANGLERenderTest and in the individual test
    classes. Do the looping only in the individual test classes instead.
    This enables getting rid of separate beginDrawBenchmark() and
    endDrawBenchmark() functions.
    
    Some other unused code is also removed:
    
    1. stepBenchmark function
    2. unused parameters to step()
    
    This makes the core loop of running tests simpler.
    
    The perf testing framework also now has shared logic for deciding when
    to end a given test.
    
    The score calculation for tests is also changed. Instead of reporting
    just the number of operations done, it is reported relative to the actual
    run time of the test. This should make the test results more accurate,
    since run time of the tests may have some variation. It also enables
    changing the run time of the tests without rebaselining them.
    
    In the tests that use GPU, GPU operations are also waited to finish
    before stopping the timer.
    
    BUG=angleproject:1261
    TEST=angle_perftests
    
    Change-Id: I69e9aad8afd2d9dedd60e144f0a5d4203618feef
    Reviewed-on: https://chromium-review.googlesource.com/319381
    Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit add0ef141a761b6c7b743dd0d15f925f01d51558
Author: Kenneth Russell <kbr@chromium.org>
Date:   Thu Dec 17 15:43:31 2015 -0800

    Remove deprecated ShShaderOutput versions.
    
    These aren't referenced from Chromium code any more.
    
    BUG=chromium:550487
    
    Change-Id: Ie4094667ec5f739efd9f1253ffdb779deaf3cebc
    Reviewed-on: https://chromium-review.googlesource.com/319162
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Kenneth Russell <kbr@chromium.org>

commit 5aeed4cc29c1b99b4369f9c3fecde6e41d6f1445
Author: Dian Xiang <dianx@google.com>
Date:   Wed Dec 9 13:36:43 2015 -0800

    Using dirty bit notification for D3D9 viewport state
    
    BUG=angleproject:1249
    
    This is a continuation of D3D dirty bit refactor for D3D9 performance
    enhancements
    
    Change-Id: Iedd7eb003981cac7f81a58560cb326760f01c06a
    Reviewed-on: https://chromium-review.googlesource.com/317313
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tryjob-Request: Dian Xiang <dianx@google.com>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit fecbed9fc5a5907d8255fd35e272162868ba55ae
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Dec 17 12:01:12 2015 +0200

    Fix code style in perf tests
    
    1) Format switch/case with git cl format
    2) Change NULL -> nullptr
    3) Change int to GLint where appropriate
    4) Use more appropriate variants of asserts
    
    BUG=angleproject:1261
    TEST=angle_perftests
    
    Change-Id: I97d6260dbd72ef3897fff145682b7043bf323b76
    Reviewed-on: https://chromium-review.googlesource.com/319380
    Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit a8893120f437df47e7a8e8afcf4d87c7f146c567
Author: Dian Xiang <dianx@google.com>
Date:   Tue Dec 8 16:37:21 2015 -0800

    Using dirty bit notification for D3D9 scissor state
    
    BUG=angleproject:1249
    
    This is a continuation of D3D dirty bit refactor for D3D9 performance
    enhancements
    
    Change-Id: I480bb95414a1baf71e7768a1704b34ae55244ed1
    Reviewed-on: https://chromium-review.googlesource.com/316917
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Dian Xiang <dianx@google.com>

commit 160d9ab7521a07e7d91d12f7210f9c5572145a16
Author: John Bauman <jbauman@chromium.org>
Date:   Thu Dec 10 18:26:27 2015 -0800

    Add EGL spec for EGL_ANGLE_direct_composition
    
    This allows applications to specify that they want to render to the screen
    using DirectComposition. This can save power by allowing the use of
    DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL and DirectFlip, but has other side effects -
    windows must be owned by the current process, and contents drawn by GDI are
    shown underneatch the window.
    
    BUG=angleproject:1178
    Change-Id: I2e45d92c9f92f27eedaf50f0a866c20c43f3aab5
    Reviewed-on: https://chromium-review.googlesource.com/317651
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: John Bauman <jbauman@chromium.org>

commit 6ae40ea50f8f7b91c6b52f2996ec8c4be5b02b5b
Author: Dian Xiang <dianx@google.com>
Date:   Mon Dec 7 20:15:28 2015 -0800

    Using dirty bits notification for D3D9 depth stencil state
    
    BUG=angleproject:1249
    
    This is a continuation of the D3D dirty bit refactor for D3D9 for
    performance enhancements
    
    Change-Id: I8690d47999b73483c47f4994dc46cd97f4ced63d
    Reviewed-on: https://chromium-review.googlesource.com/316449
    Tryjob-Request: Dian Xiang <dianx@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Dian Xiang <dianx@google.com>

commit c660ba8e962e85f9c0eb67c1b8143f75c41c8535
Author: Dian Xiang <dianx@google.com>
Date:   Mon Dec 7 22:42:33 2015 -0800

    Using dirty bit notification for D3D9 rasterizer state
    
    BUG=angleproject:1249
    
    Continuation of refactor for d3d9 dirty bit refactor for performance
    enhancements
    
    Change-Id: I414cc9bfbdc806d870a9f208895f411edf5adcf3
    Reviewed-on: https://chromium-review.googlesource.com/316515
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Dian Xiang <dianx@google.com>

commit f521069b9ed4aa7b9ee60b8c4aae1ce9f3676ca7
Author: Dian Xiang <dianx@google.com>
Date:   Thu Dec 10 14:29:28 2015 -0800

    Removing unused render target format in D3D11
    
    This takes up about 2.9% of the time in performance runs.
    
    BUG=angleproject:1161
    
    Change-Id: I9ff98cd6f4bfd14cab0c702d5873f3fadfbcb4d7
    Reviewed-on: https://chromium-review.googlesource.com/317574
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Dian Xiang <dianx@google.com>

commit 31aabdfbc0307a3b873a5f5d5542cdaf61999551
Author: Sam Clegg <sbc@chromium.org>
Date:   Wed Dec 16 10:53:46 2015 -0800

    gyp: Always use pkg-config wrapper
    
    Calling pkg-config directly doesn't work when building
    with a sysroot image as it will looks for host libraries
    rather than those within the sysroot.
    
    BUG=chromium:569947
    
    Change-Id: I6f3e63c1816cd9393110cb3060744a69a93c9a2e
    Reviewed-on: https://chromium-review.googlesource.com/318771
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Sam Clegg <sbc@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 967cb3b289e33375ab6e69038c557aa6a0b5c883
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Dec 17 18:37:16 2015 +0200

    Fix perf_test_runner printing wrong test name
    
    The previous version of the script would always print the default test
    name even if user specified a different one.
    
    BUG=angleproject:596
    
    Change-Id: I43a07e81b49f69c7c372b46bd9494d6fe440b968
    Reviewed-on: https://chromium-review.googlesource.com/319091
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit d39f89306a0116ac94c0b1321ad3f2db5290e8d7
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Dec 17 17:10:02 2015 +0200

    Improve perf_test_runner script
    
    1) Make it possible to run the script from any working directory
    2) Abort the run if angle_perftests is executing multiple test cases
    3) Print some information on which exe and test is running
    4) Print the test runner output in case there was an error
    
    BUG=angleproject:596
    
    Change-Id: If30c2455dc39b0a776df03e6c1dda2ced90d73ba
    Reviewed-on: https://chromium-review.googlesource.com/319090
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit cd089732a7c9ce4c62e501971d5ae03140ccc0c9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Dec 17 09:53:09 2015 -0500

    Re-land "Implement GL_EXT_color_buffer_half_float."
    
    This exposes previously enabled functionality. Also update the format
    support check to be:
    
    supported: GLES3 || texture extension
    renderable: supported && color buffer extension
    filterable: filtering extension
    
    (Note: we silently support float rendering in ES2)
    
    Re-land with suppression for newly exposed failing test.
    
    BUG=angleproject:445
    
    Change-Id: I4e46699e6b0c2ec8a7d8b36f1f598af1ec6420bc
    Reviewed-on: https://chromium-review.googlesource.com/318931
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 0a90f527a94470fb91bc21e9672d59e89b3b2364
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Dec 17 14:51:56 2015 +0000

    Revert "Implement GL_EXT_color_buffer_half_float."
    
    Failing dEQP-GLES3.functional.fbo.color.repeated_clear.sample.tex2d.rgb16f
    
    http://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20dEQP%20%28NVIDIA%29/builds/4651
    
    Likely missing a suppression for this test. It likely passed
    only because the extension was missing and it was passing as
    not supported.
    
    BUG=angleproject:1229
    
    This reverts commit 39f9251daef5c4ddb4b7c413466a092f4a7f21bf.
    
    Change-Id: Ia703378d5aaacafc14503aff0b52a795b7eb4467
    Reviewed-on: https://chromium-review.googlesource.com/319080
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit fe3e46abbc08ecaa65a8ba656b94b0a5a2f29e11
Author: John Bauman <jbauman@chromium.org>
Date:   Tue Nov 24 19:13:55 2015 -0800

    Add EGL_ANGLE_flexible_surface_compatibility
    
    This extension allows users of ANGLE to make contexts current with surfaces
    that were created with different bit depths.
    
    BUG=angleproject:1223
    
    Change-Id: I9072c256e0a36aee1ce41ab69cb9a04240bf0521
    Reviewed-on: https://chromium-review.googlesource.com/314935
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tryjob-Request: John Bauman <jbauman@chromium.org>
    Tested-by: John Bauman <jbauman@chromium.org>

commit 39f9251daef5c4ddb4b7c413466a092f4a7f21bf
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Dec 14 15:34:09 2015 -0500

    Implement GL_EXT_color_buffer_half_float.
    
    This exposes previously enabled functionality. Also update the format
    support check to be:
    
    supported: GLES3 || texture extension
    renderable: supported && color buffer extension
    filterable: filtering extension
    
    (Note: we silently support float rendering in ES2)
    
    BUG=angleproject:1229
    
    Change-Id: Icf0775891d6e336acd1a0ac07c3b37cf6bb0f101
    Reviewed-on: https://chromium-review.googlesource.com/308430
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 3e03ebd6549e16ec6511a95a2af58fb1c42766fc
Author: Dian Xiang <dianx@google.com>
Date:   Mon Dec 7 13:15:10 2015 -0800

    Using dirty bits notification for D3D9 blend state
    
    BUG=angleproject:1249
    
    Dirty bit notifications are used in GL and D3D11 for state tracking. This
    is a continuation of D3D dirty bit refactor for D3D9
    
    Change-Id: Ifaa1826a93cf36c83d68150107b164d1d269c2b0
    Reviewed-on: https://chromium-review.googlesource.com/316475
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tryjob-Request: Dian Xiang <dianx@google.com>
    Tested-by: Dian Xiang <dianx@google.com>

commit 792a41d13f109d189750167abb25f6448f2d6ea5
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Dec 15 12:39:16 2015 +0200

    Fix missing newline from "Missing main()" error message
    
    Change-Id: Id28e20097fc2c66117c688425c73df731afecbe3
    Reviewed-on: https://chromium-review.googlesource.com/318431
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 90c253a6168360d0ed96502935737c93790df6ae
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Dec 15 15:14:08 2015 -0500

    Add an instancing perf test.
    
    BUG=526217
    BUG=angleproject:1164
    
    Change-Id: Ia353a3b2fa0ab0e8b7fd15d72bb63e5ecb7833b1
    Reviewed-on: https://chromium-review.googlesource.com/301469
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 3215b207b29688c4df76a7edc40c1f62a4238c99
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Dec 15 16:41:39 2015 -0500

    Validation cube completeness for FBO attachments.
    
    ES3 adds a clause that cube map FBO attachments must be cube complete
    to produce complete framebuffers. ES2 doesn't have this clause, but
    some (if not all, unverified) OpenGL back-ends don't support these
    incomplete cube map attachments.
    
    BUG=angleproject:1259
    
    Change-Id: Idd4564488375b8646dde712e6ce4a158c23020ee
    Reviewed-on: https://chromium-review.googlesource.com/318264
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Rafael Cintron <rafael.cintron@microsoft.com>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 4bc76d07e8d3b9415f121e1af01481ed43a58c06
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Dec 15 20:07:23 2015 +0000

    Revert "Add loadable_module versions of libEGL and libGLESv2."
    
    This reverts commit 6beb0bfdd0e57d7cb5797355d10e971c7c97cc29.
    
    It caused compile failures on win_clang_dbg because when building libEGL_ANGLE.dll DllMainCRTStartup wasn't defined.
    
    Change-Id: I8080f8db373f5988d86560da1b8b2a1bae30d3ea
    Reviewed-on: https://chromium-review.googlesource.com/318460
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 91dec84c994eb5abea09f6cdd7f1d5f38f9b22f5
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Dec 8 15:18:08 2015 -0500

    Extend the CallDAG info log to report undefined functions
    
    BUG=angleproject:784
    
    Change-Id: If5073a91bc4f47ade27c242d6966306600029f33
    Reviewed-on: https://chromium-review.googlesource.com/316870
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 05603bb8cd867aaf86354782919bab6ce1a5630e
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Thu Dec 10 13:47:34 2015 -0800

    Add compiler/linker flags to optimize WinRT release builds
    
    This reduces the WinRT binary sizes by up to 500KB.
    
    BUG=angleproject:1250
    
    Change-Id: I2ce0e9597c49515fe4b414f105b03785d6ce132f
    Reviewed-on: https://chromium-review.googlesource.com/317595
    Tryjob-Request: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit e678b66cbff0a398a57022b3bc7a52d68085da96
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Dec 7 15:54:17 2015 -0500

    TDependencyGraph: use range-base for loops instead of iterators
    
    No functional changes intended.
    
    BUG=angleproject:591
    
    Change-Id: Ieccf0b792766be86a3533e5324ce6f83ee508ad5
    Reviewed-on: https://chromium-review.googlesource.com/316601
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 0469479f3f7bc9c75bd426c075dc40fe32e068a5
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Dec 7 15:52:05 2015 -0500

    Compiler: remove dead code in limitExpressionComplexity
    
    TGraphTraverser is a class that does nothing by itself so the for loop
    was a noop statement and has been for at least two years (since
    17732823f9c2, didn't check earlier).
    
    BUG=angleproject:591
    
    Change-Id: I1919059fcb8987c2f043a71fed6223e16bc014d8
    Reviewed-on: https://chromium-review.googlesource.com/316600
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 700ad289453c41bb33dbd71b93824e7cfcbd545c
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Dec 7 15:57:47 2015 -0500

    Don't crash when calling ShConstructCompiler with a wrong output
    
    BUG=angleproject:446
    
    Change-Id: Ic1c326f79105950e5c3eb8724eba12fca187a2ec
    Reviewed-on: https://chromium-review.googlesource.com/316610
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit e102fee717e45c7db992862e691d5316fc2396a2
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Dec 10 11:23:30 2015 -0500

    Add stub entry points for GL_KHR_debug.
    
    BUG=angleproject:520
    
    Change-Id: I6f19ca160214a44c75619c320d5e1db7e4098eda
    Reviewed-on: https://chromium-review.googlesource.com/317540
    Tryjob-Request: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit f33b58d0b73eaaef31d0749e84485025eb71beae
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Dec 7 12:46:29 2015 -0800

    Win32Window: Implement Event::EVENT_MOUSE_ENTERED
    
    BUG=angleproject:1000
    
    Change-Id: I9b61564fa086318c3ffa9a6b85bb100c52cfad54
    Reviewed-on: https://chromium-review.googlesource.com/316590
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 6beb0bfdd0e57d7cb5797355d10e971c7c97cc29
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Dec 7 13:05:17 2015 -0500

    Add loadable_module versions of libEGL and libGLESv2.
    
    In order to implement the --use-gl=angle Chrome flag on Linux, we need
    to have the ANGLE .so directly in the build directory however GYP
    places shared_libraries under lib/ on Linux. On the contrary loadable_modules
    cannot be linked against so we need to keep the shared_library targets.
    
    This commit adds _ANGLE versions of the libEGL and libGLESv2 targets as
    loadable module that depend on their respective shared library.
    
    BUG=522967
    
    Change-Id: I08f2ce0ee0430eff5bee852f09cd7d30b94d6266
    Reviewed-on: https://chromium-review.googlesource.com/316421
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit cb34ea5e18ddc03059c999dd2ebf7477dfd3ba2c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Dec 11 16:01:18 2015 -0500

    Re-land "Finish ReadBuffer support in end2end_tests."
    
    Currently we had a few TODOs concerned about unimplemented calls in
    ANGLE. ANGLE now has support for ReadBuffer, so uncomment the calls.
    
    Re-land with end2end_tests fix.
    
    BUG=angleproject:940
    
    Change-Id: I6e00c3aac6307308fb7f00c7e0426812563ed778
    Reviewed-on: https://chromium-review.googlesource.com/317821
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 7c8d1d8459995dc8b75d6339a39093191d3a05ff
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Dec 9 13:09:03 2015 -0500

    D3D11: Use default arguments in texture format table.
    
    This reduces the footprint of the table considerably, and makes it
    a little bit easier to maintain.
    
    BUG=angleproject:1244
    
    Change-Id: I84710729b94ba78813f9be2fcadb8c4d51fe8d7d
    Reviewed-on: https://chromium-review.googlesource.com/317330
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 457f1d929e5fd911e0ad9ea53db43010dfae0662
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Tue Dec 8 10:18:13 2015 -0800

    Disable COMDAT folding and OptimizeReferences for debug WinRT
    
    In some configs these are enabled by default, and they causes linker
    warnings (which are treated as errors).
    
    BUG=angleproject:1250
    
    Change-Id: Ia8d28e313c91f1d63248aa5c68d29f9c69b8d596
    Reviewed-on: https://chromium-review.googlesource.com/317566
    Tryjob-Request: Austin Kinross <aukinros@microsoft.com>
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit bb1a5be948981da3dc58736d41261aa3c2fabfff
Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
Date:   Wed Dec 2 12:03:46 2015 -0500

    Expose unsized GL_FLOAT formats required by GL_OES_texture_float
    
    BUG=angleproject:1209
    
    Change-Id: I490c524d203dd72a8e6c556b537c4254720d9447
    Reviewed-on: https://chromium-review.googlesource.com/315510
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tryjob-Request: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 0998fe96ce8c8dbe7e9f9e68dd7fbb48062d310e
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Fri Dec 11 11:31:38 2015 -0800

    Fix Clang 3.7 build issue in VS 2015 Update 1
    
    VS 2015 Update 1 adds support for 'Clang 3.7 with Microsoft CodeGen'.
    
    This fixes these errors when using Clang 3.7 in VS2015:
    
    compiler\translator\ASTMetadataHLSL.cpp(69,10): error : 'visitLoop' overrides a member function but is not marked 'override' [-Werror,-Winconsistent-missing-override]
    compiler\translator\ASTMetadataHLSL.cpp(75,10): error : 'visitSelection' overrides a member function but is not marked 'override' [-Werror,-Winconsistent-missing-override]
    compiler\translator\ASTMetadataHLSL.cpp(336,10): error : 'visitLoop' overrides a member function but is not marked 'override' [-Werror,-Winconsistent-missing-override]
    
    Change-Id: Ia9c3029eb2966132827596b55ad9afce34b6f19c
    Reviewed-on: https://chromium-review.googlesource.com/317732
    Tryjob-Request: Austin Kinross <aukinros@microsoft.com>
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 8e89866da6d656c6e59d009bba32f7706d943abe
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Dec 11 12:24:21 2015 +0200

    Remove redundant index integer check from ValidateLimitations
    
    Non-integer indices are already rejected in the parser, so the
    ValidateLimitations pass doesn't need to check for them.
    
    ESSL 1.00 spec is not actually terribly clear about whether the
    parser should do this check, but the language grammar in the spec only
    has indexing with "integer_expression" so it seems like ANGLE's
    interpretation of only allowing indexing with integers is correct.
    ESSL 3.00 makes this restriction explicitly clear in section 5.7.
    
    BUG=angleproject:1254
    TEST=angle_unittests
    
    Change-Id: I02b2a6f4d9fa7801a98df63ed21bc990e1585eb8
    Reviewed-on: https://chromium-review.googlesource.com/317741
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 8a76dcc70461c98da991489c4a2b4e675ec8beb8
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Dec 10 20:25:12 2015 +0200

    Don't try to apply ForLoopUnroll to loops it can't handle
    
    ForLoopUnroll should only mark loops that fit the limitations in ESSL
    1.00 Appendix A.
    
    BUG=angleproject:1253
    TEST=angle_unittests, WebGL conformance tests
    
    Change-Id: I00b0a7d29cd42efea9611d020aa1f873ac04773f
    Reviewed-on: https://chromium-review.googlesource.com/317551
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit 5807a536a8d883820a1cdc1dfcab001a08b50870
Author: Yuly Novikov <ynovikov@chromium.org>
Date:   Thu Dec 3 13:01:22 2015 -0500

    Fix buffer unbinding upon deletion.
    
    - Remove buffer bindings for new ES3 buffer types.
    - Fix detachment behavior to GLES3 spec,
      i.e. detach only from currently bound containers.
    - Make pack/unpack buffer binding parameter available in GLES3.
    - Update test expectations.
    
    BUG=angleproject:1191
    
    Change-Id: Iab4c1de8d96a523d5af55d22956d50c10f7c93c2
    Reviewed-on: https://chromium-review.googlesource.com/315521
    Tryjob-Request: Yuly Novikov <ynovikov@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Yuly Novikov <ynovikov@chromium.org>
    Commit-Queue: Yuly Novikov <ynovikov@chromium.org>

commit d561057f243629474299ee182e0bd86464d41e03
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Dec 10 19:42:09 2015 +0200

    Fix ValidateLimitations for folded non-constant expressions
    
    ANGLE recently gained the ability to constant fold some expressions that
    are not constant expressions. ValidateLimitations should continue to
    recognize all cases where an expression is not a constant expression.
    
    BUG=angleproject:851
    TEST=angle_unittests
    
    Change-Id: I8ad0552a59213cdd6af9a220ffd672be9752271d
    Reviewed-on: https://chromium-review.googlesource.com/317281
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit b0f0b81d5a7851a26d51e3017f713935c2e115e0
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Sat Nov 21 17:49:29 2015 -0500

    Don't skip delete_bound.transform_feedback.
    
    A one-line subset of 36167ab3 allowed
    dEQP-GLES3.functional.lifetime.delete_bound.transform_feedback to pass,
    though it indented that line differently than its neighbors.
    Fix up the indentation and don't skip the test.
    
    BUG=angleproject:1150
    TEST=angle_deqp_gtest_gles3_tests --gtest_filter='*transform_feedback*'
    
    Change-Id: I8471bd46f8a642b0945b43ab9b980c11c50d63c0
    Reviewed-on: https://chromium-review.googlesource.com/313860
    Tryjob-Request: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Frank Henigman <fjhenigman@chromium.org>

commit 31c9d16ef5b8ccccc525f3ee1b69c119a32a307a
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Tue Dec 8 10:51:25 2015 -0800

    Re-land "Disable RTTI in VS release builds"
    
    - Re-land with fix for Chromium Debug Windows builds
    
    Chrome forbids RTTI, but standalone ANGLE currently allows it.
    Disallowing RTTI in standalone release builds brings ANGLE and Chrome
    closer, and prevents accidental use of dynamic_cast in ANGLE.
    
    It also reduces binary size. Win10 libGLESv2 (x86) is 47KB smaller after this.
    
    BUG=angleproject:1239
    
    Change-Id: I505fd0d72868a38444e47198a9bf85ee3e25719f
    Reviewed-on: https://chromium-review.googlesource.com/316830
    Tryjob-Request: Austin Kinross <aukinros@microsoft.com>
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 08bf81d51cfe11203be6c1de999fd6cafade9472
Author: Nico Weber <thakis@chromium.org>
Date:   Wed Dec 9 16:23:32 2015 -0500

    clang/win: Let EGLDeviceTest.cpp build with -Wextra on trunk too.
    
    Like https://chromium-review.googlesource.com/317360, but for
    code that's in ANGLE trunk but not yet rolled in by Chromium.
    
    BUG=567877
    
    Change-Id: I59b1568b134f57919eb333e99e7d185416d5d3b5
    Reviewed-on: https://chromium-review.googlesource.com/317390
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Tested-by: Nico Weber <thakis@chromium.org>

commit 41ae31c461b1c3f292417a8293fd678773c32cef
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Dec 8 11:40:54 2015 -0500

    Destroy surfaces from Display::terminate instead of the DisplayImpl destructor.
    
    Previously, the parent display impl would be destroyed before the surface
    impls.  It is useful to call helper functions in the parent display during
    surface destruction.
    
    BUG=540829
    
    Change-Id: I0884826d2e360319da896f049d46bfc01a2481a0
    Reviewed-on: https://chromium-review.googlesource.com/316801
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 1b3979b9ca8746c09c26b4b5811bff185f47668f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Dec 8 11:39:24 2015 -0500

    Pass the gl::Texture object into Surface::bindTexImage.
    
    BUG=540829
    
    Change-Id: Iee602165e69bfe574821c6f628a745c32932a938
    Reviewed-on: https://chromium-review.googlesource.com/316800
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 02bbec190835529f0b76686c09fd2263b869376c
Author: Dian Xiang <dianx@google.com>
Date:   Wed Dec 2 16:54:53 2015 -0800

    Refactoring RendererD3D to not have virtual functions for state calls
    
    BUG=angleproject:1242
    
    Draw calls get called many times. Eliminating the number of virtual
    function calls will help with performance. Renderer9 and Renderer11 now
    have diverging paths for managing state with the dirty bits. Hence, we can
    remove some of the virtual calls.
    
    Change-Id: Ic5d69e744826f1c4f4ae168bca058f4743ff0843
    Reviewed-on: https://chromium-review.googlesource.com/315229
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Tested-by: Dian Xiang <dianx@google.com>

commit d3754d82501c76e522e3be2789bb91f442e6de8e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Dec 9 22:45:44 2015 +0000

    Revert "Finish ReadBuffer support in end2end_tests."
    
    Fails on the bots, on ReadPixelsTest.DrawWithPBO/ES3_D3D11
    
    BUG=angleproject:940
    
    This reverts commit ada5d07ec6c3578eb07adbb647360c0ae60edf46.
    
    Change-Id: I60c71af6317f6b5ee1bf1555cb4573c5e82a11d6
    Reviewed-on: https://chromium-review.googlesource.com/317430
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 0c93b8a022a5b20fb8ccbe296b6a5d4b814128c8
Author: Nico Weber <thakis@chromium.org>
Date:   Wed Dec 9 15:31:40 2015 -0500

    clang/win: Let EGLDeviceTest.cpp build with -Wextra.
    
    In a Chromium build, this target is built as part of gpu, with the
    chromium_code warning settings applied.  Make sure it builds in that
    config.
    
    BUG=567877
    
    Change-Id: I7464538a259295d83d990853b06b9ba76b82889d
    Reviewed-on: https://chromium-review.googlesource.com/317360
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Nico Weber <thakis@chromium.org>

commit ada5d07ec6c3578eb07adbb647360c0ae60edf46
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Dec 8 15:40:52 2015 -0500

    Finish ReadBuffer support in end2end_tests.
    
    Currently we had a few TODOs concerned about unimplemented calls in
    ANGLE. ANGLE now has support for ReadBuffer, so uncomment the calls.
    
    BUG=angleproject:940
    
    Change-Id: Ib297e3ab7f2fa2424ee2cc85918331066dae4475
    Reviewed-on: https://chromium-review.googlesource.com/317340
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 91d3e94f44d84a34f878098009bddb83b6dbf525
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Dec 8 11:26:15 2015 -0500

    D3D11: Apply null InputLayout with no attributes.
    
    In some cases in ES3, we can render without vertex attributes. For
    this, don't bind or create an empty input layout, but instead bind
    null.
    
    This silences a D3D11 warning in Debug, when viewing the system out.
    
    BUG=angleproject:667
    
    Change-Id: Ib88dc1177d7f9bb6a5fa15e44c74da022be137f6
    Reviewed-on: https://chromium-review.googlesource.com/316612
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit febe45fceab03ef16a7d4b1d6820b2b3894e7d0c
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Tue Dec 8 10:18:13 2015 -0800

    Don't disable COMDAT folding or OptimizeReferences in WinRT
    
    This is bloating the WinRT binaries unnecessarily.
    
    BUG=angleproject:1250
    
    Change-Id: I87fa2422e7d58374329956540d03933b0177234b
    Reviewed-on: https://chromium-review.googlesource.com/316820
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 508a5b7d7df0cf87137e2304237ad089f2b997ca
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Dec 8 11:26:14 2015 -0500

    Windows: Write test name in debug log.
    
    This helps isolate particular debug log messages to specific tests.
    
    BUG=angleproject:667
    
    Change-Id: I6be37d50cc41a13abbceb395e6e9b603bd44c7bd
    Reviewed-on: https://chromium-review.googlesource.com/316611
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 1e928bc0cc866ae247438d692f55463b09168ebe
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Dec 9 13:17:39 2015 -0500

    dEQP/Win: Skip trig tests that crash on new compiler.
    
    The new version of D3DCompile_47.dll that gets bundled with the
    Chromium depot_tools Windows SDK seems to crash when compiling these
    shaders, I think during the optimization step.
    
    BUG=angleproject:1252
    BUG=568170
    
    Change-Id: Ic54a6353ffe3520ecc5e5012721c0a09eb370b22
    Reviewed-on: https://chromium-review.googlesource.com/317331
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 6163c759e6bee0515124ce8288be49e62017d1a4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Dec 7 16:32:59 2015 -0500

    ES3: Allow floating point blit conversions under extension.
    
    If we support EXT_color_buffer_float, we should also allow blits to
    and from float and fixed point data, according to the extension
    spec.
    
    BUG=angleproject:1243
    TEST=dEQP-GLES3.functional.fbo.blit.*
    
    Change-Id: I0957ac0647c94e38ebd67480c608eeb16c82dbf4
    Reviewed-on: https://chromium-review.googlesource.com/316030
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 3d890436075a1107067fcd2e710c194503ef7df6
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Dec 8 11:47:59 2015 -0500

    Load the WGL_NV_DX_interop entry points in FunctionsWGL.
    
    BUG=540829
    
    Change-Id: Iab080789f2a21b900e2641aa97c0e3392d007391
    Reviewed-on: https://chromium-review.googlesource.com/316802
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 7f1cd75b98a155949457ca450cb9b9601648ba8b
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Fri Nov 27 16:15:05 2015 -0500

    Fix bootstrap instructions.
    
    BUG=angleproject:1204
    TEST=bootstrap and build in Linux and Windows 8
    
    Change-Id: Iad43ed41588d4519e3881dc48771beae375b5d40
    Reviewed-on: https://chromium-review.googlesource.com/313793
    Tested-by: Frank Henigman <fjhenigman@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit c56297597fd835a010878bbcb6cf4a36bbee20ab
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Dec 7 16:29:04 2015 -0500

    Implement full program binary support for ES3.
    
    Refactor validation to be used in both the OES and ES3 entry points.
    
    BUG=angleproject:600
    BUG=angleproject:1101
    
    Change-Id: I2008c4ea04ce07910f03ae0b997f8a77b66203d8
    Reviewed-on: https://chromium-review.googlesource.com/316620
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 36167ab343f2b0f9e4848ff331241cd59b57eb79
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Dec 7 10:27:14 2015 -0500

    Don't allocate VertexArray or TransformFeedback objects until binding.
    
    Follow the spec more closely and only reserve IDs of vertex arrays and
    transform feedback objects before binding.  This saves memory and allows
    the glIs* calls to succeed.
    
    BUG=angleproject:1218
    BUG=angleproject:1101
    
    Change-Id: I0039680c39c66c1c5506f6a1a9121a71791b77e9
    Reviewed-on: https://chromium-review.googlesource.com/316591
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 50b3fe89428fddbf8f3f4ff135195f89ce385acc
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Dec 8 14:49:12 2015 +0000

    Revert "Don't allocate VertexArray or TransformFeedback objects until binding."
    
    This reverts commit 070c0124be642383220ca44f795225b89d56f13b.
    
    Change-Id: I4ffa528f63311615bb4e22593c6e8a0ec424cd2d
    Reviewed-on: https://chromium-review.googlesource.com/316780
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 6c9b2ae9fe99de0ae4fc1abfa7a520dcdf5a6950
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Dec 8 13:43:11 2015 +0000

    Revert "D3D11: Use clamp wrap mode for Integer textures."
    
    dEQP-GLES3 texture failures:
    
    http://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20dEQP%20%28NVIDIA%29/builds/4510/steps/angle_deqp_gles3_tests/logs/stdio
    
    dEQP-GLES3.functional.shaders.texture_functions.texture.isampler*
    dEQP-GLES3.functional.shaders.texture_functions.texture.usampler*
    
    BUG=angleproject:1244
    
    This reverts commit 7a6a1ffeb275a8b565701305c8b42857ff2bf0b0.
    
    Change-Id: I0e25e7aed0e0d78015d5b8f5a7b9a81e0a5fca4e
    Reviewed-on: https://chromium-review.googlesource.com/316641
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 8c46ab11d3f5277a22dba8446cc42e97a58e11ba
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Dec 7 16:39:19 2015 -0500

    OutputHLSL: Avoid using info sink stack as much as possible.
    
    Due to how the traversers work, it might not be trivial to avoid the
    info sink stack entirely, but minimize its use to keep the code as
    functional as possible.
    
    BUG=angleproject:958
    
    Change-Id: I354313f10f496feea7c6a6f167b0617aeadbe5b0
    Reviewed-on: https://chromium-review.googlesource.com/316412
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 61fea1399912b9e967950160468d3ed692002427
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Dec 7 14:20:02 2015 -0500

    Protect against overflow in BinaryInputStream.
    
    BUG=angleproject:1112
    
    Change-Id: I6d58d9e0db97ec6c67661abd92b57f61f357d6b5
    Reviewed-on: https://chromium-review.googlesource.com/316640
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 41a2b8eacbf64e4f7845dd67b9f375c401cc4466
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Dec 7 21:44:26 2015 +0000

    Revert "Protect against overflow in BinaryInputStream."
    
    This reverts commit dfa2fe31ad66ede57af1c0244ee99b8918eb2d9b.
    
    Change-Id: If4a7eb1876876991c537d0a9077cede52ba40b95
    Reviewed-on: https://chromium-review.googlesource.com/316621
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit a5ed56eeb30190c49fc63d61c42dface61b8d2d4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Dec 7 16:32:59 2015 -0500

    D3D11: Mask off alpha channel for RGBA->RGB blits.
    
    We emulate RGB8 in D3D11 with RGBA8 textures. Make sure when we blit
    that we don't copy the unused texture channel.
    
    BUG=angleproject:1245
    TEST=dEQP-GLES3.functional.fbo.blit.*
    
    Change-Id: I805132fda984860a6d84ad4c1fc7169973938df9
    Reviewed-on: https://chromium-review.googlesource.com/316010
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 7a6a1ffeb275a8b565701305c8b42857ff2bf0b0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Dec 7 16:32:58 2015 -0500

    D3D11: Use clamp wrap mode for Integer textures.
    
    Until we can support all wrap modes for int textures, use a correct
    clamping scheme. This fixes several dEQP GLES3 FBO tests.
    
    This shuffles some of the tests in functional.texture.units since
    it hard-codes a different behaviour for all wrap modes, ignoring
    the sampler setting.
    
    BUG=angleproject:1244
    TEST=dEQP-GLES3.functional.texture.*
    
    Change-Id: Ic7e89a111728dfb18821534996bf5b9a5ad172b6
    Reviewed-on: https://chromium-review.googlesource.com/313997
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit dfa2fe31ad66ede57af1c0244ee99b8918eb2d9b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Dec 7 14:20:02 2015 -0500

    Protect against overflow in BinaryInputStream.
    
    BUG=angleproject:1112
    
    Change-Id: Iedd92ce7a56b20f42e51ef86278eb64fbae3c353
    Reviewed-on: https://chromium-review.googlesource.com/316031
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 976489b2f13a394e1e698cba502863538066e1fb
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Dec 7 10:27:14 2015 -0500

    Don't allocate VertexArray or TransformFeedback objects until binding.
    
    Follow the spec more closely and only reserve IDs of vertex arrays and
    transform feedback objects before binding.  This saves memory and allows
    the glIs* calls to succeed.
    
    BUG=angleproject:1218
    BUG=angleproject:1101
    
    Change-Id: I7bf99870a7c93f5545325785cbecd891c6b77f8a
    Reviewed-on: https://chromium-review.googlesource.com/316402
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit adf825b3ece84e629d69ec60cf2145e627f788ab
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Dec 7 09:20:05 2015 -0500

    Move TType::getCompleteString to Types.cpp.
    
    Probably left over from previous refactoring.
    
    BUG=angleproject:1247
    
    Change-Id: Ieb4b60ae9f724248f92ae77d23e4bdd8c5d9265a
    Reviewed-on: https://chromium-review.googlesource.com/316400
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 5c079d24d031f398186534fdb2c3373447f980be
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Dec 7 09:56:32 2015 -0500

    Don't print assertion expression as a format string.
    
    If the assert contained '%' symbols, it would be interpreted as a
    substituion.
    
    BUG=angleproject:1189
    
    Change-Id: Ib347bc1a892397373e7318e032070c0337f110de
    Reviewed-on: https://chromium-review.googlesource.com/316410
    Tryjob-Request: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 4028159e32ba9ebd39f25eb532e8cca37e0401f8
Author: Dian Xiang <dianx@google.com>
Date:   Thu Nov 19 18:24:44 2015 -0800

    Using dirty bit notification for D3D11 viewport state
    
    BUG=angleproject:1161
    
    This is a continuation of the dirty bit refactor
    
    Change-Id: I101f415094dd406f6b0a40cb260f1cbbfec7b62c
    Reviewed-on: https://chromium-review.googlesource.com/313249
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tryjob-Request: Dian Xiang <dianx@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Dian Xiang <dianx@google.com>

commit 29a65546c9cd866f946d12890f1d09e661cc1187
Author: Dian Xiang <dianx@google.com>
Date:   Tue Nov 17 17:15:50 2015 -0800

    Using dirty bit notification for D3D11 scissor rectangle state
    
    BUG=angleproject:1161
    
    This is a continuation of the dirty bit refactor
    
    Change-Id: I1a9f297835943eee5f756e4e4721b2db543184ec
    Reviewed-on: https://chromium-review.googlesource.com/312987
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Dian Xiang <dianx@google.com>

commit 2da819e1fc4a1721a8b803e726549d7430449373
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Dec 3 15:53:19 2015 -0500

    D3D11: Fix blit from out-of-bounds.
    
    Do not copy pixels in a negative read region. Also make sure we clamp
    the boundaries so the dEQP tests are mostly pixel-perfect.
    
    We can't yet fix some default framebuffer tests because of issues with
    blitting RGBA8 (default FBO) to floating point framebuffers.
    
    BUG=angleproject:1241
    TEST=dEQP-GLES3.functional.fbo.blit.*
    
    Change-Id: I16ee264b0b1a7e6b9121dde5ae4f96cfd27ea53e
    Reviewed-on: https://chromium-review.googlesource.com/315670
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 063d9e780be2b1bc069854ed4136f724d47c64bb
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Thu Nov 19 17:24:47 2015 -0800

    Add support for EGL_EXT_platform_device
    
    This allows an application to use EGLDeviceEXT to initialize EGL.
    
    For example, if an application wants to initialize EGL using an existing D3D11
    device (instead of ANGLE creating its D3D device), then the app may create an
    EGLDeviceEXT using EGL_ANGLE_device_creation_d3d11, and use this device to
    initialize EGL via EGL_EXT_platform_device.
    
    BUG=angleproject:1190
    
    Change-Id: Ife91ce95a63e29eb2b3f05aedfb668e4cac8f5ce
    Reviewed-on: https://chromium-review.googlesource.com/313444
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Austin Kinross <aukinros@microsoft.com>

commit fc1a44a1fe23f100a3164baf90a1b1693748450b
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Wed Dec 2 12:37:10 2015 -0800

    Revert "Revert "Add and implement EGL_ANGLE_device_creation[_d3d11]""
    
    This reverts commit dd5c5b79333fdde7858a77d39e91cc3d30b74c9e.
    
    BUG=angleproject:1190
    
    Change-Id: I1bc1b232b6a916da6d18b546baf20e0854a2768f
    Reviewed-on: https://chromium-review.googlesource.com/315169
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 502f3df6aa0a85972352253885ce67a68ab04e2e
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Wed Dec 2 12:33:18 2015 -0800

    Define EGL_EGLEXT_PROTOTYPES in GN projects
    
    This makes sure that EGL_EGLEXT_PROTOTYPES is defined in the
    same places as GL_GLEXT_PROTOTYPES.
    
    BUG=angleproject:1190
    
    Change-Id: I0e55aad5728df765bff495822570e7590b157d68
    Reviewed-on: https://chromium-review.googlesource.com/315208
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 15ede106227ce94d328b3722e84f980572ea1956
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 26 15:20:34 2015 -0500

    D3D11: Disable stencil buffer when not attached.
    
    Similarly to the D24S8 attachment getting confused when we use only
    the stencil portion, ANGLE could write to the stencil portion when
    we were only using the depth. Fix this by internally disabling stencil
    test and writes when using this type of configuration.
    
    BUG=angleproject:1237
    
    Change-Id: Ib7868d5e9f8aea73304a132005541dab947aa619
    Reviewed-on: https://chromium-review.googlesource.com/314032
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 0df8fe448d9ba04c4b0c57fdf2c450397b03dc06
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 24 16:10:24 2015 -0500

    D3D11: Don't read or write to the unused depth buffer.
    
    When using STENCIL8, we emulate it on D3D11 with D24S8, since there
    is no native stencil-only format. However in many places we would
    write to the depth part of this format, and confuse the D3D runtime
    when it would use the depth test. Fix this by never modifying the
    depth portion of the buffer, or reading from it.
    
    BUG=angleproject:1232
    
    Change-Id: Ifd2e54eceae84e8deea85f439c132d07981b2286
    Reviewed-on: https://chromium-review.googlesource.com/313996
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 40eefabda32dde252ed9db04faaf4c15967ea5ff
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Nov 23 16:58:33 2015 -0500

    Rewrite WindowSurfaceCGL to use CAOpenGLLayer
    
    It used to render to IOSurfaces and use setContents to directly give
    them to the OSX compositor. This was worth the complexity only because
    Chrome going to use that code path. This is no longer the case.
    
    Instead we replace the implementation with one based on CAOpenGLLayer,
    that basically gets a "draw" callback every frame. The complexity comes
    from the fact that this callback is called from another thread, with
    another CGL context.
    
    BUG=angleproject:1233
    
    Change-Id: I1878d0071d057e043e0bb9043d9849f50e00d023
    Reviewed-on: https://chromium-review.googlesource.com/314031
    Reviewed-by: ccameron chromium <ccameron@chromium.org>
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit dd5c5b79333fdde7858a77d39e91cc3d30b74c9e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Dec 2 08:41:28 2015 -0500

    Revert "Add and implement EGL_ANGLE_device_creation[_d3d11]"
    
    Causes failures on Windows/GN:
    
    e:\b\build\slave\win_x64_gn\build\src\third_party\angle\src\tests\egl_tests\egldevicetest.cpp(108)
    : error C3861: 'eglCreateDeviceANGLE': identifier not found
    e:\b\build\slave\win_x64_gn\build\src\third_party\angle\src\tests\egl_tests\egldevicetest.cpp(113)
    : error C3861: 'eglQueryDeviceAttribEXT': identifier not found
    e:\b\build\slave\win_x64_gn\build\src\third_party\angle\src\tests\egl_tests\egldevicetest.cpp(119)
    : error C3861: 'eglReleaseDeviceANGLE': identifier not found
    e:\b\build\slave\win_x64_gn\build\src\third_party\angle\src\tests\egl_tests\egldevicetest.cpp(143)
    : error C3861: 'eglQueryDeviceAttribEXT': identifier not found
    e:\b\build\slave\win_x64_gn\build\src\third_party\angle\src\tests\egl_tests\egldevicetest.cpp(162)
    : error C3861: 'eglCreateDeviceANGLE': identifier not found
    e:\b\build\slave\win_x64_gn\build\src\third_party\angle\src\tests\egl_tests\egldevicetest.cpp(178)
    : error C3861: 'eglCreateDeviceANGLE': identifier not found
    
    This reverts commit 4029ad42d5ffe94a0a744532ab3577b982f847b8.
    
    BUG=angleproject:1190
    
    Change-Id: Ibcdfd8cea7ba275cd67c0220f8d7a1069ec1cf97
    Reviewed-on: https://chromium-review.googlesource.com/315480
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 5bbc9438d8a0edb3bd2a2eb0edae313a3df2171c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Dec 1 19:49:54 2015 +0000

    Revert "Disable RTTI in VS release builds"
    
    Fails compile on the Windows Debug GPU bot:
    
    c:\b\build\slave\gpu_win_builder__dbg_\build\src\third_party\deqp\src\framework\opengl\simplereference\sglrreferencecontext.cpp(2342) : warning C4541: 'dynamic_cast' used on polymorphic type 'sglr::rc::Texture' with /GR-; unpredictable behavior may result
    c:\b\build\slave\gpu_win_builder__dbg_\build\src\third_party\deqp\src\framework\opengl\simplereference\sglrreferencecontext.cpp(2344) : warning C4541: 'dynamic_cast' used on polymorphic type 'sglr::rc::Texture' with /GR-; unpredictable behavior may result
    
    Many other similar errors.
    
    BUG=angleproject:1239
    
    This reverts commit aca86045d9aae4d41939a3953103304b7ba9e3a2.
    
    Change-Id: I523e12b32665bcc74a6437582be82db8174e42ac
    Reviewed-on: https://chromium-review.googlesource.com/315170
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 3d677ea685094839621fbd3c9fa53fb5eb337ffe
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Nov 16 13:38:47 2015 -0500

    Implement EGL_ANGLE_x11_visual
    
    Reland with a fixed tests on AMD.
    
    This extension will be used by Chrome to advertise the visual it will
    use for its windows. Having ANGLE use the same visual will bring
    several benefits:
     - A blit will be avoided, and the content of the window might be
       rendered on the system framebuffer directly.
     - There will be less latency when resizing windows which will make it
       much less likely to see a black border when resizing.
    
    BUG=522149
    
    Change-Id: I66004b6ac45453330af7c4c810ddf2c26941be42
    Reviewed-on: https://chromium-review.googlesource.com/314661
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit aca86045d9aae4d41939a3953103304b7ba9e3a2
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Mon Nov 30 13:36:28 2015 -0800

    Disable RTTI in VS release builds
    
    Chrome forbids RTTI, but standalone ANGLE currently allows it.
    Disallowing RTTI in standalone release builds brings ANGLE and Chrome
    closer, and prevents accidental use of dynamic_cast in ANGLE.
    
    It also reduces binary size. Win10 libGLESv2 is 47KB smaller after this.
    
    BUG=angleproject:1239
    
    Change-Id: Ib5fb50df66c3a94042e2d9bbb062c0d025cf3eef
    Reviewed-on: https://chromium-review.googlesource.com/314831
    Tryjob-Request: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Austin Kinross <aukinros@microsoft.com>

commit c73c9940b4f03bca5cbe5789adb08d5a98eb8851
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Tue Dec 1 11:41:46 2015 -0500

    Update link to ANGLE and Cross-Platform WebGL Support presentation
    
    Change-Id: Ib3322b10f8549ce743f7ce8ee1b46d6341af4062
    Reviewed-on: https://chromium-review.googlesource.com/314912
    Tested-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 81176780c4866eebfc877287d14aa326d88052aa
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 24 16:10:23 2015 -0500

    Return correct error in Framebuffer::checkStatus.
    
    UNSUPPORTED is a specific error meaning an implementation-specific
    incompatibility. For cases where the attachments are invalid according
    to the spec, we should be returning INCOMPLETE_ATTACHMENT.
    
    BUG=angleproject:1231
    
    Change-Id: I4b4332ee5661738374e93c825a53d66d7ba1fad5
    Reviewed-on: https://chromium-review.googlesource.com/313995
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit f06e607f35355266bd4f41917d5ad91679ab5cd5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Dec 1 10:44:16 2015 -0500

    Add support for GL_OES_depth32.
    
    This will allow ANGLE to be more conformant when it accepts 32-bit
    depth as a Renderbuffer format.
    
    BUG=angleproject:1230
    
    Change-Id: I9336c6f951d280b2332fc3e6d2e640852473aa03
    Reviewed-on: https://chromium-review.googlesource.com/313994
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 0b2006800b3d70ba7f5fc204e159f5d145528a47
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Dec 1 09:27:57 2015 -0500

    Suppress failing dEQP tests.
    
    With the suppression changes from 5111a06, a few were removed that
    seem to fail only on certain configurations. Reinstate the failure
    expectations for the dEQP bots.
    
    BUG=angleproject:1236
    
    Change-Id: Ib642c60a7871f7994ae1f0082f22533e6650f082
    Reviewed-on: https://chromium-review.googlesource.com/315090
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit f01ac9fbbbf968c11611caa0c7af217dc1df2e1d
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Thu Nov 19 15:48:22 2015 -0800

    Fix D3D static buffer cache cleanup logic
    
    BUG=angleproject:197
    
    Change-Id: Ia71f4063fa13c72a3a8bd41ec8fe01a762543796
    Reviewed-on: https://chromium-review.googlesource.com/313468
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit ab831f0462857f4812a54a3ec63a90eca7785c28
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Dec 1 09:39:10 2015 -0500

    Add queries for GL_RASTERIZER_DISCARD.
    
    BUG=angleproject:1238
    
    Change-Id: Id3b219dfcc758cf19d61b7dc7eeabd8c2159d212
    Reviewed-on: https://chromium-review.googlesource.com/315100
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 2302e69ad56221581bc826a10887b54a28a30410
Author: Jacek Caban <cjacek@gmail.com>
Date:   Tue Dec 1 12:44:43 2015 +0100

    Fixed compilation with mingw.
    
    Change-Id: I8102ce4dd934ac247a29e31140d3a1eca691802f
    Reviewed-on: https://chromium-review.googlesource.com/315060
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit fa697210607759e4168e4fca15dbb42679222862
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Mon Nov 30 13:59:45 2015 -0800

    Add *.VC.opendb to the .gitignore
    
    These are new temporary files used by VS 2015 Update 1
    
    Equivalent Chromium CR: https://codereview.chromium.org/1413153015
    
    Change-Id: I7a73b3d45107cf2a81b604953482aed9f2c971f8
    Reviewed-on: https://chromium-review.googlesource.com/314881
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 0e4c8e73b5958a7e8c5894053a6e00e9adb7de32
Author: Dian Xiang <dianx@google.com>
Date:   Mon Nov 16 19:19:34 2015 -0800

    Using dirty bit notification for D3D11 rasterizer state
    
    BUG=angleproject:1161
    
    This is a continuation of the dirty bit refactor
    
    Change-Id: I78ab046aaeb7de6dd288433c86e6524dcb2d6a66
    Reviewed-on: https://chromium-review.googlesource.com/312837
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tryjob-Request: Dian Xiang <dianx@google.com>
    Tested-by: Dian Xiang <dianx@google.com>

commit 4ed53a5a8c8ccd1055393f79d7d07d79e18fd6f6
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Mon Nov 30 15:53:52 2015 -0500

    Add link to browse source to README.md
    
    This makes it more clear to anyone landing directly at README.md instead of
    the root of the repo how to browse the source.
    
    Change-Id: I19b7e8e2f8e55385fa0825d4268623ef318bdaa0
    Reviewed-on: https://chromium-review.googlesource.com/314441
    Tested-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 83af74f5b4151ff955fe31882e6a586e49efc9e5
Author: Dian Xiang <dianx@google.com>
Date:   Fri Nov 13 16:39:53 2015 -0800

    Using dirty bit notification for D3D11 depth stencil state
    
    BUG=angleproject:1161
    
    This is a continuation of the dirty bit refactor
    
    Change-Id: If7d523e6200fef631051cab0bde47fdec8385c17
    Reviewed-on: https://chromium-review.googlesource.com/312722
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Dian Xiang <dianx@google.com>

commit 5111a0626ba336b40e37497d6bf4f15db7ef4cd1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Nov 30 10:31:36 2015 -0500

    Update dEQP integration.
    
    Intead of generating a case list from a build dEQP executable and
    packing it into a gzip file, we can use the Android CTS mustpass
    list. This has the benefit of allowing us to remove some failure
    expectations for broken tests. It also means we don't need to
    ever regenerate our case list files.
    
    Also remove the old dEQP test integration, since it is no longer
    supported or possibly even working.
    
    And update our test expectations to match the new Android CTS
    must-pass lists.
    
    This change will likely need to be landed simulatanously with a
    Chromium-side CL, due to the nature of the gyp/DEPS configuration.
    
    BUG=angleproject:1236
    
    Change-Id: I352e4a651dfb88193a1c4991974502dee1edb67b
    Reviewed-on: https://chromium-review.googlesource.com/313792
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 984ef41abdb4b6f5197e48dbfcfc5ce83cd26da8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 24 16:10:21 2015 -0500

    Ignore clear commands if rasterizer discard is enabled.
    
    From the 3.0 spec (Section 3.1):
    
    "When enabled, RASTERIZER_DISCARD also causes the Clear and
    ClearBuffer* commands to be ignored."
    
    BUG=angleproject:1227
    
    Change-Id: I0316103827927e8af9732d7b4565d787b881ccb8
    Reviewed-on: https://chromium-review.googlesource.com/313993
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 8d9f35f1faa2bb1ce73b66918265f1967fb677ca
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 24 16:10:20 2015 -0500

    Re-land "D3D11: Fix Integer Texture Cube mip mapping."
    
    We were missing both the correct SRV parameter, as well as the full
    computation of the mip level in the HLSL.
    
    Re-land makes the mip computation only happen with implicit sampling.
    Before it would confuse the LOD0 computation.
    
    BUG=angleproject:1208
    TEST=dEQP-GLES3.functional.texture.*
    
    Change-Id: I4b579033afe5cd1aca1f2d017e48a74c7fc324cc
    Reviewed-on: https://chromium-review.googlesource.com/314330
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 4029ad42d5ffe94a0a744532ab3577b982f847b8
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Thu Oct 29 10:14:47 2015 -0700

    Add and implement EGL_ANGLE_device_creation[_d3d11]
    
    BUG=angleproject:1190
    
    Change-Id: I248935ef81803062cf9ba5776512cda456331f51
    Reviewed-on: https://chromium-review.googlesource.com/309634
    Tryjob-Request: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 5ac60fc2a3c0a10f04d9aa945069a68e707a80cb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Nov 27 13:42:02 2015 +0000

    Revert "Implement EGL_ANGLE_x11_visual"
    
    Fails on Linux AMD:
    
    http://build.chromium.org/p/chromium.gpu.fyi/builders/Linux%20Release%20%28ATI%29/builds/43819
    
    EGLX11VisualHintTest.InvalidWindowVisualID:
    ../../third_party/angle/src/tests/egl_tests/EGLX11VisualTest.cpp:183: Failure
    Value of: EGL_TRUE == eglInitialize(display, nullptr, nullptr)
    Actual: false
    Expected: true
    
    BUG=522149
    
    This reverts commit b28e010aa10b3e4aec3207e767be10ee5ffb25fd.
    
    Change-Id: I9a02f2aa3caadd787eb0099c0ddf9d781084fa1c
    Reviewed-on: https://chromium-review.googlesource.com/314660
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit b28e010aa10b3e4aec3207e767be10ee5ffb25fd
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Nov 16 13:38:47 2015 -0500

    Implement EGL_ANGLE_x11_visual
    
    This extension will be used by Chrome to advertise the visual it will
    use for its windows. Having ANGLE use the same visual will bring
    several benefits:
     - A blit will be avoided, and the content of the window might be
       rendered on the system framebuffer directly.
     - There will be less latency when resizing windows which will make it
       much less likely to see a black border when resizing.
    
    BUG=522149
    
    Change-Id: Icd484c9a948ed5b5b9116247bb50560bffa30667
    Reviewed-on: https://chromium-review.googlesource.com/312323
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit e6605c6e4d49463109a9a35d21aff283b68ddbd0
Author: Cooper Partin <coopp@microsoft.com>
Date:   Thu Nov 12 12:35:22 2015 -0800

    Added information about generating Windows Store ANGLE projects.
    
    Change-Id: I49b229b7d4f3d6d305fed023f62626a9966f692d
    Reviewed-on: https://chromium-review.googlesource.com/312456
    Tested-by: Cooper Partin <coopp@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit aa16dd4a0eb72d63bcc3e414452eb168fc74a264
Author: unknown <geofflang@chromium.org>
Date:   Wed Nov 25 13:25:29 2015 -0500

    Hard-limit the number of uniform vectors in OpenGL.
    
    Using the real limits (usually 4096) can cause the uniforms/gl-uniform-arrays
    WebGL test to time out.  This limit artificial limit can be lifted once the
    test is updated.
    
    BUG=407309
    
    Change-Id: I17a0a963e606800ec4f6f1972c777b597976622f
    Reviewed-on: https://chromium-review.googlesource.com/314460
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit b4a3af298cdb58150b3dd032f53cb54629a0c985
Author: unknown <geofflang@chromium.org>
Date:   Wed Nov 25 15:02:51 2015 -0500

    Remove assertion that OpenGL program linking succeeds.
    
    This assertion is causing problems on the debug bots.  While the assertion is
    nice for local debugging, causing the entire run of WebGL cts on the trybots
    to fail is too big of a drawback.
    
    BUG=angleproject:889
    
    Change-Id: Ie86d2f0e84132bef8fb94a693440af7e9b7fc8e9
    Reviewed-on: https://chromium-review.googlesource.com/314480
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 47ac69c165276c6ffa9ab1ab40f5fd7f6ad78824
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Nov 24 11:15:57 2015 -0500

    Update gpu_test_expectations to support OSX 10.11
    
    On the Chromium side there was also a large refactor of SplitString.
    This patch includes a replication of that refactor in string_utils and
    adds the Chromium unittests to string_utils_unittests.cpp
    
    BUG=angleproject:1234
    
    Change-Id: I4f71064fbf325c204e98a7b36ead118913d90f2c
    Reviewed-on: https://chromium-review.googlesource.com/314101
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit faaa84ac1e8649f57ef2c122e4349397bb4ef17d
Author: Stephen McGruer <smcgruer@google.com>
Date:   Tue Nov 24 13:29:23 2015 -0500

    Hide libpci pkg-config request behind use_libpci==1
    
    This allows platforms that don't have libpci to configure the code
    without error.
    
    BUG=560948
    
    Change-Id: I155f35108d9be193afed5304b443a6afdf33b077
    Reviewed-on: https://chromium-review.googlesource.com/314300
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Stephen Mcgruer <smcgruer@google.com>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 183d7e2487511a9b3d6a1db6afe77891535d89de
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Nov 20 15:59:09 2015 +0200

    Remove predefined precision qualifiers from ESSL3 samplers
    
    New sampler types in ESSL3 should not have default precision qualifiers.
    This is specified in ESSL 3.00.4 section 4.5.4.
    
    BUG=angleproject:1222
    TEST=angle_unittests
    
    Change-Id: I9c8e7a5fbb4278db80de79bcaeebaf23e64242a0
    Reviewed-on: https://chromium-review.googlesource.com/312048
    Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit 6328667d6563e7df4682f067f309801ea9584b1c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 24 13:00:08 2015 -0500

    Add gl_FragDepth support for D3D11/ES3.
    
    An incorrect check was blocking existing support we added for the
    extension.
    
    BUG=angleproject:1226
    
    Change-Id: I335053b1bebb37fd9296b36702031bd34c1bb59e
    Reviewed-on: https://chromium-review.googlesource.com/313992
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 6b120b9f9d7d8dd99821691c1e28058afba1c5c0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 24 13:00:07 2015 -0500

    Add checks for FBO attachment layer.
    
    We would allow the app to attach layers that were out-of-bounds. Fix
    this by checking against the underlying resource dimensions. Also
    rework the code a bit to clean up the texture size query, which is
    available from the ImageDesc.
    
    BUG=angleproject:869
    
    Change-Id: I984f1db16daea6ca650d795884d8ec2cb8f05ebb
    Reviewed-on: https://chromium-review.googlesource.com/313991
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit ee322723868f74bedaa5ab3f9bc164948098fddb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 24 20:42:48 2015 +0000

    Revert "D3D11: Fix Integer Texture Cube mip mapping."
    
    2 tests failed:
        dEQP_GLES3.Default/functional_shaders_texture_functions_texture_isamplercube_vertex (c:\b\build\slave\gpu_win_builder\build\src\third_party\angle\src\tests\deqp_support\angle_deqp_gtest.cpp:234)
        dEQP_GLES3.Default/functional_shaders_texture_functions_texture_usamplercube_vertex (c:\b\build\slave\gpu_win_builder\build\src\third_party\angle\src\tests\deqp_support\angle_deqp_gtest.cpp:234)
    
    BUG=angleproject:1208
    
    This reverts commit 5778557fe99e300f245a7bfc2200f6b0179e3fbf.
    
    Change-Id: I6f7441bdbfbf937680b0d572645edee8ece649a1
    Reviewed-on: https://chromium-review.googlesource.com/314301
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit cc86d64ec25a630cb378a8e1bf0fafe4ce3c799f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 24 13:00:07 2015 -0500

    Make Framebuffer size check ES2-only.
    
    This is an ES2-only incompleteness check. We also need to require
    matching dimensions in D3D11, but make this an implementation
    specific check. Also make all implementation specific errors
    'UNSUPPORTED' since that catches all "non-ES" framebuffer
    restrictions.
    
    Note that we can't be conformant here in D3D11 currently, since the
    spec only makes an exception for mismatching formats for UNSUPPORTED,
    not for size checks. However, we don't have an easy solution.
    
    BUG=angleproject:1225
    
    Change-Id: Ic80a04bce397fc12643b010c874f432033babc5d
    Reviewed-on: https://chromium-review.googlesource.com/313990
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 5778557fe99e300f245a7bfc2200f6b0179e3fbf
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Nov 23 09:37:44 2015 -0500

    D3D11: Fix Integer Texture Cube mip mapping.
    
    We were missing both the correct SRV parameter, as well as the full
    computation of the mip level in the HLSL.
    
    BUG=angleproject:1208
    
    Change-Id: I345b1e0895495654de3863c4ebcc395d9b7371b9
    Reviewed-on: https://chromium-review.googlesource.com/312060
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 0980e29d6c570d7fc1e5d8d92b4a94f1c11dbbaf
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Nov 20 14:57:34 2015 +0200

    Don't accept default precision for uint
    
    Default precision can only be specified for float, int and sampler types.
    Default precision for int also applies to uint and uvec declarations.
    
    BUG=angleproject:1221
    TEST=angle_unittests
    
    Change-Id: I31fdcde80da16e2ea8771838f7c1a6ab4e478194
    Reviewed-on: https://chromium-review.googlesource.com/313314
    Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit ccb001b45ac5c0a533b22222c2970acb4e8bbdf7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 18 13:14:05 2015 -0500

    Roll dEQP 92f7752da8..cc0ded6c.
    
    https://android.googlesource.com/platform/external/deqp/+log/92f7752da8..cc0ded6c
    
    BUG=angleproject:1092
    
    Change-Id: Ie891d4d12eeaabb367e105e2e5e2f6823fb816f7
    Reviewed-on: https://chromium-review.googlesource.com/313021
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 847638a64a32df1b357b57507170301195263a1c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Nov 20 13:01:41 2015 -0500

    Re-land "D3D: Generate more shader debug info by default."
    
    Re-land with fix for shader size query.
    
    The debug info can be very useful to WebGL developers. Instead of
    hiding the feature behind an unsupported and broken flag, always
    enable it so that WebGL devs can access the useful translated info.
    
    Change the debug info policy to build the full info (including
    generated assembly) in Debug, and all info excepth the assembly
    in Release.
    
    BUG=angleproject:1179
    
    Change-Id: I812b2c9ba98cb8c9d5ec95721441c70e8990b626
    Reviewed-on: https://chromium-review.googlesource.com/313600
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 451cb838a9c4d7e65d6918a470d8387ade1b48d2
Author: Dian Xiang <dianx@google.com>
Date:   Wed Nov 11 10:45:57 2015 -0800

    Using dirty bit notification for d3d11 blend state
    
    BUG=angleproject:1161
    
    This is a re-land for commit ff2ab57. Dirty bits didn't check for
    sampleMask, hence when sampleMask changed and nothing else, d3D
    states didn't update. This commit also focuses on blend state for d3d11 to
    make the cl change smaller and more manageable.
    
    This commit also some performance regression issues that were occuring in
    commit ff2ab57
    
    Change-Id: I866066689911870a84125fa2150f9efbf1405ad0
    Reviewed-on: https://chromium-review.googlesource.com/312468
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tryjob-Request: Dian Xiang <dianx@google.com>
    Tested-by: Dian Xiang <dianx@google.com>

commit d6dfe67de18a3ec5c81dd11fe4433f50e1857764
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Nov 20 12:18:12 2015 -0500

    Add python perftests test runner.
    
    This test runner can run the tests in an infinite loop, giving much
    lower variance. It also automatically parses the output from several
    runs and prints out the mean and standard deviation of the population.
    
    BUG=None
    
    Change-Id: Ic9f6f7d3158e93949a8e17c99ea1e3856eb34076
    Reviewed-on: https://chromium-review.googlesource.com/312262
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 57d116a46033038ea7bbd2f42c6db3d26a4cbd3f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Nov 20 17:59:18 2015 +0000

    Revert "D3D: Generate more shader debug info by default."
    
    Has a bug where we would return the wrong size for the query.
    
    BUG=angleproject:1179
    
    This reverts commit 6de4d49477986339a92b542a18df22c49d10cf14.
    
    Change-Id: Ib58aaf0b58d8f20765f7267b29acd8c62d287525
    Reviewed-on: https://chromium-review.googlesource.com/313552
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 04c66234b2d66e8a12cc060cc2121c460db3fd73
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Nov 20 12:10:36 2015 -0500

    Mark crashing dEQP-GLES3 TF Feedback test as SKIP.
    
    This test was previously passing, but adding the new enum support has
    somehow uncovered a crashing bug. Mark it as skipped.
    
    BUG=angleproject:1150
    BUG=angleproject:1151
    
    Change-Id: Ieb0254606eab716a1628168433069ff8016e47a3
    Reviewed-on: https://chromium-review.googlesource.com/313570
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 6de4d49477986339a92b542a18df22c49d10cf14
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 19 14:08:34 2015 -0500

    D3D: Generate more shader debug info by default.
    
    The debug info can be very useful to WebGL developers. Instead of
    hiding the feature behind an unsupported and broken flag, always
    enable it so that WebGL devs can access the useful translated info.
    
    Change the debug info policy to build the full info (including
    generated assembly) in Debug, and all info excepth the assembly
    in Release.
    
    BUG=angleproject:1179
    
    Change-Id: I25656b76b8437cb2edc9d88cd33f2c4d19b6a3f0
    Reviewed-on: https://chromium-review.googlesource.com/313160
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit c22fef94aac209c1e4e90cd1b7f0b38c93a16a16
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 19 13:55:27 2015 -0500

    D3D11: Fix instancing draw with line loops.
    
    We were missing the implementation for the instanced draw for these.
    Implement them in the same way as for triangle fan.
    
    BUG=angleproject:1101
    
    Change-Id: I444f3a23383c63b8df6f9ebe25b255c8890632a1
    Reviewed-on: https://chromium-review.googlesource.com/313007
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit a05373332915001b6d13c26f6c047416663774ea
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 19 13:55:26 2015 -0500

    D3D: Fix incorrect instanced vertex offsets.
    
    The spec says that DrawElements is equivalent to the instanced
    call with an instance ID of zero. This patch fixes a bug in our
    VertexDataManager where we would sometimes ignore the attribute divisor
    for DrawElements, and stream the wrong amount of data/wrong start
    offset.
    
    BUG=angleproject:1213
    TEST=dEQP-GLES3.functional.draw.draw_elements.*
    TEST=dEQP-GLES3.functional.draw.draw_range_elements.*
    TEST=dEQP-GLES3.functional.draw.random.*
    
    Change-Id: I1c430a14ab3be68a24e233e9cdd1e4fd88c920a0
    Reviewed-on: https://chromium-review.googlesource.com/312062
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit e1a94c676102105be6fc9ae8b48f567f613f24e8
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Nov 16 17:35:25 2015 +0200

    Check that texture offset is constant and valid
    
    Offset passed to textureOffset and similar functions must be constant.
    See ESSL 3.00 spec section 8.8.
    
    It must also be in the valid range between MIN_PROGRAM_TEXEL_OFFSET and
    MAX_PROGRAM_TEXEL_OFFSET. Using values outside the valid range makes
    the results of the texture lookup undefined, as specified in GLES 3.0.4
    section 3.8.10. We generate a compiler error if an offset is outside the
    valid range.
    
    BUG=angleproject:1215
    TEST=angle_unittests
    
    Change-Id: Ida28361444d2f4050d516160f1491674c31868a1
    Reviewed-on: https://chromium-review.googlesource.com/312223
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 8ca1351a8407f391ca20a95589a23a4fb257493d
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Thu Nov 19 20:01:50 2015 -0500

    Remove incorrect comment from expectations files.
    
    BUG=none
    TEST=none
    
    Change-Id: I80283b825d4c9fe8c672c1efc9d6bc016b81ecc9
    Reviewed-on: https://chromium-review.googlesource.com/312482
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Frank Henigman <fjhenigman@chromium.org>

commit 22581ff1b24e1578a9376743ae9ca53978435d0d
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Fri Nov 6 14:25:54 2015 -0500

    Support glGet GL_TRANSFORM_FEEDBACK_BINDING.
    
    BUG=angleproject:1150
    
    Change-Id: If11bb2df6407248812d6dfa415395bbe315fa58c
    Reviewed-on: https://chromium-review.googlesource.com/311152
    Tryjob-Request: Shannon Woods <shannonwoods@chromium.org>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Frank Henigman <fjhenigman@chromium.org>

commit 84b0c3b773398d302037ea38d552606b744df34c
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Thu Nov 5 15:15:28 2015 -0800

    Re-land "In D3D, cache static vertex buffers to prevent wasteful recreation"
    
    BUG=angleproject:197
    
    Changes since first failed patch:
     - Optimized BufferD3D::getStaticVertexBuffer()
     - Removed loop to commit static buffers
     - Out-of-date static buffers (which are much rarer anyway after this patch)
       are marked for deletion at the *next* draw call, rather than searched for
       before each draw call. That search was expensive.
    
    The change should see a net improvement to DrawCallPerfBenchmark for D3D null.
    
    Change-Id: If4942e0afd9e8fefadce8820a1305e13636547ef
    Reviewed-on: https://chromium-review.googlesource.com/311115
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit e8e4debc86bc3844967fe29b3e3430a3428461f9
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Nov 18 17:15:38 2015 +0200

    Fix invalid generated sampling functions in HLSL output
    
    In some generated shaders, "levels" would be read before it is assigned
    by GetDimensions when clamping mip level to valid range. Fix these cases.
    
    BUG=angleproject:1092
    TEST=dEQP-GLES3.functional.shaders.texture_functions.*
         (12 tests start passing)
    
    Change-Id: I9fce8d378606738e5172673d222bce7968e26789
    Reviewed-on: https://chromium-review.googlesource.com/312022
    Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 3e960463bbac6a69369946d1081d19b1b9eeea45
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Nov 12 15:58:39 2015 +0200

    Detect when gl_FragData is indexed with != 0 in WebGL 2.0
    
    WebGL 2.0 explicitly specifies it to be an error when gl_FragData is
    indexed with anything else than constant zero in spec section
    'GLSL ES 1.00 Fragment Shader Output'.
    
    This doesn't apply to WebGL 1.0 or GLES.
    dEQP-GLES2.functional.shaders.fragdata* test that dynamic indexing of
    gl_FragData is allowed.
    
    TEST=angle_unittests
    BUG=angleproject:1210
    
    Change-Id: Ib401242e7867f5e7943456b059dd8e24dc404098
    Reviewed-on: https://chromium-review.googlesource.com/312045
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit bd163f6a497dcb1393b2b5f14ff89da7b5cec373
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Nov 13 12:15:38 2015 +0200

    Fix parsing structure definitions in place of constructors
    
    The shader parser used to accept structure definitions in place of
    constructors, which is invalid GLSL. This patch fixes that.
    
    BUG=angleproject:939
    TEST=angle_unittests
    
    Change-Id: Ibcf502160e91c19e693e9427b548a399d83e2a71
    Reviewed-on: https://chromium-review.googlesource.com/312032
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 40d9edf1ca8694844dfbd802027b5be44203e09e
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Nov 12 17:30:34 2015 +0200

    Fix structure comparison constant folding
    
    objectSize() will return the size of all data in the structure, and
    simply iterating over the data will work for determining whether two
    structures are equal. The earlier complex and broken approach where the
    structure was traversed recursively is not needed.
    
    BUG=angleproject:1211
    TEST=angle_unittests
    
    Change-Id: I0e5c5ccbb767d44ef6acb0f1f25f27dfc42866e1
    Reviewed-on: https://chromium-review.googlesource.com/312490
    Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 5c0e023c4933cff33e40a8c413cba890a3e6271f
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Nov 11 15:55:59 2015 +0200

    Qualify stored constant union data with const
    
    This prevents accidentally changing data that may be shared between
    multiple TIntermConstantUnion nodes.
    
    Besides making the code less prone to bugs in general, this will make it
    easier to implement constant folding of array constructors.
    
    BUG=541551
    TEST=angle_unittests, WebGL conformance tests
    
    Change-Id: I4f3059f70b841d9dd0cf20fea4d37684da9cd47e
    Reviewed-on: https://chromium-review.googlesource.com/312440
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 36b0514accbafba86c527af8ed1e8f7587fa7b15
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Nov 12 13:10:42 2015 +0200

    Fix ESSL3 indexing corner cases
    
    Indexing interface blocks or fragment outputs with a non-constant
    expression is not valid even if ANGLE has been able to constant fold
    the expression.
    
    BUG=angleproject:1210
    TEST=angle_unittests
    
    Change-Id: I2ccb67871b682976a31b8de306053b9b28c06437
    Reviewed-on: https://chromium-review.googlesource.com/312044
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit b49c9bf9cf3495a686dd1370cb8ba56a1d1c6299
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Wed Nov 18 19:02:34 2015 -0500

    bootstrap: make it work on Windows
    
    gclient is a .bat file on Windows, and subprocess won't run it unless shell=True.
    
    BUG=angleproject:1204
    TEST=run in Linux and Windows 8
    
    Change-Id: I1f94673f23ef25fe35df64ffd1ad04ed69626ad0
    Reviewed-on: https://chromium-review.googlesource.com/312324
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Austin Kinross <aukinros@microsoft.com>
    Tested-by: Frank Henigman <fjhenigman@chromium.org>

commit daa8c27f57c16cfc574ec6e4b32d56396f70c4bd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 18 14:13:55 2015 -0500

    Fix a user-after-free in a ValidationES unittest.
    
    The State destructor was trying to unref a Program that had already
    been deleted. Fix this by unbinding resources from State before we
    exit the test.
    
    BUG=554520
    
    Change-Id: I2215b1e5d27a34a649572c8f81e96dfeef7e983e
    Reviewed-on: https://chromium-review.googlesource.com/312977
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 55c25d0cf26f66da41f1fe8d9dc6dc0cb1b1bfd9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 18 13:08:08 2015 -0500

    D3D11: Fix varying packing with structs.
    
    Previously we would try to pass an entire struct through HLSL's
    shader interface. Instead, split this off as if each field was
    its own variable, which seems to be spec compliant (see ESSL 3.10).
    
    In the future we may want to fix register packing to use specific
    components of float4/int4/uint4 HLSL registers. This could also fix
    the remaining bugs in the SM3 packing.
    
    TEST=dEQP-GLES3.functional.shaders.linkage.varying.*
    BUG=angleproject:910
    BUG=angleproject:1202
    
    Change-Id: I1fd8b4505abc39bd2385ed5c088c316d55d0bc2c
    Reviewed-on: https://chromium-review.googlesource.com/311242
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 9fc3682c57d572ba82720889ba15935330636766
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 18 13:08:07 2015 -0500

    D3D: Rework varying packing code.
    
    In D3D we pack varyings by making a register map, and using the
    recommended GLSL ES algorithm to reserve register space. We use
    this map to assign row and column slots to each varying and then
    produce a semantic index value.
    
    The existing scheme had a number of bugs, and was failing several
    angle_end2end_tests. The new design cleans up the code somewhat
    and uses a different counting scheme for the semantic indexes:
    just sort the varyings in packing order and use a simple
    incrementing semantic index per varying. In SM4+, the HLSL compiler
    sorts and packs the varyings correctly itself, and in SM3, handle
    the cases we don't support by returning an error instead of a D3D
    compiler link error.
    
    Also refactor how we store varying information for TF Feedback/
    StreamOut. Only store the necessary D3D information, instead of
    extra information like the name and type.
    
    This fixes several tests in GLSLTest/*. This also will allow us to
    fix interpolation qualifier packing and the structure packing in
    HLSL, which seems to work differently than the rest of the varying
    types.
    
    BUG=angleproject:1202
    TEST=bots,dEQP-GLES3.functional.transform_feedback.*
    
    Change-Id: Ie5bfbb4f71d8bf97f39115fc46d2e61b131df639
    Reviewed-on: https://chromium-review.googlesource.com/311241
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit e39a3f0a52793e4ea24b69c13da7ea9fc735c211
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 17 20:42:15 2015 -0500

    ProgramD3D: Move some common code into a Metadata class.
    
    This metadata class captures some of our commonly referenced but also
    complex flats into a shared place. We can then re-use them in the
    semantic code, the DynamicHLSL linking code, and the program code.
    
    Refactoring patch only.
    
    BUG=angleproject:1202
    
    Change-Id: I8b6088cfa5488c5173a6f06c15abab5a4ead4cb8
    Reviewed-on: https://chromium-review.googlesource.com/311700
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 7824b6091f42ff9618eb191ab92c0713f4fce9ab
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Mon Nov 16 19:45:10 2015 -0500

    Add bootstrap.py.
    
    Add a script to run "gclient config" and edit the output, since
    gclient will no longer do what we want.
    
    BUG=angleproject:1204
    TEST=none
    
    Change-Id: I00e214490967e14034c935e051acc39229f27ff7
    Reviewed-on: https://chromium-review.googlesource.com/312233
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Frank Henigman <fjhenigman@chromium.org>

commit 6218c80bf7f9fe3af33cc6d7f3763371f7329924
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Nov 9 11:14:47 2015 -0500

    Revert "Revert "renderergl_utils: Require explicit location qualifier for OpenGLES3""
    
    This reverts commit 45a7d64fd84a7cb292ff71890a61f8d2b7609aa4.
    
    Change-Id: I7f94609fc7cf14220d98c61e73a13311d3cc4ecd
    Reviewed-on: https://chromium-review.googlesource.com/311245
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 50ff85e5e0de1afffe682b4e1b1011c074777710
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Nov 11 14:22:21 2015 -0500

    DisplayGLX: add support for complete lack of extensions
    
    We thought we could rely on GLX_create_context_attrib being present but
    this is not the case with VM drivers. Instead we fallback to creating
    contexts with glXCreateContext that doesn't offer control on which
    version and profile the context will have.
    
    Likewise we may not always be able to use the multisample but we can
    safely assume that the number of samples and sample buffers are zero in
    this case.
    
    BUG=angleproject:1206
    
    Change-Id: I888c69e609764994baf86386c9683b3edeb320f7
    Reviewed-on: https://chromium-review.googlesource.com/312230
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit a37c61375efbb2abc673948cf91da9249fe58b17
Author: Minmin Gong <mgong@microsoft.com>
Date:   Wed Nov 11 17:06:53 2015 -0800

    D3D11: Fix GL_ETC1_RGB8_OES format.
    
    Passes all ETC1 related dEQP tests on Windows.
    
    BUG=angleproject:1212
    TEST=dEQP-GLES2.capability.extensions.compressed_texture_formats.GL_OES_compressed_ETC1_RGB8_texture
    TEST=dEQP-GLES2.functional.texture.format.*
    TEST=dEQP-GLES2.functional.texture.wrap.*
    TEST=dEQP-GLES2.functional.texture.filtering.*
    TEST=dEQP-GLES3.functional.texture.format.compressed.etc1*
    TEST=dEQP-GLES3.functional.texture.filtering.*
    
    Change-Id: I937b039f90161bb5e8777766ea0c032ddfbbf159
    Reviewed-on: https://chromium-review.googlesource.com/312416
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Minmin Gong <mgong@microsoft.com>

commit 65345da4ade8deb7dee3628e46b491aeed4d6585
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Nov 13 11:25:23 2015 -0500

    Re-land "D3D: Move some varying packing code into a new file."
    
    Re-land with fix for compile errors.
    
    Refactoring patch which moves code only. Work and full description
    will follow in a subsequent CL.
    
    BUG=angleproject:1202
    
    Change-Id: Ib7c7dbd32491cdd9512dbecdc0e1e90303d8f28d
    Reviewed-on: https://chromium-review.googlesource.com/312481
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 67bc10212d4079817f596478226112f8d2fd899d
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Nov 6 14:30:15 2015 -0500

    GLX backend: fallback to lesser swap_control extensions
    
    Re-reland with a warning fix.
    
    We would like to use the EXT_swap_control extension to specify the swap
    interval of each drawable independently. However open source drivers do
    not expose this extension and instead expose the MESA and SGI versions
    that have a global swap interval.
    
    This commit changes the code to use the best swap_control extension it
    can, potentially changing the swap interval on each swap buffers on
    lesser extensions.
    
    BUG=angleproject:1206
    
    Change-Id: I7ecf1eed6808672f277d0242d65f90d7851d2a32
    Reviewed-on: https://chromium-review.googlesource.com/312322
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 2075102dd7a8f6d44a3be4561ebc24a8acf6ab4b
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Nov 13 15:21:30 2015 +0000

    Revert "GLX backend: fallback to lesser swap_control extensions"
    
    This reverts commit a1393c59e9466dfe3a3ccaf710c272aa26045b85.
    
    Change-Id: I5da0f740a7073f14ad1ee7e2876a9cc71a706e7f
    Reviewed-on: https://chromium-review.googlesource.com/312231
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit a1393c59e9466dfe3a3ccaf710c272aa26045b85
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Nov 6 14:30:15 2015 -0500

    GLX backend: fallback to lesser swap_control extensions
    
    Reland with a compilation fix.
    
    We would like to use the EXT_swap_control extension to specify the swap
    interval of each drawable independently. However open source drivers do
    not expose this extension and instead expose the MESA and SGI versions
    that have a global swap interval.
    
    This commit changes the code to use the best swap_control extension it
    can, potentially changing the swap interval on each swap buffers on
    lesser extensions.
    
    BUG=angleproject:1206
    
    Change-Id: I6c24217c7cfd5e09f60469cc7d6336cd68bc5c32
    Reviewed-on: https://chromium-review.googlesource.com/312270
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit b2b6265b60003977044a6164732791e1809f5baa
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Nov 9 15:00:39 2015 -0500

    Display[GLX|CGL]: correctly set the config conformant bits
    
    Reland with a fix for a compilation that happened because of a bad
    rebase.
    
    Previously there was a TODO to check if we supported ES3 before setting
    the conformant bitfield. Now it is done.
    
    BUG=angleproject:1188
    
    Change-Id: I3ef2bd2bc71fb61c465085d32cf08a633904caa6
    Reviewed-on: https://chromium-review.googlesource.com/312271
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit ac0f9b1f94dc4b25742ab00ea4abc0150cc3a6b1
Author: Dirk Pranke <dpranke@chromium.org>
Date:   Thu Nov 12 14:54:10 2015 -0800

    Add missing GN build dependency on -lrt for linux.
    
    Without this fix, angle_end2end_tests links fine on Trusty
    but not on Precise or older versions of Linux (util/linux/LinuxTimer.cpp
    calls clock_gettime(), which is part of libc on newer versions of the
    OS but requires -lrt on older versions. GYP had the dependency specified
    but GN didn't).
    
    R=cwallez@chromium.org
    BUG=432959, 531296
    
    Change-Id: I70e1f701d099f3ba72c7e5dfd7af6d47658ffad9
    Reviewed-on: https://chromium-review.googlesource.com/312298
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 3fed430671a2c57ea65191e067336ba664f61670
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Nov 2 12:26:02 2015 +0200

    Unfold short-circuiting operators in loop conditions correctly
    
    Sometimes short-circuiting operators need to be unfolded to if
    statements. If the unfolded operator is inside a loop condition or
    expression, it needs to be evaluated repeatedly inside the loop. Add
    logic to UnfoldShortCircuitToIf that can move or copy the unfolded part
    of loop conditions or expressions to inside the loop.
    
    The exact changes that need to be done depend on the type of the loop.
    For loops may require also moving the initializer to outside the loop.
    
    The unfolded expression inside a loop condition or expression is moved
    or copied to inside the loop on the first traversal of the loop node,
    and unfolding to if is deferred until a second traversal. This keeps the
    code relatively simple.
    
    BUG=angleproject:1167
    TEST=WebGL 2 conformance tests,
         dEQP-GLES2.functional.shaders.*select_iteration_count*
    
    Change-Id: Ieffc0ea858186054378d387dca9aa64a5fa95137
    Reviewed-on: https://chromium-review.googlesource.com/310230
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 15c2ac30740f1d75424ac03bc6b37ef66bd98ab8
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Nov 9 15:51:43 2015 +0200

    Fix constructor parsing issues
    
    After this patch, ANGLE no longer accepts constructors where any of
    multiple parameters is sampler or void.
    
    Also, structure array constructors with just one parameter are now
    accepted.
    
    Error message for a constructor with no parameters is also more
    informative than before.
    
    BUG=angleproject:1193
    TEST=angle_unittests
    
    Change-Id: I6b897973448cf500096f612b3b95dcc23aebc716
    Reviewed-on: https://chromium-review.googlesource.com/311590
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit bbdeeb186be7fef6c773a2c897de1446cb2c024f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 12 15:42:16 2015 +0000

    Revert "D3D: Move some varying packing code into a new file."
    
    Compile error:
    
    c:\b\build\slave\gpu_win_builder\build\src\third_party\angle\src\libangle\renderer\d3d\dynamichlsl.cpp(508) : error C3861: 'getSemanticInfo': identifier not found
    c:\b\build\slave\gpu_win_builder\build\src\third_party\angle\src\libangle\renderer\d3d\dynamichlsl.cpp(642) : error C3861: 'getSemanticInfo': identifier not found
    
    BUG=angleproject:1202
    
    This reverts commit d992cde27ea6ffd71205399c3ddb88c7085c99b4.
    
    Change-Id: I11f34d2ac4cc047c397e45348cb9502676380be0
    Reviewed-on: https://chromium-review.googlesource.com/312480
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit d992cde27ea6ffd71205399c3ddb88c7085c99b4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 10 14:42:08 2015 -0500

    D3D: Move some varying packing code into a new file.
    
    Refactoring patch which moves code only. Work and full description
    will follow in a subsequent CL.
    
    BUG=angleproject:1202
    
    Change-Id: I60346c516209a0517fc2bac38e0d04ff56bcbc3c
    Reviewed-on: https://chromium-review.googlesource.com/311260
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit f0eb5bbbfecb9399809d09f0a72ee22f1e666e5e
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Nov 12 12:50:32 2015 +0200

    Revert "Display[GLX|CGL]: correctly set the config conformant bits"
    
    Fixes build on Linux.
    
    This reverts commit 46439bae5d441e13abf071ac209f310f2b044256.
    
    Change-Id: Ie6da92e3ee6cc535f2c153a12af0aa63f6bea665
    Reviewed-on: https://chromium-review.googlesource.com/312442
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 1d1227890d26c9092320e0fb6d5c473177ad68c5
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Nov 6 15:35:17 2015 +0200

    Fix constructor constant folding
    
    The previous solution for constant folding constructors was significantly
    overengineered and partially incorrect. Switch to a much simpler
    constructor folding function that does not use an AST traverser, but
    simply iterates over the constant folded parameters of the constructor
    and doesn't do any unnecessary checks. It also reuses some code for
    constant folding other built-in functions.
    
    This fixes issues with initializing constant matrices with only a single
    parameter. Instead of copying the first component of the constructor
    parameter all over the matrix, passing a vec4 or matrix argument now
    assigns the values correctly.
    
    BUG=angleproject:1193
    TEST=angle_unittests, WebGL conformance tests
    
    Change-Id: I50b10721ea30cb15843fba892c1b1a211f1d72e5
    Reviewed-on: https://chromium-review.googlesource.com/311191
    Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 7c3848e58bc1dcbd24585f13f98d7c2864a6bfc8
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Nov 4 13:19:17 2015 +0200

    Allow constant folding some non-constant expressions
    
    This requires removing the assumption that constant folding implies
    constness in the constant expression sense from various places in the
    code.
    
    This particularly benefits ternary operators, which can now be simplified
    if just the condition is a compile-time constant.
    
    In the future, the groundwork that is laid here could be used to implement
    more aggressive constant folding of user-defined functions for example.
    
    TEST=angle_unittests
    BUG=angleproject:851
    
    Change-Id: I0eede806570d56746c3dad1e01aa89a91d66013d
    Reviewed-on: https://chromium-review.googlesource.com/310750
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit 0ed0d8ac03572f4a24e115bba8eeb6bbc76aea3f
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Nov 11 21:24:31 2015 +0000

    Revert "GLX backend: fallback to lesser swap_control extensions"
    
    Compile error, whoops
    
    This reverts commit 10ad877c41c05aa0764748844244ead6ebca6c1c.
    
    Change-Id: Ic8c8b7945c7f702b91fc34ab6862e1aadb3e82e7
    Reviewed-on: https://chromium-review.googlesource.com/312260
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 10ad877c41c05aa0764748844244ead6ebca6c1c
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Nov 6 14:30:15 2015 -0500

    GLX backend: fallback to lesser swap_control extensions
    
    We would like to use the EXT_swap_control extension to specify the swap
    interval of each drawable independently. However open source drivers do
    not expose this extension and instead expose the MESA and SGI versions
    that have a global swap interval.
    
    This commit changes the code to use the best swap_control extension it
    can, potentially changing the swap interval on each swap buffers on
    lesser extensions.
    
    BUG=angleproject:1206
    
    Change-Id: I48e40e443ff9a258fc33b38efb0acf6b1f3db103
    Reviewed-on: https://chromium-review.googlesource.com/311244
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 46439bae5d441e13abf071ac209f310f2b044256
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Nov 9 15:00:39 2015 -0500

    Display[GLX|CGL]: correctly set the config conformant bits
    
    Previously there was a TODO to check if we supported ES3 before setting
    the conformant bitfield. Now it is done.
    
    BUG=angleproject:1188
    
    Change-Id: Iffe30ebb5538e205695acd619ca17918d8550f3c
    Reviewed-on: https://chromium-review.googlesource.com/311690
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 28afae5d41a9ad8092cb4b3075d131851fa0dc65
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Nov 9 15:07:57 2015 -0500

    Rename LinkedVarying to D3DVarying.
    
    Also move this type to D3D-only world. It was only used in the D3D
    renderer and has specific stuff like register/semantic indexes.
    
    Refactoring patch to clean up further work with Varyings.
    
    BUG=angleproject:1202
    
    Change-Id: I4b1d6899e9eef356efc7d11e9cd6cf88b234aa76
    Reviewed-on: https://chromium-review.googlesource.com/311240
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 076ca26fc262d48afc3b509524b7daee8ae7360d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Nov 6 13:04:15 2015 -0500

    D3D11: Implement fixed primitive restart with tri fans.
    
    Similarly to line loops, we fully unpack the index data into a
    triangle list.
    
    BUG=angleproject:597
    
    Change-Id: Icf91cb77df0a941640e34a975898543e1dac5752
    Reviewed-on: https://chromium-review.googlesource.com/310501
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit a313f7aab2e2fdc442d12803173adcdec4210ce1
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Wed Oct 28 12:58:03 2015 -0700

    Refactor EGLDeviceEXT to remove renderer dependency
    
    BUG=angleproject:1190
    
    Change-Id: I38604de469c5f7efaf37bcebf20bc6425df35e62
    Reviewed-on: https://chromium-review.googlesource.com/309512
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Tested-by: Austin Kinross <aukinros@microsoft.com>

commit 18b9deb4487545f39fc3f95213fac06311873fde
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Nov 5 12:14:50 2015 +0200

    Support writing initializers using HLSL literal syntax
    
    Instead of using constructor functions to initialize variables, it is
    better to use literal initializer syntax provided by HLSL when it is
    possible. This way shader complexity is reduced and constant array
    initialization doesn't have to go through as many AST transformations.
    
    Before this patch, vec4 initialization would result in the following
    kind of HLSL:
    
    float4 f = float4(1.0, 2.0, 3.0, 4.0);
    
    After this patch, it will be:
    
    float4 f = {1.0, 2.0, 3.0, 4.0};
    
    Before this patch, vec2 array initialization would result in the
    following kind of HLSL:
    
    float2 f[2] = {0, 0, 0, 0};
    angle_construct_into_2_float2(f, float2(1.0, 2.0), float2(3.0, 4.0));
    
    After this patch, it will be:
    
    float2 f[2] = {1.0, 2.0, 3.0, 4.0};
    
    BUG=angleproject:1094
    BUG=541551
    TEST=WebGL conformance tests
    
    Change-Id: I9816a8d95a2cba3964922f6b561862d478da6145
    Reviewed-on: https://chromium-review.googlesource.com/311160
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 26d84357abaa37b66b2b3136b61b768e708a97b9
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Mon Nov 2 11:08:16 2015 -0800

    Fix some EGL validation issues
    
    BUG=angleproject:1207
    
    Change-Id: I425397ca81dfd8be98ffdc5b874d978e7cf7758d
    Reviewed-on: https://chromium-review.googlesource.com/310194
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 84f505db0a5a4eb272d416c0139e7d20753375b2
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Nov 9 13:16:45 2015 -0500

    Revert "GLX backend: fallback to lesser swap_control extensions"
    
    This reverts commit 26e3736fe30b9f67ee4b488d8a9d31ded1b679d3.

commit 0e39f4925fa6f3952d36815e899e7d95d5d00913
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Nov 9 13:16:41 2015 -0500

    Revert "Revert "Revert "renderergl_utils: Require explicit location qualifier for OpenGLES3"""
    
    This reverts commit 24db86441d148eb6a497b70c015296422ab48470.

commit 26e3736fe30b9f67ee4b488d8a9d31ded1b679d3
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Nov 6 14:30:15 2015 -0500

    GLX backend: fallback to lesser swap_control extensions
    
    Ideally we want to use EXT_swap_control as the code currently does as
    it allows us to specify the swap interval of each drawable
    independently. However open source drivers do not expose this extension
    and instead expose the MESA and SGI versions that have a global swap
    interval.
    
    This commit changes the code to use the best swap_control extension it
    can, potentially changing the swap interval on each swap buffers on
    lesser extensions.
    
    BUG=angleproject:1206
    
    Change-Id: I251c6edf400aeeae5359a4370020e74b8e6cae51

commit 24db86441d148eb6a497b70c015296422ab48470
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Nov 9 11:14:47 2015 -0500

    Revert "Revert "renderergl_utils: Require explicit location qualifier for OpenGLES3""
    
    This reverts commit 45a7d64fd84a7cb292ff71890a61f8d2b7609aa4.
    
    Change-Id: I2a8212c7507a7566baca200ed938d9e00f7103c2

commit a4ff7f453221f839fafbf539faf126e329aff5fe
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Nov 6 10:51:50 2015 -0500

    Revert "Revert "DisplayGLX: rework how glXCreateContextAttribsARB is called""
    
    This reverts commit 2df979ed06df3be3785d179f5bbe12f85dee69dc.
    
    Change-Id: Iff4ec858b8f42a4749cfc55749eb8f57b419f98f
    Reviewed-on: https://chromium-review.googlesource.com/311271
    Tested-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>

commit 5576734a46f80bc8c5265cac9fb1af774b658d89
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Nov 6 14:43:37 2015 -0500

    Remove DynamicHLSL_unittest.cpp
    
    For some reason it cause compile errors with clang on Windows,
    potentially with a wrong include order.
    
    BUG=None
    
    Change-Id: I11e9ab4dcc9f601b7d61616c7f61786bec29df91
    Reviewed-on: https://chromium-review.googlesource.com/311151
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 0d3537c224c7df5b90a2cf77678eb0987b6b7a30
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Nov 6 13:04:14 2015 -0500

    D3D11: Implement ES3 primitive restart with line loops.
    
    Unpack the index data into line strips, which can result in a
    dynamically number of indices. To this end use a scratch vector in
    Renderer11 so we don't end up allocating memory every draw call.
    
    BUG=angleproject:597
    
    Change-Id: Id3270611023cb6d163cd024e078d30ba5556e2ad
    Reviewed-on: https://chromium-review.googlesource.com/310500
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 4dd1e55fa67ed4c75c37668c9676fdd4dc09c99d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Nov 6 14:23:24 2015 -0500

    D3D11: Implement basic primitive restart.
    
    D3D11 handles primitive restart similarly to OpenGL's fixed index,
    with a couple differences. It can't be toggled off, so we need to
    restrict the max element index (handled in a prior patch), and
    for smaller buffer types we need to rewrite the index data.
    
    BUG=angleproject:597
    
    Change-Id: Ib890ce9b3f5511784138ea3953a384b1c483ca9e
    Reviewed-on: https://chromium-review.googlesource.com/309639
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit c4c74422bdab0e978462368734b6f3b35c71b3ea
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 4 09:39:47 2015 -0500

    ES3: Don't validate precision qualifiers when linking UBOs.
    
    According to the resolution of Khonos bug 10287, we shouldn't be
    validating these precisions. Note that this is counter to the
    current ESSL spec text, but there's an open action item to change
    the spec language.
    
    TEST=dEQP-GLES3.functional.shaders.linkage.uniform.block.differing_precision
    BUG=angleproject:1088
    
    Change-Id: Ib05dca792b89e57e90d3a5f9efdb3a202230f585
    Reviewed-on: https://chromium-review.googlesource.com/310760
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 63e4e72427e685e93b094ee744632674159380e6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Nov 6 19:15:11 2015 +0000

    Revert "Using dirty bits notification for blend state"
    
    Failing the dEQP-GLES3 tests:
    
    http://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20dEQP%20%28NVIDIA%29/builds/4036/
    
    3 tests failed:
        dEQP_GLES3.Default/functional_multisample_fbo_4_samples_sample_coverage_invert (c:\b\build\slave\gpu_win_builder\build\src\third_party\angle\src\tests\deqp_support\angle_deqp_gtest.cpp:234)
        dEQP_GLES3.Default/functional_multisample_fbo_8_samples_sample_coverage_invert (c:\b\build\slave\gpu_win_builder\build\src\third_party\angle\src\tests\deqp_support\angle_deqp_gtest.cpp:234)
        dEQP_GLES3.Default/functional_multisample_fbo_max_samples_sample_coverage_invert (c:\b\build\slave\gpu_win_builder\build\src\third_party\angle\src\tests\deqp_support\angle_deqp_gtest.cpp:234)
    
    BUG=angleproject:1161
    
    This reverts commit ff2ab571b00023926ce39a91bfe20e13578d1281.
    
    Change-Id: Ibf61fc2c64ffc31778645bfe0292516b1f107397
    Reviewed-on: https://chromium-review.googlesource.com/311243
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 238827fc7ec13ac951b91b758c579bc5c5ad23b2
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Fri Nov 6 14:13:05 2015 -0500

    Don't use dashes in table fields of .md files
    
    It makes gitiles sad.
    
    Change-Id: I54c1c326bbc579e5591ad5cffae06650d5f24957
    Reviewed-on: https://chromium-review.googlesource.com/311082
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit dbfdca8fd2de7b4ef7ec05161e02d4732fefee73
Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
Date:   Fri Nov 6 12:46:30 2015 -0500

    Hash interface block names and field names.
    
    BUG=544853
    
    Change-Id: I4ca77ed87c15a168c696c15f2438ad21c00985f6
    Reviewed-on: https://chromium-review.googlesource.com/310271
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit fe80abac11d6f6b1ee54ac87b611dde298ce56b5
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Thu Nov 5 22:11:43 2015 -0500

    Adds info from current landing page to README file
    
    Also adds a table to document support for various APIs and platforms.
    
    Change-Id: Ie032f553dec23516242a96ce6788fb086fad4229
    Reviewed-on: https://chromium-review.googlesource.com/311021
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 45a7d64fd84a7cb292ff71890a61f8d2b7609aa4
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Nov 6 16:19:21 2015 +0000

    Revert "renderergl_utils: Require explicit location qualifier for OpenGLES3"
    
    Causes angle_end2end_tests failures on Mac
    
    This reverts commit d63243f5be2ac7d8dafa6aea5b23e036074af397.
    
    Change-Id: Idf25d7fe9f4162813a4fc67927191747f660fceb
    Reviewed-on: https://chromium-review.googlesource.com/311041
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit d63243f5be2ac7d8dafa6aea5b23e036074af397
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Oct 29 14:23:37 2015 -0400

    renderergl_utils: Require explicit location qualifier for OpenGLES3
    
    BUG=525930
    
    Change-Id: I591308078c5a392a527291419567a11241a8be17
    Reviewed-on: https://chromium-review.googlesource.com/309636
    Tested-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 121ea5843716c663917533a07fd6d0d537606359
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Nov 4 17:00:33 2015 -0500

    DisplayGLX: validate configs against the backing context's config
    
    This is a step required before adding an ANGLE extension that will
    allow passing the Visual ID to use for the context at display creation
    time: the configs will have to be compatible with it even if the visual
    has non-standard sizes.
    
    BUG=522149
    
    Change-Id: I85e8ee3b9072934c665bddfa2b461d26f8903ff3
    Reviewed-on: https://chromium-review.googlesource.com/311220
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 91dbc188c5c6310da627598a1db4f9c2ec784c07
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jun 17 16:19:29 2015 -0700

    Enable needed extensions in generated GLSL shaders and call them when possible.
    
    reland: use the defined preprocessor function.
    
    BUG=angleproject:1044
    
    Change-Id: I6171708a2d55ec085ba2c598a1a863779842da6c
    Reviewed-on: https://chromium-review.googlesource.com/311270
    Tryjob-Request: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 15200047d2d511f8bf69a09d05e8c87d94b7ebf2
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Nov 4 16:56:31 2015 +0200

    Fix issues in comma operator parsing
    
    Always qualify comma operator result with EvqTemporary in ESSL3, as
    specified.
    
    Also, it is possible that in the future some expressions are qualified
    as EvqConst but they'd still have side effects, in which case discarding
    them when they're the left operand of the comma operator would be wrong.
    This would be the case if ANGLE allowed "(a = b).length()" for example.
    For this reason it is better to check whether the left node has side
    effects, rather than check its const qualification, and only discard it
    if it doesn't.
    
    Also, Intermediate::addComma() never returns null, so there's no need to
    check the result.
    
    BUG=angleproject:1201
    TEST=WebGL conformance tests
         conformance/glsl/misc/sequence-operator-returns-constant.html
         conformance2/glsl3/sequence-operator-returns-non-constant.html
    
    Change-Id: Ibfbd92baa4910b14c0dc8f8a3c3008440d191cd6
    Reviewed-on: https://chromium-review.googlesource.com/311171
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 0b2d2dcf95932306722aaffb227dfcc6671d0b2f
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Nov 4 16:35:32 2015 +0200

    Move comma operator parsing to ParseContext
    
    This change is pure refactoring. It will help with fixing comma operator
    return value qualifier bug.
    
    BUG=angleproject:911
    BUG=angleproject:1201
    
    Change-Id: I481c337adbaf789cc959c8a1106f99ad7275e1e5
    Reviewed-on: https://chromium-review.googlesource.com/311170
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit cdeafd20505e6f3cf1470cb29592f9092255b843
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Nov 5 14:59:18 2015 +0200

    Fix missing init when parsing storage qualifier fails
    
    When parsing a storage qualifier results in an error, the parser should
    not leave the type uninitialized. Otherwise after recovering from the
    error the parsed value could contain uninitialized memory, which could
    cause flaky asserts in further parsing.
    
    TEST=dEQP-GLES2.functional.shaders.functions.*
    BUG=angleproject:1200
    
    Change-Id: Ia3add76df243898e35fee97d01555b953cff8379
    Reviewed-on: https://chromium-review.googlesource.com/311140
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit bf8a72f69d5b7f0831ad1c36b657488dd0849900
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Nov 3 16:34:45 2015 -0500

    When doing a LUMA blit, render to an intermediate texture.
    
    Instead of rendering the swizzled result to the destination texture,
    render to another intermediate texture and then CopyTexImage it into the
    destination texture.  Rendering to arbitrary mip levels of the destination
    texture is not always supported but CopyTexImage-ing is.
    
    BUG=angleproject:1113
    
    Change-Id: I352a1fcc769ce92268744d3e7a6265dd2bfddb37
    Reviewed-on: https://chromium-review.googlesource.com/310570
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit e7fcf1e3a9ee916ffbe3874172b567fd1b18de2c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Nov 5 21:23:53 2015 +0000

    Revert "Enable needed extensions in generated GLSL shaders and call them when possible."
    
    This reverts commit 233b334213c1a4853e81f71ba90aa223b2a68dce.
    
    Change-Id: Id99024b736324ad030ce63c5d0baae32b6d7f54b
    Reviewed-on: https://chromium-review.googlesource.com/311181
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 21f76c200ce7302cb5bbbace8a9ee50a48ebb61e
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Thu Nov 5 15:54:51 2015 -0500

    Add magic newlines to markdown files.
    
    Change-Id: I225ecab48a7d3d0a04390c5535cf5b65709fd758
    Reviewed-on: https://chromium-review.googlesource.com/311072
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit c5d2136aaec2cf5f542da7ec68f67e9af6c5258a
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Thu Nov 5 15:44:24 2015 -0500

    Fixing formatting try three.
    
    Change-Id: I226d35e777e1388e01189dac0f7189e2cbf3d35a
    Reviewed-on: https://chromium-review.googlesource.com/311061
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 2e01d54064cf06d387f0372f8ca5314f62e7ccef
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Thu Nov 5 15:40:51 2015 -0500

    More formatting fixes.
    
    Change-Id: I8ff32a61362e5329c922ec696ba69480145f316a
    Reviewed-on: https://chromium-review.googlesource.com/311081
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 64b886097e92884e39a8e15f39a453fbc8d89bd2
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Thu Nov 5 14:27:38 2015 -0500

    Fix .md file formatting
    
    Change-Id: Ie9240f9b03ad8ab106659d2dc369893bfc2b652f
    Reviewed-on: https://chromium-review.googlesource.com/311071
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 233b334213c1a4853e81f71ba90aa223b2a68dce
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jun 17 16:19:29 2015 -0700

    Enable needed extensions in generated GLSL shaders and call them when possible.
    
    BUG=angleproject:1044
    
    Change-Id: Ife94d2258fb912974aa97484a0e30f289dd96734
    Reviewed-on: https://chromium-review.googlesource.com/278324
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 5b58cae2f4b775ff974bc75570f7f2be2833246c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 5 14:51:47 2015 +0000

    Revert "In D3D, cache static vertex buffers to prevent wasteful recreation"
    
    Perf bisect traced performance regression to this CL:
    
    8.1% regression in angle_perftests/DrawCallPerf_d3d9_null/score
    6.2% regression in angle_perftests/DrawCallPerf_d3d11_null/score
    
    BUG=angleproject:197
    
    This reverts commit 868651d334d060458af13c7ff9211c2f72be0cad.
    
    Change-Id: Iaba7eb4e574eb886496361e61fd5fe78ca14dcb8
    Reviewed-on: https://chromium-review.googlesource.com/311150
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit ff2ab571b00023926ce39a91bfe20e13578d1281
Author: Dian Xiang <dianx@google.com>
Date:   Mon Oct 5 16:48:06 2015 -0700

    Using dirty bits notification for blend state
    
    BUG=angleproject:1161
    
    Dirty bit notifications are used in GL for state tracking, but not D3D.
    Before, D3D would use memcmp to check a change in state for every call.
    This showed up as a hot spot in the perf test runs. Hence, switching D3D
    over to the dirty bit system similar to GL backend will help.
    
    Change-Id: I482edc852f1dcc888af3038ff3a61916496a02bc
    Reviewed-on: https://chromium-review.googlesource.com/305295
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tryjob-Request: Dian Xiang <dianx@google.com>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit b1edc4f55cd6e21ffa15abf7a26692f1256e937a
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Nov 2 17:20:03 2015 +0200

    Accept const array initialization in shader parsing
    
    Array constructors are not folded, unlike all other constant expressions.
    Change initializer parsing path so that it accepts constant initializers
    whether they are folded or not.
    
    Some parts need to be adapted to work with expressions that are qualified
    as constant but that are not necessarily folded:
    
    1. Identifier parsing
    2. Indexing parsing
    3. Field selection parsing
    4. HLSL output for variable declarations
    5. Determining unary operator result type
    6. Determining binary operator result type
    7. Determining built-in function call result type
    8. Determining ternary operator result type
    
    Corner cases that are not supported yet:
    
    1. Using array constructors inside case labels
    2. Using array constructors inside array size expressions
    3. Detecting when a negative constant expression containing an array
       constructor is used to index an array
    
    In these cases being able to constant fold the expression is essential to
    validating that the code is correct, so they require a more sophisticated
    solution. For now we keep the old code that rejects the shader if ANGLE
    hasn't been able to constant fold the case label or array size. In case of
    indexing an array with a negative constant expression containing an array
    constructor, ANGLE will simply treat it as a non-constant expression.
    
    BUG=541551
    BUG=angleproject:1094
    TEST=dEQP-GLES3.functional.shaders.constant_expressions.* (all pass),
         angle_unittests
    
    Change-Id: I0cbc47afd1651a4dece3d68acf7ec72a01fdf047
    Reviewed-on: https://chromium-review.googlesource.com/310231
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 80dfe958ab57bae65d7b95ba9c62874d05cebea0
Author: Frank Henigman <fjhenigman@chromium.org>
Date:   Wed Nov 4 22:10:31 2015 -0500

    build: ensure gyp_angle uses angle's gyp
    
    Prepend to sys.path, instead of appending, so that gyp_angle imports
    angle's gyp, instead of whatever may be installed on the system.
    
    BUG=angleproject:1203
    
    Change-Id: I9f3cfddb71fbd53f30ebf5792c31ba0a8947bddb
    Reviewed-on: https://chromium-review.googlesource.com/311040
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 41506d5d129745b79038c67a4a2384bca8718679
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Nov 5 10:08:35 2015 -0500

    Update the gclient config instructions to not use relative paths.
    
    As of https://codereview.chromium.org/1406053003 relative paths are no
    longer valid for the solution name.  Update the docs to use the full
    current directory instead.
    
    BUG=angleproject:1204
    
    Change-Id: I42b289fdad6d85901f431bb701f2a08e0ad0deb3
    Reviewed-on: https://chromium-review.googlesource.com/311180
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit f85a843963aac77467c14258ae85d0f34d3daa72
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Nov 3 11:15:31 2015 -0500

    Update the testing documentation to include the trybots.
    
    BUG=504872
    
    Change-Id: I9cbbe92afc9df6a4cb8f3ddf0c547492c6765c8e
    Reviewed-on: https://chromium-review.googlesource.com/310011
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit e79b1e142fbf3e32c780f7d764cd6bf634d1d657
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 4 16:36:37 2015 -0500

    D3D11: Restrict use of MAX_UINT element indexes.
    
    We need to block the app from using MAX_UINT on D3D11 because we can't
    disable primitive restart on this platform. Instead generate an
    INVALID_OPERATION error, which is spec-compliant in ES3 because the
    result is undefined behaviour. This is also compliant with WebGL which
    explicitly defines an error here.
    
    BUG=angleproject:597
    
    Change-Id: I7ebc5371b63ff860dc6dddf79939e9629ebb2a3c
    Reviewed-on: https://chromium-review.googlesource.com/309638
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 72028778a08af67bccae50ebf95b8c9b72f89d67
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Oct 30 10:31:54 2015 -0400

    DisplayGLX: on mesa only expose configs with the same depth-stencil
    
    BUG=angleproject:1188
    
    Change-Id: I19516cf3d037245144dfbe6fa2eed13a57aa6800
    Reviewed-on: https://chromium-review.googlesource.com/309635
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 0b2e74611a37a2f00d823fbdac6c8578c1a54155
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Oct 28 17:29:15 2015 -0400

    RendererGL: only support ES3 when GLSL packing builtins are available
    
    BUG=angleproject:1188
    
    Change-Id: I07638c52ef09ffc96d91eec25c32dd905207c49f
    Reviewed-on: https://chromium-review.googlesource.com/309650
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit f25855c92372c89a5524b8271cc5611470c178d4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 3 11:06:18 2015 -0500

    Add a ValidationContext class helper.
    
    This class is a wrapper around gl::Data, aka the metadata describing
    a gl::Context. We can use it for unit-testing validation functions
    by passing that through the validation methods instead of a Context,
    and using mocks to expect certain errors.
    
    BUG=angleproject:747
    BUG=angleproject:597
    
    Change-Id: I7bd85c7662860ba9a3a13406579a088d447e5631
    Reviewed-on: https://chromium-review.googlesource.com/309637
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 82c29ed2d1dcfea585ccd67d5e32d0dcb08247d0
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Nov 3 13:06:54 2015 +0200

    Move variable identifier parsing to ParseContext
    
    This change is purely refactoring existing functionality to make it
    easier to change variable identifier parsing.
    
    BUG=angleproject:911
    BUG=541551
    
    Change-Id: I282fbb66d40cd71fa0f4804e4a8e893744cd6bfc
    Reviewed-on: https://chromium-review.googlesource.com/309724
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 08fc7732a370dc1aab143ebd2ddac6e22ac7250d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Nov 2 16:24:25 2015 -0500

    Update dEQP failing test expectations.
    
    BUG=angleproject:1088
    BUG=angleproject:1095
    BUG=angleproject:1097
    BUG=angleproject:1101
    
    Change-Id: I40f4d5960ef52bb1049336d23da4034a41f2fe63
    Reviewed-on: https://chromium-review.googlesource.com/310480
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit f0915a8985066b5b9706ed43dfef80141d73e283
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Nov 3 11:15:36 2015 +0200

    Fix standalone build in MSVS 2013
    
    Range-based for loop saves the end iterator by assigning it to a
    variable, so the iterator class needs to have a copy constructor at
    least on some C++ compiler implementations.
    
    The issue got introduced by a chain of three commits, so it's better to
    just fix the issue rather than revert them all.
    
    TEST=build on Windows
    
    Change-Id: Ib6d8d7e97559838eaac44279454197445535f256
    Reviewed-on: https://chromium-review.googlesource.com/309723
    Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>

commit 2df979ed06df3be3785d179f5bbe12f85dee69dc
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Nov 2 22:08:57 2015 +0000

    Revert "DisplayGLX: rework how glXCreateContextAttribsARB is called"
    
    Breaks dEQP-GLES2.functional.texture.specification.basic_copyteximage2d.2d_alpha
    
    BUG=angleproject:1188
    
    This reverts commit 31e60cf221801a60c052112b5a0bbcfad9b5f705.
    
    Change-Id: Icf1fcd984832a813536fe63e385b3cf9f667d66b
    Reviewed-on: https://chromium-review.googlesource.com/309801
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit c7a92fdb774f1f4f8defa54c5b4562b6c8e03571
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 29 10:08:09 2015 -0400

    D3D11: Fix provoking vertex for flat triangle strips.
    
    Triangle strips alternate the provoking vertex based on the
    primitive, so use the primitive ID in the GS to determine this.
    This might interact poorly with primitive restart, so we might have
    to use a slow path for that.
    
    BUG=angleproject:754
    
    Change-Id: I4f6f520887d4c4c52d2ad020e6db148607f68325
    Reviewed-on: https://chromium-review.googlesource.com/309156
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 31e60cf221801a60c052112b5a0bbcfad9b5f705
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Oct 28 16:09:03 2015 -0400

    DisplayGLX: rework how glXCreateContextAttribsARB is called
    
    This patch adds handling of the EGL ANGLE platform api version display
    attributes for better testing.
    
    It makes the code more resilient by ignoring X11 errors that could crash
    our program in the call to glXCreateContextAttribsARB.
    
    It also makes sure that we always choose the most recent OpenGL version
    available on the system.
    
    BUG=angleproject:1188
    
    Change-Id: I26e1bf6733215db6f5841b54c471f644e2b15e89
    Reviewed-on: https://chromium-review.googlesource.com/309633
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 3e14e2b175d2183782013aa2fb2153f3fd7d9666
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 29 14:38:53 2015 -0400

    D3D11: Fix basic provoking vertex flat shading cases.
    
    The enables geometry shaders that correct for the flat shading on
    provoking vertexes. It does not fix it for triangle strips, or in
    conjunction with primitive restart (which is not yet implemented
    in D3D11).
    
    Also ensure we do not regress with flat shading enabled and transform
    feedback. In cases where we use flat shading, do a double draw call,
    first with an untransformed vertex stream, and no geometry shader,
    then with the geometry shader enabled.
    
    This also fixes the dEQP fragment output tests with ints.
    
    BUG=angleproject:754
    
    Change-Id: Ib37e8ec32d19db17ea5d4dc88158cdae0c956bfc
    Reviewed-on: https://chromium-review.googlesource.com/309155
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit f4b2c4fdd8a1d84be3774f7c6799b043cac9b2d3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 29 14:38:54 2015 -0400

    Refactor DynamicHLSL geometry shader code more.
    
    This refactor adds a typed iterator class for helping to iterate over
    varying registers from packed varyings. We use the same iteration
    logic in several places and it has a triple loop, so encapsulating
    this into an iterator class keeps it cleaner.
    
    The other change is to use std::stringstream in places where we would
    return a std::string.
    
    These refactorings will aid in subsequent work to implement provoking
    vertex fixes and to refactor our varying packing algorithm.
    
    BUG=angleproject:754
    
    Change-Id: Id44a1f68ccd4edc3458f1cf514f5eab4b8cd4151
    Reviewed-on: https://chromium-review.googlesource.com/309811
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 62c49f5d8215b11982d2a822a505c9d7ab2abc58
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Oct 30 10:34:17 2015 -0400

    PbufferSurfaceGLX: avoid creating (0, 0)-sized pbuffers
    
    It crashes on Mesa.
    
    BUG=angleproject:1188
    
    Change-Id: I1e1e3e696bfda0c127b683a620cbaf302087e43b
    Reviewed-on: https://chromium-review.googlesource.com/309630
    Tested-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 5d91dda9b5c46a2c72fb7c19d401e75b16abd638
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Jun 18 15:47:46 2015 +0300

    Remove dynamic indexing of matrices and vectors in HLSL
    
    Re-re-relanding after clang warning fix.
    
    Re-re-landing with fix to setting qualifiers on generated nodes. The
    previous version failed when a uniform was indexed, because it would
    set the uniform qualifier on some of the generated nodes and that
    interfered with the operation of UniformsHLSL.
    
    Re-landing after fixing D3D9 specific issues.
    
    HLSL doesn't support dynamic indexing of matrices and vectors, so replace
    that with helper functions that unroll dynamic indexing into switch/case
    and static indexing.
    
    Both the indexed vector/matrix expression and the index may have side
    effects, and these will be evaluated correctly. If necessary, index
    expressions that have side effects will be written to a temporary
    variable that will replace the index.
    
    Besides dEQP tests, this change is tested by a WebGL 2 conformance test.
    
    In the case that a dynamic index is out-of-range, the base ESSL 3.00 spec
    allows undefined behavior. KHR_robust_buffer_access_behavior adds the
    requirement that program termination should not occur and that
    out-of-range reads must return either a value from the active program's
    memory or zero, and out-of-range writes should only affect the active
    program's memory or do nothing. This patch clamps out-of-range indices so
    that either the first or last item of the matrix/vector is accessed.
    
    The code is not transformed in case the it fits within the limited subset
    of ESSL 1.00 given in Appendix A of the spec. If the code isn't within
    the restricted subset, even ESSL 1.00 shaders may require this
    workaround.
    
    BUG=angleproject:1116
    TEST=dEQP-GLES3.functional.shaders.indexing.* (all pass after change)
         WebGL 2 conformance tests (glsl3/vector-dynamic-indexing.html)
    
    Change-Id: I9f6d7c7ecda8ac4dc3c30b39e15a9a0b5381c5a8
    Reviewed-on: https://chromium-review.googlesource.com/310010
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 4e31ad552b5be5c0cece5f1bff2ff33834bc348e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 29 10:32:57 2015 -0400

    D3D11: Add dynamic geometry shaders.
    
    The geometry shader we want will depend on our current draw mode, and
    if we're using flat shading in the shader. Without flat shading, we'll
    still be using them only for point sprites, but for other primitive
    types with flat shading enabled, we'll be using them to correct the
    provoking vertex order with D3D11.
    
    Note: no new features in this CL, those are turned on in follow-ups.
    
    BUG=angleproject:754
    
    Change-Id: Iabf13ffd582f5a7200ee0df5aa9c3671aa7b6ed4
    Reviewed-on: https://chromium-review.googlesource.com/309154
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 76f8fa663123a3d569e2d1872b59d145ad19f4b5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 29 10:32:56 2015 -0400

    Refactor Geometry Shader support to enable pass-through.
    
    This should be a refactoring change only. The new code is exercised in
    follow-up CLs.
    
    BUG=angleproject:754
    
    Change-Id: I99285e1e7772cae467013102f25c911ebc9f54a9
    Reviewed-on: https://chromium-review.googlesource.com/309153
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 1cc109039c4b88e4d159c4c79b089da9efe3777d
Author: Cooper Partin <coopp@microsoft.com>
Date:   Thu Oct 29 13:43:40 2015 -0700

    Removed Sleep( ) workaround for Windows Store builds
    
    Visual Studio SDKs now include the ability for Windows Store applications to
    use the Sleep( ) function.
    
    Change-Id: Iaf2a978e778f82e918ba14a58bbb1807cc1fbaf4
    Reviewed-on: https://chromium-review.googlesource.com/309890
    Tested-by: Cooper Partin <coopp@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 0c1d44037bea61964cacb030be001cf2de98eff0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 29 10:13:49 2015 -0400

    dEQP: Use full GTest name in non-standalone.
    
    With crbug.com/509883 fixed, we can use the full test names.
    
    BUG=509883
    BUG=angleproject:1153
    
    Change-Id: I62bf60fb5066de8c0cc118512ba0d9e9bbd94303
    Reviewed-on: https://chromium-review.googlesource.com/309653
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit a5f64de71469f43d7d67b816646c96509bc0df3f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 30 12:31:00 2015 +0000

    Revert "Remove dynamic indexing of matrices and vectors in HLSL"
    
    Failing build on Clang-win:
    
    ..\..\third_party\angle\src\compiler\translator\RemoveDynamicIndexing.cpp(128,43) :  error: expected '(' for function-style cast or type construction
            fieldType.setPrimarySize(unsigned char(indexedType.getRows()));
                                     ~~~~~~~~ ^
    
    BUG=angleproject:1116
    
    This reverts commit 7535b761dd4740c8e76b888d7c58c7cbeefd2083.
    
    Change-Id: I7b502e3dcd45e17b7ed88fec18be702614d9ac65
    Reviewed-on: https://chromium-review.googlesource.com/309772
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 42e9e59997ef908d6c719ac55b1a6e7953ca516d
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Oct 29 14:09:25 2015 -0400

    ProgramBinaryTest: use override where applicable
    
    BUG=None
    
    Change-Id: Ibb3c6ea919c34e967aaa5d475d6e05249d2ee6aa
    Reviewed-on: https://chromium-review.googlesource.com/309810
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 0984d111e27a64bbbc62e31ce485bd28a62ed35b
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Oct 29 14:06:04 2015 -0400

    Replace _countof with ArraySize
    
    This macro only exists on MSVC
    
    BUG=None
    
    Change-Id: I23204d1307279840a7f85a005da9ed5c324e7dae
    Reviewed-on: https://chromium-review.googlesource.com/309800
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 1cf66a8d1eeb9ae8b06f4dc998b4dec1a2465a1e
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Oct 28 10:59:50 2015 -0400

    platform_glx: Add support for ARB_create_context_profile
    
    BUG=angleproject:1188
    
    Change-Id: I5a72ff3521c01b4da661a90f6d761da61b3aad60
    Reviewed-on: https://chromium-review.googlesource.com/309631
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 868651d334d060458af13c7ff9211c2f72be0cad
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Mon Aug 31 15:31:18 2015 -0700

    In D3D, cache static vertex buffers to prevent wasteful recreation
    
    BUG=angleproject:197
    
    Change-Id: I66cd10609b2edbcf12b99530eafe1727511fe515
    Reviewed-on: https://chromium-review.googlesource.com/296503
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 42590dd7c6460efd7ab14cd90a037c3a5a2c3d3a
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Oct 28 11:16:41 2015 -0400

    Fix a typo in DisplayWGL
    
    BUG=None
    
    Change-Id: Ib9d43ced80f38c61f5936fb027433d9f2b4c7f98
    Reviewed-on: https://chromium-review.googlesource.com/309632
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit b0228e1812889d2a52e4f95187939d1c295c3f54
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Oct 14 16:05:03 2015 -0700

    OSXWindow fix a use after free of the WindowDelegate
    
    This use after free was triggered when a window was made key and
    destroyed, then another window was made key. dedResignKey was called on
    the former's WindowDelegate which had already been freed, causing a
    crash.
    
    BUG=angleproject:891
    
    Change-Id: If47e88419f9a407a6a77c5cd9853b7b4860dc698
    Reviewed-on: https://chromium-review.googlesource.com/305817
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 7c89d2489b476895a1f22c5e58026289e9176b52
Author: Cooper Partin <coopp@microsoft.com>
Date:   Tue Oct 13 12:45:59 2015 -0700

    Reland Fixed FL9_3 shaders that use glPointCoord without glPointSize.
    
    This change fixes a Shader error on FL9_3 that reports
    Vertex/Pixel Shader linkage signatures between stages
    being incompatible when glPointCoord is used without glPointSize.
    
    Change-Id: I107d06692c5375c07544038f5f4429c1e8d6e313
    Reviewed-on: https://chromium-review.googlesource.com/305395
    Tested-by: Cooper Partin <coopp@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 60ad73dcd80b8f4a5e1a23db6f94d8435772bb35
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Oct 23 10:08:44 2015 -0400

    Add ASTC compressed texture format info to the GL layer.
    
    BUG=angleproject:1185
    
    Change-Id: Ie723687e0289812d6c2306589911b548ac321e22
    Reviewed-on: https://chromium-review.googlesource.com/308491
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit d55d283c31a0a22479688658e44eed293d5606c7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Oct 27 13:59:19 2015 -0400

    Add a test for flat shader 'provoking vertex'.
    
    The provoking vertex, or leading vertex, is the vertex in a triangle
    which produces the value that gets used for a flat-shaded triangle.
    Flat shading means the same value gets used for the entire triangle.
    
    It seems as though D3D and OpenGL have different definitions of which
    vertex is the leading/provoking one; GL says it is the *last* vertex
    of a primitive, while while D3D says it is the first.
    
    Additional complexity comes about from triangle strips, which switch
    winding order, and primitive restart, which defines new primitives in
    the middle of prior primitives.
    
    BUG=angleproject:754
    
    Change-Id: If1217cba33dabf3b1e4ad13fd639d049cb16fe44
    Reviewed-on: https://chromium-review.googlesource.com/309152
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit f541f5296ff195af7b5f9bcaa678e968a658d91e
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Oct 13 12:21:01 2015 +0300

    Fix parsing integers larger than 0x7FFFFFFF
    
    Parsing should accept all values between 0 and 0xFFFFFFFF as specified in
    ESSL 3.00 section 4.1.3.
    
    When a signed literal is parsed, it's interpreted as if it specifies the
    bit pattern of a two's complement integer. For example, parsing
    "0xFFFFFFFF" results in -1. Decimal literals behave the same way, so for
    example parsing "3000000000" results in -1294967296.
    
    This change affects parsing of literals in ESSL 1.00 as well. In ESSL
    3.00, an out-of-range integer literal now generates a compiler error.
    
    Unit tests are added based on examples in the ESSL 3.00 spec and one
    example in GLSL 4.5 spec that ESSL should match.
    
    BUG=541550
    TEST=angle_unittests
    
    Change-Id: I82f8ef5cfa2881019a3f80d77ff99707d61c000d
    Reviewed-on: https://chromium-review.googlesource.com/305420
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Corentin Wallez <cwallez@google.com>

commit e3f3cf7b70374827044cdfa88cf8b94e50dda071
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Oct 27 10:17:07 2015 -0400

    DisplayGLX: make the dummy pbuffer of size (1, 1)
    
    This works around a Mesa crasher bug.
    
    BUG=angleproject:1188
    
    Change-Id: Ief7e6e841715cc04dea696bc1919d7a2d6fbc78d
    Reviewed-on: https://chromium-review.googlesource.com/309141
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit c8947ea2f20b6a1bca0655bf236c40685bc60db9
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Oct 27 10:16:39 2015 -0400

    FunctionsGLX: add glXGetCurrent(Drawable|Context) support
    
    BUG=angleproject:1188
    
    Change-Id: Ibf0fb4be3ec08cc43b2d9aba03a3d0fc12adce9d
    Reviewed-on: https://chromium-review.googlesource.com/309140
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit e2cd53d68edd2406c28674a6f8295bfc48fb5c8b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Oct 27 11:15:46 2015 -0400

    Implement primitive restart boolean query.
    
    We have support for primitive restart in the GL renderer, but we
    didn't complete support for the state query.
    
    BUG=angleproject:1101
    
    Change-Id: I4c6ad10642f7de1d09718c4582f1037782cced58
    Reviewed-on: https://chromium-review.googlesource.com/309151
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@google.com>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 362df97f3efb13f3cb1ec1c9b7df86953ef4f320
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Oct 27 11:15:45 2015 -0400

    Update WebGL test expectations.
    
    BUG=None
    
    Change-Id: Id2a88bcfd9ebf8152704ca9fc66d8401d5db43e2
    Reviewed-on: https://chromium-review.googlesource.com/309150
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit ae69d7e13fea2a43254377a53153d03306d44b9e
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Oct 7 17:19:50 2015 +0300

    Output layout qualifiers in GLSL output
    
    Output layout qualifiers for vertex shader attributes and fragment
    shader outputs. This applies both to ESSL output and GLSL output. If
    the source shader is in ESSL1, the code has no effect since there's
    no layout information in the AST.
    
    BUG=525930
    TEST=angle_unittests, angle_end2end_tests
    
    Change-Id: I48b3aa56116c15d11599b030eed4c45be2c8fc7e
    Reviewed-on: https://chromium-review.googlesource.com/304550
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 839ce0b463047bc4a6694da7d9893b29bc52ec0a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Oct 23 13:13:12 2015 -0400

    Validate that compressed image formats are supported by the context.
    
    This validation was previously acceptable because all renderers supported all
    compressed formats in the format tables.  Adding new formats that are not
    universally supported would have caused failures in the dEQP negative API
    tests.
    
    BUG=angleproject:1185
    
    Change-Id: I102a3286a351a7c8936527963a382d9673341fc0
    Reviewed-on: https://chromium-review.googlesource.com/308490
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 7535b761dd4740c8e76b888d7c58c7cbeefd2083
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Jun 18 15:47:46 2015 +0300

    Remove dynamic indexing of matrices and vectors in HLSL
    
    Re-re-landing with fix to setting qualifiers on generated nodes. The
    previous version failed when a uniform was indexed, because it would
    set the uniform qualifier on some of the generated nodes and that
    interfered with the operation of UniformsHLSL.
    
    Re-landing after fixing D3D9 specific issues.
    
    HLSL doesn't support dynamic indexing of matrices and vectors, so replace
    that with helper functions that unroll dynamic indexing into switch/case
    and static indexing.
    
    Both the indexed vector/matrix expression and the index may have side
    effects, and these will be evaluated correctly. If necessary, index
    expressions that have side effects will be written to a temporary
    variable that will replace the index.
    
    Besides dEQP tests, this change is tested by a WebGL 2 conformance test.
    
    In the case that a dynamic index is out-of-range, the base ESSL 3.00 spec
    allows undefined behavior. KHR_robust_buffer_access_behavior adds the
    requirement that program termination should not occur and that
    out-of-range reads must return either a value from the active program's
    memory or zero, and out-of-range writes should only affect the active
    program's memory or do nothing. This patch clamps out-of-range indices so
    that either the first or last item of the matrix/vector is accessed.
    
    The code is not transformed in case the it fits within the limited subset
    of ESSL 1.00 given in Appendix A of the spec. If the code isn't within
    the restricted subset, even ESSL 1.00 shaders may require this
    workaround.
    
    BUG=angleproject:1116
    TEST=dEQP-GLES3.functional.shaders.indexing.* (all pass after change)
         WebGL 2 conformance tests (glsl3/vector-dynamic-indexing.html)
    
    Change-Id: I16119f9092360fb72798f9550a6f4d3cfffdc92f
    Reviewed-on: https://chromium-review.googlesource.com/308790
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Zhenyao Mo <zmo@chromium.org>

commit a33475b36f7b069f3aa8cab4e72c2d8eb9693e08
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 26 13:08:58 2015 -0400

    Suppress failing textures tests in Linux dEQP.
    
    BUG=angleproject:1020
    
    Change-Id: Ia074186c2f80b41c5a02523b3b3f564cd09ec557
    Reviewed-on: https://chromium-review.googlesource.com/308920
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 8182049470aa3ba0c9f7c54ef965bf1877df08cb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 26 13:18:51 2015 -0400

    Don't use static const & locals for format tables.
    
    This hits an unimplemented feature in Clang. Work around this by using
    values instead of references.
    
    BUG=angleproject:1160
    
    Change-Id: I94b08d8fd9a09bbbfbe4bcd1b6f9d7f0031ce18d
    Reviewed-on: https://chromium-review.googlesource.com/308910
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit bc781f3115eb3ccba4c1f6fb880ab6a841d88968
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Mon Oct 26 09:27:38 2015 -0700

    Re-re-land "Add GL_OES_vertex_array_object to D3D11 and GL renderers"
    
    + Include fixed validation logic for GL_UNPACK_SKIP_IMAGES and GL_UNPACK_ROW_LENGTH
    + Include fix for Clang build break
    
    BUG=angleproject:1186
    
    Change-Id: I403a066e29614f532db6931755265d2ee088d442
    Reviewed-on: https://chromium-review.googlesource.com/308746
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 5296141b3db8227bdf34966cedecb0eae444077b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 26 15:33:27 2015 +0000

    Revert "Re-land "Add GL_OES_vertex_array_object to D3D11 and GL renderers""
    
    Fails build on Clang because Caps.cpp defines a constructor
    initializer out-of-order with the member variable order in the
    header.
    
    BUG=angleproject:1186
    
    This reverts commit 7432321e03a70a99639b149f44cf80086feb4ea2.
    
    Change-Id: I2840d02e6e7b6bbc76eb495b5462c43116a5c4a6
    Reviewed-on: https://chromium-review.googlesource.com/308800
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit f71e66188f4dc4b0c36c98312e33c8e77c0f6736
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 23 10:28:24 2015 -0400

    Update dEQP-GLES2 expectations.
    
    Some texture.mipmap.2d.projected are passing and
    fbo.api.valid_texcube_attachments seems to pass.
    
    BUG=angleproject:1026
    BUG=angleproject:1020
    
    Change-Id: I46ada896978cbb0a3bcbfb3985a5a50e4095ab98
    Reviewed-on: https://chromium-review.googlesource.com/308391
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit b066669df22ee8f0b3d51028117c2d10185c4313
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 26 10:38:18 2015 -0400

    Revert "Remove dynamic indexing of matrices and vectors in HLSL"
    
    This reverts commit 3766a40d6fda7e7190514ab7838a3f37169d863f.
    
    This CL was causing crashes in UniformHLSL.cpp, where an internal
    uniform "base" was attempted to be declared in HLSL. Was crashing
    on an external WebGL 3D canvas page (http://www.taccgl.org/?dbg=t).
    
    BUG=546686
    
    Original commit message:
    
    Re-landing after fixing D3D9 specific issues.
    
    HLSL doesn't support dynamic indexing of matrices and vectors, so replace
    that with helper functions that unroll dynamic indexing into switch/case
    and static indexing.
    
    Both the indexed vector/matrix expression and the index may have side
    effects, and these will be evaluated correctly. If necessary, index
    expressions that have side effects will be written to a temporary
    variable that will replace the index.
    
    Besides dEQP tests, this change is tested by a WebGL 2 conformance test.
    
    In the case that a dynamic index is out-of-range, the base ESSL 3.00 spec
    allows undefined behavior. KHR_robust_buffer_access_behavior adds the
    requirement that program termination should not occur and that
    out-of-range reads must return either a value from the active program's
    memory or zero, and out-of-range writes should only affect the active
    program's memory or do nothing. This patch clamps out-of-range indices so
    that either the first or last item of the matrix/vector is accessed.
    
    The code is not transformed in case the it fits within the limited subset
    of ESSL 1.00 given in Appendix A of the spec. If the code isn't within
    the restricted subset, even ESSL 1.00 shaders may require this
    workaround.
    
    BUG=angleproject:1116
    TEST=dEQP-GLES3.functional.shaders.indexing.* (all pass after change)
         WebGL 2 conformance tests (glsl3/vector-dynamic-indexing.html)
    
    Change-Id: I1d4b2e3888e91af7d5eebf743d12778698b6b903
    Reviewed-on: https://chromium-review.googlesource.com/308770
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 587f3c3573bb841b0dbe6c77918dedf31430b956
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 22 14:00:30 2015 -0400

    Refactor RendererD3D::applyShaders.
    
    Reduce the argument count to make future refactorings easier.
    
    BUG=angleproject:754
    
    Change-Id: Ia8acfc2bc8f922ad6a115e198ea51a62710a422c
    Reviewed-on: https://chromium-review.googlesource.com/307873
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 334d615f4d55ed017899baf410cf49b2a6ce6262
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 22 14:00:28 2015 -0400

    Fix up the style in DynamicHLSL a bit.
    
    Use std::stringstream when possible, and use Context's caps instead
    of the Renderer's.
    
    BUG=angleproject:754
    
    Change-Id: I2dc773709bbd612ab7ea372a358337c0a81869a3
    Reviewed-on: https://chromium-review.googlesource.com/307872
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit b2e2425a9b2200a5791cecf24d40784934a25e9d
Author: Jacek Caban <cjacek@gmail.com>
Date:   Mon Oct 5 16:03:10 2015 +0200

    Fixed compilation on mingw.
    
    BUG=angleproject:1184
    
    This is reland of parts of commit 566273222683314d.
    It also adds <algorithm> include in FunctionsWGL.cpp,
    which is needed for std::find on GCC.
    
    Change-Id: I852008087afa6b12da6e7e29934fa83390fded21
    Reviewed-on: https://chromium-review.googlesource.com/308090
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 0450dfccb5d0ba848981388ff12ac063e06d8b15
Author: Dian Xiang <dianx@google.com>
Date:   Thu Sep 17 11:25:27 2015 -0700

    Changed GetTextureFormatInfo to use static switch
    
    BUG=angleproject:1160
    
    The find of the map table in GetTextureFormatInfo is showing up as a
    hotspot in draw call perf benchmark. Switching the map into a static
    switch should make it more efficient.
    
    Other tables that only GetTextureFormatInfo uses is also converted into
    static switching instead of maps for performance. Other tables include
    swizzle_format_table and load_functions_table which are both only used by
    GetTextureFormatInfo to generate the TextureFormat for a given
    internalFormat and d3d device caps.
    
    The static switches for each table is generated using a python script
    named gen_*.py. The data for each table is stored in JSON files. This
    makes it more flexible for additions and deletions.
    
    Change-Id: I0f40fcc2a215c85661863ea225891071cb2f2c71
    Reviewed-on: https://chromium-review.googlesource.com/301770
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tryjob-Request: Dian Xiang <dianx@google.com>
    Tested-by: Dian Xiang <dianx@google.com>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 7432321e03a70a99639b149f44cf80086feb4ea2
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Fri Oct 23 10:07:18 2015 -0700

    Re-land "Add GL_OES_vertex_array_object to D3D11 and GL renderers"
    
    Include fixed validation logic for GL_UNPACK_SKIP_IMAGES and GL_UNPACK_ROW_LENGTH
    
    BUG=angleproject:1186
    
    Change-Id: I9910a67733702a05991f62129d200ea39adb910c
    Reviewed-on: https://chromium-review.googlesource.com/308421
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit d0925fd28412c1f791246e26c6d4728608606282
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Fri Oct 23 10:22:01 2015 -0700

    Add "../../../third_party/deqp/src/data" to dEQP data directories
    
    Change-Id: I9bd4127d2eb24657e45b3a3b4668794d86b9d0e3
    Reviewed-on: https://chromium-review.googlesource.com/308481
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 023a290e6136ff4606584bc5241013af6b1b27b0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 23 16:43:24 2015 +0000

    Revert "Add GL_OES_vertex_array_object to D3D11 and GL renderers"
    
    This is failing the WebGL 2 test:
    
    WebglConformance.conformance2_state_gl_get_calls
    
    http://build.chromium.org/p/chromium.gpu.fyi/builders/Win8%20Debug%20%28NVIDIA%29/builds/9807
    
    Also the dEQP-GLES3 tests:
    dEQP-GLES3.functional.state_query.integers.unpack_skip_images_get*
    
    BUG=angleproject:1186
    
    This reverts commit eb36e275b8f63ebd442a2580e858ef671ddfe1be.
    
    Change-Id: If903c471f4610ac0b33a268df42f3329d672f429
    Reviewed-on: https://chromium-review.googlesource.com/308460
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit bb7740cc32bcd6bba81dc9ca8f5bb13cc3168a35
Author: hendrikw <hendrikw@chromium.org>
Date:   Tue Oct 20 15:30:53 2015 -0700

    angle: prevent huge allocations when GL_MAX_VERTEX_ATTRIBS fails
    
    I'm not sure why yet, but when using angle in skia,
    getIntegerv(GL_MAX_VERTEX_ATTRIBS, &maxVertexAttribs) sometimes fails,
    and when that happens we attempt to allocate and array with the size of
    maxVertexAttribs, which is uninitialized, which could be huge.
    
    Prevent this by initializing the variable.
    
    Also sweep through other similar calls and ensure that these use
    initialized values (test code has not been updated)
    
    BUG=skia:4380
    
    Change-Id: If1f3cf72f2b2829ad3933637af8778d574a20f61
    Reviewed-on: https://chromium-review.googlesource.com/307239
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Tryjob-Request: Dian Xiang <dianx@google.com>
    Tested-by: Hendrik Wagenaar <hendrikw@chromium.org>

commit 9c970870743163c4bb3a967df665b278ec6f31b7
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Oct 23 09:31:26 2015 -0400

    Revert "Add ASTC compressed texture format info to the GL layer."
    
    This reverts commit 3bd6e18d1b6545b94bb82c23bcfa076579adf0ce.
    
    Change-Id: I44a82cec1757061897f35f3f63dc6bcc09429866
    Reviewed-on: https://chromium-review.googlesource.com/308410
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit eb36e275b8f63ebd442a2580e858ef671ddfe1be
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Tue Oct 20 13:44:10 2015 -0700

    Add GL_OES_vertex_array_object to D3D11 and GL renderers
    
    BUG=angleproject:1186
    
    Change-Id: I7c685084b42f977902228cadca3263064881ba77
    Reviewed-on: https://chromium-review.googlesource.com/307038
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tryjob-Request: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit e4bd0418243176983291f5253f70d9baad0c4cb4
Author: Kenneth Russell <kbr@chromium.org>
Date:   Wed Oct 21 17:00:06 2015 -0700

    Enable EXT_discard_framebuffer in ANGLE's D3D11 backend.
    
    This doesn't seem to cause the video-related WebGL test failures anymore
    that were previously seen.
    
    BUG=497445
    
    Change-Id: I705ae8735823ab7f4b26cf7696cdb746936e4447
    Reviewed-on: https://chromium-review.googlesource.com/308001
    Tryjob-Request: Kenneth Russell <kbr@chromium.org>
    Tested-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 6ea6f9424890b2a443fafb940ba27e902b4e9157
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Sep 11 13:11:22 2015 -0400

    Support GL_ETC1_RGB8_OES.
    
    Passes all dEQP tests related to etc1.
    
    Reland: Updated to work with the D3D11 renderer and re-tested with
    chromium's gles2_conform_test.
    
    Change-Id: Id2ce1b0eb58129152f67016ce2dc3ab19208269c
    Reviewed-on: https://chromium-review.googlesource.com/299770
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit aa71b58cdd5ffd4a25faf33c5bff47402efbf9ac
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Aug 27 13:11:20 2015 -0400

    Lazily load the Blit11 buffers and state objects.
    
    BUG=angleproject:1014
    
    Change-Id: I46629253d164a7522c3a97574fcf591f395b04ea
    Reviewed-on: https://chromium-review.googlesource.com/295144
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 3bd6e18d1b6545b94bb82c23bcfa076579adf0ce
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Sep 22 09:30:02 2015 -0400

    Add ASTC compressed texture format info to the GL layer.
    
    BUG=angleproject:1185
    
    Change-Id: Ia0bbe85fe8fa2b6a55289ff291f30e215d7a3ba9
    Reviewed-on: https://chromium-review.googlesource.com/301146
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 6c0b8dd68a819f889d5382db58f5823dd3fa5f81
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Oct 22 11:08:52 2015 -0400

    Skip the TransformFeedbackTest.MultiContext on OSX AMD too.
    
    BUG=angleproject:889
    
    Change-Id: Idf8d00ac13382970aa8b16313a56db32a3fca05f
    Reviewed-on: https://chromium-review.googlesource.com/307891
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 1a6834602b776b9bb6f4eaf1857822d8f7cc3eab
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Sep 29 15:09:59 2015 -0400

    Implement TransformFeedbackGL.
    
    Reland with supression for TransformFeedbackTest.MultiContext on Linux
    AMD.
    
    BUG=angleproject:889
    
    Change-Id: I6f2a2e856dacf16308de222dd0936bedbb3b175c
    Reviewed-on: https://chromium-review.googlesource.com/307871
    Tryjob-Request: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit a9ca8e2025368aaf613915cc12e7e1bd1aa4befe
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Oct 22 14:34:20 2015 +0000

    Revert "Implement TransformFeedbackGL."
    
    Failing on AMD Linux bots.
    
    This reverts commit a9c5288192f90ebf03b0d26d86964b4fbce74bcb.
    
    Change-Id: I2a2db8c3d96c4b927d7d784486c6df772ae63084
    Reviewed-on: https://chromium-review.googlesource.com/308130
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit a9c5288192f90ebf03b0d26d86964b4fbce74bcb
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Sep 29 15:09:59 2015 -0400

    Implement TransformFeedbackGL.
    
    BUG=angleproject:889
    
    Change-Id: I347ac21cfd0a56654a75fb41ac24c6c67ede3a05
    Reviewed-on: https://chromium-review.googlesource.com/302351
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tryjob-Request: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 464bfc8638c89e3baf4f3cf337dff62e47f77a0a
Author: Jacek Caban <cjacek@gmail.com>
Date:   Wed Oct 7 12:12:02 2015 +0200

    Use .def file to export functions using dllexport.
    
    BUG=angleproject:1183
    
    This is a reland of part of commit 566273222683314dfc8ac1cdb9bf6deb5d2b4c65.
    The original commit caused warnings on 64-bit MSVC linker. This version
    removes declspec(dllexport) from exported ANGLE APIs (for which we need
    a new ANGLE_PLATFORM_EXPORT macro). It also makes those APIs stdcall on
    Windows builds.
    
    Change-Id: Iee2ab7e43ef0b98924f5759b5e1b333307052235
    Reviewed-on: https://chromium-review.googlesource.com/304501
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit d470f472b06ee11fa2fe3e6136e27d5566a85d91
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Oct 20 13:34:25 2015 -0400

    Don't ASSERT shader compilation success in ShaderGL.
    
    This assertion was useful for debugging the initial implementation but it
    is becoming an issue in tryjobs where tests will hang instead of fail due
    to driver bugs.
    
    BUG=angleproject:882
    
    Change-Id: Ib23a0d16dfe250ea175a166b5e277bf07d80a2fa
    Reviewed-on: https://chromium-review.googlesource.com/307460
    Tryjob-Request: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 85769f0d6133c034bce3bb6d5eb490da8e024f9b
Author: Jinyoung Hur <hurims@gmail.com>
Date:   Tue Oct 20 17:08:44 2015 -0400

    Re-land "Only require that the stencil masks are same as many effective bits set"
    
    It seems reasonable to validate the equality between stencilWriteMask
    and stencilBackWriteMask only by comparing the effective bits.
    An existing dEQP test[1] and a WebGL test[2] also use the max size of
    stencil bits for checking the stencil mask values.
    
    [1] StencilWriteMaskSeparateTestCase (gles3/functional/
    es3fIntegerStateQueryTests.cpp)
    [2] https://www.khronos.org/registry/webgl/sdk/tests/conformance/state/
    gl-get-calls.html (Search for "minimumRequiredStencilMask ")
    
    Re-land with fix for Clang warning.
    
    Change-Id: I4cadaffced04ca55fa6daf7ac6a462368e0cfeec
    Reviewed-on: https://chromium-review.googlesource.com/307530
    Reviewed-by: Jinyoung Hur <hurims@gmail.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 1220bbbd564adcf82df042318006831efeec4502
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Oct 20 21:04:11 2015 +0000

    Revert "Only require that the stencil masks are same as many effective bits set"
    
    Reverting temporarily, causes a compile warning with Clang:
    
    ..\..\third_party\angle\src\libANGLE\renderer\d3d\d3d11\Renderer11.cpp(242,7) :  error: field 'mDebug' will be initialized after field 'mCurStencilSize' [-Werror,-Wreorder]
          mDebug(nullptr),
          ^
    1 error generated.
    ninja: build stopped: subcommand failed.
    
    http://build.chromium.org/p/tryserver.chromium.win/builders/win_clang_dbg/builds/98
    
    This reverts commit 685aa4b87d2c6a3f13134c77af8690e5f3d6aa6d.
    
    Change-Id: I9dab08b26e2eddf508a7bcde7813c25be350bf31
    Reviewed-on: https://chromium-review.googlesource.com/307520
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit de6144f1efc79298e11f9d1a7361aafdf48b537d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Oct 20 10:55:44 2015 -0400

    Add support for EAC and ETC2 texture formats with D3D11.
    
    Passes:
     * dEQP-GLES3.functional.implementation_limits.num_compressed_texture_formats
     * dEQP-GLES3.functional.implementation_limits.compressed_texture_formats
     * dEQP-GLES3.functional.texture.*eac*
     * dEQP-GLES3.functional.texture.*etc2*
    
    BUG=angleproject:598
    
    Change-Id: Iaec1756b540f8f44c821fd8b9ba63f115ebe6de0
    Reviewed-on: https://chromium-review.googlesource.com/305520
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 114e8ef237c4de0fadbcd20893777daf79daf3b9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 19 10:24:02 2015 -0400

    Fix ANGLE documentation about Chromium build.
    
    BUG=angleproject:848
    
    Change-Id: If70498c10d50dad3da3852c12c6bd732166c54e4
    Reviewed-on: https://chromium-review.googlesource.com/307070
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit fe7e9ed46279988dc72deec9ee8aa5fbb185bbc9
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Tue Oct 13 14:36:00 2015 -0700

    Make DebugAnnotator::getStatus work on Windows 10 (WinRT)
    
    Change-Id: I860a814490ac643eb3d7d1b770c956f0dce3e39e
    Reviewed-on: https://chromium-review.googlesource.com/305309
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 27460dfcdb64d28f512e0a99a3f79ceac79022c9
Author: Peter Kotwicz <pkotwicz@google.com>
Date:   Thu Oct 15 23:48:34 2015 -0400

    Do not attempt to compile angle_end2end_tests or angle_perftests on Android
    
    BUG=507294
    
    Change-Id: Ied198a26f5eecab1dc608a06c2cc5e3be08cc28c
    Reviewed-on: https://chromium-review.googlesource.com/306460
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Peter Kotwicz <pkotwicz@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Peter Kotwicz <pkotwicz@chromium.org>

commit adb857b2f6574f14a68770ebb42628741bdf1310
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Thu Oct 15 16:00:37 2015 -0700

    Fix MultipleDrawBuffers sample when GL_OES_texture_npot isn't active
    
    If the GL_OES_texture_npot extension isn't active, then setting
    GL_TEXTURE_WRAP_S/T to GL_REPEAT for a NPOT texture results in black
    rendering. This is specified in Section 3.8.2 of the OpenGL ES 2.0
    specification.
    
    Setting GL_TEXTURE_WRAP_S/T to GL_CLAMP_TO_EDGE is valid even if the
    NPOT extension isn't active.
    
    Change-Id: Ibd553620995df32138bf8153d1036fd05d386d90
    Reviewed-on: https://chromium-review.googlesource.com/306302
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit d2c52e3b7b5d4b13d2109a97e7bcce936c40aa3a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Oct 14 17:07:05 2015 -0400

    Fix debug annotations and shaders.
    
    The Program refactor inadvertantly broken Debug annotations. Fix this
    by correctly passing the path to the temporary shader source in the
    first "C" string argument to ShCompile, instead of as the first part
    of the source string.
    
    BUG=angleproject:1177
    TEST=manual testing with MSVS
    
    Change-Id: Ie77bb11b51645a474b542ddd2ae0f391e019e341
    Reviewed-on: https://chromium-review.googlesource.com/306210
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 277469666dab73787c58df150cfa976710a86d4d
Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
Date:   Wed Oct 14 18:53:35 2015 -0400

    Add missing include guard to FunctionsWGL.h
    
    Change-Id: I603eb99219234bb0292432ec41ede011c9c7d3ca
    Reviewed-on: https://chromium-review.googlesource.com/305830
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 685aa4b87d2c6a3f13134c77af8690e5f3d6aa6d
Author: Jinyoung Hur <hurims@gmail.com>
Date:   Tue Sep 29 00:58:02 2015 +0900

    Only require that the stencil masks are same as many effective bits set
    
    It seems reasonable to validate the equality between stencilWriteMask
    and stencilBackWriteMask only by comparing the effective bits.
    An existing dEQP test[1] and a WebGL test[2] also use the max size of
    stencil bits for checking the stencil mask values.
    
    [1] StencilWriteMaskSeparateTestCase (gles3/functional/
    es3fIntegerStateQueryTests.cpp)
    [2] https://www.khronos.org/registry/webgl/sdk/tests/conformance/state/
    gl-get-calls.html (Search for "minimumRequiredStencilMask ")
    
    Change-Id: I68cefbe8a9f69c5a9ebcb30027a05581e3024add
    Reviewed-on: https://chromium-review.googlesource.com/302703
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Jinyoung Hur <hurims@gmail.com>
    Commit-Queue: Jinyoung Hur <hurims@gmail.com>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>

commit f3586994d13cfe319aadbd7569e3b91a8dd7f692
Author: hendrikw <hendrikw@chromium.org>
Date:   Wed Oct 14 18:27:07 2015 -0700

    angle: move DeallocateCurrent into windows only code
    
    DeallocateCurrent is only called from within DllMain, which means
    it's only called on windows.
    
    On the mac, the warning unused-function may be triggered.
    
    Move DeallocateCurrent to windows only code.
    
    Change-Id: I61ba602af78d546a91cf009ae7350cf03eaa84dd
    Reviewed-on: https://chromium-review.googlesource.com/305880
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit e115c3be58a6437025ea3b69fffb48181c9740f5
Author: Cooper Partin <coopp@microsoft.com>
Date:   Wed Oct 14 13:55:10 2015 -0700

    Fixed incorrect buffer count for emulated points rendering
    
    Emulated points rendering for FL9_3 was getting lucky because the
    value of maxDiff just happened to be large enuough to include the
    additional pointsprite vertex buffer in the total buffer count used
    in IASetVertexBuffers.
    
    maxDiff is calculated while buffers and offsets are being configured.
    The pointsprite buffer was not updating maxDiff resulting in an off-by
    one calculation which causes TDRs on some Qualcomm chipsets.
    
    This issue was discovered using Cocos2dx.
    
    BUG=angleproject:1176
    
    Change-Id: I3b3af1757e1cef48bbc62e68695a3e239fef77bf
    Reviewed-on: https://chromium-review.googlesource.com/305752
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Tested-by: Cooper Partin <coopp@microsoft.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 7a3e8e24e76a75e4d359a2fb499feec77ff45c56
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Thu Oct 8 15:50:06 2015 -0700

    Don't include samplers in uniform vector count validation
    
    Change-Id: Id2820643b70d3266c82eb10a5f05d3a5886e9323
    Reviewed-on: https://chromium-review.googlesource.com/304871
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Tested-by: Austin Kinross <aukinros@microsoft.com>

commit 6655878fc9a4638a2af40896cd33cd6d12502730
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Wed Oct 7 15:47:43 2015 -0700

    UniformTest.SamplerUniformsAppearOnce should check for VTF support
    
    Change-Id: If4b1602a5f706b5343fc1757962341602354b88e
    Reviewed-on: https://chromium-review.googlesource.com/304389
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Tested-by: Austin Kinross <aukinros@microsoft.com>

commit d4d5084bf04976b8ebb000545db7041713aa32c5
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Wed Oct 7 15:57:42 2015 -0700

    Fix "blob content mismatch between level9 and d3d10 shader" errors on 9_3
    
    Fixes these dEQP failures on 9_3:
    + dEQP-GLES2.functional.shaders.struct.local.loop_nested_struct_array_vertex
    + dEQP-GLES2.functional.shaders.struct.local.loop_nested_struct_array_fragment
    
    Change-Id: I3e3b3552fe842c8a3c04363bf966c121e40dd9dc
    Reviewed-on: https://chromium-review.googlesource.com/304489
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tryjob-Request: Geoff Lang <geofflang@chromium.org>
    Tested-by: Austin Kinross <aukinros@microsoft.com>

commit adff67b5e62a5458720be9de97ee7e03f7a6f638
Author: Minmin Gong <mgong@microsoft.com>
Date:   Wed Oct 14 10:34:45 2015 -0400

    Re-land "Implements more pack/unpack states."
    
    Pack: row length, skip rows, skip pixels.
    Unpack: image height, skip images, skip rows, skip pixels.
    Note that PBOs are not covered by this change.
    
    Re-land with fix for test expectations.
    
    BUG=angleproject:512
    BUG=angleproject:1095
    
    Change-Id: I71d8d3bd8fc1f2c75ca16ac2634d5eafcbd71f26
    Reviewed-on: https://chromium-review.googlesource.com/305522
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit c74739245e2de494a18c99f18fff4b955ad7d005
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Oct 14 14:33:19 2015 +0000

    Revert "Implements more pack/unpack states. Pack: row length, skip rows, skip pixels. Unpack: image height, skip images, skip rows, skip pixels. Note that PBOs are not covered by this change."
    
    Expectations still not correct. This removes suppressions for two
    failing tests:
    
    functional.texture.specification.teximage3d_depth_pbo.depth_component32f_2d_array
    dEQP-GLES3.functional.texture.specification.teximage3d_depth_pbo.depth32f_stencil8_2d_array
    
    BUG=angleproject:512
    BUG=angleproject:1095
    
    This reverts commit 72e7013e68a24107b9082629fc52d59a78998eb2.
    
    Change-Id: Id81b6e616e61535b8504890ce57591813e22af69
    Reviewed-on: https://chromium-review.googlesource.com/305521
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit a6996685a0ea6a1301f32bb370a273347d956fda
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Oct 12 14:32:30 2015 +0300

    Automatically enable highp in fragment shaders on ESSL3
    
    Most code using the translator already enables highp with the resources
    flag when a shader spec that accepts ESSL3 is used, but for example the
    shader_translator utility doesn't. This fix makes sure that highp is
    always enabled when a fragment shader written in ESSL3 or newer is being
    compiled. This will make shader_translator easier to use for testing
    ESSL3 shaders.
    
    BUG=541550
    TEST=angle_unittests
    
    Change-Id: Ia1911677c55f3c5d921829a8cbb808847ac8b636
    Reviewed-on: https://chromium-review.googlesource.com/305190
    Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit e73a1e847bbb984ae7c93bceee56b000fd1067f2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Oct 13 19:30:04 2015 +0000

    Revert "Fixed FL9_3 shaders that use glPointCoord without glPointSize."
    
    Failing test in angle_end2end_tests:
    
    GLSLTest.MaxMinusTwoVaryingVec4PlusTwoSpecialVariables:
    program link failed: C:\fakepath(87,5-18): error X4000: variable 'output' used without having been completely initialized
    
    This reverts commit 73e32ee161b7b613e9e25e3cc393851c430eeb98.
    
    Change-Id: Ie47cb3a92ccfa1271a880a8b7e5a87b05963bab9
    Reviewed-on: https://chromium-review.googlesource.com/305530
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 72e7013e68a24107b9082629fc52d59a78998eb2
Author: Minmin Gong <mgong@microsoft.com>
Date:   Thu Oct 1 17:19:45 2015 -0700

    Implements more pack/unpack states.
    Pack: row length, skip rows, skip pixels.
    Unpack: image height, skip images, skip rows, skip pixels.
    Note that PBOs are not covered by this change.
    
    BUG=angleproject:512
    BUG=angleproject:1095
    
    Change-Id: Ia2fd7e52615d4aa08011dd615fcc20b79672d355
    Reviewed-on: https://chromium-review.googlesource.com/304908
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 73e32ee161b7b613e9e25e3cc393851c430eeb98
Author: Cooper Partin <coopp@microsoft.com>
Date:   Mon Sep 21 14:30:14 2015 -0700

    Fixed FL9_3 shaders that use glPointCoord without glPointSize.
    
    This change fixes a Shader error on FL9_3 that reports
    Vertex/Pixel Shader linkage signatures between stages
    being incompatible when glPointCoord is used without glPointSize.
    
    Change-Id: I93ffb6c6dd38f26e2156a374b1b58ecc3a5f250b
    Reviewed-on: https://chromium-review.googlesource.com/301450
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Cooper Partin <coopp@microsoft.com>

commit 02f98029c12a7b17b7aa86011cff6c927e44909c
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Oct 13 11:13:34 2015 -0400

    Use named value-parameterized tests for dEQP gtests
    
    This replace the non-descriptive digit at the end of the test name by
    the name of the dEQP test being run.
    
    Reland, enabling the named tests only in standalone.
    
    BUG=angleproject:1153
    
    Change-Id: I1336d38425c19305fae8279a42d4931cc516215c
    Reviewed-on: https://chromium-review.googlesource.com/304171
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 08528e1773490404762bef35ea065c1f656dcad6
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Wed Oct 7 16:24:40 2015 -0700

    glTexSubImage2D should always allow non-power-of-two inputs
    
    If GL_OES_texture_npot isn't active then ANGLE currently prevents
    calls to glTexSubImage2D with:
    - level > 0
    - width/height NPOT
    
    This isn't correct. It is legitimate to supply data to a NPOT subregion of a
    POT texture via glTexSubImage2D.
    
    Fixes these dEQP tests on 9_3:
    dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.a8_2d
    dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.a8_cube
    dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.l8_2d
    dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.l8_cube
    dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.la88_2d
    dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.la88_cube
    dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.rgb565_2d
    dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.rgb565_cube
    dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.rgb888_2d
    dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.rgb888_cube
    dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.rgba4444_2d
    dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.rgba4444_cube
    dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.rgba5551_2d
    dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.rgba5551_cube
    dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.rgba8888_2d
    dEQP-GLES2.functional.texture.specification.basic_texsubimage2d.rgba8888_cube
    
    Change-Id: I5889a27edbfa807995fa20b16f36456f676b80fc
    Reviewed-on: https://chromium-review.googlesource.com/304612
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 2f6ddf3122426f6a8110a84370865f18d8d87a9c
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Sep 22 16:10:07 2015 +0300

    Allow double underscore in macro names
    
    Double underscore is allowed according to GLSL ES 3.10, and based on
    Khronos discussions the intent is that this should also apply to older
    specs. The dEQP tests also check this, and WebGL tests that check the
    opposite were recently removed. The error is changed into a warning.
    
    BUG=angleproject:989
    TEST=angle_unittests
         dEQP-GLES3.functional.shaders.preprocessor.* (2 tests start passing)
         dEQP-GLES2.functional.shaders.preprocessor.* (2 tests start passing)
    
    Change-Id: I582c01b4adc8fc416354351e02b776f2cc602408
    Reviewed-on: https://chromium-review.googlesource.com/300965
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com>

commit 1048ea7546f44055fb00072f69d6145122be36dc
Author: Brandon Jones <bajones@chromium.org>
Date:   Tue Oct 6 15:34:52 2015 -0700

    Made program binaries cache information needed for getTransformFeedbackVarying
    
    BUG=angleproject:1173
    Change-Id: Ib8883b32f54f5d38fb94e85decae2dcee108facf
    Reviewed-on: https://chromium-review.googlesource.com/304381
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Brandon Jones <bajones@chromium.org>

commit 2aaab29f93c213e7b29c7fd3d6b9b0a6f6f2d301
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Thu Oct 8 17:20:00 2015 -0700

    Treat linker warnings as errors on Windows
    
    This would have avoided the issue seen here:
    https://chromium-review.googlesource.com/#/c/304501/
    
    Currently linker warnings are only visible in build
    logs. VS outputs 0 warnings/0 errors even if there are
    linker warnings.
    
    If linker warnings were treated as errors, then the
    issue above would have caused a build break.
    
    Change-Id: I4b529b778989a7299f83e0ef3e40cccf2c17e905
    Reviewed-on: https://chromium-review.googlesource.com/304886
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 4a3c2341fd7eb70a4374b2782548024c91c45f10
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 8 12:58:45 2015 -0400

    Program: Clean up UBO info gathering.
    
    The data size & block member info was getting messy, so clean up
    how we query this from the Impl layer.
    
    Also remove the register information from gl::UniformBlock, moving
    it into the D3D-only world.
    
    BUG=angleproject:1172
    
    Change-Id: I40af658ebbd6b7c1a4251906a387ebcbb621cf77
    Reviewed-on: https://chromium-review.googlesource.com/304150
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit e826b9f72232f5d17f98b42e1906b2e8e3ba25bf
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 9 16:41:06 2015 +0000

    Revert "Fixed compilation on mingw."
    
    This causes some linker warnings. I don't think we should
    add linker warnings to Chrome, so reverting this temporarily until
    we can land your CL with the correct using of export keywords.
    
    Please re-submit the fixed CL.
    
    This reverts commit 566273222683314dfc8ac1cdb9bf6deb5d2b4c65.
    
    Change-Id: I21fa623af31fac06de6afbefa50c9ea1ec157c15
    Reviewed-on: https://chromium-review.googlesource.com/305000
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 000b2f4924e2dfdd23b4a07da7150f0ae19abdd2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 9 15:33:14 2015 +0000

    Revert "Implements more pack/unpack states. Pack: row length, skip rows, skip pixels. Unpack: image height, skip images, skip rows, skip pixels."
    
    This is causing failures in dEQP-GLES3.functional.texture.specification.teximage3d_depth_pbo.depth_component24_2d_array
    
    First failing build on the bot:
    http://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20dEQP%20%28NVIDIA%29/builds/3635
    
    Please fix the failure and re-land your CL with the fix.
    
    BUG=angleproject:512
    BUG=angleproject:1095
    
    This reverts commit f1bb3f0569d5ef41b17f8ad0add7308f9d0f0de1.
    
    Change-Id: I30f61db888b0adf73a1d98bbeeb2428068119627
    Reviewed-on: https://chromium-review.googlesource.com/304990
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit f1bb3f0569d5ef41b17f8ad0add7308f9d0f0de1
Author: Minmin Gong <mgong@microsoft.com>
Date:   Thu Oct 1 17:19:45 2015 -0700

    Implements more pack/unpack states.
    Pack: row length, skip rows, skip pixels.
    Unpack: image height, skip images, skip rows, skip pixels.
    
    BUG=angleproject:512
    BUG=angleproject:1095
    
    Change-Id: I11e3bc05d23419b72c92b96aabd3f0bacd983626
    Reviewed-on: https://chromium-review.googlesource.com/304370
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 13473fae558f54c305c3ec92c30e5627b7d793df
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Oct 8 08:02:34 2015 -0700

    Suppress EGLSurfaceTest.MakeCurrentTwice on Mac chromium builds
    
    This is to remove a failure on the intel trybots were ANGLE is currently
    enable to create any context while this test expects creation to
    succeed.
    
    BUG=angleproject:891
    
    Change-Id: I0450da3211fd958a17f6db0d7e2a85968d6e3a87
    Reviewed-on: https://chromium-review.googlesource.com/304730
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit af5756a1e298a50c5ee1511891230769eea1684f
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Oct 1 11:49:39 2015 -0700

    Only support ES3 if texture swizzling is available
    
    On OSX 10.8 with an Intel HD 3000 we were wrongly exposing ES3 when
    texture swizzling was not available.
    
    BUG=angleproject:891
    
    Change-Id: If71acdc1943ab2f013dc80cd28eab130c32fb201
    Reviewed-on: https://chromium-review.googlesource.com/303392
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 6d85f0397688a8fe879d88e8758e66bf45e400e6
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Wed Oct 7 15:50:23 2015 -0700

    Fix WinRT compilation issue in ShaderD3D.cpp
    
    Change-Id: If7bd4e9cdba3d893f2ee28a70b894af3fb37ae30
    Reviewed-on: https://chromium-review.googlesource.com/304488
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit f22c6b1387adca4b37e18d13c1b7f1147807c028
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Aug 31 13:28:12 2015 -0400

    Store WGL extensions in FunctionsWGL.
    
    Add helpers for checking which extensions are available instead of
    discarding the extension strings after function loading.
    
    BUG=angleproject:1144
    
    Change-Id: Ie3d209cd5f6f116bbedaa618a59a4c2d7ddda4d6
    Reviewed-on: https://chromium-review.googlesource.com/296360
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 1ea9aaad5ec8396528723f61a2f260fee37a2eeb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Oct 7 11:13:55 2015 -0400

    Add suppressions for several Intel failures.
    
    Also add a new test for UBOs to end2end_tests.
    
    BUG=540538
    
    Change-Id: I6ffa6ba061a2c33811c65719deaa4302f1dbd704
    Reviewed-on: https://chromium-review.googlesource.com/304521
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit b3fbd867090821ad352f6b2b964036a5c27e9a20
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Sep 30 17:55:02 2015 +0300

    Fix setting const qualifier on indexing expression
    
    Resubmitting now that separate fix for updating mangled names of types
    has been merged. A unit test is added to make sure that the same
    regression doesn't happen again.
    
    Previously, constness of indexing expressions did not take the index
    expression into account. Now constness correctly takes into account both
    the base expression and the index expression.
    
    Setting the type of expressions that index arrays is also simplified.
    
    BUG=angleproject:1170
    TEST=angle_unittests
    
    Change-Id: Ie9b6aaee8185b945c03657b13d9513cc55cd2a9f
    Reviewed-on: https://chromium-review.googlesource.com/303601
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit b12531c94dd6fd2e736efee6dead5bd7154020a9
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Oct 5 14:40:40 2015 +0300

    Invalidate mangled name of TType if the type is changed
    
    Sometimes, the mangled name of a type is already generated when the type
    is still being changed. For example, this could happen when the type of
    A[i] is generated by copying the type of A (already mangled) and calling
    clearArrayness() on the copy. Make sure that the mangled name gets
    updated if the type is changed by clearing the mangled name when
    something affecting it is changed.
    
    BUG=angleproject:1170
    BUG=538692
    TEST=angle_unittests
    
    Change-Id: I9dfacea653f56536e1573a6dbf60ff21da7cc5ab
    Reviewed-on: https://chromium-review.googlesource.com/303846
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit f0aa84292fd83d813087e23eded6c5ffdbd3f7b0
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Sep 29 15:08:34 2015 -0400

    Implement QueryGL.
    
    Passes all tests in:
     * dEQP-GLES3.functional.occlusion_query
     * angle_end2end_tests
    
    BUG=angleproject:887
    
    Change-Id: I643ab4c28cb545de9e7b0e1740e3fd8e2aa9d3d9
    Reviewed-on: https://chromium-review.googlesource.com/302338
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tryjob-Request: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 566273222683314dfc8ac1cdb9bf6deb5d2b4c65
Author: Jacek Caban <cjacek@gmail.com>
Date:   Mon Oct 5 16:03:10 2015 +0200

    Fixed compilation on mingw.
    
    Change-Id: I5734f789f25fbc6b9b90f2043459a3a5f72008c4
    Reviewed-on: https://chromium-review.googlesource.com/303602
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 90208e95eaec802f9e3fd80c6a20543f16eb191a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Oct 5 15:40:36 2015 -0400

    Check for GL_OES_get_program_binary before running ProgramBinaryTest.
    
    BUG=angleproject:882
    
    Change-Id: I2e5f4aeac6ff413d5f69097957718c52bd7828dd
    Reviewed-on: https://chromium-review.googlesource.com/304170
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 33bb5ad676e78471cd11bef9d0fa61baa7b0fea1
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Oct 5 13:16:41 2015 -0400

    Only apply uniform buffers referenced by the Program.
    
    Continues to pass dEQP-GLES3.functional.ubo.*
    
    Performance regression in draw call overhead is fixed.
    
    BUG=angleproject:882
    BUG=angleproject:1171
    
    Change-Id: I1d827d70611c1bf743a7930796e31a54aca04b1e
    Reviewed-on: https://chromium-review.googlesource.com/303473
    Tryjob-Request: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 7e92161618f9e9927990bfff8647d451696c40db
Author: Christopher Cameron <ccameron@chromium.org>
Date:   Thu Oct 1 14:00:04 2015 -0700

    Add texture2DRect -> texture conversion for OpenGL core profile
    
    BUG=534114
    
    Change-Id: If0e1557a2399436b1b160407ced2d265f42df5f0
    Reviewed-on: https://chromium-review.googlesource.com/303761
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Tested-by: ccameron chromium <ccameron@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit e1a277510f7d1cc7d15811f1632017be69a6c187
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Oct 5 13:16:04 2015 -0400

    Make more gl::Program methods const.
    
    BUG=angleproject:1123
    
    Change-Id: Ib48c523538322871a0deec7ba6497c8797967ef1
    Reviewed-on: https://chromium-review.googlesource.com/303305
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 7c10269d86fd1c84ee6090227c49b36aaca8221e
Author: tmartino <tmartino@chromium.org>
Date:   Fri Oct 2 16:43:40 2015 -0400

    Correcting INVALID_ENUM issue for GLES3.
    
    Similar to prior fix for GLES2, validation now correctly returns
    INVALID_ENUM instead of shorting out.
    
    BUG=angleproject:1168
    
    Change-Id: I8247b0b3520b0f116856049c85606bb44fa24021
    Reviewed-on: https://chromium-review.googlesource.com/303472
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Tommy Martino <tmartino@chromium.org>

commit 01306fc7c2fe8261f4b6d4f70ba0bb763db913dd
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Oct 5 16:53:10 2015 +0000

    Revert "Implement program binary in ProgramGL."
    
    Causing issues on AMD and Intel bots.
    
    This reverts commit 6d8926691a8ed59add7602af602af3e6f7a81ab6.
    
    Change-Id: Ifb395f78a6a44b874ac13da1f252f604a1a7b0bc
    Reviewed-on: https://chromium-review.googlesource.com/303439
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 5a85bee22affce4bfe4f5f49c43bda37d04dcb15
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 2 14:06:06 2015 -0400

    Add angle_perftests to GN.
    
    Also clean up the formatting a bit with gn format.
    
    BUG=537008
    
    Change-Id: I23337e634f20f611aaae7d17ef47b5784738bbe8
    Reviewed-on: https://chromium-review.googlesource.com/303793
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 6d8926691a8ed59add7602af602af3e6f7a81ab6
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Oct 2 09:57:30 2015 -0400

    Implement program binary in ProgramGL.
    
    Verified by end2end tests and manually checking that chrome can load and
    save program binaries.
    
    BUG=angleproject:882
    
    Change-Id: Ic7e4b443365af6ea2d9ce5b0ecfb685eac85f479
    Reviewed-on: https://chromium-review.googlesource.com/303828
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 36b7390954b4bcb186503a80af02c64f6aac3a6d
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Oct 5 11:58:50 2015 +0300

    Fix standalone ninja build on Linux
    
    Preprocessor conditions referring to undefined macros failed standalone
    build which uses the -Werror=undef setting.
    
    This same error has been in multiple patches, and reverting them would
    cause test breakage, so fixing the issue is simpler than reverting.
    
    Change-Id: I4a079ef5d823eed76ebdefa8be413f63d29a5f6a
    Reviewed-on: https://chromium-review.googlesource.com/304020
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 5f579b1be6c4520ac5f6fcb9436ecbb99c71e762
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Aug 14 17:44:43 2015 +0300

    Improve handling of internal function calls
    
    Many parts of the shader translator that deal with function calls have
    been written without internal function calls in mind. Fix some of these
    so that they can handle internal function calls.
    
    -Fix TLValueTrackingTraverser handling a shader where there are an
     internal and non-internal function of the same name.
    -Maintain internalness when shallow copying function calls in
     SeparateExpressionReturningArrays and ArrayReturnValueToOutParameter
     AST transformations.
    -Output function internalness in intermOut.
    
    BUG=angleproject:1116
    TEST=angle_unittests
    
    Change-Id: Ic65e2803062b807651f1b3952409face6aceb780
    Reviewed-on: https://chromium-review.googlesource.com/303353
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit e623bd46a4145e5a25606c895ee4d031e6ba9325
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 2 19:14:15 2015 +0000

    Revert "Fix setting const qualifier on indexing expression"
    
    Failing to compile shaders which are used in some layout_tests,
    see http://crbug.com/538692 for logs and bad shaders.
    
    We should diagnose if the shaders are faulty or if there's a
    bug in this CL and take appropriate action, but first priority
    is to get the tests running again.
    
    BUG=538692
    BUG=angleproject:1170
    
    This reverts commit 16a79cd169420cdf0254964b1bac9dd9964a8119.
    
    Change-Id: Iea14c58d87041bcf5ba645b7076ba0936dea6b9d
    Reviewed-on: https://chromium-review.googlesource.com/303794
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 4fbec00370aa385aca21c27cbab64107fd422bba
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Oct 1 11:47:47 2015 -0700

    Check for GL_INVALID_INDEX instead of -1 for GetUniformIndices
    
    While they have the same bit representation, the variable was unsigned
    so the comparison would always fail, which triggered a compilation
    warning.
    
    BUG=
    
    Change-Id: Idbbdb942b71d59f95e65c072dbbfdf31d14eda05
    Reviewed-on: https://chromium-review.googlesource.com/303391
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 4e7196a1f37fffd3b96fd7141d754461b2903a1c
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Sep 30 14:44:15 2015 -0700

    UniformTest.FloatUniformStateQuery do computations in doubles
    
    When using floats, when testing INT_MAX, the loss of precision causes
    an undefined behavior when casting from float to int. In this cause on
    clang 3.6 on Mac, the integer wrapped and became INT_MIN.
    
    Reland with warnings fixes for MSVC on standalone builds.
    
    BUG=angleproject:891
    
    Change-Id: Ieed609840ae22e89f51c3a85cd5309c4d8bc52ea
    Reviewed-on: https://chromium-review.googlesource.com/303900
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit e746890e82c7620fb11f69539b862878c3c600a1
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Oct 2 10:46:24 2015 -0400

    Return the correct value when querying GL_MAX_FRAGMENT_UNIFORM_VECTORS.
    
    BUG=angleproject:1087
    
    Change-Id: Ibd0918f29b65c509e749953059d584ea83776a31
    Reviewed-on: https://chromium-review.googlesource.com/303775
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 9e76f56189ec330c247f091a9a9aa30ee2824158
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 2 08:57:14 2015 -0400

    dEQP: Add Cherry (Web-based GUI) to DEPS.
    
    Cherry allows us to view results from dEQP test passes, and is an
    open-source project.
    
    BUG=None
    
    Change-Id: I6edc2220fe4e9daf85dc6cf44053f59a51269cb5
    Reviewed-on: https://chromium-review.googlesource.com/303464
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 8bd4b6c52e8a97093ed6c603287658cb46c334fd
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Oct 1 16:17:48 2015 -0400

    Load the ARB_sampler_objects entry points in FunctionsGL.
    
    Load the sampler object entry points and limit supported ES version to 2
    if samplers are not available.
    
    BUG=angleproject:1162
    
    Change-Id: Ida7cf0cc0a81dd3714d958a98efe0c6e973ecca2
    Reviewed-on: https://chromium-review.googlesource.com/303770
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit c46cc2f3c8c556ac9442772f0a24f5a35b649fca
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Oct 1 17:16:20 2015 -0400

    Remove ProgramImpl::getBinaryFormat.
    
    Because we only expose GL_ANGLE_program_binary, we're only allowed to use
    the GL_PROGRAM_BINARY_ANGLE binary type.  This should be enforced at the
    GL level.  If implementations wish to use multiple types of formats
    internally, they are able to by writing those enums to their binaries.
    
    BUG=angleproject:882
    BUG=angleproject:1123
    
    Change-Id: I43685958814e4333b7cef3952d92c1017dc885f8
    Reviewed-on: https://chromium-review.googlesource.com/303827
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 2b280922481a1273351d5611dfc62401680c57e8
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Oct 1 17:05:15 2015 -0400

    Remove the unused ProgramImpl::getShaderVersion method.
    
    BUG=angleproject:882
    BUG=angleproject:1123
    
    Change-Id: Iace1d6c2c594f0b00c18d595f14cef9bce6f3595
    Reviewed-on: https://chromium-review.googlesource.com/303826
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 0ccd5aeeb60048226b5100c8efb4fedb4b9131fa
Author: tmartino <tmartino@chromium.org>
Date:   Thu Oct 1 14:33:14 2015 -0400

    Correcting INVALID_OPERATION to INVALID_ENUM
    
    Should return INVALID_ENUM when uncompressed texture passed to
    compressed image constructor.
    
    BUG=angleproject:1168
    
    Change-Id: If30f0407e7455d6e19432831883d33a1e8bfec9a
    Reviewed-on: https://chromium-review.googlesource.com/303750
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit ee0d4c52a53d7a1058afa1d342ce7df7be02ce85
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Oct 2 15:50:06 2015 +0300

    Revert "UniformTest.FloatUniformStateQuery do computations in doubles"
    
    This change broke standalone build on Windows. Two casts from double to
    GLfloat were missing.
    
    This reverts commit 7aa4cae26f755dc9e6646e669fc3222f9dd63b20.
    
    BUG=angleproject:891
    
    Change-Id: I69cf773c940fd43b06f21c1ee86e60bac6825684
    Reviewed-on: https://chromium-review.googlesource.com/303352
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 630d85cbf7494a3b2ed93cba3af81d7d759fe0ff
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Sep 30 14:35:48 2015 -0700

    Fix an undefined behavior in clampCast
    
    This undefined behavior appeared in angle_end2end_tests compiled with
    clang 3.6 on Mac.
    
    BUG=angleproject:891
    
    Change-Id: I840b40a7bd54c9cfaeb0fe6784b73f875f9d5502
    Reviewed-on: https://chromium-review.googlesource.com/303337
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 7aa4cae26f755dc9e6646e669fc3222f9dd63b20
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Sep 30 14:44:15 2015 -0700

    UniformTest.FloatUniformStateQuery do computations in doubles
    
    When using floats, when testing INT_MAX, the loss of precision causes
    an undefined behavior when casting from float to int. In this cause on
    clang 3.6 on Mac, the integer wrapped and became INT_MIN.
    
    BUG=angleproject:891
    
    Change-Id: Ieb3199fd33c25e7da8d154f88658e06f01d53c0e
    Reviewed-on: https://chromium-review.googlesource.com/303338
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 25e563fec557f58b2281b65df975765e635eeed5
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Sep 29 13:21:27 2015 -0400

    Add -Wnon-virtual-dtor and fix a warning.
    
    BUG=
    
    Change-Id: I234e3a963e110762bac2a89d146b60f028928fb5
    Reviewed-on: https://chromium-review.googlesource.com/302487
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 5d124a69b6935285230956117aa839aee4dcdd36
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Sep 15 13:03:27 2015 -0400

    Support UBOs in RendererGL and ProgramGL.
    
    Reland: fix compile warnings on Windows.
    
    BUG=angleproject:882
    BUG=angleproject:883
    
    Change-Id: If4844d50d43ff9b765f64606e8f08d65a1afd9a4
    Reviewed-on: https://chromium-review.googlesource.com/303431
    Tryjob-Request: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit cf2dbd9133ec79882865e709f8a75800ee84f06b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Oct 1 15:48:22 2015 +0000

    Revert "Support UBOs in RendererGL and ProgramGL."
    
    Compile error.
    
    This reverts commit 97d82b724b71be464f2aff377f056cade44fca94.
    
    Change-Id: I71ae10cb01b8ded0297eaf4742fb1098ce02a9bb
    Reviewed-on: https://chromium-review.googlesource.com/303303
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 97d82b724b71be464f2aff377f056cade44fca94
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Sep 15 13:03:27 2015 -0400

    Support UBOs in RendererGL and ProgramGL.
    
    BUG=angleproject:882
    BUG=angleproject:883
    
    Change-Id: I36f8ef42d87e289658a6ba4899380bc72b9bcebf
    Reviewed-on: https://chromium-review.googlesource.com/299871
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit f6ade2ec7a73ff4d080c7da501aaec7e36b5ce02
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Sep 29 11:21:43 2015 -0400

    Implement GL_EXT_debug_marker for RendererGL.
    
    Passes dEQP-GLES2.functional.debug_marker.*
    
    Change-Id: I37f2b6724f32867d2e428613b1b6d9c8377c6d60
    Reviewed-on: https://chromium-review.googlesource.com/302990
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 9bf70365fbc05d5e4a3f12a182beec7c1f623f4e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 30 15:07:48 2015 -0400

    Fix a possible OOB read in InsertD3D11FormatInfo.
    
    It's unclear how this might happen, as it's during static map init,
    but add a fail-safe to be sure.
    
    BUG=526779
    
    Change-Id: I5aa33f9bed30d4a8c1e9937a0b8c5fd11a7503d7
    Reviewed-on: https://chromium-review.googlesource.com/302385
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 16a79cd169420cdf0254964b1bac9dd9964a8119
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Sep 30 17:55:02 2015 +0300

    Fix setting const qualifier on indexing expression
    
    Previously, constness of indexing expressions did not take the index
    expression into account. Now constness correctly takes into account both
    the base expression and the index expression.
    
    Setting the type of expressions that index arrays is also simplified.
    
    BUG=angleproject:1170
    TEST=angle_unittests
    
    Change-Id: Ie2d122020cc252655ab0eea96886b9f85931b80a
    Reviewed-on: https://chromium-review.googlesource.com/303350
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit d4b5054dc434e67bc59180ad199269d8485fedc3
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Sep 28 12:19:26 2015 -0700

    compiler: Rewrite do-while loops as while loops
    
    This works around a Mac driver shader compiler bug that makes many
    do-while loops cause GPU-hangs when ran.
    
    BUG=angleproject:891
    
    Change-Id: I29828d6ea9e887ad0ed0c577f1deb41fb632a900
    Reviewed-on: https://chromium-review.googlesource.com/302465
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 7b43c9b075495b519192e685df5e95d813315fff
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Sep 30 10:47:30 2015 -0700

    Add suppressions for failing end2end tests on Mac Intel
    
    BUG=angleproject:891
    
    Change-Id: I88a8bcc4a6911c92bdb981aca34a0557ad451df7
    Reviewed-on: https://chromium-review.googlesource.com/303390
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 8fc63104cfda4dacf3639e72981719e1a4c61d36
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Sep 30 13:17:34 2015 -0700

    OSXWindow release the tracking area instead of deallocing it
    
    The Mac AMD GPU FYI bots were crashing on end2end tests exit because the
    NSView was trying to deallocated an NSTrackingArea that had been
    previously deallocated.
    
    BUG=angleproject:891
    
    Change-Id: I933e437254cad65f18cb0518a401b8b8e9dc59a0
    Reviewed-on: https://chromium-review.googlesource.com/303302
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 242468f316abcd73948c20552daf48a7d12e114f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Sep 24 14:15:41 2015 -0400

    Sync scissor state before calling BlitFramebuffer.
    
    Now passes:
     * dEQP-GLES3.functional.fragment_ops.scissor.framebuffer_blit_center
     * dEQP-GLES3.functional.fragment_ops.scissor.framebuffer_blit_corner
     * dEQP-GLES3.functional.fragment_ops.scissor.framebuffer_blit_none
    
    BUG=angleproject:885
    
    Change-Id: Ifec2995562c684b3a4b287619c9bf7a25512b1fd
    Reviewed-on: https://chromium-review.googlesource.com/302384
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 5f0246ca6d27cda665db7417653220e204b38803
Author: Kimmo Kinnunen <kkinnunen@nvidia.com>
Date:   Wed Jul 22 10:30:35 2015 +0300

    Implement gl_FragDepth for GLES SL 3.0
    
    Makes it an error to access gl_FragDepthEXT  in #version 300 es shader.
    
    TODO:
    Lacks the feature to make "#extension GL_EXT_frag_depth : require" an
    error for #version 300 es.
    
    Reland of: https://chromium-review.googlesource.com/#/c/287570
    
    BUG=angleproject:1102
    TEST=angle_unittest
    
    Change-Id: I064d918d65f37539cb1e14f12173ca5591a4ea3f
    Reviewed-on: https://chromium-review.googlesource.com/301711
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit ddf4d392185e0409b8836fd2d54ad921154213db
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Sep 29 13:00:14 2015 -0400

    Skip BlendMinMax test on Intel OpenGL due to driver flakyness.
    
    Change-Id: I72da31fa0bfbed578e20ff39b82d8c8e716fd276
    Reviewed-on: https://chromium-review.googlesource.com/302337
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 7258e30c8b4dd42b779f26f94eea91fc0ff3a118
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Sep 22 10:40:24 2015 -0700

    TOutputGLSLBase::visitLoop clarify the function slightly
    
    Since only for loops can be unrolled, handle each type of loop only
    once. This improvement was going to be part of a do-while workaround for
    Mac that will instead be done at the AST level.
    
    BUG=angleproject:891
    
    Change-Id: Ic8ecf41aa6d9abd7a01c2230e908c85152f52b62
    Reviewed-on: https://chromium-review.googlesource.com/302332
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 947908f1fe13671023323e009509a0455bb710e7
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Sep 22 10:42:08 2015 -0700

    Add dEQP GLES2 test expectations for Mac
    
    BUG=angleproject:891
    
    Change-Id: Ib7d16a9266fe23fb9374cec94f3baa4ad135c0d3
    Reviewed-on: https://chromium-review.googlesource.com/302333
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 2d58f7a260c60ef0ecd016af843e5f0fc2b03053
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Sep 28 10:44:55 2015 -0700

    RewriteElseBlocks.cpp: add missing override
    
    Change-Id: Ic98de554cabffabd3cdd58b2a44a554cb2c3cd53
    Reviewed-on: https://chromium-review.googlesource.com/302464
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit afd7f0a87d2781e6749d9b08a91b93458d2a03c8
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Sep 9 15:33:31 2015 -0400

    Explicitly enable framebuffer SRGB blending in StateManagerGL.
    
    In DesktopGL, SRGB blending must be enabled or linear blending will be
    used.
    
    reland: Work around issues on AMD drivers where SRGB blending would be
    used on clears of linear attachments.
    
    Passes all dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.* tests (1106
    new passing tests).
    
    BUG=angleproject:883
    BUG=angleproject:885
    
    Change-Id: I974a55fe3acc77ac77e93f19c83ee3b76f784df2
    Reviewed-on: https://chromium-review.googlesource.com/302336
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 543e7ff740986479f046d3e50cf91bbe0573e0e2
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Sep 29 14:15:15 2015 +0000

    Revert "Explicitly enable framebuffer SRGB blending in StateManagerGL."
    
    More compile errors on mac.
    
    This reverts commit 056fae4a01db306b8f9c1e57374e18ebffbdf8eb.
    
    Change-Id: I579b9e50ded7240be4f488a48588a89ecb4bea44
    Reviewed-on: https://chromium-review.googlesource.com/302571
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit a4ef3cf7260634e89ce07f54bc73fb60d210dd6e
Author: Nico Weber <thakis@chromium.org>
Date:   Tue Sep 29 00:13:23 2015 +0200

    Delete function that's unused after https://chromium-review.googlesource.com/#/c/299691/
    
    BUG=505316
    
    Change-Id: Iac794dc8a13f9aabc6f53e34dab8750dc1ed994a
    Reviewed-on: https://chromium-review.googlesource.com/302830
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 056fae4a01db306b8f9c1e57374e18ebffbdf8eb
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Sep 9 15:33:31 2015 -0400

    Explicitly enable framebuffer SRGB blending in StateManagerGL.
    
    In DesktopGL, SRGB blending must be enabled or linear blending will be
    used.
    
    reland: Work around issues on AMD drivers where SRGB blending would be
    used on clears of linear attachments.
    
    Passes all dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.* tests (1106
    new passing tests).
    
    BUG=angleproject:883
    BUG=angleproject:885
    
    Change-Id: I6c2b4552c571707a8d8d80d3573bcb38797c3929
    Reviewed-on: https://chromium-review.googlesource.com/302791
    Tryjob-Request: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 75782629b377a1cc45f86fe019114d6e87bca875
Author: hendrikw <hendrikw@chromium.org>
Date:   Fri Sep 25 11:28:50 2015 -0700

    Fix possible compiler errors on linux
    
    Change-Id: Ifc45446c749690eddc406f66f144304262f04664
    Reviewed-on: https://chromium-review.googlesource.com/302478
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 928cccc620f075bd768e5ba907d63b2c8abc82b2
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Sep 28 10:44:04 2015 -0700

    Sampler.cpp: Fix a warning on Linux and Mac
    
    BUG=
    
    Change-Id: I58a19de9d5978aa4d65ac2ab1acd2fbd233ec6a2
    Reviewed-on: https://chromium-review.googlesource.com/302463
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit ec3123bb9d9b15d8928c9c1e6cf0c16df6d80c38
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Sep 28 19:21:01 2015 +0000

    Revert "Explicitly enable framebuffer SRGB blending in StateManagerGL."
    
    Compilation failure on mac and linux.
    
    This reverts commit e19d7f90355f02ac7a7cd0a2ac130e0859cd3cc7.
    
    Change-Id: I638c3ffebb8c7ad0e3fe2e1e65d6212487bfc6ae
    Reviewed-on: https://chromium-review.googlesource.com/302790
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit e19d7f90355f02ac7a7cd0a2ac130e0859cd3cc7
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Sep 9 15:33:31 2015 -0400

    Explicitly enable framebuffer SRGB blending in StateManagerGL.
    
    In DesktopGL, SRGB blending must be enabled or linear blending will be
    used.
    
    reland: Work around issues on AMD drivers where SRGB blending would be
    used on clears of linear attachments.
    
    Passes all dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.* tests (1106
    new passing tests).
    
    BUG=angleproject:883
    BUG=angleproject:885
    
    Change-Id: I03fbb0910ce414552ba841099a177446d0ace7b6
    Reviewed-on: https://chromium-review.googlesource.com/301702
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit ad60e8ee2614e20733ad38a963617739d36d6cb9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 22 12:40:31 2015 -0400

    Move more sample_util sources to util.
    
    These sample utils can also be useful for writing perf tests.
    
    BUG=angleproject:1164
    
    Change-Id: I44b5d63b57bfce7a541442fd02cd729a1bab17f0
    Reviewed-on: https://chromium-review.googlesource.com/301468
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit db3dd0831e21c8cb37dd5107c7d3cdbd0c78e59c
Author: Dian Xiang <dianx@google.com>
Date:   Wed Sep 16 20:16:01 2015 -0700

    Refactoring TextureFormat and its helper functions to individual classes
    
    BUG=angleproject:1160
    
    This is the first step to BUG=angleproject:1160, optimizing
    GetTextureFormatInfo to use static switching rather than building maps and
    using the find function. Also reordered the includes in alphabetical,
    src files first format
    
    The next step is to modify the GetTextureFormatInfo not to build a map but
    to use static switching. The step after that is to use a JSON generator to
    generate the switching, hence refactoring TextureFormat to be in its own
    class so we only need to generate what's necesary. The helper functions
    such as swizzle texture format can also be done using the same approach.
    Hence, they're also refactored into their own files.
    
    Change-Id: I753f437ca0df69ee5584d254fe0d2ea8b09a857e
    Reviewed-on: https://chromium-review.googlesource.com/300288
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Tested-by: Dian Xiang <dianx@google.com>

commit 0af0b81d5b29303823e9b0a74b50980eb4ad6a54
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Sep 23 13:56:25 2015 -0400

    Add a SamplerImpl object and implement it for the GL backend.
    
    Passes all tests in dEQP-GLES3.functional.samplers
    
    BUG=angleproject:1162
    
    Change-Id: I7713031a677aac2b41889a6b4297ab512e184863
    Reviewed-on: https://chromium-review.googlesource.com/301582
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 68a9d748dba5df6b623e487141021e7d8c266000
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Sep 15 08:21:10 2015 -0700

    Compile the dEQP test targets on Mac
    
    BUG=angleproject:891
    
    Change-Id: I4bc2817106c8170684a76972badd38c02c0abf0e
    Reviewed-on: https://chromium-review.googlesource.com/299852
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 247374cba23b90c44b87875f0c38ee690618779e
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Sep 9 15:07:24 2015 +0300

    Allow limited form of expressions in #line directives
    
    Reuse ExpressionParser that's also used for parsing preprocessor
    conditionals to parse line and file numbers in #line directives.
    According to recent Khronos discussions, the intent of the spec is that
    expressions in #line directives should be interpreted similarly to
    expressions in conditional directives, so reusing ExpressionParser is a
    natural way to implement this. This enables simple math operators
    operating on integers. There are a few unclear corner cases, but this
    approach is enough to support practical use cases and pass the dEQP
    tests.
    
    Valid line directives have one of the following forms:
    
     #line line-expression
     #line line-expression file-expression
    
    ExpressionParser is first run to parse the line-expression. In ambiguous
    cases the ExpressionParser consumes as much of the line as possible to
    form line-expression. Then, if end-of-line hasn't been reached,
    file-expression is parsed by running ExpressionParser again. As an
    example of an ambiguous case:
    
     #line 1 + 2
    
    This could alternatively be interpreted to mean line-expression "1" and
    file-expression "+ 2" where + is the unary + operator, but ANGLE now
    interprets it to mean line-expression "1 + 2". Because of these ambiguous
    cases, a bison grammar that would parse multiple expressions on the same
    line couldn't be easily constructed, so this solution where
    ExpressionParser is run twice was chosen instead.
    
    The problematic corner cases are:
    
    - ExpressionParser uses 64-bit integers internally for evaluating the
    expression's value. It's possible to interpret the ESSL3 spec so that
    32-bit integer wraparound behavior would be required also for #line
    directive expressions.
    
    - It's unclear whether the defined operator can be used in #line
    expressions. In this patch it is disabled. Hoping for further
    clarification from Khronos.
    
    - It's unclear how short-circuiting should affect the parsing of
    undefined identifiers in #line expressions. Now it's consistent with #if
    expressions (undefined identifiers are OK if they're short-circuited).
    
    dEQP expectations are updated for preprocessor tests, including ones
    not affected specifically by this change.
    
    BUG=angleproject:989
    TEST=angle_unittests,
         dEQP-GLES3.functional.shaders.preprocessor.* (4 start passing),
         dEQP-GLES2.functional.shaders.preprocessor.* (4 start passing)
    
    Change-Id: I55c5bf75857da5de855cc600d3603ee19399f328
    Reviewed-on: https://chromium-review.googlesource.com/300964
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 412f17daa39759e0eed6c9a832c83157e7553924
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Sep 25 08:43:54 2015 -0400

    Suppress TextureLimitsTest.MaxCombinedTextures on Intel GL.
    
    This test probably triggers a driver bug.
    
    BUG=angleproject:1123
    
    Change-Id: I81921e7faf51ac60f1175a04ee17e920a346059d
    Reviewed-on: https://chromium-review.googlesource.com/302461
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 69cce580d31bff286d9b44349919e9a1f7386ea0
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Sep 17 13:20:36 2015 -0400

    Split the SamplerState struct into SamplerState and TextureState.
    
    SamplerState is now only the members that are overridden by a sampler
    object, this makes it easy to update those specific members.
    
    Opted for getters and setters for each member in Texture and Sampler
    because it will be required to enable dirty bits for these states.
    
    Added maxAnisotropy to the SamplerState instead of texture state.  The
    sampler objects extension mentions it should be there.
    
    BUG=angleproject:1162
    
    Change-Id: I5aa6d702bd5915ee9df1976afef3c8c1f69d27c8
    Reviewed-on: https://chromium-review.googlesource.com/300490
    Tryjob-Request: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 006cbc5b9259b453836b97e89e7fcc4de0702cf3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 23 16:47:54 2015 -0400

    Remove rx::ShaderSh and move the shared code to the GL.
    
    The GL layer can interact with the translator directly, to query all
    the active shader variables and call ShCompile.
    
    BUG=angleproject:1159
    
    Change-Id: I334a9bef28f93cf85dd8cac0fb8542ac567cc3ec
    Reviewed-on: https://chromium-review.googlesource.com/299877
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 91445bce0e27b389d3be0f72f7cac5e48a7ba83e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 23 16:47:53 2015 -0400

    Make a shader Shader::Data state structure.
    
    This design follows the similar designs for Program, Framebuffer, etc.
    Because of the current design, share a mutable pointer with the Impl
    so the patch becomes a bit smaller and easier to review. In a follow-
    up patch we can move the shared code into the GL layer.
    
    BUG=angleproject:1159
    
    Change-Id: Ib243e74779f23be51cdca80f1b5c6e5f3e36059d
    Reviewed-on: https://chromium-review.googlesource.com/299876
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 046e53e3706b1b43c04bc2c6af8676bb4c740832
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 23 16:47:52 2015 -0400

    Add an interm ShaderSh class.
    
    This class logic will eventually move to the GL layer. Keep it
    in the Renderer layer for now for refactoring purposes.
    
    BUG=angleproject:1159
    
    Change-Id: I91843099367f9a0293cc43ab98626bf79eb75ebf
    Reviewed-on: https://chromium-review.googlesource.com/299875
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 3d3d2f20fe3ea4ed42cad6199c7c9a9fa876e8d6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 23 16:47:51 2015 -0400

    Re-re-land "Move sampler validation to the GL layer."
    
    This previously was D3D-only, but is required for every draw call.
    This completes the work of removing the D3D-specific Impl methods
    from ProgramImpl.
    
    Also add several regression tests to cover texture and sampler
    validation.
    
    Re-land with a fix for duplicate sampler active uniforms.
    
    Re-re-land with a fix for a test comparison warning on Linux.
    
    BUG=angleproject:1123
    
    Change-Id: Iaf7b33861c07b9ceed4bd53ac2f010d35f05df45
    Reviewed-on: https://chromium-review.googlesource.com/301712
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 260efc2179e5325659fd132445fcb95cdb3eb245
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Sep 23 16:45:54 2015 -0400

    Revert "Explicitly enable framebuffer SRGB blending in StateManagerGL."
    
    Causing failures on AMD OpenGL drivers for sRGB clears.
    
    This reverts commit 04b89c975b3c7f6b86191d0255136a8a798f0b66.
    
    Change-Id: I51ee856d1c4d37882e5b1d1926415c398fa7ff5c
    Reviewed-on: https://chromium-review.googlesource.com/301721
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 6d2465106f4aeff3f2cc4054bb8214896193089f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 23 18:04:10 2015 +0000

    Revert "Re-land "Move sampler validation to the GL layer.""
    
    Build failure on Linux:
    
    In file included from ../../third_party/angle/src/tests/gl_tests/UniformTest.cpp:7:
    In file included from ../../third_party/angle/src/tests/test_utils/ANGLETest.h:10:
    ../../testing/gtest/include/gtest/gtest.h:1392:16: error: comparison of integers of different signs: 'const int' and 'const unsigned int' [-Werror,-Wsign-compare]
      if (expected == actual) {
          ~~~~~~~~ ^  ~~~~~~
    ../../testing/gtest/include/gtest/gtest.h:1422:12: note: in instantiation of function template specialization 'testing::internal::CmpHelperEQ<int, unsigned int>' requested here
        return CmpHelperEQ(expected_expression, actual_expression, expected,
               ^
    ../../third_party/angle/src/tests/gl_tests/UniformTest.cpp:487:5: note: in instantiation of function template specialization 'testing::internal::EqHelper<false>::Compare<int, unsigned int>' requested here
        EXPECT_EQ(GL_SAMPLER_2D, type);
        ^
    
    BUG=angleproject:1123
    
    This reverts commit 6cbf4385280c4c1dd97f0882ecb18dbc4c341fd4.
    
    Change-Id: I95279b37d253e3ea78faa53f3773f2dc3d17df95
    Reviewed-on: https://chromium-review.googlesource.com/302030
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit eb5ea07749388ec9cd4494223080323512f0451c
Author: Minmin Gong <mgong@microsoft.com>
Date:   Fri Sep 11 11:21:00 2015 -0700

    Implements GL_EXT_unpack_subimage and GL_NV_pack_subimage.
    Pack/unpack subimages is core features of GLES3. Those 2 extensions expose
    them to GLES2.
    
    BUG=angleproject:512
    
    Change-Id: I6834cf5d4a91bc3430c60dcec29c449826fd6d93
    Reviewed-on: https://chromium-review.googlesource.com/299790
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Minmin Gong <mgong@microsoft.com>

commit 7a04151879dd97275d954e7f3f2473776deae136
Author: Cooper Partin <coopp@microsoft.com>
Date:   Wed Sep 16 08:58:47 2015 -0700

    Fixed FL9_3 shaders that use glPointSize without GL_POINTS mode
    
    This change fixes rendering on FL9_3 with shaders that reference
    glPointSize and are not used with GL_POINTS rendering mode. A TDR
    occurs on some hardware because of missing vertex buffers specified by
    the vertex layout.
    
    Change-Id: Ie49b75f7177c32c7f021a0409d15c27b18140c4b
    Reviewed-on: https://chromium-review.googlesource.com/299719
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Cooper Partin <coopp@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 04b89c975b3c7f6b86191d0255136a8a798f0b66
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Sep 9 15:33:31 2015 -0400

    Explicitly enable framebuffer SRGB blending in StateManagerGL.
    
    In DesktopGL, SRGB blending must be enabled or linear blending will be
    used.
    
    Passes all dEQP-GLES3.functional.fragment_ops.blend.fbo_srgb.* tests (1106
    new passing tests).
    
    BUG=angleproject:883
    BUG=angleproject:885
    
    Change-Id: I0dfb744faa811f10be47c5bd8295b368baf3b04b
    Reviewed-on: https://chromium-review.googlesource.com/298620
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 83f349ea92f0527479f1a2cf26ffda044c4866ad
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 23 09:50:36 2015 -0400

    Remove CompilerImpl and merge code to gl::Compiler.
    
    This class uses no Impl-specific code. We can also do a similar
    code relocation for the gl::Shader class, but in several steps
    because it is a bit more complex.
    
    BUG=angleproject:1159
    
    Change-Id: I4d3ce3253df0a2bdee1d98e46cfd4b999d86be6e
    Reviewed-on: https://chromium-review.googlesource.com/299874
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 6cbf4385280c4c1dd97f0882ecb18dbc4c341fd4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 22 19:12:11 2015 -0400

    Re-land "Move sampler validation to the GL layer."
    
    This previously was D3D-only, but is required for every draw call.
    This completes the work of removing the D3D-specific Impl methods
    from ProgramImpl.
    
    Also add several regression tests to cover texture and sampler
    validation.
    
    Re-land with a fix for duplicate sampler active uniforms.
    
    BUG=angleproject:1123
    
    Change-Id: Iefef06e7901873c98bf2ba7864efd16a4c6435d3
    Reviewed-on: https://chromium-review.googlesource.com/301581
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 3187a38ebebc14694663a6ef66647059f701af09
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Sep 9 12:00:12 2015 +0300

    Make preprocessor ExpressionParser only lex what it can parse
    
    This cleans up ExpressionParser so that the lexer only consumes one extra
    token in case the parser finishes. The parser will also finish with
    YYACCEPT once it has parsed a complete expression. This will make the
    preprocessor to generate a more informative unexpected token error
    instead of a syntax error if there are extra tokens after #if.
    
    This will also enable reusing ExpressionParser for parsing expressions in
    line directives. The format for a line directive that specifies both line
    and file numbers is as follows:
    
     #if line-expression file_expression
    
    ExpressionParser will need to be run twice for each line: first to parse
    line-expression and then to parse file-expression. For that reason, it is
    essential that ExpressionParser for line-expression stops before
    consuming more than one token of file-expression.
    
    BUG=angleproject:989
    TEST=angle_unittests, dEQP-GLES3.functional.shaders.preprocessor.*
    
    Change-Id: I0bb92f733c18891eeddbc61e7c5bebdf1003559a
    Reviewed-on: https://chromium-review.googlesource.com/300962
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tryjob-Request: Olli Etuaho <oetuaho@nvidia.com>

commit 3edfe034bd078f02d444695982167c21e310ae2b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Sep 4 16:38:24 2015 -0400

    Support primitive restart in RendererGL.
    
    Store index ranges in a new struct that tracks how many real indices were
    seen.  Update index caching to key on primitive restart being enabled and
    update index counting functions to skip primitive restart indicies when
    needed.
    
    Passes dEQP-GLES3.functional.primitive_restart.*
    
    Change-Id: Id1e25a5adcdcd4e998836e8ff6679c64be4c3066
    Reviewed-on: https://chromium-review.googlesource.com/297770
    Tryjob-Request: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 8f68be8b5608e5b4f9026f1e3dffaf760065d6ca
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Tue Sep 15 15:35:11 2015 -0700

    In WinRT XAML, allow eglCreateWindowSurface to be called from any thread
    
    Before this change, eglCreateWindowSurface had to be called from one
    specific XAML thread, which may have been a different thread to the one
    where rendering was performed. This change fixes this, so
    eglCreateWindowSurface can be called from any thread.
    
    Change-Id: Ic383a508c223d1b0463e8a8f1d8e8d6880c26844
    Reviewed-on: https://chromium-review.googlesource.com/300131
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 3c7fee3640215ae8a3aac37cfa53e0528ce77062
Author: Andrew Bonventre <andybons@google.com>
Date:   Tue Sep 22 14:14:18 2015 -0400

    [Docs] Add wiki content to Markdown docs
    
    Change-Id: I729d3208b206e83f99e73002b45402c4f6f9f443
    Reviewed-on: https://chromium-review.googlesource.com/301560
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 3aa23a7c5a80ab3c8068174944782783f0ba144c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 22 19:03:33 2015 +0000

    Revert "Move sampler validation to the GL layer."
    
    Probably causing failures in the dEQP-GLES2 GL back-end tests:
    
    dEQP-GLES2.functional.uniform_api.info_query.basic.sampler2D_both
    
    BUG=angleproject:1123
    
    This reverts commit 6fa156b66da2090c98f1a044a948694c7ac83324.
    
    Change-Id: I3cc993c34aae4a108037ce81709b71d16ece814e
    Reviewed-on: https://chromium-review.googlesource.com/301580
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 6fa156b66da2090c98f1a044a948694c7ac83324
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 22 10:17:01 2015 -0400

    Move sampler validation to the GL layer.
    
    This previously was D3D-only, but is required for every draw call.
    This completes the work of removing the D3D-specific Impl methods
    from ProgramImpl.
    
    Also add several regression tests to cover texture and sampler
    validation.
    
    BUG=angleproject:1123
    
    Change-Id: I167cbc8f47b4a397d2ae6cc507bdac35168bcacd
    Reviewed-on: https://chromium-review.googlesource.com/299400
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit ac570395462853434f74bb4c55cbc27d6b444052
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Sep 22 12:03:39 2015 -0400

    Re-add the GERRIT_HOST and GERRIT_PORT codereview settings.
    
    Some users get 404s when running 'git cl upload' because gclient attempts
    to upload as a reitveld patch.
    
    Change-Id: I8fb5a46480f91489a05fbff918a106312cf0118c
    Reviewed-on: https://chromium-review.googlesource.com/301474
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 261f537959a5d997361214ff5f24c5b6d132cd61
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Sep 18 10:34:31 2015 +0300

    Support parsing defined operator generated by macro expansion
    
    dEQP tests enforce that the defined operator should be parsed even when
    it is generated as a result of macro expansion, even though this is
    undefined according to the C++ preprocessor spec.
    
    Implement support for this by putting the parsing for the defined
    operator inside MacroExpander. The operator gets processed right after
    it is generated by macro expansion. Parsing the defined operator is
    toggled with a boolean according to the context where MacroExpander
    is used.
    
    BUG=angleproject:989
    TEST=angle_unittests,
         dEQP-GLES3.functional.shaders.preprocessor.* - 2 tests start passing:
         dEQP-GLES3.functional.shaders.preprocessor.conditional_inclusion.basic_2*
    
    Change-Id: I780e63bd4558253657d898685d62339017564a06
    Reviewed-on: https://chromium-review.googlesource.com/300970
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 9f2fd2b40dc0c898a18926bf95359d8d6355e38c
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Wed Sep 2 12:29:07 2015 -0700

    Add WinrtWindow.cpp and WinRT version of angle_util
    
    Change-Id: If4ff4b966f5bd388d32c72a2d1bcf9cf29e6032d
    Reviewed-on: https://chromium-review.googlesource.com/297308
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Austin Kinross <aukinros@microsoft.com>

commit c5b2ba53591c98d5f1c539dc8fcab6f76cc6318e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Sep 17 19:54:27 2015 +0000

    Revert "Avoid a copy in TextureStorage11::setData"
    
    Speculative fix for performance regression.
    
    BUG=532647
    
    This reverts commit 9cf9bcbecaa1e54a47a92eb784e7f591f7b65c57.
    
    Change-Id: I53e41f6c17f89c400e38bfcdf3147946c27906c0
    Reviewed-on: https://chromium-review.googlesource.com/300540
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit e5f735f95eb38e2d431958b0d650fec3d3f0f7a3
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Sep 17 13:26:59 2015 -0400

    Revert "Try Sleep(1) instead of Sleep(0) while waiting for queries."
    
    Caused significant slowdown in some chrome use cases that used glFinish
    or synchronous fences.
    
    BUG=532571
    
    This reverts commit a53000b09b012235af228f2b4f48cc9fb477a45a.
    
    Change-Id: Id260e9ced472c409b2fa0b28b2b3dea99d412fdf
    Reviewed-on: https://chromium-review.googlesource.com/300491
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 27593e05e3ba9f4604fa49765a1379d881b7a2fd
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Sep 15 08:19:09 2015 -0700

    Implement missing util/ functions on Mac
    
    SetLowPriorityProcess's implementation can be shared between Mac and
    Linux so even though it isn't using a Posix API, it lives in the posix
    file.
    CreateOSPixmap needed to be implemented but will never be used by dEQP
    as our Mac EGL backend doesn't expose configs supporting pixmaps.
    
    Reland with a Linux compilation fix (forgot to delete
    SetLowPriorityProcess).
    
    BUG=angleproject:891
    
    Change-Id: If8145501e1787d08d82402a6baa60a5404cac6b1
    Reviewed-on: https://chromium-review.googlesource.com/299773
    Tested-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 83634d6b611529dcccf620be42bea4281cffc15f
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Sep 16 20:12:42 2015 +0000

    Revert "Implement missing util/ functions on Mac"
    
    This reverts commit 959e197c84065267811b0a28e1d8e4aa5f98cf82.
    
    BUG=
    
    Change-Id: I71ea2894c74be8fda80a59c99bc53f4fcb7e9115
    Reviewed-on: https://chromium-review.googlesource.com/299873
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit bf18ed01ba187d784e92bda57d356de51507dcda
Author: Dian Xiang <dianx@google.com>
Date:   Fri Sep 11 10:50:04 2015 -0700

    Adding checks in DrawBuffers to return INVALID_ENUM
    
    When a enum is given that is not a BACK, NONE, or COLOR_ATTACHMENTi where
    i ranges from 0 to MAX_COLOR_ATTACHMENT, an INVALID_ENUM should be
    returned rather than an INVALID_OPERATION.
    
    BUG=angleproject:1148
    
    Change-Id: I3663f897face14f6ba46a15fb982efda6f4f4b05
    Reviewed-on: https://chromium-review.googlesource.com/299312
    Tryjob-Request: Dian Xiang <dianx@google.com>
    Tested-by: Dian Xiang <dianx@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit 941abaf22776dc04ff9f9cdcdc31f2bbed1d3cbb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 15 16:26:17 2015 -0400

    Never de-init default Platform.
    
    This fixes a crash after calling eglTerminate, then using a previously
    initialized Display.
    
    BUG=None
    
    Change-Id: Ica974033d9da2ac15c07d6a39801781c2d776427
    Reviewed-on: https://chromium-review.googlesource.com/299691
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit a492883b74885575c8d91ee0a46a868f4ff47abd
Author: Dian Xiang <dianx@google.com>
Date:   Tue Sep 15 10:11:17 2015 -0700

    Optimizing updatecachedInputLayout to not update inactive vertex attribs
    
    BUG=angleproject:1158 part a
    
    We only need to iterate and update the active attributes in a program.
    This can further be optimized by updating the cache more intelligently,
    possibly by marking attributes as "need update" when necessary
    
    Change-Id: I41e9c033116582c82a56b8d20ea245f06e8fa3d1
    Reviewed-on: https://chromium-review.googlesource.com/299758
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 959e197c84065267811b0a28e1d8e4aa5f98cf82
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Sep 15 08:19:09 2015 -0700

    Implement missing util/ functions on Mac
    
    SetLowPriorityProcess's implementation can be shared between Mac and
    Linux so even though it isn't using a Posix API, it lives in the posix
    file.
    CreateOSPixmap needed to be implemented but will never be used by dEQP
    as our Mac EGL backend doesn't expose configs supporting pixmaps.
    
    BUG=angleproject:891
    
    Change-Id: I7b53b44b3465045954ec8e5997f703525ece92d0
    Reviewed-on: https://chromium-review.googlesource.com/299851
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tryjob-Request: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit a0928b9429e4cfb5569b498ee6ba8b6d1f5e596f
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Sep 15 08:15:56 2015 -0700

    Port gpu_test_expectations to Mac
    
    BUG=angleproject:891
    
    Change-Id: I06ad3b25914bc9ec4541b38a9b160983b7dcb720
    Reviewed-on: https://chromium-review.googlesource.com/299850
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit fdaad25ebbe34db1b7a9caf916e975373e177d7c
Author: hendrikw <hendrikw@chromium.org>
Date:   Wed Sep 16 09:01:51 2015 -0700

    ANGLE: Assert to check pointer
    
    The assert was checking the value (which is unitialized), rather than
    the pointer.
    
    Change-Id: Id8d57953b32b62739e64d88dedd26f0b15a2385f
    Reviewed-on: https://chromium-review.googlesource.com/299819
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Hendrik Wagenaar <hendrikw@chromium.org>

commit cc54ab3635320660216cf0e6eff17fa80dbe1abc
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Wed Sep 2 10:27:28 2015 -0700

    Generate tests.sln for WinRT, and make it include dEQP projects
    
    Change-Id: I34284965f7b4f9d11aa7bab263292d4f41312d04
    Reviewed-on: https://chromium-review.googlesource.com/297307
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit ee48376c1f8e18429f4e72f6a19cd137d0f25152
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Sep 15 13:12:07 2015 -0400

    Update to the latest versions of the GL and EGL headers.
    
    Add GLES 3.1 and 3.2 headers.
    
    Remove GLES 3.0 extension headers and entry point files.
    
    Re-land fixes double define from different style defines in libGLESv2.gypi
    and other projects.
    
    Re-land fixes missing defines in angle_util project in gn.
    
    Change-Id: I1952413cd4390e6f5450df809f8f5867bf6f49e2
    Reviewed-on: https://chromium-review.googlesource.com/299771
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 98c56da49e3c3adf5f3f508ede538736ff705b19
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Sep 15 15:45:34 2015 -0400

    Fix warning about out-of-order field initialization.
    
    Change-Id: I38a3f93ea07c9bbd779d18bf7d3e2a5a6ee4113a
    Reviewed-on: https://chromium-review.googlesource.com/299772
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Nico Weber <thakis@chromium.org>

commit 0393310febed96de122f650766719cf9021b90cf
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Sep 15 16:59:59 2015 +0000

    Revert "Update to the latest versions of the GL and EGL headers."
    
    Issues with GN build.
    
    This reverts commit 8284436798dd184afe61cbb586185cb68e503d6f.
    
    Change-Id: I99d186019135bbbe250e95c9567854108d31c556
    Reviewed-on: https://chromium-review.googlesource.com/299870
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 2f29d78b535be2d8961b6e1b0c8faa2f64a3eaa5
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Sep 14 12:15:53 2015 -0700

    Use SDKROOT in the paths to OSX framework to match Chromium
    
    BUG=angleproject:891
    
    Change-Id: I458a12bd6b4be3b262d76184c51bde1f2b803c67
    Reviewed-on: https://chromium-review.googlesource.com/299730
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit f0ca9a0c584c0c954e8e723c65eb4f75f191853d
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Sep 14 11:53:10 2015 -0700

    Remove the usage of some c++11 library features
    
    That were causing compilation error in Chromium Mac builds
    
    BUG=angleproject:891
    
    Change-Id: I45777451b300928e8c8d232a5b7ecffa7f1c3cbe
    Reviewed-on: https://chromium-review.googlesource.com/299721
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 178e59741b174ac155c22afe8c0bbbcd4fa1eb56
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Sep 14 11:52:44 2015 -0700

    In Chromium Mac builds do not find cstdint, use stdint.h instead
    
    BUG=angleproject:891
    
    Change-Id: Idf2a89ad26955df3579bb2c1883137589f68f573
    Reviewed-on: https://chromium-review.googlesource.com/299720
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 1b27199e79a307e638049ad53702d98a79d9df29
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Sep 14 11:57:03 2015 -0700

    IndexBufferOffsetTest: fix -Wnewline-eof for Mac
    
    BUG=angleproject:891
    
    Change-Id: Ic36d549d1a5ae52c49185064c2fdf60bd0074c0d
    Reviewed-on: https://chromium-review.googlesource.com/299723
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit b3c6a992ed20370ae19f88f5025ebb559c56d1e7
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Sep 14 11:54:17 2015 -0700

    OSXWindow::setMousePosition add a workaround for OSX 10.6 SDK
    
    -[NSWindow convertRectToScreen] was introduced in OSX 10.7, use
    convertBaseToScreen instead for OSX 10.6
    
    BUG=angleproject:891
    
    Change-Id: I255a71d98bc9bf22735a7cb8b9ce1ea24061742f
    Reviewed-on: https://chromium-review.googlesource.com/299722
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit e7ed96c3628ab002c200f7fe7b00c1351f56d081
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Sep 14 09:33:38 2015 -0700

    Implement Pbuffers for the CGL backend, using renderbuffers
    
    The CGL pbuffers have been deprecated since OSX 10.7 but our testing
    requires that an EGL implementation supports pbuffers. This commit
    implement pbuffers on top of renderbuffer using only OpenGL.
    
    BUG=angleproject:891
    
    Change-Id: Ie8e09c9300a00800600c3a77044ba05205f805da
    Reviewed-on: https://chromium-review.googlesource.com/299442
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 9cf9bcbecaa1e54a47a92eb784e7f591f7b65c57
Author: Matt Woodrow <matt.woodrow@gmail.com>
Date:   Mon Aug 17 14:50:31 2015 -0400

    Avoid a copy in TextureStorage11::setData
    
    This code always allocates a new memory buffer for the texture memory,
    picks a load function to copy/convert the input data into it, and the
    uploads.
    
    In the case where the input format matches the upload format we should
    be able to skip the allocation and copy and be much happier.
    
    Change-Id: I8b8c106e0d397bef1c4bcfdb0df60669030776a3
    Reviewed-on: https://chromium-review.googlesource.com/293742
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Tryjob-Request: Geoff Lang <geofflang@chromium.org>

commit 934cd2e572c19d93d132ac559891dc30b40ce495
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Sep 11 11:21:34 2015 -0700

    SixteenBppTextureTest: test the FBO are renderable before drawing
    
    It is valid for the implementation to return a
    GL_FRAMEBUFFER_UNSUPPORTED for framebuffer completeness. Check for that
    case and return early. This fixes the RGB5_A1 tests on Mac that doesn't
    support rendering to this format.
    
    BUG=angleproject:891
    
    Change-Id: If37d8f82e994a93a470cbdc01d758fe60d54a5b2
    Reviewed-on: https://chromium-review.googlesource.com/298863
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tryjob-Request: Geoff Lang <geofflang@chromium.org>
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 0baaca681ff7b6dea45b65b52210063fd10394b2
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Sep 14 07:38:00 2015 -0700

    EGLContextCompatTest: fix typo in WindowDifferentConfig
    
    It was incorrectly calling the pbuffer function.
    
    BUG=angleproject:891
    
    Change-Id: I6959540262a8ef80886e41da795f9e4aff218535
    Reviewed-on: https://chromium-review.googlesource.com/299441
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 1d91a7b1204f5c82d9bb07989dc10bc82f93c360
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Sep 11 11:16:26 2015 -0700

    Formatutilsgl: Make floating point formats renderable on core GL 3.0
    
    Previously they were listed as requiring ARB_color_buffer_float in all
    cases even if the extension has been merged in Desktop GL 3.0. Make it
    require Desktop GL 3.0 _or_ the extension. This fixes the PackUnpackTest
    and BlendMinMaxTest on Mac
    
    BUG=angleproject:891
    
    Change-Id: I504d9ed3ed9f1d908964181a6c21b79f1faee9b1
    Reviewed-on: https://chromium-review.googlesource.com/298862
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 50cd39efe09adb6af2fa9c69eb60e5bd43bc4407
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Sep 11 11:14:54 2015 -0700

    WindowSurfaceCGL: add a depth-stencil buffer
    
    In our EGL config we advertise a depth-stencil buffer but do not provide
    it. This fixes a lot of end2end tests that were relying on the presence
    of the depth buffer.
    
    BUG=angleproject:891
    
    Change-Id: I48e0eb27753ee64c08bf51b8ec13bfe20360332d
    Reviewed-on: https://chromium-review.googlesource.com/298861
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit c38ae7dfd2efe96915533999e7fad1172529b614
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Sep 14 10:31:07 2015 -0400

    Rename Optional::None to Invalid.
    
    This fixes a name conflict with the XWindow headers on Linux.
    Only becomes an issue when using Optional inside GL-level libANGLE.
    
    BUG=angleproject:1123
    
    Change-Id: I7f0eb278a8b6eb6fecd864e556428678cb90dcea
    Reviewed-on: https://chromium-review.googlesource.com/298892
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 1170e4746a814fc083379ddfadca489a9739fb58
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Fri Sep 11 21:48:20 2015 +0000

    Revert "Support GL_ETC1_RGB8_OES in the OpenGL renderer."
    
    This reverts commit 20bf7034533fbd9ff57296c5f9a5b1b9e06059db.
    
    Broke GL2ExtensionTests_compressed_etc1_rgb8_texture_input_run on win bots
    
    Change-Id: I2b48aac1512d916671d41e03f0409c404d6d7c88
    Reviewed-on: https://chromium-review.googlesource.com/299429
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Zhenyao Mo <zmo@chromium.org>

commit 20bf7034533fbd9ff57296c5f9a5b1b9e06059db
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Sep 11 13:11:22 2015 -0400

    Support GL_ETC1_RGB8_OES in the OpenGL renderer.
    
    Passes all dEQP tests related to etc1.
    
    Change-Id: I33f37c44396899d87e9ef19bd7a6e2b2482d232a
    Reviewed-on: https://chromium-review.googlesource.com/299342
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 8284436798dd184afe61cbb586185cb68e503d6f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Sep 11 13:52:12 2015 -0400

    Update to the latest versions of the GL and EGL headers.
    
    Add GLES 3.1 and 3.2 headers.
    
    Remove GLES 3.0 extension headers and entry point files.
    
    Re-land fixes double define from different style defines in libGLESv2.gypi and
    other projects.
    
    Change-Id: I6204dc767bd83b7aa7e4d6e2fa338b2ce7f304d8
    Reviewed-on: https://chromium-review.googlesource.com/299401
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit e12150fe9c36122d1e1ab2e932d9f0b5e0477c20
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Sep 11 20:06:27 2015 +0000

    Revert "Update to the latest versions of the GL and EGL headers."
    
    Linux compile failures to do gyp defines.
    
    This reverts commit 8bbeabc1795473f7b3141219be3970fea3b95a71.
    
    Change-Id: Icb31dd817414b3a9ab36e88cedab9c725af26b6b
    Reviewed-on: https://chromium-review.googlesource.com/299173
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 1024f382d7d50722240497f2d440450e35497116
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Sep 11 19:42:02 2015 +0000

    Revert "Support GL_ETC1_RGB8_OES in the OpenGL renderer."
    
    Failing some ES2 dEQP tests.
    
    This reverts commit 4aba0b90ec3d2dcd550ed4111f5739191f022028.
    
    Change-Id: Ie39055872d25bce0f387e9e983ebab648c0493f0
    Reviewed-on: https://chromium-review.googlesource.com/298972
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 8bbeabc1795473f7b3141219be3970fea3b95a71
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Sep 11 13:52:12 2015 -0400

    Update to the latest versions of the GL and EGL headers.
    
    Add GLES 3.1 and 3.2 headers.
    
    Remove GLES 3.0 extension headers and entry point files.
    
    Change-Id: Icaa444efa52f3b9d1497189da92bc364545a6e3a
    Reviewed-on: https://chromium-review.googlesource.com/299172
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 2511d064fb92b36ee04c98ef942b14baf7dce8a0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Sep 11 15:19:56 2015 -0400

    Default test window size to 16x16.
    
    This fixes a crash on Linux whenever we try to create a test without
    specifying a default width and height. Did not seem to have a problem
    on Windows.
    
    TEST=angle_end2end_tests (Windows/Linux)
    BUG=angleproject:1123
    
    Change-Id: I1afcea9e833208d8a67d363678b9736c2a222066
    Reviewed-on: https://chromium-review.googlesource.com/298835
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 7aef6020a0679f99ac97b03f7bcd540ea0cfa1c6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Sep 11 19:04:00 2015 +0000

    Revert "Update to the latest versions of the GL and EGL headers."
    
    Broke the Clang compile.
    
    In file included from ../../third_party/angle/include/GLSLANG/ShaderLang.h:28:
    ../../third_party/angle/include/KHR/khrplatform.h:282:30: error: no newline at end of file [-Werror,-Wnewline-eof]
    #endif /* __khrplatform_h_ */
    
    Several other similar errors.
    
    BUG=None
    
    This reverts commit aac2035d851fc92b159dc8e01cfd2ebb86e99e4a.
    
    Change-Id: I407e7e65bb6a46d1d941c54cdf14a14758e22d96
    Reviewed-on: https://chromium-review.googlesource.com/298834
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 4aba0b90ec3d2dcd550ed4111f5739191f022028
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Sep 11 13:11:22 2015 -0400

    Support GL_ETC1_RGB8_OES in the OpenGL renderer.
    
    Passes all dEQP tests related to etc1.
    
    Change-Id: I3ab2d51b7664cb2411fdc3247ff65a9e3258185a
    Reviewed-on: https://chromium-review.googlesource.com/299340
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit aac2035d851fc92b159dc8e01cfd2ebb86e99e4a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Sep 11 13:52:12 2015 -0400

    Update to the latest versions of the GL and EGL headers.
    
    Add GLES 3.1 and 3.2 headers.
    
    Remove GLES 3.0 extension headers and entry point files.
    
    Change-Id: I8e9df6262dc1b2536a409c5791734e4a4d63b115
    Reviewed-on: https://chromium-review.googlesource.com/299341
    Tryjob-Request: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit d756145de2c906731d523e4714bd64e9b9b4749b
Author: Cooper Partin <coopp@microsoft.com>
Date:   Thu Sep 10 10:23:29 2015 -0700

    Re-land "Added support for premultiplied alpha mode for composition swapchains"
    
    Change-Id: Ic0c863c3d4936947fc520a5394e38e458659df46
    Reviewed-on: https://chromium-review.googlesource.com/298880
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 62d31cb6166252447d45cd9681649d7fadff00ff
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Sep 11 13:25:51 2015 -0400

    Re^6-land "Move Uniform and UBO info to the gl::Program layer."
    
    This data was previously stored entirely in the Impl level. Move
    as much as possible to the GL level, using a read-only view in the
    Impl level. Some information in D3D-specific, and should be stored
    separately in the Impl.
    
    This patch has a lot of refactoring that splits the D3D and GL info,
    and moves as much validation as possible to the GL layer, where it
    is shared between the back-ends.
    
    Re-land with fix for dEQP unused uniforms. The fix involves storing
    a local copy of all uniform data in the GL layer. This will also
    let us validate sampler indexes during draw calls at the GL layer.
    
    Re-re-land with a fix for multiply defined symbols on Clang.
    
    Re-re-re-land with a fix for boolean uniforms and Uniform{1234}f.
    
    Re^4-land with a fix for boolean uniform arrays and UBO uniforms.
    
    Re^5-land with a fix for a test warning on Linux.
    
    Re^6-land with a fix for transposed matrix uniform arrays.
    
    BUG=angleproject:1123
    TEST=end2end_tests, bots, dEQP GLES3.ubo and GLES2.uniform_api
    
    Change-Id: Ie6fcde1c16eb05d67191b629338b88302a2563f5
    Reviewed-on: https://chromium-review.googlesource.com/298971
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit fb53603cab870d449a1df7e83451c50caa55665a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Sep 11 13:19:49 2015 -0400

    Revert "Re^5-land "Move Uniform and UBO info to the gl::Program layer.""
    
    Failing dEQP-GLES3.functional.uniform_api.random.22 and 23:
    There's a bug with arrays of tranpsosed matrix uniforms.
    
    BUG=angleproject:1123
    
    This reverts commit 78d356929bd0441d81e2dd8a63130cd6788e2fde.
    
    Change-Id: If39b5908af39671dfe98965e6a1ba77fd18ea8fc
    Reviewed-on: https://chromium-review.googlesource.com/299320
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 2b835a6f41a53b5e5da1fbc42e5ac3c049398fc8
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Sep 10 15:58:44 2015 -0400

    Call the correct vertex attrib function for stream integer attribs.
    
    Fixes tests related to integer attributes in
    dEQP-GLES3.functional.shaders.builtin_functions.*
    
    BUG=angleproject:880
    
    Change-Id: I107c5c9fd1adc29f58617fab095374daa74a0da1
    Reviewed-on: https://chromium-review.googlesource.com/298970
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 362c0a790fb7051dd6961cf8e6eaaa6f3929d896
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Aug 12 14:44:38 2015 -0400

    Implement EGL image classes for the D3D renderers.
    
    BUG=angleproject:970
    
    Change-Id: I24d393fcd75dd4ee510785e8475b093868701c77
    Reviewed-on: https://chromium-review.googlesource.com/295152
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tryjob-Request: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 78d356929bd0441d81e2dd8a63130cd6788e2fde
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Sep 11 08:32:51 2015 -0400

    Re^5-land "Move Uniform and UBO info to the gl::Program layer."
    
    This data was previously stored entirely in the Impl level. Move
    as much as possible to the GL level, using a read-only view in the
    Impl level. Some information in D3D-specific, and should be stored
    separately in the Impl.
    
    This patch has a lot of refactoring that splits the D3D and GL info,
    and moves as much validation as possible to the GL layer, where it
    is shared between the back-ends.
    
    Re-land with fix for dEQP unused uniforms. The fix involves storing
    a local copy of all uniform data in the GL layer. This will also
    let us validate sampler indexes during draw calls at the GL layer.
    
    Re-re-land with a fix for multiply defined symbols on Clang.
    
    Re-re-re-land with a fix for boolean uniforms and Uniform{1234}f.
    
    Re^4-land with a fix for boolean uniform arrays and UBO uniforms.
    
    Re^5-land with a fix for a test warning on Linux.
    
    BUG=angleproject:1123
    TEST=end2end_tests, bots, dEQP GLES3.ubo and GLES2.uniform_api
    
    Change-Id: I03afcd446d9e74573c4d4c712ed7407b91d8001c
    Reviewed-on: https://chromium-review.googlesource.com/299180
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit a2eb02c916e81c4314f4062431dcdba2613dd42d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Sep 11 12:31:41 2015 +0000

    Revert "Re^4-land "Move Uniform and UBO info to the gl::Program layer.""
    
    Test has a warning on Linux:
    
    In file included from ../../third_party/angle/src/tests/test_utils/ANGLETest.h:13:
    ../../testing/gtest/include/gtest/gtest.h:1392:16: error: comparison of integers of different signs: 'const int' and 'const unsigned int' [-Werror,-Wsign-compare]
      if (expected == actual) {
          ~~~~~~~~ ^  ~~~~~~
    ../../testing/gtest/include/gtest/gtest.h:1422:12: note: in instantiation of function template specialization 'testing::internal::CmpHelperEQ<int, unsigned int>' requested here
        return CmpHelperEQ(expected_expression, actual_expression, expected,
               ^
    ../../third_party/angle/src/tests/gl_tests/UniformBufferTest.cpp:357:5: note: in instantiation of function template specialization 'testing::internal::EqHelper<false>::Compare<int, unsigned int>' requested here
        EXPECT_EQ(GL_FLOAT, type);
        ^
    
    BUG=angleproject:1123
    
    This reverts commit 2ae1ee6161c24aab065190b1528f6195e80e34d0.
    
    Change-Id: Ic3dabea54068377d1f2c5f722ba52966cf1a0491
    Reviewed-on: https://chromium-review.googlesource.com/299170
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 2ae1ee6161c24aab065190b1528f6195e80e34d0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 10 10:04:24 2015 -0400

    Re^4-land "Move Uniform and UBO info to the gl::Program layer."
    
    This data was previously stored entirely in the Impl level. Move
    as much as possible to the GL level, using a read-only view in the
    Impl level. Some information in D3D-specific, and should be stored
    separately in the Impl.
    
    This patch has a lot of refactoring that splits the D3D and GL info,
    and moves as much validation as possible to the GL layer, where it
    is shared between the back-ends.
    
    Re-land with fix for dEQP unused uniforms. The fix involves storing
    a local copy of all uniform data in the GL layer. This will also
    let us validate sampler indexes during draw calls at the GL layer.
    
    Re-re-land with a fix for multiply defined symbols on Clang.
    
    Re-re-re-land with a fix for boolean uniforms and Uniform{1234}f.
    
    Re^4-land with a fix for boolean uniform arrays and UBO uniforms.
    
    BUG=angleproject:1123
    TEST=end2end_tests, bots, dEQP GLES3.ubo and GLES2.uniform_api
    
    Change-Id: I4c9f5ed31b81380507bef7981f97086d642801ae
    Reviewed-on: https://chromium-review.googlesource.com/298451
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 769769a79a13a0ac11d8d354ab04d8a81c394714
Author: Dian Xiang <dianx@google.com>
Date:   Wed Sep 9 15:20:08 2015 -0700

    Adding in checks for program and shader names to return INVALID_OPERATION
    
    When a valid program is given instead of a shader, an INVALID_OPERATION
    is returned rather than INVALID_VALUE when a shader related function is
    called. The reverse happens when a program related function is called and
    a valid shader program is given to it.
    
    This commit also refactors other places that requires a similar check to
    use the same validation function and error message.
    
    BUG=angleproject:1029
    dEQP-GLES2.functional.negative_api.state.get_shader_info_log
    dEQP-GLES2.functional.negative_api.state.get_shader_source
    dEQP-GLES2.functional.negative_api.state.get_programiv
    dEQP-GLES2.functional.negative_api.state.get_program_info_log
    
    BUG=angleproject:1101
    dEQP-GLES3.functional.negative_api.state.get_shader_info_log
    dEQP-GLES3.functional.negative_api.state.get_shader_source
    dEQP-GLES3.functional.negative_api.state.get_programiv
    dEQP-GLES3.functional.negative_api.state.get_program_info_log
    
    Change-Id: I707b6ba10da0288128af185ce8dfb906fca0f766
    Reviewed-on: https://chromium-review.googlesource.com/298604
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tryjob-Request: Dian Xiang <dianx@google.com>
    Tested-by: Dian Xiang <dianx@google.com>

commit e8f471371aeffda969d3c1985bc60387e0a9835c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Sep 9 12:17:43 2015 -0400

    Work around depth texture sampling differences in GL versions.
    
    ES3 requires that only the red channel has data when sampling from depth
    textures while desktop GL treats them as luminance textures.  Set the
    swizzle state of the texture to sample 0 from the blue and green channels
    in TextureGL.
    
    Passes 75 new tests in dEQP-GLES3.functional.texture.format and
    dEQP-GLES3.functional.texture.specification.
    
    BUG=angleproject:884
    
    Change-Id: I863472961dcbbf8af864f5e1d85a4aea41f47bda
    Reviewed-on: https://chromium-review.googlesource.com/298481
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 4a693565dcfaba92f053db5c95e9338eac949245
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Sep 10 09:48:13 2015 -0700

    Fix the named parameter for the IndexConversion perftest
    
    It seems that the compiler didn't resolve the overloaded operator<< with
    the structure's grandparent structure. Fix it by explicitely casting to
    the grandparent before calling operator<<. Also provides slightly more
    information on the number of iterations/triangles.
    
    This wasn't caught with local testing as IndexConversion isn't compiled in
    angle_perftests on Linux.
    
    BUG=angleproject:1153
    BUG=530226
    
    Change-Id: Ifa602eb0728d052bc651f0dd030f9f880c00dc51
    Reviewed-on: https://chromium-review.googlesource.com/298860
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 2aa3b4368c6d2da40661ea45644fbfc6465395e8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 10 16:39:13 2015 +0000

    Revert "Added support for premultiplied alpha mode for composition swapchains"
    
    Unused member warning:
    
    ..\..\third_party\angle\src\libANGLE/renderer/d3d/d3d11/NativeWindow.h(68,24) :  error: private field 'mConfig' is not used [-Werror,-Wunused-private-field]
        const egl::Config *mConfig;
                           ^
    BUG=None
    
    This reverts commit 9823337204555935804985c5b93a38adc69cb681.
    
    Change-Id: I8ed41770eb3fe70ab7e32ba9a0860e2c397e22c5
    Reviewed-on: https://chromium-review.googlesource.com/298830
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 86f8dd7c369226a30fd671bf2bec27e9025a663f
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Aug 12 12:37:48 2015 -0700

    Implement a minimal EGL -> CGL backend
    
    This succesfully renders HelloTriangle and some samples but fails on a
    lot of tests. In particular it doesn't handle resizing the window and
    doesn't have depth or stencil buffers.
    
    BUG=angleproject:891
    
    Change-Id: I16356471b470f764acb38e8dd3589e9c0129829d
    Reviewed-on: https://chromium-review.googlesource.com/290770
    Tested-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 5cf466d3b8afbf39c411657b543452322e90e5a8
Author: Dian Xiang <dianx@google.com>
Date:   Tue Sep 8 18:18:08 2015 -0700

    Returning INVALID_OPERATION when a valid program is passed to getShaderiv
    
    BUG=angleproject:1147
    
    Change-Id: I7f3e77f8f5f55887fe03172eadce78129ffeb10f
    Reviewed-on: https://chromium-review.googlesource.com/298064
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tryjob-Request: Dian Xiang <dianx@google.com>
    Tested-by: Dian Xiang <dianx@google.com>

commit 54c311fc5ef82456df3cd25fe01f13327482f992
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Wed Sep 9 15:37:31 2015 -0700

    win clang build fix
    
    BUG=
    TEST=win clang bots build
    
    Change-Id: I802be2e72a884e50cf13120d3cd9c76a8f8eb86f
    Reviewed-on: https://chromium-review.googlesource.com/298253
    Tested-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 0d8b7247a207cf0b3f49163c7d750d58510e65e2
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Sep 9 14:56:53 2015 -0400

    Support ETC2 texture formats with RendererGL.
    
    400 tests in dEQP-GLES3.functional.texture go from unsupported to passing.
    
    BUG=angleproject:884
    
    Change-Id: I51927dffbc5931c7d1b80e72f55c620197736724
    Reviewed-on: https://chromium-review.googlesource.com/298484
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit df2572c3b379b1767baa8908d9586cdb3aaabe0d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Sep 9 14:55:27 2015 -0400

    Add LUMA format entries into the tables in formatutilsgl.
    
    BUG=angleproject:884
    
    Change-Id: Ie4f378bc18cda57a91c16832c33f0ddc81f9c105
    Reviewed-on: https://chromium-review.googlesource.com/298483
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit a6c95fc629425a63ebc11acfefe53802e48f3f3b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Sep 9 13:02:52 2015 -0400

    Pass the texture unit to TextureGL::syncSamplerState.
    
    When syncing the texture's sampler state, make sure the correct texture
    unit is active.  When StateManagerGL syncs the textures, it may not set
    the active texture if the texture ID has not changed.
    
    BUG=angleproject:884
    BUG=angleproject:883
    BUG=angleproject:1051
    
    Change-Id: Ib22874c22a12b1b9bd68887ac5a449c507e7bdc6
    Reviewed-on: https://chromium-review.googlesource.com/298482
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit add8d031c0e9b47fff60cb8b8f08a4bea747b48f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Sep 9 16:11:58 2015 -0400

    Don't sync the multisample state in StateManagerGL.
    
    GL_MULTISAMPLE is not a real state in GLES but existed for the D3D
    renderers to sync the rasterizer state more easily.  Instead of syncing it
    in StateManagerGL, rely on the default value of GL_TRUE in Desktop GL.
    
    All tests in dEQP-GLES3.functional.multisample.* now pass.
    
    BUG=angleproject:885
    BUG=angleproject:883
    
    Change-Id: Idbe5fbc1b43a6e66008fe87da41601277dbe7311
    Reviewed-on: https://chromium-review.googlesource.com/298441
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 61b8dd9734226a32d3138b020d02ce8ef46985d1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 9 19:04:04 2015 +0000

    Revert "Re-re-re-land "Move Uniform and UBO info to the gl::Program layer.""
    
    Seems to be failing the dEQP-GLES2.functional.uniform_api tests relating to boolean arrays.
    
    BUG=angleproject:1123
    
    This reverts commit 892a6a4b17b35e89898be8b4605c1ee595d3ae13.
    
    Change-Id: Ifc4ce3ca806ef88a02ac6f693334ac37ce098a88
    Reviewed-on: https://chromium-review.googlesource.com/298520
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 892a6a4b17b35e89898be8b4605c1ee595d3ae13
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 9 10:17:15 2015 -0400

    Re-re-re-land "Move Uniform and UBO info to the gl::Program layer."
    
    This data was previously stored entirely in the Impl level. Move
    as much as possible to the GL level, using a read-only view in the
    Impl level. Some information in D3D-specific, and should be stored
    separately in the Impl.
    
    This patch has a lot of refactoring that splits the D3D and GL info,
    and moves as much validation as possible to the GL layer, where it
    is shared between the back-ends.
    
    Re-land with fix for dEQP unused uniforms. The fix involves storing
    a local copy of all uniform data in the GL layer. This will also
    let us validate sampler indexes during draw calls at the GL layer.
    
    Re-re-land with a fix for multiply defined symbols on Clang.
    
    Re-re-re-land with a fix for boolean uniforms and Uniform{1234}f.
    
    BUG=angleproject:1123
    TEST=end2end_tests,Canary WebGL (D3D11/GL), dEQP-GLES2+3.functional.uniform_api
    
    Change-Id: Ia40820a5ce2f34ec2d27648b1dc940a8955e9999
    Reviewed-on: https://chromium-review.googlesource.com/298440
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit dd5262eb3292d711ad74184682ef8fe488cbba37
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Sep 8 07:55:17 2015 -0700

    Fix compilation on Mac
    
    BUG=angleproject:891
    
    Change-Id: I2b787778268e8c29f0cf36d91520a04e92208f6f
    Reviewed-on: https://chromium-review.googlesource.com/298030
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 0962fc36fcc593038782982fa55aaa1dd031a35f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 9 10:40:28 2015 -0400

    Suppress two failing end2end_tests on Intel.
    
    The UniformTest suppression we can work around with a patch to handle
    GetUniform queries entirely in ANGLE. The suppression for BlendMinMax
    is a long-standing failure for an unknown reason.
    
    BUG=angleproject:809
    
    Change-Id: Ib89af1579a74dc5065f169b31307678429724a7c
    Reviewed-on: https://chromium-review.googlesource.com/298450
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit e6432c851d887b6137fb92b3f5cb563994e66672
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Sep 8 14:21:38 2015 +0300

    Fix preprocessor macro replacement list location
    
    According to the dEQP tests, a macro replacement list generated by a
    function-like macro invocation should get its location from the closing
    parenthesis of the invocation. The tests check this by using __LINE__ in
    a macro with a multi-line invocation. It's not quite clear from the spec
    that the enforced behavior is expected as opposed to the replacement
    list getting its location from the macro name, but a minor correction to
    the preprocessor makes the dEQP tests pass.
    
    Newlines in the preprocessor unit tests are generated according to the
    source locations in the token list produced by the preprocessor, so the
    expectations of a few tests also need to be updated.
    
    BUG=angleproject:989
    TEST=dEQP-GLES3.functional.shaders.preprocessor.predefined_macros.*
         (2 start passing with this change),
         angle_unittests
    
    Change-Id: I4cc9da09bd0985310a05ebf6def680916a46308a
    Reviewed-on: https://chromium-review.googlesource.com/297990
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit 0304d2fe4f3b1d2d7755a5e1a7fbfba8a3343ec3
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Sep 7 16:28:19 2015 +0300

    Don't split the file into two chunks in shader_translator
    
    Splitting the file into two strings in shader_translator complicated
    testing line/file numbering related functionality with it, since each
    chunk passed to ShCompile has its own file number and line numbering.
    These are exposed to the preprocessor in __FILE__ and __LINE__ predefined
    macros.
    
    Just supply the file to ShCompile in a single string. Also, since the
    original motivation for splitting the string seems to have been to
    exercise ShCompile with multiple strings, add a new unit test that
    ensures that ShCompile handles multiple strings as expected.
    
    BUG=angleproject:989
    TEST=angle_unittests
    
    Change-Id: I31d24925ec85ca3411e537df25a985f09737403e
    Reviewed-on: https://chromium-review.googlesource.com/297251
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit b654f659ced1c2fed11f808364ed67802b9aaf71
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 8 20:40:00 2015 +0000

    Revert "Re-re-land "Move Uniform and UBO info to the gl::Program layer.""
    
    Failes the gles2_conform_test:
    
    GLES2ConformTest.GL2Tests_glGetUniform_input_run
    
    Possibly also WebGL failures, will investigate.
    
    BUG=angleproject:1123
    
    This reverts commit 10750cb936288d8dd09d49fadd592904c06c56f9.
    
    Change-Id: I1ae59325e1831589019bc5a27ffc2091d3994a65
    Reviewed-on: https://chromium-review.googlesource.com/298200
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 10750cb936288d8dd09d49fadd592904c06c56f9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Sep 4 14:23:52 2015 -0400

    Re-re-land "Move Uniform and UBO info to the gl::Program layer."
    
    This data was previously stored entirely in the Impl level. Move
    as much as possible to the GL level, using a read-only view in the
    Impl level. Some information in D3D-specific, and should be stored
    separately in the Impl.
    
    This patch has a lot of refactoring that splits the D3D and GL info,
    and moves as much validation as possible to the GL layer, where it
    is shared between the back-ends.
    
    Re-land with fix for dEQP unused uniforms. The fix involves storing
    a local copy of all uniform data in the GL layer. This will also
    let us validate sampler indexes during draw calls at the GL layer.
    
    Re-re-land with a fix for multiply defined symbols on Clang.
    
    BUG=angleproject:1123
    TEST=end2end_tests,Canary WebGL (D3D11/GL), dEQP-GLES2+3.functional.uniform_api
    
    Change-Id: I7b55e4964fbe64e0106c37928c894146937a2476
    Reviewed-on: https://chromium-review.googlesource.com/298110
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 2119dd050f4ded4eb8388292e7e1a1b0d97748aa
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 8 19:30:37 2015 +0000

    Revert "Re-land "Move Uniform and UBO info to the gl::Program layer.""
    
    Problems with multiply defined symbols in the Linux builder.
    
    BUG=angleproject:1123
    
    This reverts commit ff1abe63c3d8af28e9755c8d0c95b2aeca27a0d9.
    
    Change-Id: Ifcb2ad885d0841c128ffd69afb6594e37eba17fc
    Reviewed-on: https://chromium-review.googlesource.com/298100
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit ff1abe63c3d8af28e9755c8d0c95b2aeca27a0d9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Sep 4 14:23:52 2015 -0400

    Re-land "Move Uniform and UBO info to the gl::Program layer."
    
    This data was previously stored entirely in the Impl level. Move
    as much as possible to the GL level, using a read-only view in the
    Impl level. Some information in D3D-specific, and should be stored
    separately in the Impl.
    
    This patch has a lot of refactoring that splits the D3D and GL info,
    and moves as much validation as possible to the GL layer, where it
    is shared between the back-ends.
    
    Re-land with fix for dEQP unused uniforms. The fix involves storing
    a local copy of all uniform data in the GL layer. This will also
    let us validate sampler indexes during draw calls at the GL layer.
    
    BUG=angleproject:1123
    TEST=end2end_tests,Canary WebGL (D3D11/GL), dEQP-GLES2+3.functional.uniform_api
    
    Change-Id: I9074c057c2c67d4d3221ec11c5556a26e07c7ceb
    Reviewed-on: https://chromium-review.googlesource.com/297070
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 7bd13082c5b9aadb7e899f0cb78706e87ac5e6d5
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Sep 8 13:10:10 2015 -0400

    Set seamless cubemap filtering in StateManagerGL.
    
    Cubemap filtering is supposed to be seamless for ES3+ contexts.
    
    Fixes 298 failures in dEQP-GLES3.functional.texture, mostly in
    dEQP-GLES3.functional.texture.filtering and
    dEQP-GLES3.functional.texture.shadow.
    
    BUG=angleproject:986
    BUG=angleproject:1149
    
    Change-Id: I6054365086bb3b9d9b085c260f88e2c43eb75bfe
    Reviewed-on: https://chromium-review.googlesource.com/296966
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 9823337204555935804985c5b93a38adc69cb681
Author: Cooper Partin <coopp@microsoft.com>
Date:   Fri Aug 28 15:53:44 2015 -0700

    Added support for premultiplied alpha mode for composition swapchains
    
    Change-Id: Iee1d327a03469d7daf6cc412709c0a36e1c83e32
    Reviewed-on: https://chromium-review.googlesource.com/296721
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Cooper Partin <coopp@microsoft.com>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>

commit 33585c71865a3643e33cd8b28116e76156013c55
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Sep 3 14:41:23 2015 -0400

    Use named value-parameterized tests for angle_end2end_tests
    
    This replace the non-descriptive digit at the end of the test name by
    the name of the configuration being tested.
    
    Reland with a fix for gtest initialization on Windows caused by
    ProgramBinaryTest having the same parameter name twice.
    
    BUG=angleproject:1153
    
    Change-Id: I9b0f661a535b760793d9d87ef0c8298f6b83830d
    Reviewed-on: https://chromium-review.googlesource.com/297701
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 9bbad18efb002113ce1c581471af8a1574497a7e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Sep 4 11:07:29 2015 -0400

    Mark GL_RGB10_A2UI as a renderable format.
    
    dEQP-GLES3.functional.fbo.color.tex3d.rgb10_a2ui was already failing but
    because the framebuffer was marked as unsupported, dEQP considers the test to
    be passing.
    
    BUG=angleproject:1149
    BUG=angleproject:1097
    
    Change-Id: I82223e8e927d1fd6d66f75b5fdea7989c92d706d
    Reviewed-on: https://chromium-review.googlesource.com/298031
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 809ec54627b0bcda67d48e4dfd66ff70c188b7ac
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Aug 26 14:30:57 2015 +0300

    Don't evaluate short-circuited preprocessor expressions
    
    Resubmit with clang build issue fixed. The result of a short-circuited
    operation is now either 0 or 1.
    
    ESSL 3.00 spec section 3.4 mentions that the second operand in a logical
    && or || preprocessor operation is evaluated only if the first operand
    doesn't short-circuit the expression. The non-evaluated part of a
    preprocessor expression may also have undefined identifiers.
    
    Make the expression parser follow the spec by ignoring errors that are
    generated inside short-circuited expressions. This includes undefined
    identifiers and divide by zero.
    
    BUG=angleproject:347
    TEST=dEQP-GLES3.functional.shaders.preprocessor.undefined_identifiers.*
         angle_unittests
    
    Change-Id: I4163f96ec46d40ac859ffb39d91b89490041e44d
    Reviewed-on: https://chromium-review.googlesource.com/297252
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 9a1b49f7b421bd9b2b96f3ebddcde1bab2885f3f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 8 14:32:26 2015 +0000

    Revert "Don't evaluate short-circuited preprocessor expressions"
    
    Build break on Clang:
    
    FAILED: /b/build/goma/gomacc ../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/third_party/angle/src/compiler/preprocessor/preprocessor.ExpressionParser.o.d -DV8_DEPRECATION_WARNINGS -DCLD_VERSION=2 -D__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORE=0 -DCHROMIUM_BUILD -DCR_CLANG_REVISION=245965-1 -DUSE_LIBJPEG_TURBO=1 -DENABLE_ONE_CLICK_SIGNIN -DENABLE_PRE_SYNC_BACKUP -DENABLE_WEBRTC=1 -DENABLE_MEDIA_ROUTER=1 -DUSE_PROPRIETARY_CODECS -DENABLE_PEPPER_CDMS -DENABLE_CONFIGURATION_POLICY -DENABLE_NOTIFICATIONS -DENABLE_HIDPI=1 -DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE -DDONT_EMBED_BUILD_METADATA -DDCHECK_ALWAYS_ON=1 -DFIELDTRIAL_TESTING_ENABLED -DENABLE_TASK_MANAGER=1 -DENABLE_EXTENSIONS=1 -DENABLE_PDF=1 -DENABLE_PLUGIN_INSTALLATION=1 -DENABLE_PLUGINS=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1 -DENABLE_AUTOFILL_DIALOG=1 -DENABLE_BACKGROUND=1 -DENABLE_GOOGLE_NOW=1 -DENABLE_PRINTING=1 -DENABLE_BASIC_PRINTING=1 -DENABLE_PRINT_PREVIEW=1 -DENABLE_SPELLCHECK=1 -DUSE_BROWSER_SPELLCHECKER=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_APP_LIST=1 -DENABLE_SETTINGS_APP=1 -DENABLE_SUPERVISED_USERS=1 -DENABLE_SERVICE_DISCOVERY=1 -DENABLE_WIFI_BOOTSTRAPPING=1 -DV8_USE_EXTERNAL_STARTUP_DATA -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DSAFE_BROWSING_SERVICE -DUSE_LIBPCI=1 -DUSE_OPENSSL=1 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -Igen -isysroot /Applications/Xcode5.1.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk -O2 -gdwarf-2 -fvisibility=hidden -Werror -Wnewline-eof -mmacosx-version-min=10.6 -arch x86_64 -Wendif-labels -Wno-unused-parameter -Wno-missing-field-initializers -Wno-selector-type-mismatch -Wpartial-availability -Wheader-hygiene -Wno-char-subscripts -Wno-unneeded-internal-declaration -Wno-covered-switch-default -Wstring-conversion -Wno-c++11-narrowing -Wno-deprecated-register -Wno-inconsistent-missing-override -Wno-shift-negative-value -Wno-unused-function -Wno-unused-variable -std=c++11 -fno-rtti -fno-exceptions -fvisibility-inlines-hidden -fno-threadsafe-statics -Xclang -load -Xclang /b/build/slave/GPU_Mac_Builder/build/src/third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.dylib -Xclang -add-plugin -Xclang find-bad-constructs -Xclang -plugin-arg-find-bad-constructs -Xclang check-templates -fcolor-diagnostics -fno-strict-aliasing  -c ../../third_party/angle/src/compiler/preprocessor/ExpressionParser.cpp -o obj/third_party/angle/src/compiler/preprocessor/preprocessor.ExpressionParser.o
    ../../third_party/angle/src/compiler/preprocessor/ExpressionParser.cpp:1372:35: error: use of logical '||' with constant operand [-Werror,-Wconstant-logical-operand]
                (yyval) = (yyvsp[-3]) || 0;
                                      ^  ~
    ../../third_party/angle/src/compiler/preprocessor/ExpressionParser.cpp:1372:35: note: use '|' for a bitwise operation
                (yyval) = (yyvsp[-3]) || 0;
                                      ^~
                                      |
    ../../third_party/angle/src/compiler/preprocessor/ExpressionParser.cpp:1406:35: error: use of logical '&&' with constant operand [-Werror,-Wconstant-logical-operand]
                (yyval) = (yyvsp[-3]) && 0;
                                      ^  ~
    ../../third_party/angle/src/compiler/preprocessor/ExpressionParser.cpp:1406:35: note: use '&' for a bitwise operation
                (yyval) = (yyvsp[-3]) && 0;
                                      ^~
                                      &
    ../../third_party/angle/src/compiler/preprocessor/ExpressionParser.cpp:1406:35: note: remove constant to silence this warning
                (yyval) = (yyvsp[-3]) && 0;
                                     ~^~~~
    
    BUG=angleproject:347
    
    This reverts commit 6ffe613518482b966b913013c51221ce06ca7c33.
    
    Change-Id: I6d81666cca573f320bfb1164a6c794b6f75f7463
    Reviewed-on: https://chromium-review.googlesource.com/298020
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 47f730fa8d39f0afd705e2df6684023375b413e8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 8 14:29:37 2015 +0000

    Revert "Mark GL_RGB10_A2UI as a renderable format."
    
    Fails the dEQP test:
    
    dEQP-GLES3.functional.fbo.color.tex3d.rgb10_a2ui
    
    BUG=angleproject:1149
    
    This reverts commit d0f9fdc772d0b286a50978f4a16c94e2af3dfee7.
    
    Change-Id: I5b76255be3fc1f0734395dac609e2949fc8c8185
    Reviewed-on: https://chromium-review.googlesource.com/298010
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 6ffe613518482b966b913013c51221ce06ca7c33
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Aug 26 14:30:57 2015 +0300

    Don't evaluate short-circuited preprocessor expressions
    
    ESSL 3.00 spec section 3.4 mentions that the second operand in a logical
    && or || preprocessor operation is evaluated only if the first operand
    doesn't short-circuit the expression. The non-evaluated part of a
    preprocessor expression may also have undefined identifiers.
    
    Make the expression parser follow the spec by ignoring errors that are
    generated inside short-circuited expressions. This includes undefined
    identifiers and divide by zero.
    
    BUG=angleproject:347
    TEST=dEQP-GLES3.functional.shaders.preprocessor.undefined_identifiers.*
         angle_unittests
    
    Change-Id: Ieed02a71298af838f784a5d1197d4f4a9ba0e3c8
    Reviewed-on: https://chromium-review.googlesource.com/295033
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 3910ca93b6583f461f697ac567da3bb0d61488fd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Sep 4 15:38:17 2015 -0400

    Suppress failing Uniform test on AMD.
    
    This test exposes a driver bug in state query, where the AMD
    driver does not cast state values correctly. Suppress this for now
    but we can quickly turn it on with the Uniforms refactor, which
    does all of the necessary state retrieval within ANGLE without
    consulting the driver.
    
    BUG=angleproject:1123
    
    Change-Id: I5c1f1c16e3a59582267de3365e388ffef4d57467
    Reviewed-on: https://chromium-review.googlesource.com/296667
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 6ba5d4ddba1b419150f7acfd48a00aec7f6e310c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Sep 4 14:23:50 2015 -0400

    Fix GetUniform rounding in D3D. Also add a test.
    
    The test will help cover a bug that I found when doing the refactor
    of gl::Program.
    
    BUG=angleproject:1123
    
    Change-Id: Id353ffaffef83ad1538580ad01668c915bf9853f
    Reviewed-on: https://chromium-review.googlesource.com/297031
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 6026538ab8e4029f0b5db7424f71a75962569883
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Sep 4 14:36:16 2015 -0400

    Revert "Use named value-parameterized tests for dEQP gtests"
    
    This reverts commit 0db7b15554f30c528a69285ec19150f36be263f7.
    
    BUG=
    
    Change-Id: Ia2de8268bd51d865ad87875c55cb5bfcc51e29f6
    Reviewed-on: https://chromium-review.googlesource.com/297760
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit b92c133e7a200bb77fe56ab222bb61554a1917c7
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Sep 4 12:54:55 2015 -0400

    Don't use the mip level to validate the 2D texture depth parameter.
    
    BUG=angleproject:1149
    
    Change-Id: I5dd45c99b373d480814c9fbdbe0abd419a270c89
    Reviewed-on: https://chromium-review.googlesource.com/297052
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit ed1e0ad9e999123756ebe88e950c6d9e6f2789ff
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jul 23 14:54:47 2015 -0400

    Fix typo when syncing GL_UNPACK_SKIP_ROWS and GL_PACK_SKIP_ROWS.
    
    Causes crashes in the dEQP ReadPixels test.
    
    BUG=angleproject:1149
    BUG=angleproject:883
    
    Change-Id: I090e21ebd7781ce3372b8842421e7da3e4bedbac
    Reviewed-on: https://chromium-review.googlesource.com/287629
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit da34d002e76eb9a80a405f48933bd8f76b08efb3
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Sep 4 11:08:59 2015 -0400

    Apply the pixel pack state before ReadPixels in FramebufferGL.
    
    This ensures that the PBO is bound because it does not have a dirty bit
    yet.
    
    BUG=angleproject:1149
    BUG=angleproject:885
    
    Change-Id: Iad96abc4dec4e6ac8187975c7638dfd7f18951e7
    Reviewed-on: https://chromium-review.googlesource.com/296963
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit d0f9fdc772d0b286a50978f4a16c94e2af3dfee7
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Sep 4 11:07:29 2015 -0400

    Mark GL_RGB10_A2UI as a renderable format.
    
    BUG=angleproject:1149
    
    Change-Id: Ia808c0d411133d135eef8e90485ba346086f012c
    Reviewed-on: https://chromium-review.googlesource.com/296964
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit f622792b7ff90c31d27c0fb8daede0e2a61f4de4
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Sep 4 11:05:47 2015 -0400

    Skip deletion of null framebuffers.
    
    It's valid to have a map entry that is null to represent a framebuffer
    that has been generated but never bound.  This was causing crashes after
    dEQP pbo tests were run during dEQP shutdown.
    
    BUG=angleproject:1149
    
    Change-Id: Idcedac23e5c4e17ed025b10c2939572b394d3aec
    Reviewed-on: https://chromium-review.googlesource.com/296962
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 0db7b15554f30c528a69285ec19150f36be263f7
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Sep 3 15:25:41 2015 -0400

    Use named value-parameterized tests for dEQP gtests
    
    This replace the non-descriptive digit at the end of the test name by
    the name of the dEQP test being run.
    
    BUG=angleproject:1153
    
    Change-Id: Ibc9e5fbf46ffbf3a8c783807161b2bdc63119f54
    Reviewed-on: https://chromium-review.googlesource.com/296686
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>
    Tryjob-Request: Corentin Wallez <cwallez@chromium.org>

commit 6b10ddbf74a2a5f65a507f5a81149ca41286067a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Sep 2 15:55:10 2015 -0400

    Fix the vertex copy loop iterating over one too many elements.
    
    BUG=angleproject:1149
    BUG=angleproject:880
    
    Change-Id: I2840043ded50f805afa3032fc1f0362fa91b8877
    Reviewed-on: https://chromium-review.googlesource.com/297088
    Tryjob-Request: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 20c14e3f277c0089bd41d144a89817d64a7c4e79
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Sep 4 14:06:57 2015 +0000

    Revert "Use named value-parameterized tests for angle_end2end_tests"
    
    Causing crashes on windows.
    
    This reverts commit dfa569e67829f891ae4481812ca7a0371c9d4e17.
    
    Change-Id: Icbe56455d172ec92395c4f889557091f98a30240
    Reviewed-on: https://chromium-review.googlesource.com/297700
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 69f9b2c8ab0adbae80ec1bcce1eefdbfb1659731
Author: Cooper Partin <coopp@microsoft.com>
Date:   Thu Aug 20 13:25:41 2015 -0700

    Fixed GL_MAX_VERTEX_UNIFORM_VECTORS and GL_MAX_FRAGMENT_UNIFORM_VECTORS to report accurate maximum value.
    
    Change-Id: Ic581e1ef0c6be2bf1ff0092b373b3c480b6fbd8a
    Reviewed-on: https://chromium-review.googlesource.com/294755
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Cooper Partin <coopp@microsoft.com>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>

commit 3766a40d6fda7e7190514ab7838a3f37169d863f
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Jun 18 15:47:46 2015 +0300

    Remove dynamic indexing of matrices and vectors in HLSL
    
    Re-landing after fixing D3D9 specific issues.
    
    HLSL doesn't support dynamic indexing of matrices and vectors, so replace
    that with helper functions that unroll dynamic indexing into switch/case
    and static indexing.
    
    Both the indexed vector/matrix expression and the index may have side
    effects, and these will be evaluated correctly. If necessary, index
    expressions that have side effects will be written to a temporary
    variable that will replace the index.
    
    Besides dEQP tests, this change is tested by a WebGL 2 conformance test.
    
    In the case that a dynamic index is out-of-range, the base ESSL 3.00 spec
    allows undefined behavior. KHR_robust_buffer_access_behavior adds the
    requirement that program termination should not occur and that
    out-of-range reads must return either a value from the active program's
    memory or zero, and out-of-range writes should only affect the active
    program's memory or do nothing. This patch clamps out-of-range indices so
    that either the first or last item of the matrix/vector is accessed.
    
    The code is not transformed in case the it fits within the limited subset
    of ESSL 1.00 given in Appendix A of the spec. If the code isn't within
    the restricted subset, even ESSL 1.00 shaders may require this
    workaround.
    
    BUG=angleproject:1116
    TEST=dEQP-GLES3.functional.shaders.indexing.* (all pass after change)
         WebGL 2 conformance tests (glsl3/vector-dynamic-indexing.html)
    
    Change-Id: I66a5e5a8d7f4267da0045f1cc2ba6b0dc7eb3f5d
    Reviewed-on: https://chromium-review.googlesource.com/296671
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit dfa569e67829f891ae4481812ca7a0371c9d4e17
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Sep 3 14:41:23 2015 -0400

    Use named value-parameterized tests for angle_end2end_tests
    
    This replace the non-descriptive digit at the end of the test name by
    the name of the configuration being tested.
    
    BUG=angleproject:1153
    
    Change-Id: Ieed08c8e5f111c079c183dd96cf3fe1cfff52f7f
    Reviewed-on: https://chromium-review.googlesource.com/296685
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 5ce25a218227fe706e205462363c33618951bac8
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Sep 3 14:39:28 2015 -0400

    Roll googletest 23574bf2..9855a871
    
    BUG=angleproject:1153
    
    Change-Id: I0b0be8133c04a3ebfed7e9ed20d7375ee5e07903
    Reviewed-on: https://chromium-review.googlesource.com/296684
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit a2c3c8e9accb071ee1e4e74af9ff542233e69a7a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Sep 2 11:02:23 2015 -0400

    Comment out UNIMPLEMENTEDs in TransformFeedbackGL.
    
    dEQP's resetState function triggers these assertions when testing.
    
    BUG=angleproject:1149
    
    Change-Id: Ib6fc3acdf15cadf3ffafad8ffda4788e34f520f0
    Reviewed-on: https://chromium-review.googlesource.com/297082
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit bdcc54a4b1151a229d77c09102109adcf36640b3
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Sep 2 13:09:48 2015 -0400

    Support writing interface blocks in OutputGLSL.
    
    BUG=angleproject:882
    BUG=angleproject:1149
    
    Change-Id: Iea0b1d0bc586ec9517a06793386c91890b7a5115
    Reviewed-on: https://chromium-review.googlesource.com/297086
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit d8edb5184c59f1b8aa0a44df8432b08c77a3a0de
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Sep 2 11:52:56 2015 -0400

    Allow OutputGLSL to write non-square matrices.
    
    Fixes assertion failures when ShaderGL fails to compile the generated shaders.
    
    BUG=angleproject:882
    BUG=angleproject:1149
    
    Change-Id: Ib7c23a54bdb81852864d792f29c89644084859a3
    Reviewed-on: https://chromium-review.googlesource.com/297085
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 6e36042f7ea5da40dd4611ec9ce0aabc455ba826
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Sep 2 15:54:36 2015 -0400

    Implement translation of EOpIndexDirectInterfaceBlock in OutputGLSL.
    
    BUG=angleproject:882
    BUG=angleproject:1149
    
    Change-Id: I5e0808dd3576339aa87aade3a349586d01b28f74
    Reviewed-on: https://chromium-review.googlesource.com/297087
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit f826e1a30b880413401126cab476a0df87852588
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Sep 2 11:31:54 2015 -0400

    Avoid copy of PixelUnpackState in Texture::setImage.
    
    The ternary operator determines that the common type is the value type, causing
    a copy of PixelUnpackState.  If PixelUnpackState::pixelBuffer is non-null then
    there is an assertion failure in the destructor on any call to Texture::setImage.
    
    See:http://stackoverflow.com/a/30088030
    
    BUG=angleproject:1149
    
    Change-Id: I9654e65956339d6b6966ad65a98cf37ad4e00452
    Reviewed-on: https://chromium-review.googlesource.com/297084
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit be184c7de4ebb88220fdf02de879ecf380070388
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Sep 2 11:07:39 2015 -0400

    Support syncing pixel pack and unpack buffers in StateManagerGL.
    
    BUG=angleproject:1149
    
    Change-Id: I641693e67bf35733a591107fdd3812d0badd17f2
    Reviewed-on: https://chromium-review.googlesource.com/297083
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 5ade8459adb03bd0847a29f75f1779b4979a0fec
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Sep 2 11:00:30 2015 -0400

    Properly check for EGL_KHR_create_context before creating ES3 context.
    
    Mark EGL_KHR_create_context as supported in the DisplayGLs.
    
    BUG=angleproject:1149
    
    Change-Id: I20671535680eb2c3b9c08205cee243b3aa5c5821
    Reviewed-on: https://chromium-review.googlesource.com/297080
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit e4de307e44837941a32c0749f421a22d42e6ad70
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Sep 2 11:01:32 2015 -0400

    Mark the pack and unpack buffer types as valid in ES3.
    
    dEQP resetState generates a GL error and exits when trying to reset the
    pixel buffers after a test.
    
    BUG=angleproject:1149
    
    Change-Id: I133788c6c2f17074bf5bbf5cd17b63338352765f
    Reviewed-on: https://chromium-review.googlesource.com/297081
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit a7e1d9aac6fe38c4446f89ce2d74305f1677c36e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Sep 1 12:41:47 2015 -0400

    Only validate that color and alpha blend funcs are non-constant on D3D renderers.
    
    BUG=angleproject:1025
    
    Change-Id: I9c6008cc2f268bda4afa2c67e0b3d3716e77ea31
    Reviewed-on: https://chromium-review.googlesource.com/296681
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 814a54dd21b816af1a699d183f23a60dc146890f
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Aug 27 16:23:09 2015 +0300

    Force index/loop validation on the D3D9 backend
    
    D3D9 shader models have limited support for looping, so the Appendix A
    index/loop limitations are necessary. This is consistent with applying
    the limitations on D3D9_3 feature level and lower of the D3D11 backend
    too.
    
    Also, when the limitations are not in place, a workaround for dynamic
    indexing of vectors and matrices will be applied. This workaround does not
    work on the D3D9 backend, as demonstrated with some WebGL conformance
    failures caused by it in Chrome on D3D9.
    
    BUG=525188
    TEST=angle_end2end_tests
    
    Change-Id: I6411594f067f2740f55d7560427026b23b15dac7
    Reviewed-on: https://chromium-review.googlesource.com/296940
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit a0a9e12ded57c70f28a3f467fafe100e32a684e5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 2 15:54:30 2015 -0400

    translator: Add sh::OutputVariable type.
    
    This replaces the dual-use of sh::Attribute, which can be a bit
    confusing to people expecting a literal output variable.
    
    Currently not used in Chromium, so should be safe to land.
    
    BUG=angleproject:1146
    
    Change-Id: I436f2bc9dc4ddc3709369cb2baa344c6b13a21a2
    Reviewed-on: https://chromium-review.googlesource.com/296683
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit beb81589d0961a085e576e2e182815bd71a68df9
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Sep 2 10:30:55 2015 -0400

    Make the end2end tests compile in the GN build.
    
    BUG=angleproject:929
    
    Change-Id: Ifc5ad03579c3e187721842f7585f3f06b69cbf45
    Reviewed-on: https://chromium-review.googlesource.com/296682
    Reviewed-by: Dirk Pranke <dpranke@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 48705cad3fe017e5d8c7f550ac14be6a3db2907b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 2 20:40:51 2015 +0000

    Revert "Move Uniform and UBO info to the gl::Program layer."
    
    Seems to be failing dEQP-GLES2.functional.uniform_api.value.unused_uniforms.* on Linux (possibly Win as well)
    
    BUG=angleproject:1123
    
    This reverts commit 54f882c9167b1aff5b3700187a2048bd886e8b17.
    
    Change-Id: I7dbbf40aae8dd9ebd35895df0dd338a3b6b9cc96
    Reviewed-on: https://chromium-review.googlesource.com/297051
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 54f882c9167b1aff5b3700187a2048bd886e8b17
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 2 14:33:48 2015 -0400

    Move Uniform and UBO info to the gl::Program layer.
    
    This data was previously stored entirely in the Impl level. Move
    as much as possible to the GL level, using a read-only view in the
    Impl level. Some information in D3D-specific, and should be stored
    separately in the Impl.
    
    This patch has a lot of refactoring that splits the D3D and GL info,
    and moves as much validation as possible to the GL layer, where it
    is shared between the back-ends.
    
    BUG=angleproject:1123
    TEST=end2end_tests,Canary WebGL (D3D11/GL), dEQP-GLES2+3.functional.uniform_api
    
    Change-Id: I8b7e1380a61590a46ccee646a47ffe9bda287f6b
    Reviewed-on: https://chromium-review.googlesource.com/295124
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tryjob-Request: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit f5f4ad24121df4fb21e5411736b80a93c36c550d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 2 18:32:38 2015 +0000

    Revert "Revert "Clean up interface to ProgramImpl::link.""
    
    Should be fixed now with the fix the prior CL.
    
    BUG=angleproject:1123
    
    This reverts commit 63069dfc20bc34fe6962dee694953893ee6fc663.
    
    Change-Id: Ie1826673820e3a24f9bb3e4ff5c723ac47570041
    Reviewed-on: https://chromium-review.googlesource.com/297050
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit ca03b35c19c97ca19875f2de79f9a757c15e2035
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 2 12:38:13 2015 -0400

    Re-land "Compute packed varyings in ProgramD3D only."
    
    Instead of storing varying information in the shader, use a temporary
    set when linking a D3D program. This also means we won't have to
    modify information in the Shader object when linking a D3D program.
    
    This completes the refactoring for PackedVaryings.
    
    Re-land with fix for missing init of PackedVarying::vertexOnly.
    
    BUG=angleproject:1123
    
    Change-Id: If110809c3817d88b0370ac575d739d7385b067d9
    Reviewed-on: https://chromium-review.googlesource.com/296731
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 3a86ad3811ed0e7016cc8d41fe2c3b8dd66cfc56
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Sep 1 11:47:05 2015 -0400

    Only validate that stencil refs and masks are the same on D3D renderers.
    
    BUG=angleproject:1025
    
    Change-Id: If79046f9f81ad20c5f2f7296245b0cb74a4102aa
    Reviewed-on: https://chromium-review.googlesource.com/296680
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 93fc8f3e80412a8719c2f8b04526b83023b90af5
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Sep 2 11:26:06 2015 -0400

    Add back a suppression for a bot specific dEQP GLES2 failure on Windows
    
    BUG=angleproject:1127
    
    Change-Id: I749c2c39dfaf60d5e39a00bd7954fcb1d7e931ac
    Reviewed-on: https://chromium-review.googlesource.com/296960
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit efb6ac66093b3e229ff7ccbf12396e505c7881d4
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Sep 2 08:10:09 2015 -0700

    ProgramBinaryTest: fix an unreachable code warning
    
    This warning was found by the GN build on Windows: the FAIL macro contains
    a return which caused code after the FAIL to be unreachable.
    
    BUG=angleproject:929
    
    Change-Id: Id4bda39ea9f76d2b59c44391cb2de8a3bfb6947c
    Reviewed-on: https://chromium-review.googlesource.com/296950
    Tested-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d4bcfa2cd6c4d575803558d001f273e2dd0d8104
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Sep 1 10:32:30 2015 -0400

    Make the unittests compile in the GN build.
    
    This changes angle_unittests.gypi to use a variable per list of files so
    that we can grab the list of files in conditions in BUILD.gn
    
    BUG=angleproject:929
    
    Change-Id: I7fc73fd84d8efc1ea545fe672b1dba1c429b317f
    Reviewed-on: https://chromium-review.googlesource.com/296443
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 94d099d0fe00d670bd351360c5bc629ad8a6e055
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Sep 1 13:56:56 2015 -0400

    BitSetIterator_unittest: fix an unreachable code warning
    
    Because gtest's FAIL macro does a return, MSVC complained that the
    update part of a range-based for loop was unreachable. Fixed this by
    having a boolean value set to true if we execute the loop body.
    
    BUG=angleproject:929
    
    Change-Id: I6c1fec7ed6cf1a3aba6f02b68c1015bee2feebfd
    Reviewed-on: https://chromium-review.googlesource.com/296730
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit c437046ffc1d416edbe68146057ded376f22cc3f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 1 17:27:40 2015 +0000

    Revert "Compute packed varyings in ProgramD3D only."
    
    Likely the cause of Windows bot failures.
    
    BUG=angleproject:1123
    
    This reverts commit 532061bbfb160586a06f0e47b6bbb5350e735203.
    
    Change-Id: Ia4f0161b97bfbf2adb4cafaa5fa5484f04fad245
    Reviewed-on: https://chromium-review.googlesource.com/296710
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 63069dfc20bc34fe6962dee694953893ee6fc663
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 1 17:26:41 2015 +0000

    Revert "Clean up interface to ProgramImpl::link."
    
    Probably causing bot failures in a prior dependent patch.
    
    BUG=angleproject:1123
    
    This reverts commit b83592750d00ca96413575016b0e27bc9d861f58.
    
    Change-Id: I7642c4a66b190dda49cbb16611abc893f3eb6422
    Reviewed-on: https://chromium-review.googlesource.com/296700
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 477b243be18181a61e25e7c0f6fda8fa71706cea
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Aug 31 10:41:16 2015 -0700

    Change the FLATTEN heuristic to "ifs with a loop with a gradient"
    
    This heuristic makes more sense than the previous "ifs with a
    discontinuous loop" as the reason we need to flatten is that we need
    gradients to be in branchless code.
    
    Change the UnrollFlatten test accordingly.
    
    Tested with:
     - the WebGL CTS
     - dev.miaumiau.cat/rayTracer "Skull Demo"
     - THe turbulenz engine GPU particle demo
     - Lots of ShaderToy Samples (inc. Volcanic, Metropolis and Hierarchical
       Voronoi)
     - Google Maps Earth mode
     - Lots of Chrome experiments
     - madebyevan.com/webgl-water
    
    BUG=524297
    
    Change-Id: Iaa727036fffcfde3952716a1ef33b6ee0546b69d
    Reviewed-on: https://chromium-review.googlesource.com/296442
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 12d59314e8ecbdd10c3cec487cc435a4f1b2f6b6
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Aug 31 13:33:00 2015 -0400

    Prefer glDepthRangef and glClearDepthf to the double version.
    
    ES only has the float versions.
    
    BUG=angleproject:1145
    
    Change-Id: I6c96b553d20e8aa160f68fe1b3fa0200d64108a3
    Reviewed-on: https://chromium-review.googlesource.com/296361
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit f2ee0752b6cd260ae05ed6d288db0e720f8cb368
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Sep 1 10:14:36 2015 -0400

    Fix wrongly formatted dEQP GLES2 expectations
    
    The formatting problem was introduced in
    770f8f8658806b278f67e55ca195e022b683f9e0 and prevented the bots from
    running the dEQP tests.
    
    BUG=angleproject:1143
    
    Change-Id: I427f6472625df19111ff56685b7e70b9e9aae866
    Reviewed-on: https://chromium-review.googlesource.com/295199
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 2728f9922951bb70a55c2f5f8b9056fdcd78c349
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Aug 31 16:24:10 2015 -0400

    Make unittest #includes start from src
    
    This is will help avoid adding many include directories for the GN
    build.
    
    BUG=angleproject:929
    
    Change-Id: If8f7e98526df3560b8e410ec86271a2da0c6889d
    Reviewed-on: https://chromium-review.googlesource.com/296480
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 89bb70e9127ebd5432c01ff0c497a8825d709fcd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 31 14:18:39 2015 -0400

    Mark TF Feedback array element capture as unsupported.
    
    According to dEQP this is an undefined section of the spec. Mark it as
    unsupported for now until we can investgate if it's possible on
    certain platforms.
    
    Noticed this when testing with the Program refactor.
    
    BUG=angleproject:1123
    TEST=dEQP-GLES3.functional.transform_feedback.array_element.*
    
    Change-Id: I830dddf418e28fb4536f09500f4069def1d97b58
    Reviewed-on: https://chromium-review.googlesource.com/295984
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit aa40feead7327dd2b8f6de9ee6686657705e1cff
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Sep 1 09:35:45 2015 -0400

    Supress failures in RGB->L CopyTex[Sub]Image calls on Intel OpenGL.
    
    BUG=angleproject:1113
    
    Change-Id: Ie16a28046546fad2ff1c1af35ca67c434b9f5216
    Reviewed-on: https://chromium-review.googlesource.com/296481
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 4750223639d230c2c735bb1eed27efc5042d7991
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Aug 25 16:26:10 2015 -0400

    Implement drawRangeElements in RendererGL.
    
    BUG=angleproject:1136
    
    Change-Id: I8b84b845da09f60bfd5e8f400da47d759f0d8f1a
    Reviewed-on: https://chromium-review.googlesource.com/295234
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 846f107f4249646dd2d75b8fb4e0e671078f8734
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 1 09:07:15 2015 -0400

    Fix unsigned/signed comparison in VertexDataManager.
    
    Affects Debug/Win32 only.
    
    BUG=angleproject:1136
    
    Change-Id: I29fbf06077014c313489be07ff983009afb652fd
    Reviewed-on: https://chromium-review.googlesource.com/296362
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit b83592750d00ca96413575016b0e27bc9d861f58
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Aug 26 15:57:14 2015 -0400

    Clean up interface to ProgramImpl::link.
    
    We no longer need to pass mutable shaders with the changed to packed
    varyings.
    
    BUG=angleproject:1123
    
    Change-Id: I0a4bbf5d770ff48e10e3de2146840d8987b1e826
    Reviewed-on: https://chromium-review.googlesource.com/295194
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 532061bbfb160586a06f0e47b6bbb5350e735203
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 31 15:16:45 2015 -0400

    Compute packed varyings in ProgramD3D only.
    
    Instead of storing varying information in the shader, use a temporary
    set when linking a D3D program. This also means we won't have to
    modify information in the Shader object when linking a D3D program.
    
    This completes the refactoring for PackedVaryings.
    
    BUG=angleproject:1123
    
    Change-Id: I241610e87f7d14f3e18b0d8bd84f1a3509c05dfd
    Reviewed-on: https://chromium-review.googlesource.com/295193
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 0e06ea332bf3ec84b6a40a5b72e333adfe38335a
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Aug 31 10:35:46 2015 -0700

    HLSLCompiler: fix an infinite loop when failing to compile
    
    When compiling shaders that produce errors X3531 or X4014 even when macros
    is nullptr, we would try the same permutation infinitely.
    
    BUG=524297
    
    Change-Id: Id2a26ce2a5344bff4566440342adad5031368994
    Reviewed-on: https://chromium-review.googlesource.com/296441
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 3cf12ce6c591da03212e54e4de2fd48f5992e150
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Aug 27 14:40:48 2015 -0400

    Implement the instanced draw calls in RendererGL.
    
    BUG=angleproject:1136
    
    Change-Id: I1167365618bdc3ca37ac0f4c60809de32c7a9d78
    Reviewed-on: https://chromium-review.googlesource.com/295733
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 5b49bb8316226b5614250ce0d09381d392691bdb
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Aug 31 18:48:50 2015 +0000

    Revert "Implement the instanced draw calls in RendererGL."
    
    Causing crashes in some dEQP tests.
    
    This reverts commit c1948415e52dbaefb0d3176b75a58a7b86bd091a.
    
    Change-Id: Idedb32484b4f2b09090346bc4228fe536190a621
    Reviewed-on: https://chromium-review.googlesource.com/296440
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 23a22c871a7d425574cecf31a04c6f74e241045c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Aug 31 12:49:51 2015 -0400

    Fix dEQP renderer selection flag in documentation.
    
    BUG=None
    
    Change-Id: Ibefeab05c9c9ac87263a23fd69e6725bf4998673
    Reviewed-on: https://chromium-review.googlesource.com/295148
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit c1948415e52dbaefb0d3176b75a58a7b86bd091a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Aug 27 14:40:48 2015 -0400

    Implement the instanced draw calls in RendererGL.
    
    BUG=angleproject:1136
    
    Change-Id: Id04e357b97c04b3843b25827f705fd802e6a68e3
    Reviewed-on: https://chromium-review.googlesource.com/295233
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 929d7bcac2552474b47aa96b990070bab95e28a5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 31 12:02:21 2015 -0400

    Re-land "Fix warnings with ANGLE and VS2015."
    
    With fix for VS2013.
    
    BUG=None
    
    Change-Id: I9f656efa6b540a03ce21f6b65fde0753c0d72538
    Reviewed-on: https://chromium-review.googlesource.com/295157
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 344bd0af9a6b5310e60b43627a4a3d212fefbbd2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 31 14:58:40 2015 +0000

    Revert "Fix warnings with ANGLE and VS2015."
    
    Seems to break VS2013. Reverting.
    
    This reverts commit 51e275b4dfb961b59b055655b6e3f49aae48a443.
    
    Change-Id: I37843bf457122614007ba455f6ee751577b14604
    Reviewed-on: https://chromium-review.googlesource.com/296290
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 51e275b4dfb961b59b055655b6e3f49aae48a443
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 28 16:18:46 2015 -0400

    Fix warnings with ANGLE and VS2015.
    
    BUG=None
    
    Change-Id: I47b08593a38d710b59051a3107933c08c2789ca2
    Reviewed-on: https://chromium-review.googlesource.com/295722
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 2a592150c57379220a27f297f1cf4df6d4b85c7a
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Aug 31 10:10:33 2015 -0400

    Fix Chromium compilation error in VariablePack_test.cpp
    
    BUG=
    
    Change-Id: I59c9716774df4615da6dd412795639e055f45034
    Reviewed-on: https://chromium-review.googlesource.com/295732
    Tested-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit a9bee1b8e233e056c514198f5805a3d4ee3d8b48
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Thu Aug 27 16:10:53 2015 -0700

    Add row-sharing packing tests for VariablePacker_test.cpp
    
    Recent test failures leads to suspicion that our variable packing algorithm is
    buggy - turns out to be an underlying driver bug.
    
    With the added test cases, such suspicion shouldn't even arise.
    
    BUG=angleproject:1142
    TEST=angle_unittests
    
    Change-Id: I1fb3c5c7798d9ad17668a3d633286e031da79cab
    Reviewed-on: https://chromium-review.googlesource.com/295901
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Zhenyao Mo <zmo@chromium.org>

commit 465e6f4587e194886e47fcaf7e8b188744764a20
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Aug 28 16:01:53 2015 -0400

    Fix missing copy rules for DEQP EGL test cases and expectations.
    
    BUG=angleproject:1139
    
    Change-Id: I9d58b2c0b1e6465b58b2f3d4aad4b1d3517ae3ec
    Reviewed-on: https://chromium-review.googlesource.com/295147
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 3caa6528a30084d5f26cb600acee496890d2b348
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Aug 27 14:38:52 2015 -0400

    Only update the synced parts of mAppliedAttributes.
    
    Members such as divisor are not synced in
    VertexArrayGL::updateAttribPointer so assigning the whole attribute causes
    the divisor to not be synced.
    
    BUG=angleproject:1136
    
    Change-Id: I947a144f81ae67953947e363debd1d1cff78207a
    Reviewed-on: https://chromium-review.googlesource.com/295145
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 770f8f8658806b278f67e55ca195e022b683f9e0
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Aug 28 13:46:02 2015 -0400

    Add back suppressions for bot-specific dEQP GLES2 failures on Linux
    
    BUG=angleproject:1143
    
    Change-Id: I5bd1a7de7b147062f2e093a30efe4ed06eb80ec2
    Reviewed-on: https://chromium-review.googlesource.com/295247
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit ad915e9b622398a426821f860e1ef8a2517d4f54
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Aug 27 14:34:47 2015 -0700

    Update the Windows dEQP GLES2 test expectations
    
    BUG=angleproject:1127
    
    Change-Id: I6f38e5441c4a288e9c1f55fefa31d5d2f10a700c
    Reviewed-on: https://chromium-review.googlesource.com/295246
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 11865105ef6eeb2499568fd5e77ded292e357dca
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Aug 27 17:55:17 2015 -0400

    angle_unittests add forgotten VariablePacker test.
    
    Also add a warning on top of the UnrollFlatten test that it works only
    when HLSL is enabled.
    
    BUG=angleproject:1140
    
    Change-Id: Ide961bbed70dc9ed2a604f13273e4209b1dec29b
    Reviewed-on: https://chromium-review.googlesource.com/295125
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit cf5a092faaabf9a331c6a06656f00e0c1489a925
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Thu Aug 27 14:30:40 2015 -0700

    Add back one left out compiler test to angle_unittests
    
    VariablePacker_test.cpp
    
    The other one UnrollFlatten_test.cpp crashes.
    
    BUG=
    TEST=angle_unittests
    
    Change-Id: I78e6e81e9b61f2a1599a5a0601b5b76165b180de
    Reviewed-on: https://chromium-review.googlesource.com/295767
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Zhenyao Mo <zmo@chromium.org>

commit 5798c0ffab8d7c63b6cb59b9168ceb928f3b37f8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Aug 27 17:18:57 2015 -0400

    Update the dEQP wiki page.
    
    BUG=none
    
    Change-Id: I3a3095b270ca3c199c14840f75b480e15298fa5c
    Reviewed-on: https://chromium-review.googlesource.com/295117
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 7cb71880d4248760c5ca6351bc3d196276efc467
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Aug 26 16:24:07 2015 -0400

    Update the dEQP GLES2 test expectations for Linux
    
    BUG=angleproject:1127
    
    Change-Id: Ia5f9442ef718625ed913fe3a76301a0edea00390
    Reviewed-on: https://chromium-review.googlesource.com/295720
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit a65a4c7b153c4f227fe78ef515378158aeb1f0bc
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Aug 27 10:38:40 2015 -0400

    Fix preprocessor failure in string concatenation.
    
    BUG=angleproject:1138
    
    Change-Id: I20f3b542884fbaa2b2cccd65ceb45e54174bccc2
    Reviewed-on: https://chromium-review.googlesource.com/295831
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit e453dd312abde80df5bf71a4c7c7ac760b83329f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Aug 27 10:38:07 2015 -0400

    Fix warning about initialization order in BlitGL.
    
    BUG=angleproject:1113
    
    Change-Id: I808d521ffc257c2f45badbbd462698f91def314f
    Reviewed-on: https://chromium-review.googlesource.com/295830
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 80ecac9ec0bbb05a1d12c5d5bc4c9ecd9e3e7565
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Aug 25 15:37:48 2015 +0300

    Remove unused mOptimize/mDebug flags from TIntermAggregate
    
    These flags were written but they were never read.
    
    TEST=compile
    BUG=angleproject:1116
    
    Change-Id: I41e3e89f13861ebda4828c76c753ca17c74c4358
    Reviewed-on: https://chromium-review.googlesource.com/294931
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit f6db098d442480025e3a6c7c5e66ec9879386fcb
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Aug 25 13:04:00 2015 -0400

    Split the Context and Renderer draw* to one per entry point.
    
    BUG=angleproject:1136
    
    Change-Id: Ic7ff9c23201e1fe03c5a2135be24d61cfe3d6268
    Reviewed-on: https://chromium-review.googlesource.com/295232
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 384f1fdd2ab8986f3c5536f3a8ef8b7c3be9f8f7
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Aug 26 16:27:07 2015 -0400

    Fix a warning on Linux
    
    BUG=
    
    Change-Id: I5c4f5df14321644d7ac42af6059400ae43d0fe4d
    Reviewed-on: https://chromium-review.googlesource.com/295721
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tryjob-Request: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 3c192a78656a7ddbbad04c4ee19a72735b395e77
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Aug 26 20:32:53 2015 +0000

    Revert "Remove dynamic indexing of matrices and vectors in HLSL"
    
    Seems to be failing a WebGL/ES2 CTS test in D3D9:
    
    conformance/ogles/GL/mat3/mat3_001_to_006
    
    BUG=angleproject:1116
    BUG=525188
    
    This reverts commit 83f3411da456faac8570892e3dd7d76edf4095e5.
    
    Change-Id: Ic186f51240dbdd96ccab3f5470329cdc9727c618
    Reviewed-on: https://chromium-review.googlesource.com/295730
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit ff5d3dc6a7f1866e8e5db8dedd8f3ecb6f824ffe
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Aug 24 16:57:44 2015 -0400

    gl::GetString check for a valid context
    
    glGetString() without a current context could cause a null dereference
    for some enums. Always return nullptr when no context is bound.
    
    BUG=angleproject:1106
    
    Change-Id: Ic36f1adff8b2e3cd54a7b33b2e12899781feba82
    Reviewed-on: https://chromium-review.googlesource.com/295142
    Tested-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 80b2411a1e5cc8e3e7b1b92d82f18969ac79e045
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Aug 25 16:41:57 2015 -0400

    Context: directly delete the resource instead of also detaching
    
    Otherwise when detaching vertex array 0 and N the following would happen:
     - call Context::deleteVertexArray(0)
       - call Context::detachVertexArray(0)
         - call State::removeVertexArrayBinding(0)
           set mVertexArray to nullptr, returns true
         - call State::bindVertexArray(0)
           reset mVertexArray to its previous value
     - call Context::deleteVertexArray(n)
       - call Context::detachVertexArray(n)
         - call State::removeVertexArrayBinding(n)
           Incorrectly call mVertexArray->id() which is a use after free.
    
    BUG=angleproject:1137
    
    Change-Id: I594044fee6c90b1775a61943b15df92bf323ff2a
    Reviewed-on: https://chromium-review.googlesource.com/295123
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 5f57cc6edde0d8970be4e0e457edde0f1d4fdbee
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Aug 26 13:41:37 2015 -0400

    Add targets that run the EGL dEQP tests.
    
    Generates lots of assertion failures when run, expectations and assertion fixes
    to come.
    
    BUG=angleproject:1139
    
    Change-Id: Ia55b4b2ca3a7844d8d9d05cb7043cd42d55b86ed
    Reviewed-on: https://chromium-review.googlesource.com/295243
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 5565936cb8409214ef22a9cef32fda96fb55a50b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Aug 26 13:39:59 2015 -0400

    Implement EGL_KHR_get_all_proc_addresses.
    
    BUG=angleproject:1138
    
    Change-Id: I0dd4e1a092e889cdb9de4773162e5416ac9be65d
    Reviewed-on: https://chromium-review.googlesource.com/295242
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 53b8aec06c01f82ab6208f304b52a7a9b698552a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Aug 24 10:33:25 2015 -0400

    Work around deprecated LUMA formats in the core profile.
    
    Use R and RG textures with swizzle states to emulate them. A manual blit is
    required when calling CopyTex[Sub]Image from a RGB[A] framebuffer to an
    emulated L[A] texture so that the alpha channel ends up in the correct channel
    of the destination texture.
    
    Fixes the following tests when using the core profile:
     * conformance/extensions/oes-texture-float.html
     * conformance/extensions/oes-texture-half-float.html
     * conformance/textures/misc/tex-sub-image-2d.html
     * conformance/textures/misc/texture-formats-test.html
     * conformance/textures/misc/texture-npot.html
    
    BUG=angleproject:1113
    
    Change-Id: If5540e66d9017596bd83d95ec3ede043cbcfe0d2
    Reviewed-on: https://chromium-review.googlesource.com/293905
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 2c34a4b03837575051c8e5e79477f2fbfc407b3c
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Aug 25 16:26:02 2015 -0400

    VertexArrayGL: fix an off by one error for indexRange for drawElements
    
    DrawElements' range was of the form [start, end] while DrawArrays' was
    of the form [start, end), which caused an out of bound array access in
    the client vertex pointers.
    
    This issue was detected while running angle_end2end_tests with
    AddressSanitizer.
    
    BUG=angleproject:1137
    
    Change-Id: Id9abddf29eaf73bacfd08d1616a999be2fe616b8
    Reviewed-on: https://chromium-review.googlesource.com/295122
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 83f3411da456faac8570892e3dd7d76edf4095e5
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Jun 18 15:47:46 2015 +0300

    Remove dynamic indexing of matrices and vectors in HLSL
    
    HLSL doesn't support dynamic indexing of matrices and vectors, so replace
    that with helper functions that unroll dynamic indexing into switch/case
    and static indexing.
    
    Both the indexed vector/matrix expression and the index may have side
    effects, and these will be evaluated correctly. If necessary, index
    expressions that have side effects will be written to a temporary
    variable that will replace the index.
    
    Besides dEQP tests, this change is tested by a WebGL 2 conformance test.
    
    In the case that a dynamic index is out-of-range, the base ESSL 3.00 spec
    allows undefined behavior. KHR_robust_buffer_access_behavior adds the
    requirement that program termination should not occur and that
    out-of-range reads must return either a value from the active program's
    memory or zero, and out-of-range writes should only affect the active
    program's memory or do nothing. This patch clamps out-of-range indices so
    that either the first or last item of the matrix/vector is accessed.
    
    The code is not transformed in case the it fits within the limited subset
    of ESSL 1.00 given in Appendix A of the spec. If the code isn't within
    the restricted subset, even ESSL 1.00 shaders may require this
    workaround.
    
    BUG=angleproject:1116
    TEST=dEQP-GLES3.functional.shaders.indexing.* (all pass after change)
         WebGL 2 conformance tests (glsl3/vector-dynamic-indexing.html)
    
    Change-Id: I024722ef4ca1e14d5ad47fdc540397e18858bed6
    Reviewed-on: https://chromium-review.googlesource.com/290515
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 4cff247745d2064fd1b4c60b5cc4e316bf00cb34
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 21 16:53:18 2015 -0400

    Make PackedVarying a D3D-only type.
    
    The register assignment stuff only applies to the D3D back-end.
    Cleans up the GL back-ends use of PackedVarying, and will lead
    to future cleanups relating to packing varyings.
    
    BUG=angleproject:1123
    
    Change-Id: Iaaa5fc03577e5b61ea6ae76ee1e15ad608037f34
    Reviewed-on: https://chromium-review.googlesource.com/295190
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 401d9fe6420803743cd6318f2ebde4ce2c744042
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Aug 26 10:19:59 2015 +0300

    Fix debug build on Linux
    
    Compiling an assert in Program.cpp was failing at least on GCC 4.8
    because it compared unsigned size_t to zero, a comparison that was always
    true. The C standard defines size_t as unsigned, so the assert shouldn't
    be necessary on other platforms either.
    
    There was already a commit on top of the patch that added the bug, so it
    is simpler to fix the problem by changing the assert rather than
    reverting.
    
    TEST=standalone debug build on Linux
    
    Change-Id: Ifd910332a770f7360a15c31706beca740d0f289d
    Reviewed-on: https://chromium-review.googlesource.com/294971
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit d7a25243dcd2ec61a8e6417ceb7c8b4b1b5483fd
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Aug 18 13:49:45 2015 +0300

    Add deep copying support for typed AST nodes
    
    Resubmit with inconsistent override warnings fixed.
    
    Removing dynamic indexing of vectors and matrices will require copying
    the indexed nodes in case they are written. Any type of l-value node that
    doesn't have side effects may need to be copied. Add a copying function
    for all typed node classes so that this copying can be performed.
    
    Private copy constructors are used to implement the deepCopy function in
    order to make maintenance easier. With copy constructors, each subclass
    only needs to take care of copying its own members, and not the base
    class members, which reduces the possibility of errors. Copy constructors
    are disabled for all node classes that don't support deep copying by
    inheriting TIntermNode from angle::NonCopyable.
    
    Assignment operator is disabled for all node classes through inheriting
    angle::NonCopyable. This applies also to classes that now get the private
    copy constructor.
    
    Explicit copy constructor and assignment operator declarations are added
    to some classes which show up in node member variables to make code
    clearer.
    
    BUG=angleproject:1116
    TEST=angle_unittests
    
    Change-Id: I7964976f5dac7dfd745b8c6612ca06fb01d271c4
    Reviewed-on: https://chromium-review.googlesource.com/295080
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit 254fceac120114abd575da7095e81394eafa008f
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Aug 25 15:11:07 2015 -0400

    Fix two leaks and a delete vs delete[] reported by ASAN
    
    BUG=angleproject:1137
    
    Change-Id: Ic654b79aa56ae0c0a24097b85ab48f5af53ca1f7
    Reviewed-on: https://chromium-review.googlesource.com/295154
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 47a878c65d3589e1d0c2cd2ed956c0469627eef3
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Aug 25 12:28:29 2015 -0400

    Surface: do not leak the default framebuffer
    
    Due to the many merges and changes to
    37c3979e47bf93958b426aaa31c1d65aef881b5f the default framebuffer
    deletion "disappeared". Add it back to the destructor of Surface.
    
    Update Surface_unittests and remove one of the two tests as they were
    equivalent.
    
    BUG=524495
    BUG=angleproject:1137
    
    Change-Id: I1309285ea00976ae2685628ea3f92731a9259718
    Reviewed-on: https://chromium-review.googlesource.com/295153
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 4d5362d0464fcb62470bc4d45055ff5d5caadd16
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Aug 25 11:25:14 2015 -0400

    VertexArrayGL: fix the streaming of offset non-packed strides
    
    When the packed stride and source stride were different, the streaming
    code path used a loop that added two times the offset for the start of
    the index range.
    
    BUG=angleproject:1135
    
    Change-Id: I6d314a1a28abec4df22f7c798c1af87a18d8b7ec
    Reviewed-on: https://chromium-review.googlesource.com/295225
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 80a6fc030564967bd4164b61c1c7143d47418567
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 21 16:53:16 2015 -0400

    Make output variables part of Program's shared data.
    
    Also initialize this structure within Program instead of DynamicHLSL.
    This should have benefits for other back-ends. Also these variables
    weren't being serialized and de-serialized with the program binary,
    which could mess up WebGL apps that use MRT.
    
    BUG=angleproject:1123
    
    Change-Id: Ic0dd4840f26441a1bee8527dfa178b24daf82f8a
    Reviewed-on: https://chromium-review.googlesource.com/294571
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 63805b47c204c0b0babc2124c38c4f8fcfacd2ea
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 25 13:17:39 2015 -0400

    Make the Program's semantic index D3D-only.
    
    This concept isn't strictly necessary for GL-side validation. Instead
    we can use a bitset to track active attribs, and determine is a
    particular location is active.
    
    BUG=angleproject:1123
    
    Change-Id: If7a920a3071672116bafffb3368671f721723b65
    Reviewed-on: https://chromium-review.googlesource.com/294570
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit a53000b09b012235af228f2b4f48cc9fb477a45a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue May 26 10:50:35 2015 -0400

    Try Sleep(1) instead of Sleep(0) while waiting for queries.
    
    On a loaded machine, Sleep(0) can be very slow (40+ms) while Sleep(1) is
    consistantly 1-2ms.
    
    BUG=488571
    
    Change-Id: I71de0b4cfc334a2476b7c613c103e77fe759041d
    Reviewed-on: https://chromium-review.googlesource.com/273183
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 4dfe809444b8bec192c74b82cf8da615267b4974
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Aug 21 17:44:35 2015 +0300

    Always collect variables when generating HLSL
    
    HLSL output needs uniform information generated by the collectVariables()
    step to be able to write uniform registers.
    
    Tested manually by compiling a shader with a uniform with
    shader_translator.
    
    BUG=angleproject:1132
    
    Change-Id: I91d19b5fa789b7b33cf76a654ffbbd17d279db01
    Reviewed-on: https://chromium-review.googlesource.com/294962
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit 4001e1da927da8f621df6f9614d6d2994397b285
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Aug 12 14:08:25 2015 -0400

    Support creating render targets of non-zero mip levels in TextureStorage9.
    
    BUG=angleproject:970
    
    Change-Id: I02caf1a5d15a8e32e68b63362e86e3a689dbdb5a
    Reviewed-on: https://chromium-review.googlesource.com/293221
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 025e76a07c337e406fbd28286ef51ecaae243b40
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Aug 12 13:59:49 2015 -0400

    When possible, create RenderTarget9s from textures.
    
    Unless the RenderTarget9 is backed by a texture, it's not possible to
    sample from it.  This is required to sample from D3D9 renderbuffers when
    they are bound to texture targets.
    
    BUG=angleproject:970
    
    Change-Id: Id667a5e44c1f959609bc653a974ede5b93ec9a3e
    Reviewed-on: https://chromium-review.googlesource.com/293290
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 1528e56b2777e6adf0254d45091bcbce69d19c4f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Aug 24 15:10:58 2015 -0400

    Bind native GL attributes to match the locations in gl::Program.
    
    Simplifies a lot of logic when we don't have to maintain mappings between
    the driver and gl-layer locations.
    
    BUG=angleproject:882
    BUG=angleproject:1123
    
    Change-Id: Ia94257a322f768fdfa3167000a46a0715820ef4d
    Reviewed-on: https://chromium-review.googlesource.com/295231
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit a5ef8d89c46e6c80f2b779be84aef36140d94715
Author: Cooper Partin <coopp@microsoft.com>
Date:   Wed Aug 19 14:52:21 2015 -0700

    Enabled loop indexing validation for fragment shaders compiled using renderers configured for FL9_3 and below.
    
    BUG=angleproject:1130
    
    Change-Id: I2b5d7091c394565354b14fbf9297276dce8d92a5
    Reviewed-on: https://chromium-review.googlesource.com/294733
    Tested-by: Cooper Partin <coopp@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit cc16c9132a9b4c0ce8c3a989c9916ee252e3170b
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Aug 20 17:18:43 2015 -0400

    gpu_test_expectations: Fix a -Wheader-hygiene
    
    Reland with a fix for the compilation on Windows.
    Rereland with a fix for the Chromium compilation on Windowds.
    
    Our angle_config.h was using "using namespace" in a header as a way to
    import symbols to shim Chromium's base. This patch changes this to
    import each function separately using "using".
    
    This patch will allow our gpu_test_expectations to compile inside
    Chromium on Linux.
    
    BUG=angleproject:1127
    
    Change-Id: Iefb9e253e278fa766a11e50fc6a69eceb2e81dd9
    Reviewed-on: https://chromium-review.googlesource.com/295192
    Tested-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit bc0b1d47ccb6c20ce3eb87b45703166e64f8380a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Aug 21 17:00:03 2015 -0400

    Track local dirty state in StateManagerGL.
    
    Make the state setting functions of StateManagerGL public.
    
    BUG=angleproject:1113
    
    Change-Id: Ic435c06ece24064a2f2403119fa30309aba37608
    Reviewed-on: https://chromium-review.googlesource.com/295240
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit c349ec0304f38ee9db48c70250b025ad04a1429c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 21 16:53:12 2015 -0400

    Re-land "Move shader attributes into Program shared data."
    
    Re-land with a fix for a warning in 32-bit Windows.
    
    Making the Program own the attribs, and the Impl only see a read-only
    copy cleans up the Impl object. It also allows us to more cleanly
    isolate certain coded into D3D.
    
    BUG=angleproject:1123
    
    Change-Id: I73bda4b6d9e675d87d087d44757c598437d607f2
    Reviewed-on: https://chromium-review.googlesource.com/295191
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 4e10722d402a10bc2d96e6adf7d7abc5d64023a7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 24 14:12:17 2015 +0000

    Revert "Move shader attributes into Program shared data."
    
    Once again a signed/unsigned mismatch warning in 32-bit.
    
    src\libangle\renderer\gl\programgl.cpp(190) : warning C4018: '<' : signed/unsigned mismatch
    
    BUG=angleproject:1123
    This reverts commit 2d7731838722a53102e5086dba445e37f6e98d7e.
    
    Change-Id: Icd26906ead1eaa06b4bd3ff7fc2b10bef4f46022
    Reviewed-on: https://chromium-review.googlesource.com/295241
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 2d7731838722a53102e5086dba445e37f6e98d7e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 18 10:27:28 2015 -0400

    Move shader attributes into Program shared data.
    
    Making the Program own the attribs, and the Impl only see a read-only
    copy cleans up the Impl object. It also allows us to more cleanly
    isolate certain coded into D3D.
    
    BUG=angleproject:1123
    
    Change-Id: I469051eb066fc56e55282affa2d5398b394ab8d2
    Reviewed-on: https://chromium-review.googlesource.com/293826
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit c16542032db26473842d3a2a778b111876cf1a8b
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Aug 21 17:04:16 2015 -0400

    Revert "gpu_test_expectations: Fix a -Wheader-hygiene"
    
    When building in Chromium, on Windows, we got a symbol clash for
    base::SysInfo::OperatingSystemVersionNumbers
    
    This reverts commit d2eaa37d77cecde113267fd0fb66697f9b5dfe09.
    
    BUG=
    
    Change-Id: Icffa01a26368cecc9eb3c2ada8bf41143bd3c50a
    Reviewed-on: https://chromium-review.googlesource.com/295230
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 36cfd6a3053521904331ec79240bda1d38f2a506
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 18 10:46:20 2015 -0400

    Clean up Program::validate.
    
    This method should really be an Impl method, since it corresponds to
    a specific OpenGL call. Making it an Impl method also allows us to
    remove applyUniforms, which doesn't correspond to a GL call.
    
    BUG=angleproject:1123
    
    Change-Id: I2abee3cfaa7393cad44566782d51ed701e84846b
    Reviewed-on: https://chromium-review.googlesource.com/293825
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit d1fe1646bd2e55e7a044a8dae20ee78bf4ab1914
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 21 16:26:04 2015 -0400

    Move UBO bindings into Program shared state.
    
    Sharing the bindings with the Impl (read-only) allows us to clean out
    the applyUniformBuffers method from the Impl class, and make it D3D-
    only.
    
    BUG=angleproject:1123
    
    Change-Id: Icb51a90cb227bbbdd83319ea308b68aa1c4c325e
    Reviewed-on: https://chromium-review.googlesource.com/293824
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 72f39c159883257ffebacc7c15e6e9102be3ddfe
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 21 16:10:04 2015 -0400

    Make more Program sampler methods D3D-only.
    
    Several of these methods that deal with the sampler mapping can be
    made D3D-only quite simply by casting to ProgramD3D in the Renderer.
    
    BUG=angleproject:1123
    
    Change-Id: Ia6648d26744f9aa69a4a0facb356209df471fa7b
    Reviewed-on: https://chromium-review.googlesource.com/293823
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit d2eaa37d77cecde113267fd0fb66697f9b5dfe09
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Aug 20 17:18:43 2015 -0400

    gpu_test_expectations: Fix a -Wheader-hygiene
    
    Reland with a fix for the compilation on Windows.
    
    Our angle_config.h was using "using namespace" in a header as a way to
    import symbols to shim Chromium's base. This patch changes this to
    import each function separately using "using".
    
    This patch will allow our gpu_test_expectations to compile inside
    Chromium on Linux.
    
    BUG=angleproject:1127
    
    Change-Id: I19b97c2a37accc683a35809859c604bcaf3dcc43
    Reviewed-on: https://chromium-review.googlesource.com/295150
    Tested-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 0ef5c7468e9ed21e4708a4f59d3a948561e8724c
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Aug 21 10:51:40 2015 -0700

    Revert "gpu_test_expectations: Fix a -Wheader-hygiene"
    
    This patch causes a compile failure, probably because some symbols had
    been declared in the root namespace and should have been moved to base.
    (but weren't compiled under Linux)
    
    BUG=
    
    This reverts commit f41e04dbb8602a349351c537b735eb991588a944.
    
    Change-Id: Ia2292bf9dcbf429f47c8c8632356574a91ff0a1d
    Reviewed-on: https://chromium-review.googlesource.com/295110
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 1c207ae940857bfb6b623b39698dd795fe4ba1dd
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Aug 20 17:29:41 2015 -0400

    dEQP.gypi: tweaks to enable in-Chromium compilation on Linux
    
    Two things were needed:
     - The re-enabling of exception and RTTI as it is disabled in Chromium
       and in a different way than in ANGLE standalone
     - Link decpp with dl
    
    BUG=angleproject:1127
    
    Change-Id: I9ac37545762dc13320c7fba418fba82d7961e83e
    Reviewed-on: https://chromium-review.googlesource.com/294822
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit f41e04dbb8602a349351c537b735eb991588a944
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Aug 20 17:18:43 2015 -0400

    gpu_test_expectations: Fix a -Wheader-hygiene
    
    Our angle_config.h was using "using namespace" in a header as a way to
    import symbols to shim Chromium's base. This patch changes this to
    import each function separately using "using".
    
    This patch will allow our gpu_test_expectations to compile inside
    Chromium on Linux.
    
    BUG=angleproject:1127
    
    Change-Id: I99a78ab9fddc11b81e3e5154d41cd8bbbb2ac28d
    Reviewed-on: https://chromium-review.googlesource.com/294821
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit e5a1f271c0b29b6bade4e7bcd94f27a9b569d09a
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Aug 21 02:58:25 2015 +0200

    Use override in all the places where it is possible
    
    This will avoid -Winconsistent-overrides in the future. Done using the
    -Wsuggest-override warning of GCC 5.1
    
    BUG=
    
    Change-Id: I707a649dc368f5dd1e139fd144370abcac0b6263
    Reviewed-on: https://chromium-review.googlesource.com/294920
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 37c3979e47bf93958b426aaa31c1d65aef881b5f
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Aug 20 14:19:46 2015 -0400

    Revert "Revert "Make the default framebuffer owned by Surface""
    
    Reland the commit after fixing a bug in FramebufferAttachment.
    
    This reverts commit 18fdcbcf1d02d3b3b4b5c712f05058f2e8d629c6.
    
    BUG=angleproject:891
    
    Change-Id: I07e08de52bfce8d84d070fc7bc15883009298a4d
    Reviewed-on: https://chromium-review.googlesource.com/294831
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 314f9b33f55221a816c4f81243f642a8560b5d1a
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Aug 20 14:13:20 2015 -0400

    FramebufferAttachment: do not attach with an uninitialized mResource
    
    Otherwise attach will try to call onDetach on mResource, causing an UB
    (and a segfault in most cases).
    
    This fixes a crash when running angle_unittests on Mac with another
    patch.
    
    BUG=angleproject:891
    
    Change-Id: I09d34d7246849059a13bc2fb00a61837cccd97d7
    Reviewed-on: https://chromium-review.googlesource.com/294830
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit b5d61dac43bc61c594297fd63eaf129b74b8999f
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Aug 20 13:43:02 2015 -0400

    Revert "Add deep copying support for typed AST nodes"
    
    This reverts commit d0d59aa4cbce2da92deaa0f4021dfed8885e8d01 and commit
    760379532b02ae039790f1e8f1c89e03481aab4b
    
    To be fixed will be the newline at the end of IntermNode_tests.cpp and
    the -Winconsistent-missing-override
    
    BUG=
    
    Change-Id: I57693bdff01f9e3f03b2fbb5dc53fa21e68c2789
    Reviewed-on: https://chromium-review.googlesource.com/294820
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit a7b6db7faaa83e73c7d752823e17eb6f0ec57bf3
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Aug 19 14:26:30 2015 +0300

    Only apply Appendix A limitations to ESSL 1.00 shaders
    
    ESSL 1.00 specifies a set of minimum functionality, and ANGLE
    automatically checks that WebGL shaders stay within this minimum
    functionality. However, this should only apply to ESSL 1.00. ESSL 3.00
    shaders compiled for WebGL 2.0 should not be subject to these
    restrictions, since there is no similar spec for minimum functionality
    for ESSL 3.00.
    
    In case a non-WebGL based shader spec is used, the restrictions can be
    toggled from outside by specifying the SH_VALIDATE_LOOP_INDEXING flag,
    same as before this patch.
    
    BUG=angleproject:1116
    TEST=WebGL 2 conformance tests
    
    Change-Id: Idaec0fb4c7c85cd72020d0b23112fddb1b020571
    Reviewed-on: https://chromium-review.googlesource.com/293933
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 760379532b02ae039790f1e8f1c89e03481aab4b
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Aug 20 13:18:44 2015 -0400

    Fix compilation on Mac, adding a newline in IntermNode_test.cpp
    
    BUG=
    
    Change-Id: Ie935486bf44bacb89660419c0dabd0ff38838c90
    Reviewed-on: https://chromium-review.googlesource.com/294800
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 5f116e5dc5eabc293efcb1ef7533fe8db70736da
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Aug 20 11:13:32 2015 -0400

    Fix regression with GetNextGLSLAttributeType.
    
    A refactoring bug slipped in that used the non-transposed row count
    for non-square matrices, causing an ASSERT failure in Debug. It's
    unfortunately not easy to revert the previous change, so instead
    fix it here.
    
    BUG=angleproject:1129
    
    Change-Id: I0de66de46a24b402c93da68f189a2c65616c2006
    Reviewed-on: https://chromium-review.googlesource.com/294641
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d538e56eed99bd167e7fc4e9ff4a74249ef00fdb
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Aug 19 13:19:19 2015 -0700

    Make Release compile with c++11 on Mac standalone
    
    BUG=angleproject:891
    
    Change-Id: Id61e61a2efff019e92316adbe34fc2378302aff5
    Reviewed-on: https://chromium-review.googlesource.com/294600
    Tested-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit ec1be6d5b895027c56158d1447c63cf4b49db934
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Aug 19 15:07:43 2015 -0400

    Suppress dEQP negative_api compressedtexsubimage2d_invalid_size on Linux
    
    Temporarily suppress this test as it might be caused by a dEQP bug.
    
    BUG=angleproject:1128
    
    Change-Id: I9c6f1b95edca55f54f3292227ebc81d4ddc57f0a
    Reviewed-on: https://chromium-review.googlesource.com/294580
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit d0d59aa4cbce2da92deaa0f4021dfed8885e8d01
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Aug 18 13:49:45 2015 +0300

    Add deep copying support for typed AST nodes
    
    Removing dynamic indexing of vectors and matrices will require copying
    the indexed nodes in case they are written. Any type of l-value node that
    doesn't have side effects may need to be copied. Add a copying function
    for all typed node classes so that this copying can be performed.
    
    Private copy constructors are used to implement the deepCopy function in
    order to make maintenance easier. With copy constructors, each subclass
    only needs to take care of copying its own members, and not the base
    class members, which reduces the possibility of errors. Copy constructors
    are disabled for all node classes that don't support deep copying by
    inheriting TIntermNode from angle::NonCopyable.
    
    Assignment operator is disabled for all node classes through inheriting
    angle::NonCopyable. This applies also to classes that now get the private
    copy constructor.
    
    Explicit copy constructor and assignment operator declarations are added
    to some classes which show up in node member variables to make code
    clearer.
    
    BUG=angleproject:1116
    TEST=angle_unittests
    
    Change-Id: Ia757b69397837f8309f0e7511c0cd24ca2c7a721
    Reviewed-on: https://chromium-review.googlesource.com/293931
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 5c42266e3a97a00754b57a067309204c9db46ef3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 18 10:46:15 2015 -0400

    Make Program::usesPointSize D3D-only.
    
    This test is only used in the D3D code, so we can remove this Impl
    method. If we need it in the future we can always support it more
    generally from the translator, or handle it differently on each
    Renderer.
    
    BUG=angleproject:1123
    
    Change-Id: Ic4a22ad6cec93726195e68200fc25cc2956be44c
    Reviewed-on: https://chromium-review.googlesource.com/293822
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 31c8c56a0f327469a6e3ee24c10e98424913e9b8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Aug 19 14:08:03 2015 -0400

    Make ProgramImpl::compileProgramExecutables D3D-only.
    
    Finally we can isolate this method into the D3D-only code, and
    remove the interface from ProgramImpl.
    
    BUG=angleproject:1123
    
    Change-Id: I253b15d44d4cf8bbb5dbeaa78bbcc431a5267bf7
    Reviewed-on: https://chromium-review.googlesource.com/293765
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 18fdcbcf1d02d3b3b4b5c712f05058f2e8d629c6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Aug 19 18:12:44 2015 +0000

    Revert "Make the default framebuffer owned by Surface"
    
    Seems to be causing failures on the Mac GPU FYI bots.
    SurfaceTest.DestructionDeletesImpl seems to crash.
    
    BUG=angleproject:891
    BUG=522557
    
    This reverts commit 264ab56f2e70431e8310f9353952acd3b22b466f.
    
    Change-Id: I80aeecb8e191de011d9afe6534d0285dcffa82a3
    Reviewed-on: https://chromium-review.googlesource.com/294540
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 1661fde6c4e528679e85a04557fbbeb5d24e5a7c
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Aug 18 11:29:46 2015 -0400

    ProgramGL: Mark all columns of matrix attributes as active
    
    The active attributes are used to determine which of the vertex
    attributes to enable. Matrices take up several attributes depending on
    the number of column they have; this patch marks all the columns of
    active matrix attributes as active.
    
    TEST=dEQP-GLES2.functional.shaders.linkage.varying_type_mat*
    
    BUG=angleproject:1127
    
    Change-Id: I82f548f329f872c4e66aa0e4e71c6061a55b9987
    Reviewed-on: https://chromium-review.googlesource.com/294261
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 26e355b835d50daea55e096cff4d9da50dc1a48b
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Aug 14 14:16:19 2015 +0300

    Add full support for line continuation in the preprocessor
    
    Re-landing earlier change with constant signedness fixed (was causing
    build issues on Linux).
    
    Line continuation in ESSL 3.00 needs to be processed before tokenization,
    since tokens can span the line continuation. On the other hand, ANGLE's
    tokenizer keeps track of line numbers, and whenever a line continuation
    appears the line number still needs to be incremented by one, just like
    on a regular newline.
    
    That's why line continuation is now implemented as follows: when the
    shader strings are concatenated in Input, they are also checked for line
    continuation. Whenever line continuation is encountered, the string
    is cut before that point. When the tokenizer asks for more input, the
    string starting from the character after line continuation is passed
    to it, and the line number is incremented from Input. This way the
    tokenizer can parse tokens that span multiple lines - it never sees the
    line continuation - but still keeps track of the line number correctly.
    
    Relevant spec is in ESSL 3.00 section 3.2 "Source strings".
    
    Support for line continuation also applies to ESSL 1.00. ESSL 3.00
    spec section 1.5 says that line continuation support is mandated when
    an ESSL 1.00 shader is used with the OpenGL ES 3.0 API, and is optional
    when ESSL 1.00 is used with the OpenGL ES 2.0 API.
    
    TEST=dEQP-GLES3.functional.shaders.preprocessor.line_continuation.*
         (all pass),
         angle_unittests
    BUG=angleproject:1125
    
    Change-Id: Ic086aacac53cd75bf93c0fda782416501d2f842b
    Reviewed-on: https://chromium-review.googlesource.com/294200
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 264ab56f2e70431e8310f9353952acd3b22b466f
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Aug 12 12:39:52 2015 -0700

    Make the default framebuffer owned by Surface
    
    Reland with a fix for SurfaceTest in angle_unittests and fixes for
    signed-unsigned warnings
    
    In CGL there is no notion of default Framebuffer and MakeCurrent only
    makes a context current but not a drawable. Instead, everything is done
    via render to texture. For that reason, different surfaces will have
    different FBOs as default framebuffers, which causes that change.
    
    BUG=angleproject:891
    
    Change-Id: I0664896bc335b1a757226aaa212536b8f9d0f08f
    Reviewed-on: https://chromium-review.googlesource.com/293752
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit ccdf74b8bed923443425a3d56496b04dd98bd8ef
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 18 10:46:12 2015 -0400

    Move TF Feedback linked varyings into D3D-only.
    
    The LinkedVarying structure is a D3D-specific type, and the GL
    back-end doesn't need the extra info. Isolate this into the D3D
    back-end so we can clean up the Impl inteface.
    
    BUG=angleproject:1123
    
    Change-Id: I76d77ac505876d865e3e02f47acbfd6665a9507e
    Reviewed-on: https://chromium-review.googlesource.com/293764
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 11cd6af623e1d0bb71176002f784d36da4ded157
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Aug 18 15:54:01 2015 -0400

    Revert "Make the default framebuffer owned by Surface"
    
    Compilation warning on Windows
    
    This reverts commit 6cb2ae8292e69aa110c89e0465366b9f049c1168.
    
    Change-Id: I4ecadf5d8e909f986da186a7326cfa0922ae8710
    Reviewed-on: https://chromium-review.googlesource.com/294241
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 6cb2ae8292e69aa110c89e0465366b9f049c1168
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Aug 12 12:39:52 2015 -0700

    Make the default framebuffer owned by Surface
    
    Reland with a fix for SurfaceTest in angle_unittests and fixes for
    signed-unsigned warnings
    
    In CGL there is no notion of default Framebuffer and MakeCurrent only
    makes a context current but not a drawable. Instead, everything is done
    via render to texture. For that reason, different surfaces will have
    different FBOs as default framebuffers, which causes that change.
    
    BUG=angleproject:891
    
    Change-Id: Ie9a72de01a58e583a1bfa3f4a055debb860b912f
    Reviewed-on: https://chromium-review.googlesource.com/293713
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit e473deee0f93e2e1c5c6279a2844745e2a14c987
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 18 14:49:01 2015 -0400

    Clean up uniform block Program Impl APIs.
    
    The D3D-specific code we can split into D3D-only methods, and the
    GL-level shared code we can place in Program instead of making Impl
    methods. This cleans up the Impl inteface significantly.
    
    BUG=angleproject:1123
    
    Change-Id: Ibcb7d07733eb939adf5bb4f5395a661875a60238
    Reviewed-on: https://chromium-review.googlesource.com/293763
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 39939686b3731eaaf6c0b639ab64db0277c72475
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 18 10:37:22 2015 -0400

    Fix improper error handling in Image11.
    
    A device lost event would improperly skip returning an error, which
    could lead us down a code path that would read/write to invalid
    locations.
    
    BUG=519642
    
    Change-Id: Iba437b9b24cdf44320a944a85146f5f73be9f7a6
    Reviewed-on: https://chromium-review.googlesource.com/293903
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit ea918db99df8a1499474b6a0db2625073387bbcb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 18 14:48:59 2015 -0400

    Clean up Program::linkUniforms.
    
    This method previously relied on output from the D3D back-end from
    ProgramImpl::link. Split the D3D-specific code into its own method,
    and do the linking validation before we call link.
    
    BUG=angleproject:1123
    
    Change-Id: I582671e21af605af9f4451b02fc96ad29c923048
    Reviewed-on: https://chromium-review.googlesource.com/293762
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 700229721aa0adbb5cb07bf8afae442fc26c62ab
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Aug 18 17:53:00 2015 +0000

    Revert "Work around deprecated LUMA formats in the core profile."
    
    Caused failures in the WebglConformance.conformance_textures_misc_copy_tex_image_2d_formats test on the ATI FYI waterfall bot.
    This reverts commit 61f51dc1b7d383bcb3632218cd2434f65cac4b7a.
    
    Change-Id: Iddea03d53ae2a9b639e36931f01c1e889e550af4
    Reviewed-on: https://chromium-review.googlesource.com/294262
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 1e9497997f5dc513e7ff00c9363047b733cdf32d
Author: Nico Weber <thakis@chromium.org>
Date:   Tue Aug 18 09:58:23 2015 -0700

    Fix build after https://chromium-review.googlesource.com/#/c/293865
    
    Change-Id: I691d80deff03b49463b08d093934b44b049a0606
    Reviewed-on: https://chromium-review.googlesource.com/294163
    Reviewed-by: Nico Weber <thakis@chromium.org>
    Tested-by: Nico Weber <thakis@chromium.org>

commit 33d71f58f2d2bf2df4e6392dc4cd9c74828f0177
Author: Nico Weber <thakis@chromium.org>
Date:   Tue Aug 18 09:31:59 2015 -0700

    Rename TextureD3D::setImage() to setImageImpl().
    
    This makes it clear that this is not an attempted override of the
    virtual base class's method rx::TextureImpl::setImage().
    
    Do the same for TextureD3D::setCompressedImage().
    No intended behavior change.
    
    BUG=angleproject:1083
    
    Change-Id: I874e4101e8138c7c5000f5966afed6a339523c02
    Reviewed-on: https://chromium-review.googlesource.com/293865
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Nico Weber <thakis@chromium.org>

commit a818776ec8b0bfb4a4e94128b1403dfcabefbaa7
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Wed Aug 12 10:54:37 2015 -0700

    Fix warning C4312 (x64) - reinterpret_cast conversion to greater size
    
    Change-Id: I90504b00e8f3af208511ec393ddfb0da267f56bc
    Reviewed-on: https://chromium-review.googlesource.com/293341
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Austin Kinross <aukinros@microsoft.com>

commit 66d6313eca8caee1654ccd8ef7291afa3df2c518
Author: Cooper Partin <coopp@microsoft.com>
Date:   Thu Aug 13 10:22:42 2015 -0700

    Add target platform version for generating Windows 10 WinRT projects
    
    BUG=angleproject:1122
    
    Change-Id: Ia6a79ef1b4e94e15830981f0cee6269c9f0c71ca
    Reviewed-on: https://chromium-review.googlesource.com/293401
    Tested-by: Cooper Partin <coopp@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit f4e794ec622644a2af5a924b35d63017e47b0f49
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Aug 12 14:10:36 2015 -0400

    In TextureD3D_2D, don't call Image::redefine directly.
    
    Call the TextureD3D_2D::redefine member which will not make unnecessary
    modifications to the image and lets the member serve as a callback for
    redefined images.
    
    BUG=angleproject:970
    
    Change-Id: I511310ebfd4d6133219bbef82c53747f9454aee0
    Reviewed-on: https://chromium-review.googlesource.com/293904
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 87d3fe045798931a383cf04e5c5d77479cc649a9
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Aug 18 14:38:43 2015 +0000

    Revert "In TextureD3D_2D, don't call Image::redefine directly."
    
    Warnings in 64-bit.
    
    This reverts commit a0633a7e4124473d67538053cba3ebdc44f71687.
    
    Change-Id: I5b3f31b261b947cd295e9f4a9abbbdbc00740183
    Reviewed-on: https://chromium-review.googlesource.com/293841
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit a0633a7e4124473d67538053cba3ebdc44f71687
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Aug 12 14:10:36 2015 -0400

    In TextureD3D_2D, don't call Image::redefine directly.
    
    Call the TextureD3D_2D::redefine member which will not make unnecessary
    modifications to the image and lets the member serve as a callback for
    redefined images.
    
    BUG=angleproject:970
    
    Change-Id: I280c18b993ef4dfac2efe1b28bf28c34aa4b6bcc
    Reviewed-on: https://chromium-review.googlesource.com/293222
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 61f51dc1b7d383bcb3632218cd2434f65cac4b7a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Aug 13 16:16:56 2015 -0400

    Work around deprecated LUMA formats in the core profile.
    
    Use R and RG textures with swizzle states to emulate them.
    
    Fixes the following tests when using the core profile:
     * conformance/extensions/oes-texture-float.html
     * conformance/extensions/oes-texture-half-float.html
     * conformance/textures/misc/tex-sub-image-2d.html
     * conformance/textures/misc/texture-formats-test.html
     * conformance/textures/misc/texture-npot.html
     * conformance/more/functions/copyTexImage2D.html
     * conformance/more/functions/copyTexSubImage2D.html
    
    BUG=angleproject:1113
    
    Change-Id: Iaf4b7b2b0000052b1747f46d90ad45d4cb1f6b50
    Reviewed-on: https://chromium-review.googlesource.com/293530
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 51706eaeeb4e1d90b92b6671398896de50b3157b
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Aug 7 14:39:22 2015 -0400

    Make FramebufferAttachmentObject not refcountable
    
    Re-land with a fix for an unitialized variable
    
    Instead the refcount is done via callbacks. This allows Surface to
    ignore this refcounting which will be useful in a follow-up CL.
    
    BUG=angleproject:891
    
    Change-Id: I1925ccaa4ce7b502b33088660d31c404b8313cb5
    Reviewed-on: https://chromium-review.googlesource.com/293712
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit ada9ecc3ea8c2b8f169c61e1ec289b70b3282ea1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 17 12:53:37 2015 -0400

    Make TF Feedback buffer mode a GL-level variable.
    
    Don't query this as an Impl method, since it exists on the GL level.
    Also some related refactorings and cleanups.
    
    BUG=angleproject:1123
    
    Change-Id: I3610bc0db2bcaa96408506e06a65a2f4dab93150
    Reviewed-on: https://chromium-review.googlesource.com/293761
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 5c6b7bfe27b3f931bfdd209e0b754c5f9900f1d5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 17 12:53:35 2015 -0400

    Add a Program::Data shared state structure.
    
    Similar to the Framebuffer and other classes, this gives the Impl
    class a read-only view of the object's state.
    
    BUG=angleproject:1123
    
    Change-Id: I580eaebe2de236adf8131d6e3f54633cecce8c25
    Reviewed-on: https://chromium-review.googlesource.com/293760
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 3b040eb8e2d0913db33d9b70933601c2c4c5d7bf
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 17 16:51:33 2015 +0000

    Revert "Add full support for line continuation in the preprocessor"
    
    Warning in the Linux/Mac builders:
    
    In file included from ../../third_party/angle/src/tests/preprocessor_tests/input_test.cpp:7:
    In file included from ../../third_party/angle/src/tests/preprocessor_tests/PreprocessorTest.h:7:
    ../../testing/gtest/include/gtest/gtest.h:1392:16: error: comparison of integers of different signs: 'const int' and 'const unsigned long' [-Werror,-Wsign-compare]
      if (expected == actual) {
          ~~~~~~~~ ^  ~~~~~~
    ../../testing/gtest/include/gtest/gtest.h:1422:12: note: in instantiation of function template specialization 'testing::internal::CmpHelperEQ<int, unsigned long>' requested here
        return CmpHelperEQ(expected_expression, actual_expression, expected,
               ^
    ../../third_party/angle/src/tests/preprocessor_tests/input_test.cpp:171:5: note: in instantiation of function template specialization 'testing::internal::EqHelper<false>::Compare<int, unsigned long>' requested here
        EXPECT_EQ(3, input.read(buf, maxSize, &lineNo));
        ^
    
    BUG=angleproject:1125
    
    This reverts commit c1157d1963170c7411eb6c32e2b2fbce02c5a170.
    
    Change-Id: Ic6fa286d190b006cccc5154d86e21ecc03175763
    Reviewed-on: https://chromium-review.googlesource.com/294080
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit c1157d1963170c7411eb6c32e2b2fbce02c5a170
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Aug 14 14:16:19 2015 +0300

    Add full support for line continuation in the preprocessor
    
    Line continuation in ESSL 3.00 needs to be processed before tokenization,
    since tokens can span the line continuation. On the other hand, ANGLE's
    tokenizer keeps track of line numbers, and whenever a line continuation
    appears the line number still needs to be incremented by one, just like
    on a regular newline.
    
    That's why line continuation is now implemented as follows: when the
    shader strings are concatenated in Input, they are also checked for line
    continuation. Whenever line continuation is encountered, the string
    is cut before that point. When the tokenizer asks for more input, the
    string starting from the character after line continuation is passed
    to it, and the line number is incremented from Input. This way the
    tokenizer can parse tokens that span multiple lines - it never sees the
    line continuation - but still keeps track of the line number correctly.
    
    Relevant spec is in ESSL 3.00 section 3.2 "Source strings".
    
    Support for line continuation also applies to ESSL 1.00. ESSL 3.00
    spec section 1.5 says that line continuation support is mandated when
    an ESSL 1.00 shader is used with the OpenGL ES 3.0 API, and is optional
    when ESSL 1.00 is used with the OpenGL ES 2.0 API.
    
    TEST=dEQP-GLES3.functional.shaders.preprocessor.line_continuation.*
         (all pass),
         angle_unittests
    BUG=angleproject:1125
    
    Change-Id: I1c1de49602e7cd755d6072c3c0aa5524cd0313b4
    Reviewed-on: https://chromium-review.googlesource.com/293721
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit f0435bc8b3c9c22d58b1fe32cfcee89384fa8850
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Aug 17 11:24:37 2015 -0400

    Surface_unittest: fix a gmock warning
    
    getSwapBehavior was being called in Surface's constructor but masn't
    expected, causing a warning. Add it as an expect call.
    
    BUG=angleproject:1126
    
    Change-Id: Idf4a7e0ff66ba5741d3773e09ade4a1335b355ae
    Reviewed-on: https://chromium-review.googlesource.com/293902
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 0b9e9032957a706efb739fdd614c5cd4d71f9be1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 17 11:51:52 2015 +0000

    Revert "Revert "Implement dirty bits acceleration for VertexArrayGL.""
    
    Should be fixed with the Iterator change.
    
    BUG=angleproject:1040
    
    This reverts commit 5b21ed5fd030d33ae379b8cc493746244d2928b4.
    
    Change-Id: Ibb77775b6b2ce5a49cee7dd81efc62d8c3ba3c62
    Reviewed-on: https://chromium-review.googlesource.com/293901
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit b3a60aa9233f2fa2c14da8988d55dc2623b0c582
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 14 14:44:06 2015 -0400

    Store iterator bitset by-value instead of by-reference.
    
    The by-reference method was giving strange problems when using a non-
    LValue as argument to IterateBitSet.
    
    BUG=angleproject:1040
    
    Change-Id: Iec10f7256a5b19b239804e0beba4ae675f53f876
    Reviewed-on: https://chromium-review.googlesource.com/293840
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 5b21ed5fd030d33ae379b8cc493746244d2928b4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 14 18:12:50 2015 +0000

    Revert "Implement dirty bits acceleration for VertexArrayGL."
    
    Seems to cause an exception in Release, in end2end_tests.
    
    BUG=angleproject:1040
    
    This reverts commit 6d51c70ccf63a2c5ec240d960ff1bc179d36c92c.
    
    Change-Id: I6548bc68dce07d2d85e40afdb604157e689c1d6c
    Reviewed-on: https://chromium-review.googlesource.com/293821
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 6d51c70ccf63a2c5ec240d960ff1bc179d36c92c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 14 10:38:10 2015 -0400

    Implement dirty bits acceleration for VertexArrayGL.
    
    BUG=angleproject:1040
    TEST=angle_end2end_tests,angle_perftests,WebGL
    
    Change-Id: I91d9aea5eefb58ecaf5b1cc95926fddb2aa846ea
    Reviewed-on: https://chromium-review.googlesource.com/289570
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 49e8de701ba46aee4bb6d4a26f270d2e29d7d59d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 14 10:50:17 2015 -0400

    Fix remaining size_t conversion warnings.
    
    BUG=angleproject:1120
    
    Change-Id: If4fba903511dcd57d21f8f8178e772cf3cae4187
    Reviewed-on: https://chromium-review.googlesource.com/293750
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 5cf0f982d5dac14dd410ed389af750f02ae3c869
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Wed Aug 12 09:35:10 2015 -0700

    Reland "Fix memory layout of imageformats.h's 16-bit structs"
    
    Changes since last patch:
    - Disable tests on D3D11 Intel
    
    Change-Id: Ie65f56b7ed107f8901ea3be7d96036d7c882d189
    Reviewed-on: https://chromium-review.googlesource.com/285218
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Austin Kinross <aukinros@microsoft.com>

commit 9e1b879efa6b0d3d7497d7a6511fa787e269f0a9
Author: Cooper Partin <coopp@microsoft.com>
Date:   Thu Aug 13 08:21:45 2015 -0700

    Roll GYP for Windows 10 project generation.
    
    BUG=angleproject:1122
    
    Change-Id: I8b7a33fb8e7d1200e655c73c7d1a5502cac955c6
    Reviewed-on: https://chromium-review.googlesource.com/293335
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Cooper Partin <coopp@microsoft.com>
    Commit-Queue: Cooper Partin <coopp@microsoft.com>

commit 59f9a641be6e3402dd011dc8072548449e7d4ba9
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Aug 6 20:38:26 2015 +0300

    Remove EOpInternalFunctionCall
    
    It's cleaner to mark internal functions by using the TName class,
    similarly to TIntermSymbol.
    
    TEST=angle_unittests
    BUG=angleproject:1116
    
    Change-Id: I12a03a3dea42b3fc571fa25a1b11d0161f24de72
    Reviewed-on: https://chromium-review.googlesource.com/291621
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit f5cfc8df61fce4dab99ca70dab4bc18d60f64e0d
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Aug 6 16:36:39 2015 +0300

    Track whether a name is internal to ANGLE in a separate class
    
    The AST contains identifiers in a few different places: besides symbols,
    there are also function names, which show up in function signatures
    and function calls. Any of these can be coming either from the original
    shader or from inside ANGLE. A class that encapsulates a string and its
    internalness will be useful for implementing a unified way of handling
    all names in shader translation. Start implementing this by splitting
    the functionality out of TSymbol.
    
    TEST=angle_unittests
    BUG=angleproject:1116
    
    Change-Id: I0a1b5936dcccd0d5fc1c0c13c712102fbfff2a79
    Reviewed-on: https://chromium-review.googlesource.com/291280
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit ec17d54a68f2fca228416aa3a84f2f1a794f3360
Author: Nico Weber <thakis@chromium.org>
Date:   Thu Aug 13 12:19:28 2015 -0700

    Fix angle miscompiling shaders on x86_64 Android.
    
    BUG=487341
    Change-Id: I792e0c9419566facb0bec0ad93f3646294e5a2a7
    Reviewed-on: https://chromium-review.googlesource.com/293500
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Nico Weber <thakis@chromium.org>
    Reviewed-by: Nico Weber <thakis@chromium.org>

commit 217fe6ec41747697df377c091464fe2dc568ec65
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Aug 5 13:25:08 2015 +0300

    Detect when built-in modf requires an l-value in AST traversal
    
    This fixes an omission that out parameter tracking had inherited from
    EmulatePrecision. Accurate tracking of when values are written is
    required for converting dynamic indexing of vectors and matrices to
    function calls.
    
    A new test covering this is added to angle_unittests.
    
    TEST=angle_unittests
    BUG=angleproject:1116
    
    Change-Id: I05c5fd60355117d0053b84110748ae221375a790
    Reviewed-on: https://chromium-review.googlesource.com/290562
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 3fc9337f626e1b88106ac7a266dfe577aef68f0c
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Aug 11 14:50:59 2015 +0300

    Refactor l-value tracking to a separate traverser parent class
    
    This makes TIntermTraverser implementation easier to understand and
    removes the overhead of maintaining the user-defined GLSL function table
    from the traversers that don't need it.
    
    Some logic is duplicated between TIntermTraverser and its new subclass
    TLValueTrackingTraverser, but duplication is hard to eliminate completely
    since there are some differences scattered throughout the code.
    
    BUG=angleproject:1116
    TEST=angle_unittests
    
    Change-Id: Iab4a0c1d4320ecfafaf18ea3a45824d756890774
    Reviewed-on: https://chromium-review.googlesource.com/292721
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 6cb4c7f0708ce715529980a9bc1639fd78ecb388
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Aug 13 11:27:17 2015 +0300

    Set __VERSION__ macro when the #version directive is parsed
    
    __VERSION__ macro needs to be set to 300 when #version 300 es is on the
    first line of the shader, since section 3.4 of ESSL 3.00.4 spec mentions
    that the value of __VERSION__ should match the shading language being
    parsed. The value from parsing the version directive replaces the default
    value 100.
    
    BUG=angleproject:524
    TEST=dEQP-GLES3.functional.shaders.preprocessor.predefined_macros.*
         (4 tests start passing, 2 still fail)
         dEQP-GLES3.functional.shaders.preprocessor.conditionals.*
         (2 tests start passing)
         dEQP-GLES2.functional.shaders.preprocessor.predefined_macros.*
         (no regression)
    
    Change-Id: I15bfdeb73d1e343d131ded56b1fd52ca5ef32408
    Reviewed-on: https://chromium-review.googlesource.com/293440
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit bc38423004e5fcc46bb13aeb8bb080b38a1ba427
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Aug 13 15:24:20 2015 +0000

    Revert "Add tests for streaming client side data."
    
    This reverts commit 656b0d45cd4758be67202aded9783d536b00e611.
    
    Change-Id: I0b6ad5e1fa788ffc698029410aa98e13a061902d
    Reviewed-on: https://chromium-review.googlesource.com/293450
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 6238e3537adac2db4c99961d17a7fd971d4168fa
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Aug 12 13:26:19 2015 -0400

    Generate the egl Display extensions in Renderer9 and Renderer11.
    
    With the addition of EGL Image, the display extensions generated by
    Renderer9 and Renderer11 become significantly different.  Instead of
    generating them via getXSupport() methods, generate them inside the
    renderers themselves.
    
    BUG=angleproject:970
    
    Change-Id: Ib3fffabcca3e3cdef13ef994aa0b06dba0f00362
    Reviewed-on: https://chromium-review.googlesource.com/293271
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit bbc02470d2ecc5c7e5a15c58668ac02f65fdd933
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Aug 12 13:21:36 2015 -0400

    Add a common base function for getSurfaceLevel in TextureStorage9.
    
    Instead of casting to the specific TextureStorage9 type before calling
    getSurfaceLevel, merge the prototypes into a pure method in
    TextureStorage9.
    
    BUG=angleproject:970
    
    Change-Id: I07b24b6cc470fc8cb6ba9bd9a8f178c3b43be36a
    Reviewed-on: https://chromium-review.googlesource.com/293270
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 656b0d45cd4758be67202aded9783d536b00e611
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Aug 12 11:51:23 2015 -0400

    Add tests for streaming client side data.
    
    BUG=angleproject:880
    
    Change-Id: Ief76f3011ce18ad0ca396af0bc36e69a30ae143b
    Reviewed-on: https://chromium-review.googlesource.com/293220
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 4d61f7edade0f237b5f009b8c0df08b59845d77a
Author: Cooper Partin <coopp@microsoft.com>
Date:   Wed Aug 12 10:56:50 2015 -0700

    Reland Fixed compiler warning C4267 'conversion from 'size_t' to 'type', possible loss of data'
    Additional warnings found with more testing and added C4267 warning disable only for angle_libpng
    
    BUG=angleproject:1120
    
    Change-Id: Ic403dcff5a8018056fa51a8c408e64207f3362eb
    Reviewed-on: https://chromium-review.googlesource.com/293028
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit fd00ccff1219e35dddee176af3d289582c08bd9f
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Wed Aug 12 10:19:46 2015 -0700

    Disable some VS2015 warnings for dEQP projects
    
    Change-Id: I036084b2fea20d4f1712bc34b161fb3be604af0d
    Reviewed-on: https://chromium-review.googlesource.com/293009
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 0020426e2eaf3bff59bbcff474fcf4648245577b
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Aug 12 19:07:29 2015 -0700

    Revert "Make FramebufferAttachmentObject not refcountable"
    
    BUG=
    
    This reverts commit 19ba57469aa02074d094a9aef104f84d0b6d881e.
    
    Change-Id: I5dce6c8a81570e22affbcaf32183a97c97849718
    Reviewed-on: https://chromium-review.googlesource.com/293351
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 1bf40bfe2afce868b66dfb41b10339220c333c8e
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Aug 12 15:52:04 2015 -0700

    Revert "Make the default framebuffer owned by Surface"
    
    This reverts commit 87e63a9982803b5e4c12afa9a40ff0e2b04a7369.
    
    Speculative revert to fix the webgl cts on Windows D3D9 and the
    unittests on Linux.
    
    BUG=
    
    Change-Id: I488f4e0b2dc67270eed45f1c10bfba1d13c98739
    Reviewed-on: https://chromium-review.googlesource.com/293350
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 87e63a9982803b5e4c12afa9a40ff0e2b04a7369
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Aug 12 12:39:52 2015 -0700

    Make the default framebuffer owned by Surface
    
    In CGL there is no notion of default Framebuffer and MakeCurrent only
    makes a context current but not a drawable. Instead, everything is done
    via render to texture. For that reason, different surfaces will have
    different FBOs as default framebuffers, which causes that change.
    
    BUG=angleproject:891
    
    Change-Id: I3f6da7b587353316026ea39a5c87f91265e0f1ba
    Reviewed-on: https://chromium-review.googlesource.com/289872
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 8b76e9fb8337a2361a4bdd5a9e286b98dcdab823
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Aug 12 15:22:58 2015 -0400

    Fix warnings on Linux
    
    BUG=
    
    Change-Id: I24ed2a2ee85a152ef79fc9cb2c3b067bbbaedf05
    Reviewed-on: https://chromium-review.googlesource.com/293310
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 19ba57469aa02074d094a9aef104f84d0b6d881e
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Aug 7 14:39:22 2015 -0400

    Make FramebufferAttachmentObject not refcountable
    
    Instead the refcount is done via callbacks. This allows Surface to
    ignore this refcounting which will be useful in a follow-up CL.
    
    BUG=angleproject:891
    
    Change-Id: I39b028476e0e3ab1837c033e1121ea21e54d7970
    Reviewed-on: https://chromium-review.googlesource.com/291651
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 18a2fb3a4a0ba4dc919801cfa75cf558ab6ab0bc
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Aug 10 12:58:14 2015 -0700

    ValidateDrawElements: check count > 0 then compute the index range
    
    Otherwise glDrawElements(GL_TRIANGLES, -1, nullptr) would crash. This was
    found by an ASSERT in ComputeIndexRange triggered by
    dEQP-GLES2.functional.negative_api.vertex_array.draw_elements
    
    BUG=
    
    Change-Id: I5269031fa35aa6403c844561e04158361ee7950f
    Reviewed-on: https://chromium-review.googlesource.com/292710
    Tested-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit b195643c16d3bbcdc92f54bfc41faf8c8fafad5e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Aug 12 17:35:20 2015 +0000

    Revert "Fixed compiler warning C4267 'conversion from 'size_t' to 'type', possible loss of data'"
    
    Seems to have quite a few warnings in 64-bit on my machine.
    
    BUG=angleproject:1120
    
    This reverts commit c5cf9bc47d0ee028adbbf9e9f94ca567eec601dc.
    
    Change-Id: I86768b900aeba52e7a2242d9ae8949f93f1a5ba9
    Reviewed-on: https://chromium-review.googlesource.com/293280
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 61902ecee92f3e3ba32ad4550ad55c6485b18d9b
Author: Nico Weber <thakis@chromium.org>
Date:   Sat Jul 25 20:12:23 2015 -0700

    clang/win: Fix -Wunused-function warning in angle.
    
    Also inline a function that wasn't pulling its weight.
    No intended behavior change.
    
    BUG=chromium:505316
    
    Change-Id: If059700062a38c45971397311af7a2a4037b815e
    Reviewed-on: https://chromium-review.googlesource.com/288399
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Nico Weber <thakis@chromium.org>

commit 319fb898fb64cb6361b7efb8855de403a9c3e36d
Author: Tomasz Moniuszko <tmoniuszko@opera.com>
Date:   Thu Jul 30 14:34:54 2015 +0200

    Use default commit.h file if git index is not available
    
    The solution is the same as in GYP version:
    1. Check if .git/index is available in angle directory.
    2. Use generated commit.h file if git is available or copy the default
    file instead.
    
    Change-Id: Ic3cedf6793c368070228a63c0eb270ca6fb47f81
    Reviewed-on: https://chromium-review.googlesource.com/289391
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Tomasz Moniuszko <tmoniuszko@opera.com>

commit 56193ce368453332d92c55e1148ba4c479bb7b5e
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Aug 12 15:55:09 2015 +0300

    Clean up parseMatrixFields
    
    Applying field selection directly on matrices is not mentioned in ESSL
    1.00 or 3.00 specs. Remove erroneous code that generated odd error
    messages when a shader tried to apply certain kinds of field selection
    on a matrix.
    
    BUG=angleproject:1118
    TEST=angle_unittests, dEQP-GLES3.functional.shaders.swizzles.*
    
    Change-Id: I7bbf5d0cbaee3f21d20b830d904c0feef445dd78
    Reviewed-on: https://chromium-review.googlesource.com/293190
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 391befef5ef09cad6ecc5ca344fa3255e7d714bb
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Aug 12 16:30:38 2015 +0300

    Revert "Add pragma errors for malformed pragmas."
    
    Since this commit was made, dEQP tests were fixed to check that
    unrecognized pragma tokens only generate warnings, not errors.
    
    This applies to both ESSL1.00 and ESSL3.00, which specify this
    behavior in section 3.4 Preprocessor.
    
    BUG=angleproject:989
    TEST=dEQP-GLES2.functional.shaders.preprocessor.pragmas.*
    
    This reverts commit d3c29f57aaeb451b149bbb9fd17b3f1f99101c52.
    
    Change-Id: Ie4e0ec061fa3164d6f3872ac0016a063056ed110
    Reviewed-on: https://chromium-review.googlesource.com/293181
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 77a90c26fd9984e26f990d987706559217c6ac81
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 11 16:33:17 2015 -0400

    Reland of "Store the applied element array buffer as a binding pointer."
    
    To be consistent with how we start vertex attributes. A null pointer
    indicates we're using the streaming buffer.
    
    Will also aid the dirty state bits refactor.
    
    The re-land fixes a crash with WebGL related to element array buffers.
    
    BUG=angleproject:1040
    TEST=WebGL CTS, end2end_tests, unittests
    
    Change-Id: I9b82e06825bf95f0fc2b7c7427e1eb6dd257c1ee
    Reviewed-on: https://chromium-review.googlesource.com/290044
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit c5cf9bc47d0ee028adbbf9e9f94ca567eec601dc
Author: Cooper Partin <coopp@microsoft.com>
Date:   Thu Aug 6 10:46:48 2015 -0700

    Fixed compiler warning C4267 'conversion from 'size_t' to 'type', possible loss of data'
    
    BUG=angleproject:1120
    
    Change-Id: I01ef10bea7f487c2b394d030c76628f38d2ea645
    Reviewed-on: https://chromium-review.googlesource.com/292780
    Tested-by: Cooper Partin <coopp@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 27446bda2196139b25f836dc8b313b3a8a8c3209
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Aug 10 14:59:53 2015 +0300

    Move traverse functions under TIntermTraverser
    
    This enables implementing specialized variants of TIntermTraverser.
    Intermediate subclasses of TIntermTraverser are expected to maintain
    contextual information in their traverse* functions, which is then used
    by the visit* functions in the actual traversers.
    
    This approach is better than adding a flag to TIntermTraverser, since
    it will make the code cleaner and easier to understand.
    
    Traverse() functions in TIntermNode subclasses are still kept around to
    redirect calls to TIntermTraverser traversal functions. This is less
    hacky than choosing the function with switch/case in TIntermTraverser
    would be, and if new TIntermNode subclasses get added, it's not as likely
    that adding the traversal support would be forgotten.
    
    TEST=angle_unittests
    BUG=angleproject:1116
    
    Change-Id: Ie6889be1d7e955518f13cd3390dce17871ba49b5
    Reviewed-on: https://chromium-review.googlesource.com/292720
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit b4b0b48247f285c7326c7729c49c04b3cc1aa319
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Aug 11 13:45:52 2015 -0400

    Fix missing and incorrect ordering of FunctionsWGL member initialization.
    
    BUG=angleproject:890
    
    Change-Id: Id55d941a95cf38f825b9a52fc8043e0e129f7a82
    Reviewed-on: https://chromium-review.googlesource.com/292631
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 4f4884946f04fed310103c728b1ced65942439c3
Author: Cooper Partin <coopp@microsoft.com>
Date:   Fri Aug 7 16:05:25 2015 -0700

    Fixed compiler warning C4457 'declaration of 'node' hides function parameter'.
    
    BUG=angleproject:1119
    
    Change-Id: Ie3de5a776b5860b1ca502cee9e2b19c41cd3bfb2
    Reviewed-on: https://chromium-review.googlesource.com/292051
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Cooper Partin <coopp@microsoft.com>

commit b459fb0491cf0e51023138e8f691eb85a5c36140
Author: Cooper Partin <coopp@microsoft.com>
Date:   Fri Aug 7 16:12:39 2015 -0700

    Fixed compiler warning C4456 'declaration of variable hides previous local declaration'.
    
    BUG=angleproject:1119
    
    Change-Id: I99572711ceeae94fb920d197c86e741945d3b60b
    Reviewed-on: https://chromium-review.googlesource.com/292279
    Tested-by: Cooper Partin <coopp@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 8168b4bd53a6ccd2d4d87dfe9e4b321b97b1d65c
Author: Cooper Partin <coopp@microsoft.com>
Date:   Fri Aug 7 16:02:10 2015 -0700

    Fixed compiler warning C4838 'conversion from size_t to LONG requires a narrowing conversion'.
    
    BUG=angleproject:1119
    
    Change-Id: I2c879193dc122e6c45d0462abc91f39f5d332506
    Reviewed-on: https://chromium-review.googlesource.com/292156
    Tested-by: Cooper Partin <coopp@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 149e6e6987be46adc091b3d91c6357e6ca90fa49
Author: Cooper Partin <coopp@microsoft.com>
Date:   Fri Aug 7 16:18:18 2015 -0700

    Fixed compiler warning C4458 'declaration of variable hides class member'.
    
    BUG=angleproject:1119
    
    Change-Id: Ibc7cfdea72abe402cbfa1c10e0ada7576fa1cfa2
    Reviewed-on: https://chromium-review.googlesource.com/292052
    Tested-by: Cooper Partin <coopp@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 1e0bc3ad2ae2dbf3a4b94c5540d450721d35a847
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 11 08:12:21 2015 -0400

    Implement dirty bits acceleration for Current Values.
    
    BUG=angleproject:1040
    TEST=angle_end2end_tests,angle_perftests,WebGL
    
    Change-Id: If471cfb9676795d5cc985eea52ad7144d4544ed1
    Reviewed-on: https://chromium-review.googlesource.com/289559
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 3dfcdcb635dadabf8f2239347dbb512929d50f24
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 10 14:28:54 2015 -0400

    D3D: Fix buffer overflow in VertexBuffer.cpp.
    
    Under certain situations an integer overflow could lead to ANGLE
    writing to places where it shouldn't.
    
    BUG=518206
    
    Change-Id: I9217685daecb160a4072fbf79c26e5bee9f4621e
    Reviewed-on: https://chromium-review.googlesource.com/292391
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit bd136f9a0d30ef60ee0a4f7757452c69216230b5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 10 14:51:37 2015 -0400

    Reland of "D3D11: Fix draw perf regression with input layouts."
    
    f8dd7b10 fixed unnecessary shader compiles, but introduced a draw
    call perf regression. Fix the regression robustly by storing a
    minimal set of input layout elements/vertex attribute info,
    but also handle the case where the vector sizes mismatch between
    a cached and new vertex layout.
    
    Reland with fix for comparison warning.
    
    BUG=510151
    
    Change-Id: I578ddbb5b5bb12e7c1a901f23c7b5fcbd64b5d23
    Reviewed-on: https://chromium-review.googlesource.com/292460
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 194814e3c8f6a0a69c6271e68cefdd8ba54c5e1f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Aug 10 14:34:46 2015 -0400

    Fix missing colon in codereview.settings.
    
    BUG=504872
    
    Change-Id: Ib69830a556fe06c111f41d78811c7115b0d8314c
    Reviewed-on: https://chromium-review.googlesource.com/292450
    Tryjob-Request: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 00c782e8a14c5079547dccdca7472f395e8216f1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 10 17:54:30 2015 +0000

    Revert "D3D11: Fix draw perf regression with input layouts."
    
    size_t comparison warning in Win32.
    
    src\libangle\renderer\d3d\programd3d.cpp(2084) : warning C4018: '<' : signed/unsigned mismatch
    
    BUG=510151
    This reverts commit bf3f780c0a281cfe6192aa5635b02a01314f7fd3.
    
    Change-Id: I5565b697ca29270375049f3e855437fa19157de9
    Reviewed-on: https://chromium-review.googlesource.com/292331
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit bf3f780c0a281cfe6192aa5635b02a01314f7fd3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 10 10:47:57 2015 -0400

    D3D11: Fix draw perf regression with input layouts.
    
    f8dd7b10 fixed unnecessary shader compiles, but introduced a draw
    call perf regression. Fix the regression robustly by storing a
    minimal set of input layout elements/vertex attribute info,
    but also handle the case where the vector sizes mismatch between
    a cached and new vertex layout.
    
    BUG=510151
    
    Change-Id: If5e9ea4a4c9edaa7a78c8daa44bbe7d9927dc4e4
    Reviewed-on: https://chromium-review.googlesource.com/292390
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 14ecb13fcbf18a2b15e8c853e9e9128da95e1b3a
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Aug 10 11:06:04 2015 -0400

    libGLESv2.gypi move the link to X11 to libANGLE (vs. libGLESv2)
    
    This fixes a bot compilation failure that started happening after
    unittest started using Display stuff that use X11. Because
    angle_unittests was linking against libANGLE and not libGLESv2, it
    didn't get linked to X11, which produced a link error.
    
    BUG=
    
    Change-Id: I8f1f0dbcb13bb7c9897f235b72c4d4896a7b8a6c
    Reviewed-on: https://chromium-review.googlesource.com/292380
    Tested-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit 19b890af78604e3c1db2c0f47d065391e3d99eab
Author: Kimmo Kinnunen <kkinnunen@nvidia.com>
Date:   Fri Aug 7 15:01:04 2015 +0300

    Import new MurmurHash3 to fix g++ 4.9.2 errors
    
    The code is from http://smhasher.googlecode.com/svn/trunk/
    revision 152.
    
    Fixes error:
    ../../src/third_party/murmurhash/MurmurHash3.cpp:57:41: error: inlining failed in call to always_inline ‘uint32_t getblock(const uint32_t*, int)’: function body can be overwritten at link time
     FORCE_INLINE uint32_t getblock ( const uint32_t * p, int i )
    
    The error was previously fixed by adding a pragma to ignore the warning.
    
    The problem the compiler is complaining is that the function is visible
    to outside of the compilation unit. This can be fixed by making the
    function inline (as in the new version of the MurmurHash3.cpp) or
    static.
    
    Change-Id: I7a1262964489d72de8b4707ca2284363c8b46e20
    Reviewed-on: https://chromium-review.googlesource.com/291620
    Tested-by: Kimmo Kinnunen <kkinnunen@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Dongseong Hwang <dongseong.hwang@intel.com>
    Tested-by: Dongseong Hwang <dongseong.hwang@intel.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 8afe1e1b83971283507280c6423ee3e2e8f5abef
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Aug 5 18:00:01 2015 +0300

    Track that indices of l-values are not required to be l-values
    
    In an expression like a[ind]++, a[ind] is required to be an l-value but
    ind is not. Reset the l-value required flags before traversing the index
    of an indexing operation, so that this is accurately tracked. After the
    index has been traversed, the previous state of the l-value required
    flags is restored.
    
    New tests are added to angle_unittests cover this functionality.
    
    TEST=angle_unittests
    BUG=angleproject:1116
    
    Change-Id: I8929ec01e85e672c83ef7d385e455b7df8682f4b
    Reviewed-on: https://chromium-review.googlesource.com/290561
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit a26ad58dab8300070ba8dba152b99611cfe6e2aa
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Aug 4 13:51:47 2015 +0300

    Track where l-values are required in AST traversal
    
    This functionality is refactored out of EmulatePrecision to be a common
    feature of TIntermTraverser. This is done since tracking where l-values
    are required will be useful for other traversers. For example, it will
    be needed for converting dynamic indexing of matrices and vectors to
    function calls. This change adds some overhead to all tree traversers,
    but the overhead is expected to be small for typical shaders which don't
    contain too many user-defined functions.
    
    BUG=angleproject:1116
    TEST=angle_unittests
    
    Change-Id: I54d34c2b5093ef028f2b24d854c11c0195dc1dbb
    Reviewed-on: https://chromium-review.googlesource.com/290514
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit 45808a1706d6a51988bddf611639583fd20772f2
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Aug 7 13:05:12 2015 -0400

    Use WGL_ARB_pixel_format to choose the pixel format when available.
    
    BUG=angleproject:890
    
    Change-Id: If10ea7e1cb670bb3cd6fdcf40344d1c1e0acd862
    Reviewed-on: https://chromium-review.googlesource.com/291650
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 1b94d43229b0ebe1e81453239b75cae232f79bbf
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 7 13:23:23 2015 -0400

    Implement dirty bits for RendererGL's basic state.
    
    BUG=angleproject:1040
    TEST=angle_end2end_tests,angle_perftests,WebGL
    
    Change-Id: I72beaf7e178e042440337fbb8b9669638c5ad016
    Reviewed-on: https://chromium-review.googlesource.com/289558
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 519a5be2a5b47bf6fd97bc3c619be4a275faacad
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 23 11:07:29 2015 -0400

    Update ANGLE's GPU test expectations code.
    
    Pull over the more recent changes from Chromium which include the
    graphics API, which we can use for specific API suppressions for
    the dEQP tests.
    
    Also update the docs with detailed steps for updating from Chrome.
    
    BUG=None
    
    Change-Id: I0cb7d8268fbb2778c0160a58f1a10ef4a92c9c61
    Reviewed-on: https://chromium-review.googlesource.com/287810
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit b18609b9f5fd05348f44c437061f8c160f4fe6e6
Author: Kimmo Kinnunen <kkinnunen@nvidia.com>
Date:   Thu Jul 16 14:13:11 2015 +0300

    Implement ES 2,3 parts of EXT_blend_func_extended for shader translation
    
    Exposes gl_SecondaryFragColor, glSecondaryFragData[] and
    gl_MaxDualSourceDrawBuffers to GLES SL 1.0.
    
    Relaxes rules for undefined output locations for GLES SL 3.0
    and exposes gl_MaxDualSourceDrawBuffers.
    
    If the output GL context is GL ES 2.0 or 3.0:
    The emulation layer is expected to turn on EXT_blend_func_extended
    if the output GL context supports it.
    
    If the output GL context is GL:
    The emulation layer is expected to turn on EXT_blend_func_extended
    if the output GL context supports ARB_blend_func_extended or if GL
    context is 3.2 or later.
    
    If the source shader spec is GLES SL 2.0: The emulation layer is
    expected to inspect the shader compilation output variables upon
    linking. If output target is GL SL, the emulation layer should bind
    color location 0, index 1 to "angle_SecondaryFragColor" if variable
    "gl_SecondaryFragColorEXT" is used. Alternatively, emulation layer
    should bind "angle_SecondaryFragData" to locations 0,1,2,3,..., all
    color index 1, if "gl_SecondaryFragData" array is used.
    (The caller can not bind the locations or specify output variables.)
    
    If the source shader spec is GLES SL 3.0:
    The emulation layer is expected to do location auto-resolve of the
    the output variables that have undefined output locations that have
    not been bound by the caller.
    (The caller can not use gl_ built-ins, so nothing to do with those.)
    
    BUG=angleproject:1085
    TEST=angle_unittest
    
    Change-Id: I5cafe205b0c29478b0dcd24aa89a7b0000f5d046
    Reviewed-on: https://chromium-review.googlesource.com/287580
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Kimmo Kinnunen <kkinnunen@nvidia.com>

commit 3574c614578125562c5abe243b70d37f67d351ea
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Aug 7 10:37:24 2015 -0400

    Fix warnings caused by gmock on linux
    
    When mocking functions gmock uses the keyword virtual instead of
    override and this conflicted with our usage of override for the
    destructor (there is a warning for using all one or the other).
    
    BUG=
    
    Change-Id: I9dd9204d5755dd3a588a32d438de3c1018ba07cd
    Reviewed-on: https://chromium-review.googlesource.com/291630
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit b44440d8dd5077948cf7561e4c7d78cda978660c
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Jul 22 17:54:20 2015 -0400

    ANGLETest::SetUp: resize the window only if needed.
    
    This avoids a flickering of the window at the start of every test.
    
    Reland with a speculative fix for ViewportTest
    
    BUG=angleproject:1105
    
    Change-Id: I83e89881de5b6f58cfb3e14cbe324fd9547f2836
    Tested-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-on: https://chromium-review.googlesource.com/288533
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit b4191c3e6bff719bec7da27d0ba074784cec1c73
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Aug 6 10:29:12 2015 -0700

    ViewportTest::SetUp set the scissor to the default value
    
    Previously ViewportTest would rely on the scissor being set to the
    size of the window by default, which is a fragile assumption as the
    scissor is set to the size of the window only on the first makeCurrent.
    
    BUG=angleproject:1105
    
    Change-Id: I088565c7032fe817eb5c48a5351cc678fe42b376
    Reviewed-on: https://chromium-review.googlesource.com/291310
    Tested-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit f8dd7b10264b4d82f96ba0e914c2cdc6aa06f4d5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Aug 5 13:50:08 2015 -0400

    Refactor input layout & vertex signatures.
    
    Always size input layouts to gl::MAX_VERTEX_ATTRIBS, and use '1' bits
    to signal where we have a GPU conversion. The simplification allows us
    to more cleanly match the vertex executable signatures and makes our
    default VertexExecutable hit much more often.
    
    BUG=510151
    TEST=angle_end2end_tests,Canary WebGL, manual testing with Chromium
    
    Change-Id: I5009323c4e7e208e7a2595be46658c344517a4ff
    Reviewed-on: https://chromium-review.googlesource.com/290740
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit a840617a45541ffaaa6d7e76dcfc060dfb2b2460
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jul 21 16:53:39 2015 -0400

    Implement the egl and gl layers of EGL Image.
    
    Add end2end tests and unittests.
    
    BUG=angleproject:970
    
    Change-Id: Ie8306971730a793f08dfd09ead1bfd6ff3e4623d
    Reviewed-on: https://chromium-review.googlesource.com/291260
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 4274f7d274dfe88593fab39ab129059ba570ab15
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Aug 5 23:07:38 2015 +0000

    Revert "Implement the egl and gl layers of EGL Image."
    
    This reverts commit 22a4f38c2ca9ca430b5f976fc7fc816d88918eba.
    
    Change-Id: I07acbfe28d11675236de2ea7f6b050c25f80579a
    Reviewed-on: https://chromium-review.googlesource.com/290960
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 35ab429999fccf588cb6f6066dc9148ddc0f5d1d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Aug 5 23:05:54 2015 +0000

    Revert "Fix warnings on gcc builds in ImageTest.cpp."
    
    This reverts commit 52ff4ac92ef5dfe77e14221726a0f0ab57dc57d5.
    
    Change-Id: I11ec6e7e343dd6579f7aa13106facc65b05eb795
    Reviewed-on: https://chromium-review.googlesource.com/290940
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 52ff4ac92ef5dfe77e14221726a0f0ab57dc57d5
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Aug 5 18:20:44 2015 -0400

    Fix warnings on gcc builds in ImageTest.cpp.
    
    BUG=angleproject:970
    
    Change-Id: Ic7f451fb4c2378c7574ede7c513a5bb9d903c908
    Reviewed-on: https://chromium-review.googlesource.com/290920
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 22a4f38c2ca9ca430b5f976fc7fc816d88918eba
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jul 21 16:53:39 2015 -0400

    Implement the egl and gl layers of EGL Image.
    
    Add end2end tests and unittests.
    
    BUG=angleproject:970
    
    Change-Id: I13fc501b24c3f11bfedc810c1ff80fcf1318877c
    Reviewed-on: https://chromium-review.googlesource.com/287343
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 6b2a0b0cc2eadc6fb304db36d47fb67dec9ee474
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 3 14:15:08 2015 -0400

    Reland of "Add Iterable bitset class."
    
    This helper allows us to quickly iterate state bits from the
    Impl/Renderer layers.
    
    Re-land with no C++11 usage.
    
    BUG=angleproject:1040
    TEST=angle_unittests (Mac/Win/Linux)
    
    Change-Id: I3b6d5beb2bcff7fa3d45c9220d7c026c64c45d2e
    Reviewed-on: https://chromium-review.googlesource.com/290153
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 43613b03dfdd73f4a90661ca0f6fe497a07adfcb
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Aug 4 11:02:21 2015 +0300

    Make sure that the AST root is always a sequence node
    
    This enables inserting helper functions as an AST transformation.
    
    BUG=angleproject:1116
    TEST=angle_unittests
    
    Change-Id: I169d4d3a726d0e389cb3444fe9dfb4c6c5d80155
    Reviewed-on: https://chromium-review.googlesource.com/290513
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit ef1eb273030023fc9bc6bffa75809c691792b186
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Aug 3 10:14:44 2015 -0700

    DisplayGLX: factor redundant getFBConfigAttribs
    
    This is very tiny code cleanup and is a noop behavior change.
    
    BUG=
    
    Change-Id: Ib850ff88eafa0bd45bb389de1b74b1e9fe4c6d8b
    Reviewed-on: https://chromium-review.googlesource.com/290146
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 6ab01b9ac55a290afaaac704ca0fcb0dd2cf1386
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Aug 3 10:16:36 2015 -0700

    FramebufferGL: Add a member to know if we are the default FBO
    
    On CGL, the default framebuffer will have a name different than 0 and
    without this change it wouldn't get special-cased as on the other
    platforms. It is assumed that the default framebuffer will get
    initialized directly by the driver or other parts of the code.
    
    BUG=angleproject:891
    
    Change-Id: Ifbe4ada58f27ad9ddb5b43697c234cb17e7504f0
    Reviewed-on: https://chromium-review.googlesource.com/290147
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit c384d2a3cd9d8ec92723685b3fcca11cc800c6aa
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jul 31 10:45:06 2015 -0400

    Add the tryserver properties to the codereview.settings file.
    
    BUG=504872
    
    Change-Id: I44b619f15e46cb3a6a3d95fd81c999d612d60184
    Reviewed-on: https://chromium-review.googlesource.com/290090
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit cc36b983096a29942b92395dcb21524a9d5480f5
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Jul 10 14:14:18 2015 +0300

    Implement ESSL 3.00 shader input/output variable type rules
    
    ESSL 3.00 allows a wider variety of types of input/output variables
    than ESSL 1.00, but there are still specific restrictions on structs,
    matrices and arrays.
    
    Some of the checks need to be implemented twice: once for array syntax
    where the brackets are after the type, and another time for array syntax
    where the brackets are after the variable name.
    
    This requires fixes to constant folding unit tests which were previously
    incorrectly using matrix outputs in fragment shaders.
    
    New unit tests are added for several of the rules introduced, but some
    cases are also covered by dEQP.
    
    TEST=angle_unittests, dEQP-GLES.functional.shaders.linkage.varying.rules.*
    BUG=angleproject:1061
    
    Change-Id: I655b054cfe56d376db775b96a2bb41b3ac5740b0
    Reviewed-on: https://chromium-review.googlesource.com/285482
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit 5d65cd56b977d78fcad9b74ea50bac51bd3759d8
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Jul 30 09:47:39 2015 -0700

    Surface: query swapBehavior from the Impl
    
    All the previously implemented surfaces used to preserve the content of
    the surface on a swap but this is no longer the case with CGL.
    
    BUG=angleproject:891
    
    Change-Id: I264c579bcbbd22b4eeb09e78aa95751d223694fc
    Reviewed-on: https://chromium-review.googlesource.com/289871
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit afe44c41cde9be7ca72968f63580cd6afa89c65e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jul 31 16:54:31 2015 -0400

    D3D: Add timer histogram for D3DCompile.
    
    BUG=516027
    
    Change-Id: Ibbf45c863570581ea79e198604cd4c5cc1836620
    Reviewed-on: https://chromium-review.googlesource.com/289996
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit ef41279c2ed4eb657d869e81d4d69f533e763b6f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jul 31 16:44:38 2015 -0400

    Add scoped timer histogram helper macros.
    
    These macros replace a lot of repeated timing code, and mirror how
    Chromium operates.
    
    BUG=516027
    
    Change-Id: Ib03e35d0f3b8638b9b0e8785c397c8381f16b041
    Reviewed-on: https://chromium-review.googlesource.com/289995
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit ea1be878e64c2df34cd1948b36be3e93ca45315f
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Jul 30 07:04:13 2015 -0700

    Change the NSGL skeleton to be a CGL skeleton
    
    The previous skeleton was name NSGL because it seemed the easier route
    to go, however Chrome uses CGL internally, which we want to match.
    
    BUG=angleproject:891
    
    Change-Id: I00eb597080c8b735545750dfcd6ad80dcea79300
    Reviewed-on: https://chromium-review.googlesource.com/289870
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 9988a028b7513de112857d2415d20e991ee8d974
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 3 12:46:45 2015 +0000

    Revert "Add Iterable bitset class."
    
    std::to_ullong is c++11, failing on Mac.
    
    BUG=angleproject:1040
    
    This reverts commit 37a9e71246e2a3343289267e5d7e123948924bd3.
    
    Change-Id: I5cecd1fe95b889feffb556f67d082cec585256f4
    Reviewed-on: https://chromium-review.googlesource.com/290211
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 37a9e71246e2a3343289267e5d7e123948924bd3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 30 11:21:55 2015 -0400

    Add Iterable bitset class.
    
    This class allows us to quickly notify Impl/Renderer layers of
    which state changed.
    
    BUG=angleproject:1040
    TEST=angle_unittests (Mac/Win/Linux)
    
    Change-Id: I2f27bc65b4f627a261e94e3e3b7095b169986cc6
    Reviewed-on: https://chromium-review.googlesource.com/289557
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit b70b63e8e49fc3f0321c3b28a9b74232f8c1d737
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 30 15:28:19 2015 -0400

    Add trace event for D3DCompile.
    
    Adds more profiling help for startup shader compiles in Chrome.
    
    BUG=510151
    
    Change-Id: I550b55b1280542d1eaab9ed6166387b663cafffe
    Reviewed-on: https://chromium-review.googlesource.com/290091
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit d17c016bd4f28e020f09615c2175d99567a6a7d1
Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
Date:   Mon Oct 27 14:10:35 2014 -0400

    Add support for RESOURCE_MISC_SHARED_KEYEDMUTEX
    
    Change-Id: I225f38b4616ac47e690dccbcb67074fedc571d61
    Reviewed-on: https://chromium-review.googlesource.com/225642
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 2e5797e3cdc8f0ce818e3e942417aba65a4be3ab
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jul 29 16:20:28 2015 -0400

    Log EGL initialize errors to the platform.
    
    This will allow us to show more extended error info in about:gpu
    in Chromium.
    
    BUG=angleproject:966
    BUG=515229
    
    Change-Id: I24c8f33ac3576395ff13dbf7f4664c649af18e33
    Reviewed-on: https://chromium-review.googlesource.com/289590
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 2e5b500c05e2d94626694f463dd842ef0c6252bf
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jul 30 17:40:29 2015 +0000

    Revert "Store the applied element array buffer as a binding pointer."
    
    This reverts commit 0018c85ea45090b5de61d4be1fbfbf96a3cde48b.
    
    Change-Id: Ieab61c0a4cd1b24d606263e9bf2bae31ea2e8ac4
    Reviewed-on: https://chromium-review.googlesource.com/289486
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 0018c85ea45090b5de61d4be1fbfbf96a3cde48b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 30 10:57:46 2015 -0400

    Store the applied element array buffer as a binding pointer.
    
    to be consistent with how we start vertex attributes. A null pointer
    indicates we're using the streaming buffer.
    
    Will also aid the dirty state bits refactor.
    
    BUG=angleproject:1040
    TEST=WebGL CTS, end2end_tests, unittests
    
    Change-Id: I7a9167282b60dbe0cbb9f0e5d9e3770890ffeb71
    Reviewed-on: https://chromium-review.googlesource.com/284619
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 13e7c7e62d40a1b3be5f958954333380c8636aec
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jul 30 14:17:29 2015 +0000

    Revert "Names of built-in functions cannot be redeclared as functions"
    
    Causing failures in the WebGL1 test: conformance/glsl/misc/shader-with-non-reserved-words.html
    
    This reverts commit b5f88853ea80ea112368bb15999b363db0e4c648.
    
    Change-Id: I2105c8040057665abda00435e8c0ff8a83af3645
    Reviewed-on: https://chromium-review.googlesource.com/289192
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 385a1d315cd2b8aca5349532b57a7639e450ffd4
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jul 29 16:45:12 2015 -0400

    Fix reference leak in Blit9.
    
    BUG=angleproject:1111
    
    Change-Id: I0c71b765e8589a7387f4fd40f9dc453ed06c05b9
    Reviewed-on: https://chromium-review.googlesource.com/289591
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit cce24e9c707a214b0379d71557d377ba08e8373f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jul 29 15:14:29 2015 -0400

    dEQP-GLES2: Reland of "Skip flush/finish test on Windows."
    
    This test is having flaky timeouts on the bots. Disable it for now.
    The re-land fixes the test syntax, and ensures we will see any errors
    in test config as test failures on the bots.
    
    BUG=angleproject:1107
    TEST=angle_deqp_gles2_tests runs
    
    Change-Id: Ia4fa8affb70e4474d8e43ff87ee86328aa47ebeb
    Reviewed-on: https://chromium-review.googlesource.com/289580
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 79d059f80de0b2ddabd5837cb50138a8fd05ae07
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jul 28 15:03:28 2015 -0400

    Fix uniform array handling in ProgramGL.
    
    Our validation wouldn't correctly handle single-element arrays because it
    was checking size > 1 instead of isArray().  This caused issues in
    ProgramGL on some drivers that optimized the array size (AMD) if some elements
    were unused.
    
    BUG=angleproject:882
    
    Change-Id: I417d13cd86380e2c6caa688f6398709a74692e21
    Reviewed-on: https://chromium-review.googlesource.com/289201
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit b5f88853ea80ea112368bb15999b363db0e4c648
Author: Arun Patole <apatole@nvidia.com>
Date:   Thu Jul 23 17:37:39 2015 +0530

    Names of built-in functions cannot be redeclared as functions
    
    With ESSL 3.00, names of built-in functions cannot be redeclared as
    functions and therefore overloading or redefining builtin functions
    is an error.
    This is fixed by inserting unmangled built-ins into the symbol table
    and then checking if the new function declaration matches any of the
    built-in in symbol table.
    
    BUG=angleproject:1066
    TEST=angle_unittests(new: ParseESSLFunctionsTest), dEQP Tests
    dEQP-GLES3.functional.shaders.functions.invalid.overload_builtin_function*
    (2 tests started passing with this change)
    
    Change-Id: I0e027e588664e604f29c130028178315c3e21631
    Reviewed-on: https://chromium-review.googlesource.com/287801
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 6db9adac284d173b2722415edf858064a5f50b5c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jul 29 19:13:10 2015 +0000

    Revert "dEQP-GLES2: Skip flush/finish test on Windows."
    
    Incorrect syntax is making the bots skip all tests.
    
    BUG=angleproject:1107
    
    This reverts commit e8c8de2da7907579dd25273bbb422143586e79b1.
    
    Change-Id: I4469b6b320f8754af576875128e4e3fb210c67b6
    Reviewed-on: https://chromium-review.googlesource.com/289501
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 1747603ebdc0b88fb235e32b38acb12ef5fadf56
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jul 29 09:54:40 2015 -0400

    Remove compiler_tests.gypi and preprocessor_tests.gypi.
    
    These files were a relic of a previous structure, we can safely
    remove them now that chrome uses angle_unittests.gypi.
    
    BUG=None
    TEST=compiles standalone and with chromium
    
    Change-Id: If9a09122f664b740099b4270f5acc5627fc5ac35
    Reviewed-on: https://chromium-review.googlesource.com/289343
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit aadf5117b1c8b7064ff8d0c9ccbc4400b96a5b1a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jul 29 01:21:20 2015 -0400

    Fix incorrect extension check.
    
    BUG=angleproject:884
    
    Change-Id: Ia201ac60e337fd45ef72cc254bcb36d333418613
    Reviewed-on: https://chromium-review.googlesource.com/289333
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit ac319fcc22db31a7f477a402ef297ac9ee2460fd
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Jul 28 16:48:55 2015 -0400

    EGLContextCompatibility: remove suppression
    
    BUG=angleproject:1109
    
    Change-Id: I551dbf79b98798f06fd5cbe1b005dc2410daaa6b
    Reviewed-on: https://chromium-review.googlesource.com/289274
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 9bcfe6727fad7d3fd246011d64d2633f66ff18dc
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Jul 28 16:44:52 2015 -0400

    DisplayGLX::generateConfigs filter by MS and Accum buffers
    
    FBConfigs where missing some filtering that wasn't needed on NVIDIA:
    the multisample and accumulation buffers must be the same as the
    context's config otherwise glXMakeCurrent will fail. See
    FBConfigCompatibility.md for more details.
    
    BUG=angleproject:1109
    
    Change-Id: Ied3336f9f5227594b143c884c4546fd603238b47
    Reviewed-on: https://chromium-review.googlesource.com/289273
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit b2e33b90260d52f0aa20100ceb3b7a9ecd82f7bd
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Jul 28 13:06:35 2015 -0400

    X11Window::initialize remove a small code redundancy
    
    BUG=
    
    Change-Id: Id5f98332129b3cc854254187b494bf6a97921dbd
    Reviewed-on: https://chromium-review.googlesource.com/289272
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 23a2ae0c8f02b0d86dc7224fb76ed7178b0afe08
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jul 28 12:42:52 2015 -0400

    Centralize GL format workarounds.
    
    Instead of trying to encapsulate the GL texture format workarounds into
    tables, use functions that do manual checks for specific cases.  Simplifies
    the logic.
    
    Fixes:
     * conformance/extensions/ext-sRGB.html
     * conformance/extensions/oes-texture-half-float.html
     * conformance/extensions/oes-texture-half-float-with-canvas.html
     * conformance/extensions/oes-texture-half-float-with-image.htm
     * conformance/extensions/oes-texture-half-float-with-video.html
    
    BUG=angleproject:884
    
    Change-Id: Ifb719fff908680fddc7c53a544e2284a42a58356
    Reviewed-on: https://chromium-review.googlesource.com/289082
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit cbdf73666e5dedb692ed06774685c5b31bbdbed0
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Jul 21 15:47:47 2015 -0700

    Add DebuggingTips.md with a tip about using apitrace
    
    BUG=angleproject:892
    
    Change-Id: I0999b0d3b043d412c092350f7d20560cb8b87ff7
    Reviewed-on: https://chromium-review.googlesource.com/287450
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 14389ccf7ea45be0caefa5520db35c5a12971be3
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jul 23 10:57:20 2015 -0400

    Always use sized internal formats for textures in TextureGL.
    
    On desktop GL, using an internal format of GL_RGBA produces GL_RGBA8
    textures even if format is set to GL_FLOAT.  Use sized internal formats
    whenever possible to ensure that the internal format of the texture is
    the expected format.
    
    Work around issues with Intel and AMD drivers that always round up when
    writing to a 1-bit alpha framebuffer format.
    
    Fixes:
     * conformance/extensions/oes-texture-float-with-image-data.htm
     * conformance/extensions/oes-texture-float-with-image.html
     * conformance/extensions/oes-texture-float.html
     * conformance/extensions/oes-texture-half-float-linear.html
     * conformance/extensions/oes-texture-half-float-with-image-data.html
     * conformance/extensions/oes-texture-half-float-with-image.html
     * conformance/extensions/oes-texture-half-float.html
    
    Reland of https://chromium-review.googlesource.com/#/c/288350/
    
    BUG=angleproject:884
    
    Change-Id: Ia2f9251d12dd3bbc7b6918d46e61623d0abedfac
    Reviewed-on: https://chromium-review.googlesource.com/288584
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit d71620aa7352c38ee9ba7c99930dac7ed960fbc1
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Jul 24 08:06:31 2015 -0700

    Add IndexBufferOffsetTest
    
    This test that using glDrawElements with an offset and an index buffer
    works correctly with or without a static copy of the buffer in D3D.
    
    BUG=510585
    
    Change-Id: I4574a4058cc803e2ee0306e5bac52b6df6a71530
    Reviewed-on: https://chromium-review.googlesource.com/288352
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 53cabecc041777a27013f4321faf14967bc52855
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Jul 24 10:52:14 2015 -0700

    BufferD3D: reinit static data only when the usage is static
    
    Previously, once a dynamic buffer had an associated static data, it would
    be considered as static and the static data would be always be
    reinitialized just after having been invalidated.
    
    BUG=510585
    
    Change-Id: I403e91d35d11efe17f52947b2182f7b8febd7922
    Reviewed-on: https://chromium-review.googlesource.com/288351
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit cab7e1d1c000af8f3642b7fb501c92fe6b1cd25f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jul 27 11:20:41 2015 -0400

    Add stubs for RendererGL workarounds.
    
    BUG=angleproject:884
    
    Change-Id: I9e48803f6150b9d8cd70a36ab9197f78fd01a50f
    Reviewed-on: https://chromium-review.googlesource.com/288583
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 6941a55635b48ca377536490e57cf765ae893a85
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jul 27 11:06:45 2015 -0400

    Rename Workarounds to WorkaroundsD3D.
    
    It is not referenced outside of the d3d classes.
    
    BUG=angleproject:884
    
    Change-Id: Ibeec034b1b78b569bea2f1c77d6a686b58b8e010
    Reviewed-on: https://chromium-review.googlesource.com/288582
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit c64d993d44deccb12d7e1448b3e795954feef4ef
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 27 10:55:25 2015 -0400

    StateManagerGL: Use an array instead of map for FBOs.
    
    The std::map became a significant bottleneck for draw calls.
    
    BUG=angleproject:959
    
    Change-Id: I28176d1474fe5cff05018f89878ea8b2a3e3f9f1
    Reviewed-on: https://chromium-review.googlesource.com/288702
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit e8c8de2da7907579dd25273bbb422143586e79b1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 27 10:09:31 2015 -0400

    dEQP-GLES2: Skip flush/finish test on Windows.
    
    This test is having flaky timeouts on the bots. Disable it for now.
    
    BUG=angleproject:1107
    
    Change-Id: Iaa15672fb96f4aa3463a0613980f8a941aeafe1f
    Reviewed-on: https://chromium-review.googlesource.com/288405
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 3aa9b2e0c8ef24a74ee7e65aa3ff82bfae908952
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 27 10:46:30 2015 -0400

    dEQP-GLES3: Mark dynamic_loop_struct_array_fragment as failing.
    
    This test is failing on the bots.
    
    BUG=angleproject:1108
    
    Change-Id: Iaef3f0810c5d076b6c49bc356340c9bde014c4f5
    Reviewed-on: https://chromium-review.googlesource.com/288518
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 5e7f5c927426d2b10f13f325ef6f6fd898743727
Author: Geoff Lang <geofflang@chromium.org>
Date:   Sat Jul 25 13:52:51 2015 +0000

    Revert "Always use sized internal formats for textures in TextureGL."
    
    Causing failures on the Intel and AMD bot.
    
    This reverts commit 8d8044f7e39839a5dfbf09553f77fd4325e64d4c.
    
    Change-Id: I7dc6634eaf6f57ad84c315d74aa74d3ef2d4016f
    Reviewed-on: https://chromium-review.googlesource.com/288325
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 8d8044f7e39839a5dfbf09553f77fd4325e64d4c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jul 23 10:57:20 2015 -0400

    Always use sized internal formats for textures in TextureGL.
    
    On desktop GL, using an internal format of GL_RGBA produces GL_RGBA8
    textures even if format is set to GL_FLOAT.  Use sized internal formats
    whenever possible to ensure that the internal format of the texture is
    the expected format.
    
    Fixes:
     * conformance/extensions/oes-texture-float-with-image-data.htm
     * conformance/extensions/oes-texture-float-with-image.html
     * conformance/extensions/oes-texture-float.html
     * conformance/extensions/oes-texture-half-float-linear.html
     * conformance/extensions/oes-texture-half-float-with-image-data.html
     * conformance/extensions/oes-texture-half-float-with-image.html
     * conformance/extensions/oes-texture-half-float.html
    
    BUG=angleproject:884
    
    Change-Id: I48f220a4da518fff5831155a45c04cafcdffd33b
    Reviewed-on: https://chromium-review.googlesource.com/288350
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 5bb9af2aabba6f306901d6d63bbf19b7c128e4e7
Author: Daniel Cheng <dcheng@chromium.org>
Date:   Fri Jul 24 09:56:59 2015 -0700

    Fix a -Wswitch warning in ANGLE.
    
    BUG=505308
    
    Change-Id: I34ae3aa65ce55c4e04eecfef3c9cde9841e47140
    Reviewed-on: https://chromium-review.googlesource.com/288245
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Daniel Cheng <dcheng@chromium.org>

commit 589a0bad2ab24b82bee98e52b6b6612e085858e7
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jul 24 17:55:54 2015 +0000

    Revert "Always use sized internal formats for textures in TextureGL."
    
    Causing failures on the Intel and AMD bots which seem to have incorrect rounding for 1-bit alpha formats.
    
    This reverts commit 0bcb68f32f5790b0c10913351259fdf4bfed0c28.
    
    Change-Id: I00d333b5c10ba3f41d54bec95769f4baf07b0771
    Reviewed-on: https://chromium-review.googlesource.com/288206
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit b98c3a82f9168dd85ea02956eee2a2a8c4ef1090
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 23 14:26:04 2015 -0400

    Reformat style in ParseContext.cpp.
    
    Using git cl format.
    
    BUG=None
    
    Change-Id: Ia0ce03ae8115f45c3bcc4b022acd7e3e88518062
    Reviewed-on: https://chromium-review.googlesource.com/287833
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 1a4b1b3c716336174c184173f23fb03ea174fa65
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 23 18:27:13 2015 -0400

    Fix use-after-delete in ParseContext.cpp.
    
    This bug was exposed after a refactoring from the translator.
    
    BUG=None
    TEST=angle_unittests,angle_end2end_tests
    
    Change-Id: I13fddcbe84f87826068a557f139f6e35c674571e
    Reviewed-on: https://chromium-review.googlesource.com/287832
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 73a5b648375b29d9e2021b34f9a4f432e3297813
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jul 24 13:33:38 2015 -0400

    Only check alpha values of 0 and 1.
    
    Relying on the driver to round in one direction or the other is not
    reliable.
    
    Change-Id: Ide96864607ee6a22d2523544d6cfe8fae3116fcd
    Reviewed-on: https://chromium-review.googlesource.com/288289
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 0bcb68f32f5790b0c10913351259fdf4bfed0c28
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jul 23 10:57:20 2015 -0400

    Always use sized internal formats for textures in TextureGL.
    
    On desktop GL, using an internal format of GL_RGBA produces GL_RGBA8
    textures even if format is set to GL_FLOAT.  Use sized internal formats
    whenever possible to ensure that the internal format of the texture is
    the expected format.
    
    Fixes:
     * conformance/extensions/oes-texture-float-with-image-data.htm
     * conformance/extensions/oes-texture-float-with-image.html
     * conformance/extensions/oes-texture-float.html
     * conformance/extensions/oes-texture-half-float-linear.html
     * conformance/extensions/oes-texture-half-float-with-image-data.html
     * conformance/extensions/oes-texture-half-float-with-image.html
     * conformance/extensions/oes-texture-half-float.html
    
    BUG=angleproject:884
    
    Change-Id: I227e782fe9aae7b2e66df67c7a4519cfc79890b9
    Reviewed-on: https://chromium-review.googlesource.com/287529
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit d483e4224676cd4580c2987f472e93718aef9d27
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Jul 23 15:56:26 2015 -0400

    IncompleteTextureTest: Remove the Linux/NVIDIA suppression
    
    BUG=angleproject:892
    
    Change-Id: Iae3d1a83ccc4a6d738a78b58c295e06bfc564767
    Reviewed-on: https://chromium-review.googlesource.com/287676
    Tested-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit d1b9568f994e9e2320f96e81f8d1ecb49521634f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jul 22 14:36:15 2015 -0400

    dEQP: Remove old test expectations file.
    
    This is no longer needed by Chromium, after we land the GLES3
    expectations patch.
    
    BUG=angleproject:1071
    BUG=510822
    
    Change-Id: I63c2b020838aae8771314c959e9e7eb994bed93f
    Reviewed-on: https://chromium-review.googlesource.com/287518
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit 7f8dc4943b0d97ddac567539ab2a940fb9f8e026
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jul 23 21:29:33 2015 +0000

    Revert "ANGLETest::SetUp: resize the window only if needed."
    
    Going to try reverting this as a potential fix to failures seen on the bots.  Can re-land in the morning if the failures don't clear up.
    
    Failures seen on all windows bots now.
    
    This reverts commit 15ca829680f81b26dfbcb59e9d53554cb1b29395.
    
    Change-Id: Ic2904e00e8d53b2cc8939b36953f47f131c5e6c2
    Reviewed-on: https://chromium-review.googlesource.com/287846
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit e2bfe2cd97a80ed78dcc8cac514f305ee909cdfa
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jul 23 21:25:45 2015 +0000

    Revert "Implement gl_FragDepth for GLES SL 3.0"
    
    assertion failures in WebGL2 CTS.
    
    This reverts commit 544809610a131fe7040f2212789c62e212bbaf24.
    
    Change-Id: I2e0c7045c5b6ef9031a6e6c5916504fe68f51077
    Reviewed-on: https://chromium-review.googlesource.com/287910
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit eec431c7b0972570f9d28e9f609129a650303b5c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jul 20 16:02:32 2015 -0400

    Enable point sprites in StateManagerGL.
    
    Test it against multiple versions of the OpenGL renderer so make sure that
    both core and compatibility profile are tested.
    
    Fixes:
     * conformance/rendering/point-size.html
     * conformance/rendering/point-with-gl-pointcoord-in-fragment-shader.html
     * PointSpritesTest
     * particle_system sample
    
    BUG=angleproject:883
    
    Change-Id: I31f1c3d9bee1d191b4d731afbaa2d6de1a5c9454
    Reviewed-on: https://chromium-review.googlesource.com/287855
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 3cca86b560e614dd3e31f23fe7ded54e5dae32ab
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jul 23 19:30:46 2015 +0000

    Revert "Enable point sprites in StateManagerGL."
    
    Failures on AMD and Intel bots.
    
    This reverts commit e1bb74e7305cee5ea92ecd2b3b3d2ecad1cdee32.
    
    Change-Id: I8ae50bcf9ca365969f5231105fadc28f843aa527
    Reviewed-on: https://chromium-review.googlesource.com/287854
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 45870c77cd05ae9241712b286fbd6316cf8146a3
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jun 1 14:23:51 2015 -0400

    Enable more GL extensions.
    
    Fixes:
     * conformance/canvas/canvas-test.html
     * conformance/canvas/draw-static-webgl-to-multiple-canvas-test.html
     * conformance/canvas/to-data-url-test.html
     * conformance/context/context-attribute-preserve-drawing-buffer.html
     * conformance/context/premultiplyalpha-test.html
     * conformance/extensions/oes-texture-float-with-canvas.html
     * conformance/extensions/oes-texture-half-float-with-canvas.html
     * conformance/textures/misc/gl-pixelstorei.html
     * conformance/textures/misc/tex-image-canvas-corruption.html
    
    Change-Id: Iab37a211c498ed0eece4c1748cf8b4ab6c0f53e0
    Reviewed-on: https://chromium-review.googlesource.com/274444
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit f9ac8fea307532e31cba6240801b4a56483591f8
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Jul 23 13:40:15 2015 -0400

    Fix compilation warning in ANGLETest
    
    BUG=angleproject:1105
    
    Change-Id: I5f5f0ebea4fa83cc03df932e60e5843ba380597b
    Reviewed-on: https://chromium-review.googlesource.com/287831
    Tested-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit e1bb74e7305cee5ea92ecd2b3b3d2ecad1cdee32
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jul 20 16:02:32 2015 -0400

    Enable point sprites in StateManagerGL.
    
    Test it against multiple versions of the OpenGL renderer so make sure that
    both core and compatibility profile are tested.
    
    Fixes:
     * conformance/rendering/point-size.html
     * conformance/rendering/point-with-gl-pointcoord-in-fragment-shader.html
     * PointSpritesTest
     * particle_system sample
    
    BUG=angleproject:883
    
    Change-Id: Ib7625cb12faeac21016a9ff551aa650ba24e789f
    Reviewed-on: https://chromium-review.googlesource.com/277692
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 544809610a131fe7040f2212789c62e212bbaf24
Author: Kimmo Kinnunen <kkinnunen@nvidia.com>
Date:   Wed Jul 22 10:30:35 2015 +0300

    Implement gl_FragDepth for GLES SL 3.0
    
    Makes it an error to access gl_FragDepthEXT  in #version 300 es shader.
    
    TODO:
    Lacks the feature to make "#extension GL_EXT_frag_depth : require" an
    error for #version 300 es.
    
    BUG=angleproject:1102
    TEST=angle_unittest
    
    Change-Id: Ic313a0e1ed6369550d53885290f300fab1aaf304
    Reviewed-on: https://chromium-review.googlesource.com/287570
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 15ca829680f81b26dfbcb59e9d53554cb1b29395
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Jul 22 17:54:20 2015 -0400

    ANGLETest::SetUp: resize the window only if needed.
    
    This avoids a flickering of the window at the start of every test.
    
    BUG=angleproject:1105
    
    Change-Id: Ib277ad5cfef97e00d27408f8feaa8ccba9a5e032
    Reviewed-on: https://chromium-review.googlesource.com/287640
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit f3357ee2ba1e80d8f6acb8ff2d0da7ff14f3b64c
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Jul 22 14:10:19 2015 -0400

    EGLWindow: remove the unused width and height
    
    EGLWindow does nothing with it per se, but some code was relying on it
    to store it. Add width and height to ANGLETest and SampleApplication
    instead. Also fix a typo in PerfTestParams, widowWidth -> windowWidth.
    
    BUG=angleproject:1105
    
    Change-Id: I26da607a2e6342864b508a50ee3cf8944608f868
    Reviewed-on: https://chromium-review.googlesource.com/287379
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 0932df6158964904108b45498befdc8f39b4029a
Author: Kimmo Kinnunen <kkinnunen@nvidia.com>
Date:   Tue Jul 21 14:35:11 2015 +0300

    Expose GL built-in output variables in ShGetOutputVariables
    
    Expose GL built-in output variables in ShGetOutputVariables.
    Currently gl_FragColor, gl_FragData and gl_FragDepthEXT are exposed.
    
    The output variable names in the returned array are the input shader names,
    not the output shader names.
    
    This is needed in future features in which the emulation layer (command
    buffer/libANGLE) needs to know which output variables caller used.
    
    Example of such a feature is EXT_blend_func_extended, where
    gl_SecondaryFragColorEXT and gl_SecondaryFragDataEXT cause the need
    to bind the emulated output variables to their respective color
    indices.
    
    BUG=angleproject:1085
    TEST=angle_unittests
    
    Change-Id: I7ca3e0fe6bdd3e3c66113518aa771cbb013fc014
    Reviewed-on: https://chromium-review.googlesource.com/287230
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Kimmo Kinnunen <kkinnunen@nvidia.com>

commit 94d0e3e8ca39b2b55dcc6e6e7712597f230f7f9b
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Jul 22 14:22:05 2015 -0700

    IndexDataManager: always add the offset when streaming
    
    When the static buffer has just been invalidated we stream from the buffer
    directly for some time. This streaming forgot to offset the starting
    point, causing a bug.
    
    BUG=510585
    
    Change-Id: I8321e462841eb0bd7ed97ab78197914cbdb68c55
    Reviewed-on: https://chromium-review.googlesource.com/287525
    Reviewed-by: Hendrik Wagenaar <hendrikw@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit bc4acb4ee5bbbc638c32a58494ebb572a105a23e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jul 22 13:37:42 2015 -0400

    dEQP: Update dEQP-GLES3 test expectations.
    
    Tests are all green on my local Nvidia configuration.
    
    BUG=510822
    BUG=angleproject:1071
    
    Change-Id: I56d30089d574e795cfbd012ce7430896856d32ee
    Reviewed-on: https://chromium-review.googlesource.com/287517
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 86170f339f844e3abe8d9a804459b55c764dab2c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 21 13:01:12 2015 -0400

    Add a GLES3 GoogleTest target.
    
    BUG=510822
    BUG=angleproject:1071
    
    Change-Id: Ia2e6d0ac71e61dbed75e55994d2bf874a75fabd6
    Reviewed-on: https://chromium-review.googlesource.com/286831
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 3cf11ff46e3492953a49ae300da7993313532ec3
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jul 21 16:38:12 2015 -0400

    Make sure the given display is a valid pointer.
    
    EGL functions are supposed to return EGL_BAD_DISPLAY when the display is
    an invalid pointer.
    
    Since there is very rarely more than one simultaneous display, iterating
    through the map is not costly.
    
    BUG=angleproject:970
    
    Change-Id: I3d9b842a49c5c99f9b8fad3d7ef53f9f5d3057ba
    Reviewed-on: https://chromium-review.googlesource.com/287342
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 585f2a848388295c2edb2e9321e467597740de0f
Author: Kimmo Kinnunen <kkinnunen@nvidia.com>
Date:   Tue Jul 21 10:45:40 2015 +0300

    Print outputs when printing variables in shader translator
    
    Print outputs when printing variables in shader translator.
    
    BUG=angleproject:1085
    
    Change-Id: I67e301c4392fef70e6a186d404aff720b601a08d
    Reviewed-on: https://chromium-review.googlesource.com/287214
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 36da926916a9daa2fafe453eff7b256a95e95e65
Author: Kimmo Kinnunen <kkinnunen@nvidia.com>
Date:   Tue Jul 21 10:43:58 2015 +0300

    Add ability to select GLSL output type to shader translator
    
    User can pass -x=g130, ..., -x=g450 to get output in specific GLSL
    version. Passing -x=g selects GLSL compatiblity profile.
    
    BUG=angleproject:1085
    
    Change-Id: Ia680e219eacb0e8a53b711ae277ecebf069dfdc7
    Reviewed-on: https://chromium-review.googlesource.com/287220
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Kimmo Kinnunen <kkinnunen@nvidia.com>
    Commit-Queue: Kimmo Kinnunen <kkinnunen@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 591516ffa38ea77820be1dece73ae7b0a04cdb8a
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Jul 21 10:17:50 2015 -0700

    Add skeleton for DisplayNSGL and WindowSurfaceNSGL
    
    BUG=angleproject:891
    
    Change-Id: Ie79e76c68775e1144ac224a4f1eba85f8a889269
    Reviewed-on: https://chromium-review.googlesource.com/286829
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit dcab33be50c7a7880254964cad973d825178a3f3
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jul 21 13:03:16 2015 -0400

    Add stubs for EGL image entry points and validation.
    
    BUG=angleproject:970
    
    Change-Id: Ic3b9f9f60146920571e0e5f00fac2273c35fff2f
    Reviewed-on: https://chromium-review.googlesource.com/287162
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit cc7bbafa83b89a493fa8191f925d8e17b87222fe
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 21 15:14:10 2015 -0400

    ES3: Fix off-by-one max enabled attrib.
    
    In some cases we would have a 'max enabled' attrib that was checked
    incorrectly, and this could lead to edge cases which crash when we
    have a vertex attribute and buffer both NULL.
    
    BUG=angleproject:1081
    TEST=dEQP-GLES3.functional.lifetime.attach.deleted_input.buffer_vertex_array
    
    Change-Id: I62a9fa79f38340c99a708e54751d2b67dd4b6c1f
    Reviewed-on: https://chromium-review.googlesource.com/286854
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 375c37c9ab3e01c834fae5e0c04d80fb8cf36024
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 21 15:14:08 2015 -0400

    ES3: Fix crash when binding nullptr to DEPTH_STENCIL.
    
    In some cases, binding nullptr could query for the internal format
    of the null object, causing us to dereference null and crash.
    
    BUG=angleproject:1080
    TEST=dEQP-GLES3.functional.multisample.fbo_*
    
    Change-Id: I592ab31dc1efadfac003c39051632fc2a0fff0cc
    Reviewed-on: https://chromium-review.googlesource.com/286853
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 86af3d278974d1b0053942e4bc6d8118dcd8bf9b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 21 15:14:07 2015 -0400

    ES3: Fix assertion failure in validation edge case.
    
    Passing a 2D texture type to a 3D texture function could result in
    an explosion.
    
    BUG=angleproject:1079
    TEST=dEQP-GLES3.functional.negative_api.texture.compressedteximage3d
    
    Change-Id: Ibfcc4bdb334270f8fa27ebed6bcc3911986e7c7c
    Reviewed-on: https://chromium-review.googlesource.com/286852
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 1ca7467fc392ecb68822d9a7b56249514ee717e2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 21 15:14:11 2015 -0400

    Fix buffer alignment math in draw validation.
    
    We had a bug where we would require "stride * primCount" bytes when
    drawing from a buffer, when the last element would not require the
    full stride. The correct expression: "stride * (primCount-1) + size.
    
    BUG=angleproject:1086
    TEST=dEQP-GLES3.functional.vertex_arrays.single_attribute.strides.*
    
    Change-Id: I7e2897c9d18b0e9849289d033f0ae2573237e4e5
    Reviewed-on: https://chromium-review.googlesource.com/287320
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 63046e2ba238b5ba2124ce47df656c6d60c7ecb5
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jul 21 12:43:50 2015 -0400

    Add helpers for checking EGL extension availablity in tests.
    
    Also make sure that EGL_EGLEXT_PROTOTYPES is always defined so that
    extension functions can be used without loading them.
    
    BUG=angleproject:970
    
    Change-Id: I33fa3e8ed68aeda55ad69e1bc7826646f5e3ce29
    Reviewed-on: https://chromium-review.googlesource.com/287161
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit ea7c5c19c8a439f800ace232194650a37876a4e8
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Jul 21 13:45:12 2015 -0400

    Add angle_gl_library_type to allow making static libGLESv2 and libEGL
    
    With this commit angle programs can be run under apitrace: when we use
    shared libraries, the apitrace driver shim shadows ANGLE and redirects
    the GL calls to the driver, which is not what we want.
    
    BUG=angleproject:892
    
    Change-Id: I32535ba8db6202b0b5b285e86abd472366ee3d03
    Reviewed-on: https://chromium-review.googlesource.com/287270
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 096725bcbfbf9aacf40f688b7ed841cd36f3d571
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Jul 20 16:58:57 2015 -0400

    ANGLETest: set viewport after resizing to help apitrace
    
    Otherwise apitrace doesn't know the dimension of the framebuffer and
    cannot display it.
    
    BUG=angleproject:892
    
    Change-Id: Ib8ad846ca80e4783ab77c96430bb5220df1a39ab
    Reviewed-on: https://chromium-review.googlesource.com/286881
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 01c796ac8e363ae953797f9cf316ec17dc477e87
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jul 21 18:53:58 2015 +0000

    Revert "Emulate the pack/unpack functions for unorms."
    
    Causing MSAN failures on Linux.
    
    This reverts commit 1915652ee82109d7756dc8349562c3c11ea39b77.
    
    Change-Id: Ib23bec16eab22288930be0b41186e54cd8d1f921
    Reviewed-on: https://chromium-review.googlesource.com/287127
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit a7c01c621182ab3c68ed889803c494aefc211a25
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Jul 20 14:05:32 2015 -0400

    Add an angle_link_glx that can be used for debugging
    
    This replaces the dlsyming of glX entry point with linking to libGL
    which in trun allows the ANGLE to be traced using apitrace.
    
    Re-land with a trivial compilation fix (MEMBER vs MEMEBER)
    
    BUG=angleproject:892
    
    Change-Id: Ie89b6fe26eb80d3d8d48f49645d7a6254230bf5c
    Reviewed-on: https://chromium-review.googlesource.com/287143
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 819d9bc2f6e54bfe0914009babad0eca9baff4b7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 21 13:39:28 2015 -0400

    dEQP: Duplicate/rename gles2 test expectations.
    
    This will clear the way to put the GLES3 tests on the bots.
    
    BUG=angleproject:1071
    BUG=510822
    
    Change-Id: I65fc917425531f6c080bcc862802d25af10cf265
    Reviewed-on: https://chromium-review.googlesource.com/287164
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit 2c58d81de9b6de7351a840a52011cecc0dec8ed8
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Jul 21 13:31:23 2015 -0400

    Revert "Add an angle_link_glx that can be used for debugging"
    
    This reverts commit cddca5f204d9aa55c9810cf30c74997ca19a7f86.
    
    Change-Id: I07fa96a8b84308c77fb642a64f39fcacc471d96e
    Reviewed-on: https://chromium-review.googlesource.com/287123
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 6703b2658af7a394b4e81c4d2a523bfbf48e3d75
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Jul 20 14:05:32 2015 -0400

    Add an angle_link_glx that can be used for debugging
    
    This replaces the dlsyming of glX entry point with linking to libGL
    which in trun allows the ANGLE to be traced using apitrace.
    
    BUG=angleproject:892
    
    Change-Id: Ic065582401e0e1e3fce1329cde216220a1e086a8
    Reviewed-on: https://chromium-review.googlesource.com/286880
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit c4c7442d437bca39a13ecad0bd640080f2880d27
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jul 20 13:09:26 2015 -0400

    Fix missing uint cases for GLSL and ESSL output.
    
    These were causing assertions in several WebGL2 conformance tests.
    
    BUG=angleproject:882
    BUG=angleproject:1084
    BUG=483282
    
    Change-Id: I7651c359a528c95469dcbfb5da2715ae4616b49b
    Reviewed-on: https://chromium-review.googlesource.com/286592
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 9a4c8c46ef961653e1728ff4095032a4d1add1c2
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jul 21 11:03:51 2015 -0400

    Initialize all members in the default TType constructor.
    
    This is an attempt to fix use-of-uninitialized-value errors.
    Example failure: https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_msan_rel_ng/builds/68/steps/cc_unittests%20%28with%20patch%29/logs/EnlargedTextureWithAlphaThresholdFilter.GL
    
    BUG=angleproject:1044
    
    Change-Id: I5906c67a55da553e2e5fd15320a5dd4186644e87
    Reviewed-on: https://chromium-review.googlesource.com/287191
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 8518e7f69fb13a9606e20b95eb6d4029cad7a3f8
Author: Kimmo Kinnunen <kkinnunen@nvidia.com>
Date:   Thu Jul 16 14:54:08 2015 +0300

    Make all fragment shader out variables require location layout qualifier
    
    Make all fragment shader out variables require location layout
    qualifier. Previously, the last variable did not need a location layout
    qualifier if the previous variables had those.
    
    TEST=angle_unittests
    BUG=angleproject:1070
    
    Change-Id: Ifb66ee52b811409f5278eaad330d6cd9b8ea059f
    Reviewed-on: https://chromium-review.googlesource.com/287100
    Tested-by: Kimmo Kinnunen <kkinnunen@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 92139c25080ec0315f210e6b85da5ce5713f335c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jul 20 15:32:37 2015 -0400

    Always try to load the extension entry points.
    
    Despite many extensions being written against specific versions of the GL spec,
    some drivers (Intel) expose the extensions in much earlier versions.  This
    leads to issues where the extension string would be present but the entry points
    were not loaded.
    
    BUG=angleproject:1038
    
    Change-Id: Ia87bb3f038f310f6bc3e711a0b2d82717b67ae70
    Reviewed-on: https://chromium-review.googlesource.com/286525
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit ecc9688dd77383096ef7ac760de7447cfd2c7444
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jul 20 15:35:58 2015 -0400

    When the GL version is below 3.0, use GL_MAX_VARYING_FLOATS.
    
    It should be equivalent to GL_MAX_VARYING_COMPONENTS for ES2.
    
    BUG=angleproject:1038
    
    Change-Id: Ic2fe6c27a0ebd6259d70f8d28edb7d4bdd5d0c35
    Reviewed-on: https://chromium-review.googlesource.com/286526
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 8b0f0b3b7af032bf6059828efb28380e2c091cc2
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jul 20 15:59:28 2015 -0400

    Add a profile mask member to the FunctionsGL structure.
    
    BUG=angleproject:883
    
    Change-Id: I3cdf88391e77a26a77e120de0fd32296a2b079d1
    Reviewed-on: https://chromium-review.googlesource.com/286822
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 951fffd3db0fffde87eea72ac84a0433ebac8d33
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 20 16:56:52 2015 -0400

    Update ContributingCode to mention 'git cl format'.
    
    BUG=angleproject:762
    
    Change-Id: Ic0f862ac901eb793266e68ce26cc9be67d5cb12d
    Reviewed-on: https://chromium-review.googlesource.com/286862
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 90549e9d2382759ed2a1b0637b2a80a75cd206e9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 20 14:36:57 2015 -0400

    D3D: No-op ClearBufferfi calls with no DS attachments.
    
    The ES3 spec is clear that these calls should no-op, see page 187,
    
    "If a buffer is not present, then a Clear directed at that buffer has
    no effect."
    
    BUG=angleproject:1078
    TEST=dEQP-GLES3.functional.fbo.msaa.2_samples.*
    
    Change-Id: Ic521f55785d10065e2ffe2e98a68c9d7da0c2c71
    Reviewed-on: https://chromium-review.googlesource.com/286776
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 6d276c8eada7980fcb87cc98897ed05e0622f76b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 20 19:00:38 2015 +0000

    Revert "Make all fragment shader out variables require location layout qualifier"
    
    Causes a warning on Windows:
    
    compiler\translator\ValidateOutputs.cpp(37): warning C4804: '>' : unsafe use of type 'bool' in operation
    
    BUG=angleproject:1070
    
    This reverts commit 140941d066c11238ba4f2f15647fb2d65ae56faf.
    
    Change-Id: Ieed42cdda22f17c6e15c38ee1c059184869e6919
    Reviewed-on: https://chromium-review.googlesource.com/286820
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 140941d066c11238ba4f2f15647fb2d65ae56faf
Author: Kimmo Kinnunen <kkinnunen@nvidia.com>
Date:   Thu Jul 16 14:54:08 2015 +0300

    Make all fragment shader out variables require location layout qualifier
    
    Make all fragment shader out variables require location layout
    qualifier. Previously, the last variable did not need a location layout
    qualifier if the previous variables had those.
    
    TEST=angle_unittests
    BUG=angleproject:1070
    
    Change-Id: I3763b8ca38b1e14ee8456a54592c01e0fd89692c
    Reviewed-on: https://chromium-review.googlesource.com/286101
    Tested-by: Kimmo Kinnunen <kkinnunen@nvidia.com>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit 2fdd3da93987d1e4dec3bc815867840d3acdd52c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 20 10:14:54 2015 -0400

    Add clang-format integration for 'git cl format'.
    
    This will allow us to eventually make a presubmit script for ANGLE,
    and also will help new contributors who aren't as familiar with
    the style guide.
    
    One outstanding issue is the lack of proper breaking before array
    initializers. We don't use arrays all over the place, but this
    will likely require a patch for clang.
    
    BUG=angleproject:762
    
    Change-Id: I4702b1fcdfa10b7682b07316be59ec67bcf84943
    Reviewed-on: https://chromium-review.googlesource.com/285901
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 969194d471da2fec507d7ae39cbe7147b7b6be9a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 20 14:36:56 2015 -0400

    ES3-D3D11: Fix UBO vertex caching.
    
    There was a typo in the vertex shader cache which could trigger an
    overflow bug.
    
    TEST=dEQP-GLES3.functional.ubo.random.scalar_types.*
    BUG=angleproject:1077
    
    Change-Id: I5652cf9675155b627f84531e09c01b42e29278fc
    Reviewed-on: https://chromium-review.googlesource.com/286775
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit cea74be478ee97f0e25802ca0e33798e315f6664
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 20 14:36:54 2015 -0400

    D3D11: Fix regression with R32I blits.
    
    The blit refactoring mislabeled one shader as GL_RED instead of
    GL_RED_INTEGER.
    
    BUG=angleproject:1076
    TEST= dEQP-GLES3.functional.fbo.render.shared_depth_stencil.*
    
    Change-Id: I262b218c72d955a88a2d2c00b470d6a4f3568451
    Reviewed-on: https://chromium-review.googlesource.com/286774
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 689325c2fe380ea48c8946f949245b11b19c5c46
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 20 14:36:53 2015 -0400

    ES3: Add some missing unsized formats to the format tables.
    
    These were causing validation errors in the dEQP FBO tests.
    See Table 3.2 in the ES3 spec.
    
    BUG=angleproject:1074
    TEST=dEQP-GLES3.functional.fbo.completeness.renderable.texture.color0.*
    
    Change-Id: Ifbf9199c54060eb3fc1a1dac7bbd74e19e013c61
    Reviewed-on: https://chromium-review.googlesource.com/286773
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit f84159aa0eaa90aed90734aa585bbdca632a2a90
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 20 14:36:51 2015 -0400

    D3D11: Fix mapBufferRange not invalidating static data.
    
    This was causing several dEQP tests with index data to fail.
    
    BUG=angleproject:1073
    TEST=dEQP-GLES3.functional.buffer.map.read_write.render_as_index_array.*
    
    Change-Id: Ic231a561202fbcda499b7584905b80252a7407de
    Reviewed-on: https://chromium-review.googlesource.com/286772
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 9d82be8ff10294e1ac04925d6232e438fa96c01c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 20 14:36:50 2015 -0400

    HLSL: Fix uniform packing for non-square matrices.
    
    We were neglecting to transpose the types here, so were getting
    incorrect registers counts for rows and columns.
    
    BUG=angleproject:1072
    TEST=dEQP-GLES3.functional.shaders.matrix.*
    
    Change-Id: Ia0ab89bbba8b9e2d8f39e84ef4e8ad3c03bb118d
    Reviewed-on: https://chromium-review.googlesource.com/286771
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 3828b9e76bccf05300d7262df0b65fc16307ad58
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 20 14:36:48 2015 -0400

    D3D11: Use texture format, not SRV format, for mip gen test.
    
    Using the SRV format could lead to using R32F for D32F formats,
    which is incorrect.
    
    BUG=angleproject:1075
    TEST=dEQP-GLES3.functional.fbo.blit.*
    
    Change-Id: Ic81d51b888897a7f7c79e2ba1a24ab69f18d981c
    Reviewed-on: https://chromium-review.googlesource.com/286770
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 8b6587a71af518aa05ba215d35cf0d7b74e9c46d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jul 20 14:16:59 2015 -0400

    Use the type cache for the types used in the emulated GLSL functions.
    
    BUG=angleproject:1044
    
    Change-Id: I7c4bde80448b2cd64921b809a3a0dfb37c4e0f47
    Reviewed-on: https://chromium-review.googlesource.com/286643
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit bf067eff07d4bd107ca701be652558fd0df35bc0
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jul 20 14:21:34 2015 -0400

    Fix order of Renderer11 initializer list.
    
    BUG=angleproject:916
    
    Change-Id: I5be7460b737095eedb886be3e8978765c0940757
    Reviewed-on: https://chromium-review.googlesource.com/286784
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit b081e78b0a0f5ab6ee4633c9fd3a1199d52e2dd2
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Jul 20 05:40:04 2015 -0700

    Compiler: avoid an undefined behavior when using erase-remove
    
    Using that idiom on an empty vector results in an undefined behavior
    that I have seen cause a vector to get length -1 with clang 3.6 on
    Linux.
    
    BUG=
    
    Change-Id: I3bb8d8884efa29a17672b458263067644dbf0fec
    Reviewed-on: https://chromium-review.googlesource.com/286740
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit a455824c69b80f036a9e7a69517e561eb65d481d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jul 17 14:25:01 2015 -0400

    Remove GetAttachmentSerial.
    
    Cascades to remove serials from many objects.
    
    BUG=angleproject:970
    
    Change-Id: I0a74a14519da3203cd5df7ae0fa19f83393951ce
    Reviewed-on: https://chromium-review.googlesource.com/286554
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 35fff1ca828bea5d93d05425b0edeebd0c0b8416
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jul 17 14:01:48 2015 -0400

    Handle non-zero base level with mipmapping disabled in D3D9.
    
    BUG=angleproject:970
    
    Change-Id: I33120ec8121dc1265360fbbe61103e03e593af3f
    Reviewed-on: https://chromium-review.googlesource.com/286550
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 26a6ea0833c0bc76a69cbd3e14e1250cb25538b3
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jul 17 14:07:13 2015 -0400

    Add mocks of TextureImpl and RenderbufferImpl.
    
    BUG=angleproject:970
    
    Change-Id: I63a7d8363f90018827c5d8482c9d98f3fa61c573
    Reviewed-on: https://chromium-review.googlesource.com/286553
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 054fce038bcf93b1d8869a144c39da7c4168b0d7
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jul 17 14:05:24 2015 -0400

    Remove RenderbufferImpl.cpp
    
    BUG=angleproject:970
    
    Change-Id: I1606df42e6423fe84d3ab69029a37224adb89a9b
    Reviewed-on: https://chromium-review.googlesource.com/286552
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit cdb945086930b922096102a12d13a4fb21cdc85c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jul 17 14:03:27 2015 -0400

    Add a RefCountObject::getRefCount method for testing.
    
    BUG=angleproject:970
    
    Change-Id: I4fae29766ee76512375872535dbaf2d31a379de0
    Reviewed-on: https://chromium-review.googlesource.com/286551
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 1915652ee82109d7756dc8349562c3c11ea39b77
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jun 18 09:40:14 2015 -0700

    Emulate the pack/unpack functions for unorms.
    
    BUG=angleproject:1044
    
    Change-Id: I0e7bee366398159ae6b87a820f36cb51c05cb064
    Reviewed-on: https://chromium-review.googlesource.com/280362
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 4631111ad0a3bda28e931a2538c51fa902483f4b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 16 16:31:36 2015 -0400

    Update WebGL test expectations.
    
    Change-Id: I24ea67f354191697d8a577c8b21ccc1689dd3536
    Reviewed-on: https://chromium-review.googlesource.com/286016
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit a6d4e601a8eb54acd398b29481dc11fa4db49243
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Jul 16 17:19:07 2015 -0400

    X11Window::resize wait for the window to be resized before returning
    
    This will help address a bug in glReadPixels performed after a resize.
    
    BUG=angleproject:1050
    
    Change-Id: Ie204dec229582ec0e990c6f7fa22cfd44048d46e
    Reviewed-on: https://chromium-review.googlesource.com/286250
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit bb6a5f939599e05e914ab79a5c90cf516f385184
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Jul 16 17:30:04 2015 -0400

    WindowSurfaceGLX: swap after resizing the child window.
    
    This reverts ac2582d3aac25f2a5c504af146ca614761fc3f7e which was a
    speculative improvement. It turns out that resizing before the swap is
    important as it lets the driver know that it should resize the default
    framebuffer, making the following frame have a default framebuffer of
    the right size.
    
    BUG=angleproject:1050
    BUG=angleproject:892
    
    Change-Id: I84ec3728226fde9fb208f91c02a3d5a1ab71aef8
    Reviewed-on: https://chromium-review.googlesource.com/286252
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit e7d8c80ae7b4c32eb03d41ae2b3b0396a0248de3
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Jul 16 17:28:10 2015 -0400

    WindowSurfaceGLX: Do not send an unused border_pixel to XCreateWindow
    
    This was a typo that never had any effect but it could cause problems in
    Debug but in release border_pixel could have contain garbage and cause
    an X11 error.
    
    BUG=angleproject:892
    
    Change-Id: Id6dc24c726730d998b419101239b3a43d6675330
    Reviewed-on: https://chromium-review.googlesource.com/286251
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit b828b32dfe817bb248e9de3607d1cad366f4a3c9
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Jul 16 17:51:30 2015 -0400

    ANGLETest: swap after resizing the window, before running the test.
    
    This allows the test code to assume that the framebuffer size is equal
    to the window size.
    
    BUG=angleproject:1050
    
    Change-Id: Ia4928d7a1d6cddb1ae330846bb44576db6a37533
    Reviewed-on: https://chromium-review.googlesource.com/286253
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 0bf58eab58b7a4cedbf7f153030f51436a88936e
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Jul 9 12:47:29 2015 -0700

    Renderer11: expose a metric for the Buffer11 CPU copies size
    
    This will allow us to measure the impact of subsequent optimizations on
    the memory consumption of Chrome.
    
    BUG=angleproject:916
    
    Change-Id: Ib57fdfcc2950917eff33080bfb3db574595ecb6d
    Reviewed-on: https://chromium-review.googlesource.com/284637
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 185fb403782fe55b9cc66168c3fe6eeda4f68be4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 12 15:48:48 2015 -0400

    Move function prototypes and declarations out of the .y
    
    This will make the code easier to edit and maintain.
    
    BUG=none
    TEST=angle_unittests,angle_end2end_tests
    
    Change-Id: I955307d1209170fa99142103bc4d361c9eab1cc8
    Reviewed-on: https://chromium-review.googlesource.com/286145
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit b61e173a8e59965569cf4f8f7b8cb4a0ce5b535a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jun 5 11:49:55 2015 -0400

    Only sync attributes used by the current program in RendererGL.
    
    Improves draw call overhead of RendererGL.
    
    DrawCallPerf_gl:
    Before: 136973 score
    After: 153317 score
    Improvement: 11.932%
    
    BUG=angleproject:959
    
    Change-Id: Ib75f6fdd756648e4a07f6e970cda03abbdbcf009
    Reviewed-on: https://chromium-review.googlesource.com/275409
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit d5451f11b8019b929490897705918e0028b61c46
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jun 5 10:59:04 2015 -0400

    Inline comparison operators of several small ANGLE structs.
    
    Improves draw call overhead of RendererGL.
    
    DrawCallPerf_gl:
    Before: 129779 score
    After: 136973 score
    Improvement: 5.543%
    
    No noticeable difference in DLL size or draw call perf of the D3D
    renderers.
    
    BUG=angleproject:959
    
    Change-Id: Id54d49e9e2cfb69431ee26d632c58fee2c42b82c
    Reviewed-on: https://chromium-review.googlesource.com/275408
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 95137842477e4ce303efd22031015be1f3158c84
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jun 2 15:38:43 2015 -0400

    Use a map to store uniform locations instead of a vector.
    
    Some intel drivers use seemingly arbitrary integers as uniform locations.
    This causes the location vector to be resized to arbitrarily large sizes.
    
    BUG=angleproject:882
    
    Change-Id: I8db89178907dd6206eb8e646a0b426aa9bac0832
    Reviewed-on: https://chromium-review.googlesource.com/274816
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 40888aab898f0849bd05a903c1481a7bf0ec16ca
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Jul 13 15:53:23 2015 -0400

    EGLWindow: correctly retrieve mAlphaBits
    
    BUG=angleproject:1065
    
    Change-Id: I1e396d1bd4d1c65edc3ad07bb32f895135d59474
    Reviewed-on: https://chromium-review.googlesource.com/285180
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 31658f92065c98fc0f1ac3eee4e6f0d0959f2a5a
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Jul 15 12:57:34 2015 -0700

    Implement OSXWindow.
    
    BUG=angleproject:891
    
    Change-Id: If8aefa4a37ba7d1b6b08921bee61463bb20550af
    Reviewed-on: https://chromium-review.googlesource.com/285834
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 0dce07bc7d74b909da65c4f073d2eb1d46f6f27e
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Jul 15 13:00:05 2015 -0700

    X11Window: Add missing handling of Keypad's '5' key.
    
    BUG=angleproject:891
    
    Change-Id: Icb0dc3449db6982979a93a394fb9e0c58413a256
    Reviewed-on: https://chromium-review.googlesource.com/285836
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit b29690a62a42f857c2f5a2eab81b8d0b93d8b780
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Jul 15 12:59:28 2015 -0700

    OSWindow: small fix to the formatting of key event debugging
    
    BUG=
    
    Change-Id: I09ab785311ec0fa7f3eecb6484a965378a1fef0d
    Reviewed-on: https://chromium-review.googlesource.com/285835
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 2453dbcb2ddd56600c8336225abbe998c7c09580
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 14 11:35:42 2015 -0400

    Fix 2D array texture redefinition.
    
    Only happens with texture formats that require initialization.
    
    BUG=angleproject:1069
    TEST=dEQP-GLES3.functional.texture.format.sized.2d_array.* all pass
    
    Change-Id: I215d1262cddcde4ed218b6f023e67747cbc3eeaf
    Reviewed-on: https://chromium-review.googlesource.com/285347
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Brandon Jones <bajones@google.com>

commit 02df796f466cee47f42130bd8c7dbad6c72a1662
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Wed Jul 1 10:03:42 2015 -0700

    Centralize renderer limitations for non-conformant renderers
    
    Some renderer configurations (e.g. D3D11 Feature Level 9_3) have
    some limitations and aren't quite conformant. This change
    generates errors when applications hit these limitations, and
    informs developers that they must work around them.
    
    BUG=angleproject:1055
    
    Change-Id: I6a4a9e5cc71288ca366a54c769ca0eb82e79a7f7
    Reviewed-on: https://chromium-review.googlesource.com/282814
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 09e2d93b8dce503e3a39242857d67632afb92532
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 14 16:40:31 2015 -0400

    D3D11: Futher optimize input layout cache.
    
    *re-land with fix for matrix attributes*
    *re-re-land with fix for attributes with BindAttribLocation*
    
    Using the new vertex format type enum, we can shrink the size
    of the input layout tables and reduce draw call overhead
    further.
    
    BUG=angleproject:959
    
    Change-Id: I181acd3d7d519f5587cbe180fb1bca8530b7cfc2
    Reviewed-on: https://chromium-review.googlesource.com/285348
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit c1ac41bb819083318aca7fd5546dffaad495f32b
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Jul 10 13:53:46 2015 +0300

    Apply array restriction on qualified types only on ESSL1.00
    
    Add a test that checks that uniforms with an array type are allowed in
    ESSL3.00.
    
    TEST=angle_unittests
    BUG=angleproject:1061
    
    Change-Id: I6c9e8eeb3e8a6b81522c87039b93bcc0008ae317
    Reviewed-on: https://chromium-review.googlesource.com/285481
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit 8442a612cd28356fe343c5da21d250dc7be66c87
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jun 5 16:43:27 2015 -0400

    Fix texture formats that only require extensions failing requirements checks.
    
    Unset version requirements equate to UINT_MAX causing requirements checks
    for fail for formats that only need extensions such as DXT formats.
    
    Fixes tests that require compressed formats.
    
    Passes conformance/extensions/webgl-compressed-texture-s3tc.html
    
    BUG=angleproject:884
    
    Change-Id: Id810c477a359bf9d35a886c60735a91b51d1e931
    Reviewed-on: https://chromium-review.googlesource.com/275693
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 6d45a999c1db5cb7b1919a92140085e3d96b1763
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jul 14 15:16:57 2015 +0000

    Revert "D3D11: Futher optimize input layout cache."
    
    Causing assertion failures in WebGL CTS in debug. Example build: https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Debug%20%28NVIDIA%29/builds/10215
    
    This reverts commit 2ee580f10052c03a3a0e8c535bd7da82147133c3.
    
    Change-Id: Idffcd848adb6898f77b3c758b214eb31ca1f6e05
    Reviewed-on: https://chromium-review.googlesource.com/285326
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit abb0c381f9b5d9c2ae2fd906fe48b869068eb805
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Jul 13 12:01:12 2015 +0300

    Check that layout qualifiers may only appear in declarations
    
    In the shading language grammar, layout qualifiers may appear in loop
    conditions and function declarations, but this is not valid ESSL 3.00
    according to section 4.3.8.
    
    TEST=angle_unittests, dEQP-GLES3.functional.shaders.*layout*
    BUG=angleproject:1064
    
    Change-Id: I73f805247bf6678b953f2e1d45a23391e9eacb96
    Reviewed-on: https://chromium-review.googlesource.com/285040
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit 8e17a496174c49c5a12803f31bc07c7f8008e929
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jul 13 22:24:42 2015 +0000

    Revert "Fix memory layout of imageformats.h's 16-bit structs"
    
    Seeing failures in the new tests on Chrome's Intel bot: http://build.chromium.org/p/chromium.gpu.fyi/waterfall?builder=Win7%20Release%20(Intel)
    
    Also seeing failures in the BlendMinMaxTest.RGBA16F test, may be related.
    
    Reverting for now, can help diagnose the problems tomorrow if needed.
    
    This reverts commit 61d46d8740f1f93878ef324e11e4d72c57de8c3a.
    
    Change-Id: Id227f6ce8dafca24fbd2de92a2c4974e6a564c1f
    Reviewed-on: https://chromium-review.googlesource.com/285227
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 9534a8f7c4c702c3b385f8ab1011e35201585709
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jul 13 17:05:31 2015 -0400

    Fix more links and incorrect newlines in markdown files.
    
    Change-Id: I3c96b0408d80be0f47c968566301637f49fe98c6
    Reviewed-on: https://chromium-review.googlesource.com/285224
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 4ad5108df78c3e942496c0d38e65dd79dbf7462c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jul 13 17:00:14 2015 -0400

    Fix more inconsistancies with the gitiles markdown renderer.
    
    Change-Id: Ie960cc00f136d86e5e3702a8f2e2f0f1930a5f47
    Reviewed-on: https://chromium-review.googlesource.com/285230
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit ed72aba811a969c673403214276bb3d97ba8c131
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jul 13 16:53:49 2015 -0400

    Fix markdown parsing issues from gitiles.
    
    Change-Id: I2d62f410075385a87106f0c94ac1ff7cdd110655
    Reviewed-on: https://chromium-review.googlesource.com/285185
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 13e569d5c6523187ad976c6fae51d2d752f1ba1c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jun 5 14:33:37 2015 -0400

    Move the most popular wiki articles into markdown files.
    
    Change-Id: Ide6ef3d9995d1f3f66de4b340a60b4bf350a9ddb
    Reviewed-on: https://chromium-review.googlesource.com/275479
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 5ec53c8258f67e7ce493b92f12e2988e9b701573
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jun 5 16:32:14 2015 -0400

    Handle the remaining pixel unpack parameters in TextureGL.
    
    BUG=angleproject:884
    
    Change-Id: I9e248e623f3b342f878bf65c9686768b90cf5ed8
    Reviewed-on: https://chromium-review.googlesource.com/275692
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit afce829a67fa0224bf3893c1e31ab008517edc6e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jun 5 16:25:16 2015 -0400

    Sync pixel pack state before glReadPixels in FramebufferGL.
    
    Fixes conformance/reading/read-pixels-pack-alignment.html
    
    BUG=angleproject:885
    
    Change-Id: I48f1598d9a67f3980d2ff86307eb107ec7506776
    Reviewed-on: https://chromium-review.googlesource.com/275691
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit aef1663f270f46f637cbda0f518e4ef4c2d41a2b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jun 5 16:09:55 2015 -0400

    Add missing GL_STENCIL_INDEX8 format to the formatutilsgl table.
    
    Fixes conformance/renderbuffers/framebuffer-object-attachment.html
    
    BUG=angleproject:884
    
    Change-Id: I421b563fa8549eb2edc42a9ac1c798fc457256ee
    Reviewed-on: https://chromium-review.googlesource.com/275690
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 91f828e3b6761d85af761d460fd174c65a66c5a1
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Jul 13 11:08:19 2015 -0400

    LineLoopTest: Fix the test not rendering anything.
    
    BUG=angleproject:1063
    
    Change-Id: Id0772b5c8479150a1e736aa7cd35ec6444753278
    Reviewed-on: https://chromium-review.googlesource.com/285126
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 61d46d8740f1f93878ef324e11e4d72c57de8c3a
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Thu Jul 9 13:47:09 2015 -0700

    Fix memory layout of imageformats.h's 16-bit structs
    
    Change-Id: I87c363f68394d868d2a72e84bfdfd64db0c6e1d0
    Reviewed-on: https://chromium-review.googlesource.com/284652
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Austin Kinross <aukinros@microsoft.com>

commit 2ee580f10052c03a3a0e8c535bd7da82147133c3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jul 10 11:14:58 2015 -0400

    D3D11: Futher optimize input layout cache.
    
    *re-land with fix for matrix attributes*
    
    Using the new vertex format type enum, we can shrink the size
    of the input layout tables and reduce draw call overhead
    further.
    
    BUG=angleproject:959
    
    Change-Id: I6d8ad78a003c41f40e7e1caa5972838f8ff4fce8
    Reviewed-on: https://chromium-review.googlesource.com/284811
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 75da1974b9068e85505999b99bdc64302099cdc4
Author: Cooper Partin <coopp@microsoft.com>
Date:   Tue Jun 16 15:03:14 2015 -0700

    Changed d3d11 desktop renderer to use d3d9 debug annotation interfaces.
    
    The D3D11 renderer must choose the D3D9 debug annotator because the D3D11 interface
    method ID3DUserDefinedAnnotation::GetStatus on desktop builds doesn't work with the Graphics
    Diagnostics tools in Visual Studio 2013.
    The D3D9 annotator works properly for both D3D11 and D3D9.
    Incorrect status reporting can cause ANGLE to log unnecessary debug events.
    
    Change-Id: I9a31c63cbc506904eb39577826fc4df8d503f03a
    Reviewed-on: https://chromium-review.googlesource.com/278162
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Cooper Partin <coopp@microsoft.com>
    Tested-by: Cooper Partin <coopp@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 03786d77a6e91408517e5c6507cbd4695d4b5175
Author: Minmin Gong <mgong@microsoft.com>
Date:   Wed May 27 11:22:30 2015 -0700

    After a create-on-bind, the subsequent glGen* should not waste handle space.
    
    Consider this calling sequence:
    glBindTexture(GL_TEXTURE_2D, 3); // create-on-bind
    glGenTextures(1, tex);
    
    Before this fix, mUnallocatedList in HandleAllocator is in reverse sorted
    order. It's split into (4, MAX_UINT) and (1, 3). The glGen gets tex = 4,
    and handles 1 and 2 will not be allocated until it reaches MAX_UINT.
    With this fix, the elements in mUnallocatedList is in sorted order
    (1, 3) and (4, MAX_UINT). So tex is 1, and we can have all rest handles.
    
    Change-Id: If408ea92f7c243791119fe386e3e0ea27954e55c
    Reviewed-on: https://chromium-review.googlesource.com/273886
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Minmin Gong <mgong@microsoft.com>

commit a8bb9cdc7dafe54f711a0b4cf3f00413d1710fb8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 13 09:59:53 2015 -0400

    Lazily load the HLSL compiler DLL.
    
    If the user is loading resources straight from the disk with the
    binary shader cache, they shouldn't need to load the compiler DLL
    at all. Note: might be a good idea to track more statistics here.
    
    BUG=angleproject:1014
    
    Change-Id: Ie75dcce3eb249347c545f1bbca7d0977df7addee
    Reviewed-on: https://chromium-review.googlesource.com/282554
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit e0f623a40a349595c764a1770b4930111b5e24b4
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Jul 10 11:58:30 2015 +0300

    Check that block instance name isn't reserved
    
    BUG=angleproject:1060
    TEST=dEQP-GLES3.functional.shaders.uniform_block.invalid.*
    
    Change-Id: I6de3aa0f714d585e7821798744530f3e51ddee7f
    Reviewed-on: https://chromium-review.googlesource.com/284259
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 7ef89571376b9ec5a23fd7b4ca181b7146ca2c61
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Jul 10 11:08:03 2015 -0400

    EGLContextCompatibility: suppress test on Linux non-standalone
    
    The tests turn out to fail before we have a context current on AMD so we
    cannot use isAMD and have to resort to disabling for all Linuxes on the
    FYI bots. Using MAYBE like Chrome doesn't seem to work with TEST_P.
    
    BUG=angleproject:892
    
    Change-Id: Ibabd2c359ce55c7677af0f8bd5723f845935f2be
    Reviewed-on: https://chromium-review.googlesource.com/284872
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-on: https://chromium-review.googlesource.com/284749

commit c3b57529f03b6367057f51b57d10ce9ee7f7a369
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jul 10 20:22:42 2015 +0000

    Revert "EGLContextCompatibility: suppress test on Linux non-standalone"
    
    Causing gyp generation failures on FYI bots:
    https://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Win%20Builder/builds/30490
    
    This reverts commit af98f24aece19c3231d9e7300bbab5c323109b23.
    
    Change-Id: I0b3ea26ee02591588bda14676211658b42135cf2
    Reviewed-on: https://chromium-review.googlesource.com/284910
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit af98f24aece19c3231d9e7300bbab5c323109b23
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Jul 10 11:08:03 2015 -0400

    EGLContextCompatibility: suppress test on Linux non-standalone
    
    The tests turn out to fail before we have a context current on AMD so we
    cannot use isAMD and have to resort to disabling for all Linuxes on the
    FYI bots. Using MAYBE like Chrome doesn't seem to work with TEST_P.
    
    BUG=angleproject:892
    
    Change-Id: Ie964168eb0b1d830dd1fd0988869adf39bc2309a
    Reviewed-on: https://chromium-review.googlesource.com/284872
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 01971113492d9aca386f2bca021b1f4b134fc277
Author: Dmitry Skiba <dskiba@google.com>
Date:   Fri Jul 10 14:54:00 2015 -0400

    Cache TTypes.
    
    *re-land with build fix for Win/Release*
    
    This change saves us ~70KiB per compiler with just ~3KiB of cache.
    
    BUG=492725
    
    Change-Id: I4382c55b2480f70b00c5d117fcb7e0c51d0dfbb4
    Reviewed-on: https://chromium-review.googlesource.com/284735
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Dmitry Skiba <dskiba@google.com>
    Reviewed-by: Alexis Hétu <sugoi@chromium.org>

commit 53b76107ece2f5b4dfc831f2b571f9db04d65c73
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jul 10 18:52:58 2015 +0000

    Revert "Cache TTypes."
    
    Unused variable warning in Release:
    
    warning C4189: 'MaxEnumValue' : local variable is initialized but not referenced
    
    I'll handle fixing this.
    
    BUG=492725
    This reverts commit b25d14e4b39ee273fad3bb585c3a3a929b3f794c.
    
    Change-Id: I502fc5288d5d3c48ecd43f84acdf66b7e300ad22
    Reviewed-on: https://chromium-review.googlesource.com/284863
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit c70e120807ce6251561db6baa1294e850061f383
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Jul 10 10:53:01 2015 -0400

    egl::MakeCurrent: report platform's makeCurrent errors
    
    This caused the context to be current from ANGLE's point of view while
    it wasn't from the driver's point of view.
    
    BUG=angleproject:892
    
    Change-Id: I0719b4702721916e9eb3a9f4cafc7a86dbc7a625
    Reviewed-on: https://chromium-review.googlesource.com/284871
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 44897140a2ae07dc5ba88190100179baa6fe7914
Author: Nico Weber <thakis@chromium.org>
Date:   Fri Jul 10 09:50:00 2015 -0700

    clang/win: Fix -Wunused-private-field warnings in debug builds.
    
    No intended behavior change.
    
    BUG=505317
    Change-Id: I5dfa1d67715b18133f3373ca00a6d1d96b678043
    Reviewed-on: https://chromium-review.googlesource.com/284850
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Nico Weber <thakis@chromium.org>

commit 07e57df74bb9a0b0676894f87c5cc89d9920858b
Author: Alexis Hetu <sugoi@google.com>
Date:   Tue Jun 16 16:55:52 2015 -0400

    Added non square matrix construction
    
    Added new construction operations for
    non square matrices, along with the
    required changes to the related
    translation functions.
    
    Change-Id: I04ae7d4b2d1bb363b35d088cea45c0e7c4bc8a13
    Reviewed-on: https://chromium-review.googlesource.com/277729
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit ea60af6c7aff3efec153372a4ecadbf6818df6d5
Author: Cooper Partin <coopp@microsoft.com>
Date:   Thu Jul 9 09:38:05 2015 -0700

    Added winrt project generation to gclient sync
    
    BUG=angleproject:1057
    
    Change-Id: Ic52c385cb19f6ddccaf3d46a88a56670da0cf67d
    Reviewed-on: https://chromium-review.googlesource.com/283987
    Tested-by: Cooper Partin <coopp@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit b25d14e4b39ee273fad3bb585c3a3a929b3f794c
Author: Dmitry Skiba <dskiba@google.com>
Date:   Tue Jun 23 17:43:14 2015 -0700

    Cache TTypes.
    
    This change saves us ~70KiB per compiler with just ~3KiB of cache.
    
    BUG=492725
    
    Change-Id: I7b8053c032c9c68f646162baf61abf6db3afe52e
    Reviewed-on: https://chromium-review.googlesource.com/284003
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 8e34494fdad38afe6136ae13f1b50b1d2045bcc2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 9 14:22:07 2015 -0400

    Share data between VertexArray and Impl.
    
    Using the same design as for the Framebuffer::Data helper, we can
    use a struct to share between the object and the Impl. This also
    gives the Impl access to the maxEnabledAttrib, and saves some
    duplicated storage.
    
    BUG=angleproject:1040
    TEST=WebGL CTS, end2end_tests, unittests
    
    Change-Id: I55c91e8a5f3dcae302cab441182320aafd5375ef
    Reviewed-on: https://chromium-review.googlesource.com/283930
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 0d2089766987f33702ecb4dc874ffa780155676b
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Jul 10 15:45:09 2015 +0300

    Revert "D3D11: Futher optimize input layout cache."
    
    This seems to have broken some dEQP tests in debug build, possibly
    uncovering a previously undetected bug.
    
    TEST=dEQP-GLES3.functional.shaders.linkage.varying.basic_types.*
    
    This reverts commit d2328a5246d8e0ab8a3dde1b30b80ce5e161e6f3.
    
    Change-Id: I9f082d7a6fca38b4c076fecc342ac40d5416ebef
    Reviewed-on: https://chromium-review.googlesource.com/284780
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit fb6ab2ced9b3bb91a7736b3b772b5ad206a0c747
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Jul 9 20:55:28 2015 +0300

    Matrix layout qualifiers are valid for non-matrices
    
    Uniform block members may be structs containing matrices, and there's
    no explicit mention in the spec that the matrix qualifiers would only
    be valid for matrix fields. Only generate a warning when an extraneous
    matrix layout qualifier is used.
    
    TEST=dEQP-GLES3.functional.shaders.*layout* (all pass with this patch)
    BUG=angleproject:1058
    
    Change-Id: Ifb2f2392d84100d997cc2d68fd55e9ad17a17cea
    Reviewed-on: https://chromium-review.googlesource.com/284112
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit cb8ff7fbef0893f144255698dcca259e8b21d4ed
Author: Nico Weber <thakis@chromium.org>
Date:   Thu Jul 9 21:52:54 2015 -0700

    clang/win: Fix a -Wreorder warning
    
    ..\..\third_party\angle\src\libANGLE\renderer\d3d\d3d11\SwapChain11.cpp(30,7)
    : error: field 'mDepthStencilRenderTarget' will be initialized after
    field 'mPassThroughResourcesInit' [-Werror,-Wreorder]
          mDepthStencilRenderTarget(this, renderer, true),
          ^
    
    While here, also reorder the fields that are initialized in the
    constructor to match the order the fields are declared in, to make it
    easier to see if any are missing.
    
    No intended behavior change.
    
    BUG=505304
    
    Change-Id: If48195c84161868d33d4361088d3ad22b7a0fc31
    Reviewed-on: https://chromium-review.googlesource.com/284682
    Reviewed-by: Nico Weber <thakis@chromium.org>
    Tested-by: Nico Weber <thakis@chromium.org>

commit 06c5a6463645447aed78a045a8c20876600ff204
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 9 14:48:12 2015 -0400

    Suppress dEQP failure, only showing on the bot.
    
    Unsure why this is failing:
    
    functional.shaders.struct.local.dynamic_loop_struct_array_fragment
    
    BUG=angleproject:1059
    
    Change-Id: I72e05269f831769a763c44354b95a7224edb72fa
    Reviewed-on: https://chromium-review.googlesource.com/284636
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d2328a5246d8e0ab8a3dde1b30b80ce5e161e6f3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 9 11:30:30 2015 -0400

    D3D11: Futher optimize input layout cache.
    
    Using the new vertex format type enum, we can shrink the size
    of the input layout tables and reduce draw call overhead
    further.
    
    BUG=angleproject:959
    
    Change-Id: Iea595fa64edbbd91f669138dfdeb9d2543b83929
    Reviewed-on: https://chromium-review.googlesource.com/277291
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 0342253e3fd061370775abf87b97865b873f5e4f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 9 11:30:29 2015 -0400

    D3D11: Refactor vertex format tables.
    
    Use switch statements based on the format type enum, instead of
    a map from the old VertexFormat structure to the info payload.
    This saves on lookup and initialization time.
    
    BUG=angleproject:959
    
    Change-Id: I6d1bf282c88f67272ca067cb64bc71e77824a12e
    Reviewed-on: https://chromium-review.googlesource.com/277290
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 6d2e0ee970c180596d08a62009600e18e7f06e92
Author: Kenneth Russell <kbr@chromium.org>
Date:   Wed Jul 8 16:34:16 2015 -0700

    Add isolate for ANGLE on all platforms.
    
    This will be included in isolates for targets which really need it;
    initially, angle_end2end_tests.
    
    BUG=angleproject:892
    
    Change-Id: I466455b0cc50a70980ddc09a6db2211f13774abc
    Reviewed-on: https://chromium-review.googlesource.com/284361
    Tested-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Antoine Labour <piman@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit b5841ef299be55cab0ce19bb5302094a02393dce
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Jul 8 17:25:22 2015 +0300

    Disallow texture lookup functions in global initializers
    
    Do this by simply disallowing all function calls in global initializers
    - all built-in math ops are handled as other ops, not function calls.
    
    This change was tested extensively with popular WebGL content, with no
    regressions found.
    
    TEST=angle_unittests
    BUG=angleproject:988
    
    Change-Id: Id1107fa294ae4012d5dd3949539d0b7b4cd21943
    Reviewed-on: https://chromium-review.googlesource.com/283703
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit e9cc78a151ddb70d62fc559204f78cefd6e084e5
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Jul 6 07:17:00 2015 -0700

    Make Buffer11::mBuffersStorages an array instead of a map
    
    BUG=angleproject:516
    
    Change-Id: I7f969435a89c0063b504628d2ec3321cc02df7ce
    Reviewed-on: https://chromium-review.googlesource.com/283243
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit bc3b5e63e5ef8c28d85e9ec59f1ca6f1d411aaae
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Jul 7 10:08:05 2015 -0700

    D3D11: map index buffers only when needed.
    
    Before this patch, index buffers where always mapped in case we needed the
    index data for the indexed point sprites workaround.
    This patch makes it so the index buffer is only mapped in this case, when
    we need to stream index data or when we need to fill the static copies of
    the index buffers.
    
    This make the memory usage of
    http://alteredqualia.com/xg/examples/mammoth.html go down from 41MB to
    28MB.
    
    BUG=angleproject:516
    
    Change-Id: I937506d06fd6f074ef2120469dbd235e20245fca
    Reviewed-on: https://chromium-review.googlesource.com/283626
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 58832204fc00e40226bf1e23768676a337a7e400
Author: Dmitry Skiba <dskiba@google.com>
Date:   Mon Jul 6 16:11:13 2015 -0700

    Calculate TFunction::mangledName lazily.
    
    This saves us ~15KiB per compiler instance on 32-bit Android.
    
    BUG=492725
    
    Change-Id: I9db2998482941b5ab2eb5cb4925cbd1fb58ab4be
    Reviewed-on: https://chromium-review.googlesource.com/283584
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 26a10f9d474d3b522fb99ddce6004e8ae28d187b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 9 10:19:06 2015 -0400

    Fix build on Windows.
    
    WindowTest.cpp was missing <algorithm> for std::min and std::max.
    
    BUG=angleproject:892
    
    Change-Id: I9bf6e7b8e66cd4ffc34ee639f495b469dabde91a
    Reviewed-on: https://chromium-review.googlesource.com/284590
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 0c5409f863e52587a02c860c248e4a06e6ddd335
Author: Arun Patole <apatole@nvidia.com>
Date:   Wed Jul 8 15:17:53 2015 +0530

    Support constant folding of fragment processing built-ins
    
    This change adds constant folding support for following derivative
    functions:
        - dFdx, dFdy and fwidth.
    As per spec, derivatives of constant arguments should be 0, so this
    change just sets result components to zero when the above operations
    are performed on constant argument.
    
    BUG=angleproject:913
    TEST=dEQP Tests
    dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.
    fragment_processing.*
    (All 12 tests started passing with this change.)
    
    Change-Id: I67b7c5abd970b740e15e3bd1ee56721e81bbecc4
    Reviewed-on: https://chromium-review.googlesource.com/283759
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 551279e55956c76f1c6cb30372a82f9071e05451
Author: Arun Patole <apatole@nvidia.com>
Date:   Tue Jul 7 18:18:23 2015 +0530

    Support constant folding of more common built-ins
    
    This change adds const folding support for below mentioned common
    built-ins:
        - isnan, ininf, floatBitsToInt, floatBitsToUint,
          intBitsToFloat and uintBitsToFloat
    
    BUG=angleproject:913
    TEST=angle_unittests(new: MathUtilTest.isNan/inInf), dEQP Tests
    dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common.*
    (20 more tests started passing with this change)
    
    Change-Id: Ifdedb251cd8b183b4999314c0f5de857bc20702f
    Reviewed-on: https://chromium-review.googlesource.com/283767
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit bcab64264450172da11a43112d5d5343938dac69
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Jul 6 07:35:14 2015 -0700

    Fix typo in Buffer11::getContantBufferRangeStorage
    
    BUG=angleproject:516
    
    Change-Id: I907ec41ce5691300d17ca5b08a62b0d4579b01e5
    Reviewed-on: https://chromium-review.googlesource.com/283244
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 2e62a9a8dcaa534c484bed3d01d3972f60060b7e
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Jul 3 14:13:50 2015 -0700

    Simplify the flow of IndexDataManager::prepareIndexData
    
    This will simplify the work on follow up CLs a lot
    
    BUG=angleproject:516
    
    Change-Id: Ie8374ec28fce2e01e76c711a4d280e1ed004a21f
    Reviewed-on: https://chromium-review.googlesource.com/283380
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 3ebfcd62fdee9fc9f507a2dac8da45ba47984899
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Jul 6 23:35:20 2015 +0200

    OSWindow: add KeyEvent debugging
    
    BUG=angleproject:892
    
    Change-Id: I35288ff43fb7a50a327047eacb8f41ca91e2b441
    Reviewed-on: https://chromium-review.googlesource.com/283471
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 4a290c9919d7ac16533e90bd56cd12ae30123dbd
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Jul 7 17:07:37 2015 +0200

    Add a WindowTest sample to test OSWindow manually
    
    This will help port OSWindow to other platforms.
    
    BUG=angleproject:892
    
    Change-Id: If9884d310d80421e2fc09cffd03bcf01327b1eee
    Reviewed-on: https://chromium-review.googlesource.com/283900
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 0b5a4a4916f40c30b4c840abe3a78600c5862065
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Jul 8 11:59:46 2015 -0400

    EGLContextCompatibilityTest: check for suppression only when a context is bound.
    
    Otherwise glGetString(GL_RENDERER) returns "ANGLE" and doesn't provide
    information on the vendor.
    
    BUG=angleproject:892
    
    Change-Id: I01899ca78656aaa8db860829c78bf3c61c355eae
    Reviewed-on: https://chromium-review.googlesource.com/284051
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit d3dfda2b6a4b7d855620914bf7fc8f8053d8ac4a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 6 08:28:49 2015 -0400

    Refactor how we store vertex formats.
    
    Instead of storing a vertex format as a struct with the full info,
    instead use an enum, and look up the info when we need it. This
    saves a lot of constructor initialization time, operator comparison
    time, and storage. It also will allow us to look up D3D format info
    more quickly.
    
    BUG=angleproject:959
    
    Change-Id: I202fd1ea96981073bc1b5b232b1ec3efa91485cb
    Reviewed-on: https://chromium-review.googlesource.com/277289
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 2810a20c3dd3309db011aee72275b118b47d2482
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 7 14:23:58 2015 -0400

    Fix the InputLayoutCache test on Windows 8.
    
    On some configs, this would use an RGBA4 16-bit backbuffer, which is
    not enough resolution for the test. Fix this by requiring 32-bit
    backbuffers. We might also want to figure out if we want to default
    to 16-bit on Windows 8 desktop, which seems less than ideal.
    
    BUG=angleproject:959
    
    Change-Id: I53b3a9ef6cbecf76c7c764623e5eb1f454a6b72d
    Reviewed-on: https://chromium-review.googlesource.com/283773
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Austin Kinross <austin.kinross@gmail.com>
    Reviewed-by: Cooper Partin <coopp@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit fda3ec747c3dca037b961c7f8c04a81766f37007
Author: Daniel Cheng <dcheng@chromium.org>
Date:   Wed Jul 8 08:22:04 2015 -0700

    Fix another clang warning with -Wmissing-braces in ANGLE.
    
    Clang warns if there are missing braces around a subobject
    initializer. The most common idiom that triggers this is:
    STRUCT s = {0};
    which can be more simply written as:
    STRUCT s = {};
    
    BUG=505297
    
    Change-Id: Ie9f9037a1ba4b6303daa30424cdc24c1ecf18896
    Reviewed-on: https://chromium-review.googlesource.com/284160
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit ab2b9a23705d890a9d0e311d1f13d6d8f6484739
Author: Arun Patole <apatole@nvidia.com>
Date:   Mon Jul 6 18:27:56 2015 +0530

    Refactor unary operation constant folding code
    
    This change splits TIntermConstantUnion::foldUnary into two
    functions:
        - foldUnaryWithDifferentReturnType:
            - Handles constant folding of operations where the return
              type has a different number of components compared to the
              operand type.
        - foldUnaryWithSameReturnType:
            - Handles constant folding of unary operations where the
              return type is the same as operand type.
    
    BUG=angleproject:913
    TEST=angle_unittests, dEQP Tests
    (dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.*)
    
    Change-Id: I675891138d4e17fd2390c03e9f710e0be0b7c7b6
    Reviewed-on: https://chromium-review.googlesource.com/283464
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit cdfa8f504d83c2a3379bb1ea1a97e023a29a3cdd
Author: Arun Patole <apatole@nvidia.com>
Date:   Tue Jun 30 17:48:25 2015 +0530

    Constant fold float pack/unpack functions
    
    This change adds constant folding support for following floating
    point pack and unpack functions:
        - packSnorm2x16, unpackSnorm2x16, packUnorm2x16, unpackUnorm2x16,
          packHalf2x16, and unpackHalf2x16.
    
    BUG=angleproject:913
    TEST=angle_unittests(new: MathUtilTest.packAndUnpack*), dEQP Tests
    dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.float_pack_unpack.*
    (all 10 tests started passing with this change)
    
    Change-Id: I2b69faebee4127e5e13900b3a9485b7145950277
    Reviewed-on: https://chromium-review.googlesource.com/282683
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 846fe05f9f4403a38bebbe0d135ca6da35dd3a8a
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Jul 7 17:41:21 2015 +0300

    Disable using globals as l-values in global initializers
    
    It should not be possible to use globals as l-values in global initializers.
    
    This change was tested extensively with popular WebGL content, with no
    regressions found.
    
    TEST=angle_unittests
    BUG=angleproject:988
    
    Change-Id: I21ab731eb1d92aeae25795856ccae280792ad1f0
    Reviewed-on: https://chromium-review.googlesource.com/283910
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit 6affeef6f1d4555655cefaf2438e887a22bf5a71
Author: Kenneth Russell <kbr@chromium.org>
Date:   Tue Jul 7 15:16:49 2015 -0700

    Suppress angle_end2end_tests failures on Linux/NVIDIA and Linux/AMD.
    
    Verified the NVIDIA suppression locally; assuming the AMD suppression
    will take effect on the bot. Thanks to geofflang@ and cwallez@ for the
    suggestion on the approach to take.
    
    BUG=angleproject:892
    
    Change-Id: Ida4b6c1395185b0dfb0ea890395e35cb6db7ccd5
    Reviewed-on: https://chromium-review.googlesource.com/283974
    Tested-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 2f232370fed26a10d0a415b5aba5d2a07f8b02a4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 7 21:57:55 2015 +0000

    Revert "Cache TTypes."
    
    Lots of compile errors.
    
    BUG=492725
    
    This reverts commit 5377720aae042c5bfae0e8a37032c90dc3ab78cf.
    
    Change-Id: I64889b99b1f1f48d39b87ebb668f6a32a3abac45
    Reviewed-on: https://chromium-review.googlesource.com/283945
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit e9336c0d1599b0c2670138feec232ad6babf5ade
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Jul 7 16:46:26 2015 -0400

    EGLSurfaceTest: run d3d specific tests only on d3d.
    
    This is to help with the FYI bot and pending a refactor to use
    our test instantiation.
    
    BUG=angleproject:892
    
    Change-Id: I56e772d7988a2172ad2384bdf408a8eaeab7129a
    Reviewed-on: https://chromium-review.googlesource.com/283971
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Cooper Partin <coopp@microsoft.com>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 5377720aae042c5bfae0e8a37032c90dc3ab78cf
Author: Dmitry Skiba <dskiba@google.com>
Date:   Tue Jun 23 17:43:14 2015 -0700

    Cache TTypes.
    
    This change saves us ~70KiB per compiler with just ~3KiB of cache.
    
    BUG=492725
    
    Change-Id: I2ee748f7271b1afe0834083cbff6f0b84104aa53
    Reviewed-on: https://chromium-review.googlesource.com/281411
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Dmitry Skiba <dskiba@google.com>

commit f9148e2ab4d83ec07e769f38ffd6126b75ca32eb
Author: Kenneth Russell <kbr@chromium.org>
Date:   Tue Jul 7 12:36:07 2015 -0700

    Include libEGL.so and libGLESv2.so in ANGLE-based isolates on Linux.
    
    Fixes problem where the glBlitFramebufferANGLE symbol couldn't be
    found because Mesa's libGLESv2.so was being picked up.
    
    BUG=angleproject:892
    
    Change-Id: Ia3c55bd8eb3f078350adf4cc504bbbed6d97cb0b
    Reviewed-on: https://chromium-review.googlesource.com/283950
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Kenneth Russell <kbr@chromium.org>

commit 2be6405d51a8796415c5b41985d610d1b652f2f8
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Jul 6 23:35:53 2015 +0200

    X11Window: handle key presses and releases
    
    BUG=angleproject:892
    
    Change-Id: I66690ba49789faa672f6ed58e9eb8a2482eb4f6d
    Reviewed-on: https://chromium-review.googlesource.com/283472
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit da0564680b518b682a61b75c779bb3b1c3112a5c
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Tue Jun 16 17:00:11 2015 -0700

    For WinRT, add EGLRenderSurfaceScaleProperty to specify swapchain scaling factor
    
    Change-Id: Iede6682306082346cf2a3a55fe58f732b7a453df
    Reviewed-on: https://chromium-review.googlesource.com/277931
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit ce39f6ff936be60a60b14b59c2d97a0c2d041abf
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Jul 6 15:25:19 2015 +0300

    Disallow user-defined function calls in global variable init
    
    Generate an error message when an user-defined function call is found in
    a global variable initializer.
    
    Even before this patch, the call graph already marked functions that were
    only called from the global scope as unused.
    
    This change was tested extensively with popular WebGL content, with no
    regressions found.
    
    TEST=angle_unittests
    BUG=angleproject:988
    
    Change-Id: Iec1b16d2af386f1e5c383f86926d80cef553b694
    Reviewed-on: https://chromium-review.googlesource.com/283291
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit 8fc55c8e11eab29fceb87fe823c9b6507a7d8fa3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jun 30 11:04:18 2015 -0400

    Lazily load SwapChain11 pass-through resources.
    
    This allows Chromium to avoid initializing a whole bunch of resources
    and a shader when it collects GPU information. This should speed up
    startup.
    
    BUG=angleproject:1014
    
    Change-Id: Id1e777c6ea86d66ad812540f9d8494744cda64de
    Reviewed-on: https://chromium-review.googlesource.com/282553
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit e62cedd0e9d6575b561622209dd591a28870320c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jun 30 11:03:54 2015 -0400

    Load Clear11 resources lazily.
    
    Again this saves on startup time and memory use.
    
    BUG=angleproject:1014
    
    Change-Id: I3890dc2ea50ff4e4f1ff9d7cb223e1ab57c330ce
    Reviewed-on: https://chromium-review.googlesource.com/282552
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 86a07aec52197afeb61a0d0f718b13321749740d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jun 30 11:03:18 2015 -0400

    Add LazyInputLayout to defer loading input layouts.
    
    Lazily loading input layouts can also save memory and startup time.
    There are several cases where we don't need these resources until
    later, or sometimes, at all.
    
    BUG=angleproject:1014
    
    Change-Id: I4e0d45353b5d3969bd1ed86ad26f47d34e542ed5
    Reviewed-on: https://chromium-review.googlesource.com/282551
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit 531d5f451fc8e4834f5cef57f886b3b3c172d60f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 6 08:26:45 2015 -0400

    D3D11: Refactor InputLayout cache.
    
    *re-land with fix for cache overflowing*
    
    Using a much more compact input layout structure allows us to save
    quite a bit of time comparing input layouts, or computing hashes.
    A subsequent patch shrinks the size of the structure further.
    
    BUG=angleproject:959
    
    Change-Id: If240bb7c84d78fc8c9fb6f9049bf71d8a81c97c6
    Reviewed-on: https://chromium-review.googlesource.com/283227
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 01e4bfe700492769994684fa107e3deecaf035ba
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Jul 2 15:07:13 2015 -0400

    Update dEQP test expectations with Linux failures
    
    BUG=angleproject:1051
    
    Change-Id: I5f397e230f0e56b1e6832c3dae5ae5c0c9a8b7c4
    Reviewed-on: https://chromium-review.googlesource.com/283226
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 16f99b74354b592920440d8ab7fc99c5b42597b1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 2 14:09:06 2015 -0400

    Fix warnings with code analysis tools.
    
    Variable shadowing and a few other non-bug warnings.
    
    BUG=None
    
    Change-Id: Ibf62d6e7fef91fc213a53a6902f494147ed30ebc
    Reviewed-on: https://chromium-review.googlesource.com/283223
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 56eee79f2acac668c6c95a33eb71dfd62edae12d
Author: Arun Patole <apatole@nvidia.com>
Date:   Wed Jul 1 15:23:54 2015 +0530

    Move Float16ToFloat32 implementation to common
    
    Float16ToFloat32 is now required by constant folding of
    float pack/unpack built-ins as well, moving it to commom
    so that it is available in libangle_common instead of libANGLE.
    
    BUG=angleproject:913
    TEST=angle_unittests
    
    Change-Id: I1e23bb98c1b725c79f933a66ddb9986133fec19c
    Reviewed-on: https://chromium-review.googlesource.com/282961
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit e6e8c7c54b91b3f49d92b68d38898632f650cb8f
Author: Ben Wells <benwells@chromium.org>
Date:   Wed Jul 1 16:48:31 2015 +1000

    Fix 'unused private field' warnings for clang.
    
    BUG=505317
    
    Change-Id: I731b6e5ae5d5eba50f556314eeeebc6a3d29fc7a
    Reviewed-on: https://chromium-review.googlesource.com/282932
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 1bd7dd45f9a5a68bce9dd67d799e1fd982fa92e3
Author: Cooper Partin <coopp@microsoft.com>
Date:   Thu Jun 11 08:58:53 2015 -0700

    Added 16-bit formats to GLConfigs to reduce offscreen texture memory usage.
    
    BUG=angleproject:1042
    
    Change-Id: I7024bd47601a21b08cafbf6460d512151b53d035
    Reviewed-on: https://chromium-review.googlesource.com/277002
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 54c34e063737bb9c5d6652595d11a76f7874c237
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Jul 2 15:06:55 2015 -0400

    Fix compilation on Linux
    
    BUG=angleproject:892
    
    Change-Id: I135e356e1ec78c95e69a260bd0576e5285e759b5
    Reviewed-on: https://chromium-review.googlesource.com/283225
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 558f2b5a5b5670b36af546153a20978fca778eda
Author: Cooper Partin <coopp@microsoft.com>
Date:   Tue Jun 2 09:34:11 2015 -0700

    Added emulated indexed pointsprite rendering support.
    
    This emulation is for renderers that do not support Geometry Shaders.
    
    BUG=angleproject:949
    
    Change-Id: I7acf003e83ea6661f10a703486e6d07eb28786f8
    Reviewed-on: https://chromium-review.googlesource.com/274851
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Cooper Partin <coopp@microsoft.com>

commit ccda698b81642df07e65cb3e1be8ddebe349dbe0
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Jul 2 08:26:22 2015 -0700

    Remove redundant chdir in angle_deqp_test_main
    
    Fixes the tests not running directly from the VS UI.
    
    BUG=angleproject:1051
    
    Change-Id: Ia299d8e7ad676330902725c114e8f5766db49d82
    Reviewed-on: https://chromium-review.googlesource.com/283158
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit c491e0fb0dd536b4b8239024236bd8e46e9dcdbf
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Jul 2 10:41:11 2015 -0400

    Fix command line being ignored in non-gtest dEQP tests
    
    BUG=angleproject:1051
    
    Change-Id: If10abaea31ad29af9f8d438403f67b9dfbfd7e45
    Reviewed-on: https://chromium-review.googlesource.com/283167
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit f5cb6aa5fa9ca0c4cc8b3cb0ce3936446db729dc
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Jun 30 11:31:54 2015 -0400

    Port gpu_test_expectations and angle_deqp_googletest to Linux
    
    BUG=angleproject:1051
    
    Change-Id: I46c3a5651d36750558735eb626ed5c9424b250b4
    Reviewed-on: https://chromium-review.googlesource.com/282596
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 2c70e64b255c4bc95d0b60c6772112276e7e6059
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 2 15:09:58 2015 +0000

    Revert "D3D11: Refactor InputLayout cache."
    
    Seems to be failing maps_pixel_test on the bots.
    
    BUG=angleproject:959
    
    This reverts commit 53fd1552ba7dbf91a726fce139d748860bd8a5f5.
    
    Change-Id: I1f2593caca58f701d284993d2ee313846806491b
    Reviewed-on: https://chromium-review.googlesource.com/283157
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 53fd1552ba7dbf91a726fce139d748860bd8a5f5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 2 07:26:19 2015 -0400

    D3D11: Refactor InputLayout cache.
    
    Using a much more compact input layout structure allows us to save
    quite a bit of time comparing input layouts, or computing hashes.
    A subsequent patch shrinks the size of the structure further.
    
    BUG=angleproject:959
    
    Change-Id: I7a0f10428cc7e96967e60cc085ff2e8779718978
    Reviewed-on: https://chromium-review.googlesource.com/277288
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 03260faafc41c5251561f32595eb7f1a26e9182d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 22 13:57:22 2015 -0400

    D3D11: Optimize checks for active UBOs.
    
    We can reduce the amount of iterations we use by using std::vectors
    for storing UBO indexes, and resizing them to the max active index.
    This allows us to skip inactive ranges. Reduces draw call overhead.
    
    BUG=angleproject:959
    
    Change-Id: I2577e5dbdce0e5ab102ca916eb7f1f35cf03f9ad
    Reviewed-on: https://chromium-review.googlesource.com/277287
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit f33ab835a13101db8096835f38a877cd4c3a1b74
Author: Daniel Cheng <dcheng@chromium.org>
Date:   Tue Jun 30 19:08:16 2015 -0700

    Fix some clang warnings with -Wmissing-braces in ANGLE.
    
    Clang warns if there are missing braces around a subobject
    initializer. The most common idiom that triggers this is:
    STRUCT s = {0};
    which can be more simply written as:
    STRUCT s = {};
    
    BUG=505297
    
    Change-Id: Ib4513ee195d43e7c4a4a2f46c328866f0023a2a5
    Reviewed-on: https://chromium-review.googlesource.com/282921
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Kenneth Russell <kbr@chromium.org>

commit 7f17a50cb07a2248f3a0c35dd6a91dcf43aae998
Author: Dmitry Skiba <dskiba@google.com>
Date:   Mon Jun 22 15:08:39 2015 -0700

    Store TFunction::returnType by a const pointer.
    
    On 32-bit Android this change saves ~30KiB per compiler instance.
    
    BUG=492725
    
    Change-Id: I8bea48d57ee7eac0a0ee417035085c0d335aea09
    Reviewed-on: https://chromium-review.googlesource.com/281047
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Dmitry Skiba <dskiba@google.com>

commit efa3d8ebcc800c48f96ab735463e924b91a769fc
Author: Dmitry Skiba <dskiba@google.com>
Date:   Mon Jun 22 14:52:10 2015 -0700

    Change TSymbolTable::insertBuiltIn() TType* pointers to const.
    
    Const types make it possible to implement caching and
    other optimizations.
    
    BUG=492725
    
    Change-Id: I64398bb9effcc909dd052a038acbb5ec0ca730e8
    Reviewed-on: https://chromium-review.googlesource.com/281046
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Dmitry Skiba <dskiba@google.com>

commit 517ccdf820db38043c9af9933ff0f2af343587f0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jun 30 11:02:55 2015 -0400

    Rename DeferredShader to LazyShader.
    
    Deferred rendering is a shading technique, and "lazy" is the more
    correct term. Also rename a few methods so we can use a shared
    interface for other types of lazy D3D11 resources.
    
    BUG=angleproject:1014
    
    Change-Id: I2fd2c823291d414003690066eaec063f1cd0bc4c
    Reviewed-on: https://chromium-review.googlesource.com/282550
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Brandon Jones <bajones@google.com>

commit a55e4b7a8976ccab5f660279eed9935f08718665
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Jun 9 13:30:25 2015 +0200

    Enable compilation of dEQP tests on Linux
    
    BUG=angleproject:1051
    
    Change-Id: I158e59ca581b580825848e831d05064cdcc30d96
    Reviewed-on: https://chromium-review.googlesource.com/276202
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit d3e7aa33e04f7215a69abeec6b9004662aadb155
Author: Minmin Gong <mgong@microsoft.com>
Date:   Mon Jun 29 12:25:24 2015 -0700

    Allow calling HandleAllocator::reserve with MAX_UINT.
    
    BUG=angleproject:1052
    
    Change-Id: I03883799ef334f39c9e855a0a4b7af1ab02d5da9
    Reviewed-on: https://chromium-review.googlesource.com/282414
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Minmin Gong <mgong@microsoft.com>

commit 006909d692edae060035c366a8a9f622aab08f77
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jun 30 12:33:22 2015 -0400

    Update failing WebGL test expectations.
    
    Change-Id: I8c469dad3e6a084e5b37a76ea3a1f86b9a99d613
    Reviewed-on: https://chromium-review.googlesource.com/282624
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 137b1517b121d03ffe951b18853327c202a90fc4
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Wed Jun 17 16:14:53 2015 -0700

    Improve D3D GetProgramBinary chipset validation
    
    - Check chipset identifying info before trying to compile shaders
    - Check device feature level when loading a binary
    - Use chipset VendorID/DeviceID etc instead of LUID so that program
      binaries remain valid across system reboots
    
    Change-Id: I88ba4543bb990956d1d8fb324abf9784d72950cd
    Reviewed-on: https://chromium-review.googlesource.com/280428
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 5a6dec505ad8c54b9e9e08b253b405e886f89565
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Fri Jun 12 14:53:53 2015 -0700

    Ensure FencSyncTests::BasicOperations can't get stuck in an infinite loop
    
    BUG=angleproject:1053
    
    Change-Id: If6661ce3d87cdf44b1d45911418ecf78b5e6175a
    Reviewed-on: https://chromium-review.googlesource.com/277370
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 476682e67f823e11648ebd22678069ea99af28cd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jun 30 10:04:29 2015 -0400

    Use std::vector for TranslatedAttribs.
    
    This allows us to cache a std::vector between calls, and avoids us
    calling allocation/constructors for locals, which saves us some
    time. It also allows us to use the vector's size to limit the range
    of attribs we look at.
    
    BUG=angleproject:959
    
    Change-Id: I799ed6c92fa8fca96e92e235b125a11d2d551aab
    Reviewed-on: https://chromium-review.googlesource.com/277286
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 46565a42f0375ce551dc0250ce2b4b9b73853c4f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 22 13:57:21 2015 -0400

    Small optimization to VertexDataManager.
    
    Avoid calling a getter repeatedly in a loop, when we can instead
    store a local reference to an array.
    
    BUG=angleproject:959
    
    Change-Id: I507ad1a6cf3bb6183dd3499df024dfec6950a6c8
    Reviewed-on: https://chromium-review.googlesource.com/277285
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 5a0edc62841d973b98927852b31bc7b39f1ed330
Author: Sam McNally <sammc@chromium.org>
Date:   Tue Jun 30 12:36:07 2015 +1000

    Change intializer list order to match field order.
    
    BUG=505304
    
    Change-Id: I38149e72732f0b4eb7d398f90b5d11660e2a7fbc
    Reviewed-on: https://chromium-review.googlesource.com/282465
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit fdee4112effd67406941503a7349185395523c7d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 26 14:27:31 2015 -0400

    Roll dEQP 554adf..92f7752.
    
    Includes updated Licences.
    
    https://android.googlesource.com/platform/external/deqp/+log/554adf..92f7752
    
    BUG=angleproject:998
    
    Change-Id: If2da8719addeef25ec46adc105cf63c8b861f55a
    Reviewed-on: https://chromium-review.googlesource.com/282271
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@google.com>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit ac2582d3aac25f2a5c504af146ca614761fc3f7e
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Jun 26 13:18:18 2015 -0400

    WindowSurfaceGLX: swap before resizing the child window
    
    BUG=angleproject:892
    
    Change-Id: I9b27777547624959fce6e045f9aac2652f139b9b
    Reviewed-on: https://chromium-review.googlesource.com/282058
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 9de512e2731924efa69ced6b9579292c15fb6c3a
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Jun 26 13:16:50 2015 -0400

    WindowSurfaceGLX: Fix child window creation size
    
    This makes Chrome on ANGLE work on Linux without obvious bugs.
    
    BUG=angleproject:892
    
    Change-Id: I595ac00a6646cb407941932b0d4f9f020d4cd059
    Reviewed-on: https://chromium-review.googlesource.com/282057
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit e6d4e12c18f8c456ae8b95ad08f9dcf8e2558a59
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jun 29 13:33:55 2015 -0400

    Add remaining ES3 caps queries.
    
    BUG=angleproject:1049
    
    Change-Id: Ib5076380c692f4fa94921692baa7da14440556d1
    Reviewed-on: https://chromium-review.googlesource.com/282386
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit 27c0891718e79b8510948ba3c1bf6d2815d5a1e8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 22 13:57:20 2015 -0400

    Cache active attribute lists in VertexDataManager.
    
    This saves us re-creating vector memory every iteration, and allows
    us to iterate over much smaller lists of attributes. In the future
    it could allow us to update the cache more efficiently with state
    change updates.
    
    BUG=angleproject:959
    
    Change-Id: Ie8ae7a31726468dc2184165380f1f3e5e0152936
    Reviewed-on: https://chromium-review.googlesource.com/277284
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 3d72cc7911ca7d122685d39e19d8d15a5e7f46ec
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 22 13:57:19 2015 -0400

    Pass current value type instead of the object.
    
    This allows us to simplify the logic in VertexDataManager enough
    that we can start to cache attribute information.
    
    BUG=angleproject:959
    
    Change-Id: I7b53a137d73f40f86e3acb9caebb66f9cacf8b6f
    Reviewed-on: https://chromium-review.googlesource.com/277283
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 2a46b4e82bb9093945c8dcac0a9fa3c9f52a0360
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jun 29 15:06:49 2015 -0400

    Remove the PackUnpackHalfOverflow test.
    
    Different drivers handle overflow differently.  The overflow case is not
    defined in the spec.
    
    BUG=angleproject:1044
    
    Change-Id: I9e3883af147c6c1a4fcdcddea3ff70c62f859c56
    Reviewed-on: https://chromium-review.googlesource.com/282540
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 8273e006fe944771530d0f3907ba285b9d83a694
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jun 15 13:40:19 2015 -0700

    Add new GLSL target versions.
    
    Test the emulated GLSL functions against multiple GL versions.
    
    BUG=angleproject:1044
    
    Change-Id: I1e12523301042f0d541ab2f4e73f02319d1584ef
    Reviewed-on: https://chromium-review.googlesource.com/277702
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 83ab236ff5ab5e56820a02287d82a9be322507b5
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jun 23 13:18:03 2015 -0400

    Improve the test precision in PackUnpackTest.
    
     * Output to floating point framebuffers so that results are not truncated
       to 8 bit normalized values.
     * Tighten the epsilon from 1/255 to 0.0005. May need further tweaking as
       more GPUs are tested.
     * Explicitly check for -inf and inf values when they were previously
       rounded to 0 and 255.
     * Explicitly check for clamping of overflowed normalized floats by
       providing the expectations instead of computing them.
    
    BUG=angleproject:1044
    
    Change-Id: I8410cf61fe79a9919fb0db7e415bf97b2d0abd9e
    Reviewed-on: https://chromium-review.googlesource.com/281191
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit fa2f73fd68fc4b7ca7f7596f3ccbf5271e65464f
Author: Sam McNally <sammc@chromium.org>
Date:   Mon Jun 29 18:45:33 2015 +1000

    Fix a tautological comparison.
    
    BUG=505309
    
    Change-Id: I0e93139693206e766b91a5998d6e284c7a29fd14
    Reviewed-on: https://chromium-review.googlesource.com/282450
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit b3a6a8f3622fd6443e67a6e89ed36692642fec91
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jun 23 16:10:14 2015 -0400

    Error when encountering non-preprocessor tokens before #extension in ESSL3.
    
    BUG=angleproject:1047
    
    Change-Id: I4a548270f651e35b2c8d1ab5d0f46185230c5f74
    Reviewed-on: https://chromium-review.googlesource.com/281216
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 87bef77c16f81c43a5c9967b61e622076673cb12
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Jun 19 15:42:09 2015 -0700

    Compile end2end tests on MacOS
    
    This includes an implementation of OSX timer and path_utils.
    
    BUG=angleproject:891
    
    Change-Id: Id5440a8321bcfd4a61f3fe35b4a3fc0c651f564f
    Reviewed-on: https://chromium-review.googlesource.com/278211
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 34d719b588532da1b73f0cc09927f6656ef4593b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 26 15:28:06 2015 +0000

    Revert "Revert "dEQP: Compile dEQP targets in Chromium.""
    
    Should be fixed now with latest patches.
    
    BUG=angleproject:998
    BUG=500736
    
    This reverts commit d0071dd9c39d0ada72292d476d8e8e081731c953.
    
    Change-Id: I3a611bfa10429a1f97d18e9aa1f316eabb67d114
    Reviewed-on: https://chromium-review.googlesource.com/282055
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 4d06a24cd6800180ca94afb7e384eb0d3dd69a28
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 26 11:12:24 2015 -0400

    dEQP: Extend GoogleTest support.
    
    *re-land after rebase on top of Chrome build fix*
    
    This patch will enable a Chromium-side CL to build dEQP/ANGLE with
    GoogleTest.
    
    BUG=angleproject:998
    BUG=500736
    
    Change-Id: Id02c66a260b0a7bab3de9cda624fe097322b2d3c
    Reviewed-on: https://chromium-review.googlesource.com/281824
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@google.com>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit 86bc3a66306d289d19f947b12509c3d16b7b8f8c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 26 11:12:23 2015 -0400

    dEQP: Move the DEPS dirs to mirror Chromium.
    
    This avoid us needing to replicate gyp variables in both Chromium's
    and ANGLE's common.gypi files.
    
    BUG=angleproject:998
    
    Change-Id: Iba1938fd37eb4bee28ae7daad31bf85a2d3bd692
    Reviewed-on: https://chromium-review.googlesource.com/282145
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@google.com>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit 7fa3355f8a13f41e21b9bd4ab05fb336be492881
Author: Arun Patole <apatole@nvidia.com>
Date:   Wed Jun 10 15:15:18 2015 +0530

    Add constant folding support for matrix built-ins
    
    This change adds constant folding support for following matrix
    built-ins:
        - matrixCompMult, outerProduct, transpose, determinant and
          inverse.
    
    BUG=angleproject:913
    TEST=angle_unittests(new: MatrixUtilsTest, ConstantFoldingTest.*Matrix*),
    dEQP Tests:
    dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.matrix.*
    (All 54 tests started passing with this change)
    
    Change-Id: I7b9bf04b9a2cbff72c48216cab04df58c5f008d6
    Reviewed-on: https://chromium-review.googlesource.com/276574
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 6e56faae632e67390afb2dd897b4559f25de36f4
Author: Michael Spang <spang@chromium.org>
Date:   Thu Jun 25 15:05:38 2015 -0400

    Add opaque definitions of EGL platform types for ozone chromium builds
    
    These are copied from chromium's modified eglplatform.h. It is necessary
    in order to build ANGLE for freon Chrome OS boards because X11 headers
    aren't included in the SDK.
    
    BUG=504501
    TEST=cros chrome-sdk --board link
      gclient runhooks
      ninja -C out_link/Release chromium_builder_tests
    
    Change-Id: I37c3cba280689ec8d8a13e8946b1401d4bba7ea8
    Reviewed-on: https://chromium-review.googlesource.com/281992
    Tested-by: Michael Spang <spang@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Michael Spang <spang@chromium.org>

commit 9e582b9340bec8cad1a7caf0f72e7866e3a793e4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 22 11:18:32 2015 -0400

    perf_tests: Normalize MS counts in EGL init test.
    
    The un-normalized values depend on the number of frames rendered, so
    if we optimize down one time, the other ms values all increase,
    because we are rendering more frames. This generates spurious perf
    alerts from the perf dashboard.
    
    BUG=None
    
    Change-Id: I1bc480141a8cad7eee96bcdf4d6747a3cbae30f2
    Reviewed-on: https://chromium-review.googlesource.com/280980
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 7d112bb95c1f0e7c1a45bba6ec57256539a4523d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 22 13:57:19 2015 -0400

    Refactor source pointer math out of VertexBuffer9/11.
    
    This math can live in a single place in the VertexDataManager. This
    cleans up the code and paves the way for future optimizations.
    
    BUG=angleproject:959
    
    Change-Id: I7138c6e080d9c3d6507b55d981bfb62c2590a2a8
    Reviewed-on: https://chromium-review.googlesource.com/277282
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 9c38580bbe72c257addbcec2d93cfcb01c4efb32
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 22 13:57:18 2015 -0400

    Refactor VertexDataManager to store translated attrib.
    
    Refactoring patch only. Reduces the number of parameters we need to
    pass around in internal functions. Clears the way for future
    optimization work.
    
    BUG=angleproject:959
    
    Change-Id: Ic98ab5a07189eaa053dffce994546666bb07cede
    Reviewed-on: https://chromium-review.googlesource.com/277281
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 3b345ebda071f961059c46b0837bff8f9e2daa43
Author: Kenneth Russell <kbr@chromium.org>
Date:   Wed Jun 24 17:24:20 2015 -0700

    Fix ANGLE build on Chrome OS ARM.
    
    These builders set use_x11=1 but don't have GLX headers. Avoid trying
    to compile ANGLE's GL, GLX and X11 sources on Chrome OS at all.
    
    BUG=503173,angleproject:892
    
    Change-Id: I7f5862bb83b33f6ce302244fa5668295789a3a41
    Reviewed-on: https://chromium-review.googlesource.com/281778
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Kenneth Russell <kbr@chromium.org>

commit 0eb0a816d2ed771b0281ccc6ab264a9c557d48ed
Author: Kenneth Russell <kbr@chromium.org>
Date:   Fri Jun 19 20:18:16 2015 -0700

    Fix seg fault in IsPlatformAvailable.
    
    Some GLX implementations can't handle having libGL.so.1 dlclose'd out
    from under them while there's any X window still open against which a
    GLXWindow was ever created. Load the library once per process rather
    than once per FunctionsGLX instance.
    
    This showed up as a crash in X11Window::destroy, during XCloseDisplay.
    
    BUG=angleproject:892
    
    Change-Id: I0da2674786a952865e5bea2513259c0a32d4453c
    Reviewed-on: https://chromium-review.googlesource.com/280902
    Tested-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@google.com>

commit 57cdc69cc1f6e115f49e9eff5d84cdb707b8c093
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jun 23 21:03:06 2015 +0000

    Revert "dEQP: Extend GoogleTest support."
    
    Causing runhooks failures:
    
    gyp: Undefined variable deqp_path in C:\b\build\slave\GPU_Win_Builder\build\src\third_party\angle\src\tests\tests.gyp
    
    BUG=angleproject:998
    BUG=500736
    
    This reverts commit 8edd75d1bb6680e7c2018ece9f5c81e3b87bf938.
    
    Change-Id: I8cd83bb5871dea81abea61554b182825145298e6
    Reviewed-on: https://chromium-review.googlesource.com/281208
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit d0071dd9c39d0ada72292d476d8e8e081731c953
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jun 23 21:01:01 2015 +0000

    Revert "dEQP: Compile dEQP targets in Chromium."
    
    Causing runhooks failures:
    
    gyp: Undefined variable deqp_path in C:\b\build\slave\GPU_Win_Builder\build\src\third_party\angle\src\tests\tests.gyp
    
    BUG=angleproject:998
    BUG=500736
    This reverts commit 3018c206abd1fbfb94ab049326ff89f1f8cf3be4.
    
    Change-Id: I8c0402fb7465101a9331cbb2020693469d644e7e
    Reviewed-on: https://chromium-review.googlesource.com/281194
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit eed29ebbdaf1732dae01e007bfe89ad5db68afbc
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Jun 23 12:43:38 2015 -0400

    Simplify the assignment of use_x11.
    
    Hopefully fixes the flaky compile errors in ChromeOS
    
    BUG=angleproject:892
    BUG=503173
    
    Change-Id: Ifd79f1e382c12be3aecd9efb4860287df7d43060
    Reviewed-on: https://chromium-review.googlesource.com/281180
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 3018c206abd1fbfb94ab049326ff89f1f8cf3be4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 22 15:35:54 2015 -0400

    dEQP: Compile dEQP targets in Chromium.
    
    This switches the primary targets for dEQP into the non-standalone
    namespace, so we can build dEQP ANGLE tests on Windows with Chrome.
    
    BUG=angleproject:998
    BUG=500736
    
    Change-Id: I2ae25f31ab123c49965412445f661b6b69d19109
    Reviewed-on: https://chromium-review.googlesource.com/281020
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 8edd75d1bb6680e7c2018ece9f5c81e3b87bf938
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 22 15:35:53 2015 -0400

    dEQP: Extend GoogleTest support.
    
    This patch will enable a Chromium-side CL to build dEQP/ANGLE with
    GoogleTest.
    
    BUG=angleproject:998
    BUG=500736
    
    Change-Id: Ie480e3319c1bd77dd1de2c964f78ef97297fcfe9
    Reviewed-on: https://chromium-review.googlesource.com/280856
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit e148f3d3935ea1cbeaad96c1836c923d6ac1d20b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jun 17 11:41:28 2015 -0700

    Fix lots of compilation errors in generated GLSL functions.
    
    Reformatted to improve readability.
    
    BUG=angleproject:angleproject:947
    
    Change-Id: I467f0396a0318b7a51d5cafce3f11e55d929c369
    Reviewed-on: https://chromium-review.googlesource.com/278250
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 7b9b284b5d4e05700d415b40c009e414d1e6825b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jun 15 11:02:49 2015 -0700

    Refactor GLSL version calculations for emulated functions.
    
    Pass the target GLSL version to InitBuiltInFunctionEmulatorForGLSL so that
    it can be updated to generate emulated functions for multiple versions.
    
    BUG=angleproject:1044
    
    Change-Id: I34c408df52fd0f7d6c2f66d0579ac854afd93b87
    Reviewed-on: https://chromium-review.googlesource.com/277700
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 12425d251f74cb1757b8a3118e1e87b34cae71f9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 22 15:35:52 2015 -0400

    dEQP: Rename deqp_dir to deqp_path.
    
    The same for the other dEQP gyp path vars.
    
    BUG=angleproject:998
    
    Change-Id: I7c123dbd8983e032dc9339bf289259e6d8ec654b
    Reviewed-on: https://chromium-review.googlesource.com/281009
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit 8e8a1c68762d9134f6c4c0c557e74c22dac80e9e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 22 15:35:51 2015 -0400

    dEQP: Move libtester sources to a gyp variable.
    
    This keeps the target definition cleaner and will enable GN, if we
    ever get to that point.
    
    BUG=angleproject:998
    
    Change-Id: I8692c93155a6bada9b1b0c05a1dd34af64a3b400
    Reviewed-on: https://chromium-review.googlesource.com/280992
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit b3f4e8d1c905ee6a775fee08dc0b8ae95eac7f92
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 22 13:57:17 2015 -0400

    Refactor VertexDataManager's current value cache.
    
    This clears the way for future optimizations.
    
    BUG=angleproject:959
    
    Change-Id: Ief9077159e1e5fed5670862454a6f0b41d630551
    Reviewed-on: https://chromium-review.googlesource.com/277280
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit f9327d33b062248adf6f60bcfe5cc7a1613f6e9e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 22 13:57:16 2015 -0400

    D3D11: Optimize ProgramD3D::sortAttributesByLayout.
    
    We can use pointer math here, instead of copying values.
    
    BUG=angleproject:959
    
    Change-Id: I3b87956224d0846c9011f5d8edb811bc5e4f2b85
    Reviewed-on: https://chromium-review.googlesource.com/277119
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 9bbfdd63f56ebc70f03b67e7bad8bc64c799b8fa
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jun 22 18:38:09 2015 -0400

    Try setting use_x11 to 0 when doing a linux chromeos build.
    
    BUG=503173
    
    Change-Id: I31c09a1d0849de14cc72ba3a357e482c7e329a46
    Reviewed-on: https://chromium-review.googlesource.com/281025
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 1acf438b9b54330a46087d730de24f5958497348
Author: Cooper Partin <coopp@microsoft.com>
Date:   Fri Jun 12 12:38:57 2015 -0700

    Added define to enable/disable uniform precision validation for shaders.
    This feature was requested by developers to allow non-conformant shaders
    to be used which contain mismatched precisions.
    
    Change-Id: I57899efe064f7ffed1c0e43a508930ac70f6aa03
    Reviewed-on: https://chromium-review.googlesource.com/277340
    Tested-by: Cooper Partin <coopp@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit a0b8a41c61b1ee3cc41adb332fca14175c65f9ff
Author: Cooper Partin <coopp@microsoft.com>
Date:   Fri Jun 12 16:24:52 2015 -0700

    Updated libEGL to have correct application revision type for winrt project generation.
    
    Change-Id: Ifc4ffda8a80d2317dda70f5bf2add53ea91df961
    Reviewed-on: https://chromium-review.googlesource.com/277420
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit aa9e99714beaab707a4abac9cc2004220a36cb59
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 22 13:57:16 2015 -0400

    D3D11: Reduce overhead of clearing unused textures.
    
    *re-land with compile fix*
    
    We would spend a fair bit of time iterating over the unused textures,
    setting them to null one-by-one, and updating our cache. We can
    reduce this time by smarter caching, and skipping unmodified ranges.
    
    BUG=angleproject:959
    
    Change-Id: I4de20bc131c4a568108ad670a2ef491cfd4c50ed
    Reviewed-on: https://chromium-review.googlesource.com/280916
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit d4898490db26b6a950af1c9ec8f9a7ac7996d62c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 22 17:56:18 2015 +0000

    Revert "D3D11: Reduce overhead of clearing unused textures."
    
    Compile error on Windows:
    
    error C2561: 'rx::Renderer11::clearTextures' : function must return a value
    
    BUG=angleproject:959
    
    This reverts commit 475e5b7f91f8ed9688b5a46efe54f15357096e3e.
    
    Change-Id: Id34ff9530a71ce43549e2eb78d2d927084d46a47
    Reviewed-on: https://chromium-review.googlesource.com/280915
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 475e5b7f91f8ed9688b5a46efe54f15357096e3e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 22 13:12:45 2015 -0400

    D3D11: Reduce overhead of clearing unused textures.
    
    We would spend a fair bit of time iterating over the unused textures,
    setting them to null one-by-one, and updating our cache. We can
    reduce this time by smarter caching, and skipping unmodified ranges.
    
    BUG=angleproject:959
    
    Change-Id: I92f11cf63542c55bb3adbbb8276a54bcfe848f61
    Reviewed-on: https://chromium-review.googlesource.com/277118
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit bb579f8c15e6981678f40d6c97e130d8331d11b2
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Thu Jun 18 13:31:49 2015 -0700

    In WinRT, prevent too many calls to DXGIGetDebugInterface1
    
    Change-Id: Id0ec9eb40566f7c2169b228394fb3afe9f32e6f5
    Reviewed-on: https://chromium-review.googlesource.com/280551
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit e2adce1ba29e389dbb6ec50d71558f187b134452
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri Jun 19 23:06:32 2015 +0200

    Workaround for some STLs not parsing floats with a suffix
    
    BUG=angleproject:1046
    BUG=angleproject:891
    
    Change-Id: I01c3f024142e573385a5f40d721171ad752ffd19
    Reviewed-on: https://chromium-review.googlesource.com/278210
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 524452868f4688cd13e826e0a0cf49a1ef170035
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Jun 9 09:15:54 2015 +0200

    Add a OSPixmap class to have cross platform pixmaps
    
    This will help make the deqp support code platform agnostic.
    
    BUG=angleproject:892
    
    Change-Id: I6f8c738ed8125057db87afea2079583f8feac977
    Reviewed-on: https://chromium-review.googlesource.com/276201
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit ce991cf67f64b73de4da6a0c666fde714a5bbeed
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed May 27 15:07:33 2015 -0700

    Add OSWindow::takeScreenshot to be used by some dEQP egl tests
    
    This helps make dEQP support platform agnostic
    
    BUG=angleproject:892
    
    Change-Id: Ifd9436caa8c79018a053c27e32b514ef9ebee707
    Reviewed-on: https://chromium-review.googlesource.com/273596
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 3c85635de170f71243658b69d9dff6cd8285c77d
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed May 27 12:50:55 2015 -0700

    Add SetLowPriorityProcess to utils and use it in dEQP support
    
    This provides a cross-platform way to make sure dEQP runs in a low
    priority process.
    
    BUG=angleproject:892
    
    Change-Id: I0d12f1eacb78be43edcdb6622f945734c0b377ff
    Reviewed-on: https://chromium-review.googlesource.com/273595
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 774c66f37eae201c87b0c9b54fa580dd8672aed2
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed May 27 12:37:42 2015 -0700

    dEQP support: use OSWindow instead of tcuWin32Window
    
    This is to help dEQP support become cross platform.
    
    BUG=angleproject:892
    
    Change-Id: I4480b64a33b1725fb42769bf7dddef1b4ee27c83
    Reviewed-on: https://chromium-review.googlesource.com/273594
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit f0c1d0292d2f04e82ed0aea80359a85f32672a4e
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Jun 18 18:37:09 2015 -0700

    Fix compilation errors and Mac and some try bots
    
    BUG=angleproject:892
    
    Change-Id: I9a449889109b7df9c69776573b0fc2098cd06199
    Reviewed-on: https://chromium-review.googlesource.com/280565
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 4ffd7790310207a64c9eb8c2f3485be05d3b030c
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Jun 11 15:28:33 2015 +0200

    DisplayGLX: add error checking for the dummy pbuffer creation
    
    BUG=angleproject:892
    
    Change-Id: I7a15f2be19a598e40d4fa5a7c70d879cdbc6d32a
    Reviewed-on: https://chromium-review.googlesource.com/277011
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit e1a5518e4d3c1da79d2a584aa9c80ce5dca6b8ca
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Jun 18 19:20:55 2015 +0200

    Fix defines being exported outside of ANGLE
    
    This should fix a build failure on a GPU try bot so we can Roll ANGLE
    
    BUG=angleproject:892
    
    Change-Id: I86cb0135dc71b003f691633e339d5d0527eaace4
    Reviewed-on: https://chromium-review.googlesource.com/280396
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 623425908f296f65462b3fd0612de4dc1648d764
Author: Kenneth Russell <kbr@chromium.org>
Date:   Thu Jun 18 17:29:52 2015 +0000

    Revert "Add workaround for flushing before readPixels."
    
    This reverts commit 46c13a15fa90130eca14301a4ef6deed12315037.
    
    Seems to have introduced significant flakiness on the Windows AMD FYI bot. Reverting while investigating.
    
    Change-Id: I9cfdb09a4a0d792a0c5db76c8b0b9d3285c0695a
    Reviewed-on: https://chromium-review.googlesource.com/280365
    Tested-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit 46c13a15fa90130eca14301a4ef6deed12315037
Author: Kenneth Russell <kbr@chromium.org>
Date:   Wed Jun 17 16:33:50 2015 -0700

    Add workaround for flushing before readPixels.
    
    This has been found necessary on the D3D11 backend on AMD GPUs, and on
    the D3D9 backend on all GPUs.
    
    Tested an earlier version of this patch overnight on one of the
    affected Windows AMD bots; it eliminated the flakiness observed on one
    of the WebGL conformance tests.
    
    BUG=491419
    
    Change-Id: I668493eb5ec109b5e0650c154dc97b786e0745bd
    Reviewed-on: https://chromium-review.googlesource.com/278265
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Kenneth Russell <kbr@chromium.org>

commit 322653bfe00b88a81d3a93e2dc9003e7dbc5a8a8
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Jun 17 18:33:56 2015 +0200

    Fix Chromium build of angle_end2end_tests
    
    BUG=angleproject:892
    
    Change-Id: I9922046fc9e4d82d7034405f5952263f982c6529
    Reviewed-on: https://chromium-review.googlesource.com/278159
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit fd0957d9949ea083d6b60cfbe0e0c83073d955f3
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Jun 17 18:26:24 2015 +0200

    Fix standalone compilation on Linux
    
    Use a "gyp trick" to define a default value for use_x11, thanks goes to
    kbr for remembering the other instance of this trick.
    
    BUG=angleproject:892
    
    Change-Id: Ifb64af4e56d9eb90993760a495008d95dd31ae3d
    Reviewed-on: https://chromium-review.googlesource.com/278158
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 2539fffa36857396a0c0671a82a3ec9e605e6658
Author: Dmitry Skiba <dskiba@google.com>
Date:   Tue Jun 16 17:56:09 2015 -0700

    Add ShClearResults() for clearing last compilation results.
    
    This helps reclaiming memory used by the results when we don't need
    them anymore.
    
    BUG=492725
    
    Change-Id: I4bc11be27b23589548120f0dc43e9979bf894089
    Reviewed-on: https://chromium-review.googlesource.com/277808
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Dmitry Skiba <dskiba@google.com>
    Tested-by: Dmitry Skiba <dskiba@google.com>
    Reviewed-by: Dmitry Skiba <dskiba@google.com>

commit e9e4c7f7ee989eb9bee2cfb8fbb433e34598e99b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 12 11:40:33 2015 -0400

    Roll dEQP 9b4161..554adf1.
    
    Includes some tests for EXT_debug_marker
    
    https://android.googlesource.com/platform/external/deqp/+log/9b4161..554adf1
    
    BUG=None
    
    Change-Id: I911fcb5577caefaa1fe3479445146a2b3f819124
    Reviewed-on: https://chromium-review.googlesource.com/277140
    Reviewed-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 3f6096b7c159fc0ab3b5b7ed056e1a370ebb7739
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jun 17 09:11:31 2015 -0700

    Fix some markdown syntax that github had trouble parsing.
    
    Change-Id: I00f4409b7c6e12bb0cd6944a488fde3f6ef4054c
    Reviewed-on: https://chromium-review.googlesource.com/278055
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit ee09b58ea6e7b0b87eaa9b78bf2283b23bff5b5c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jun 16 15:13:52 2015 -0700

    Notify the VertexArrayImpl when a buffer is detached.
    
    Update VertexArrayGL to clear it's cached buffer binding when a buffer is
    detached to prevent name aliasing.
    
    Fixes:
     * DEQP standalone crashes.
     * WebGL Conformance DEQP tests.
    
    Change-Id: If21a617629e15873ddeae0368b5399616f2ca68b
    Reviewed-on: https://chromium-review.googlesource.com/278050
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit c41fd0500fa1575f5df6f7d228f7c5563a0540d7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jun 16 17:38:21 2015 -0400

    Roll GYP.
    
    Includes fixes to clean up our MSVS projects.
    
    BUG=None
    
    Change-Id: Ied16bf5b40e7a29ee08e76152daa1296c8960724
    Reviewed-on: https://chromium-review.googlesource.com/278051
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit a80d40467881760400c6a0c980a317d47a86c4e1
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jun 15 11:44:30 2015 -0700

    Document ESSL3 builtin functions and which GLSL version they became core in.
    
    BUG=angleproject:1044
    
    Change-Id: I1cd35f17a2d6cc384ac1bfae72a23a092ca50244
    Reviewed-on: https://chromium-review.googlesource.com/277701
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@google.com>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 3dc5d070ea83598765d431debc6c6d77023a4cd4
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jun 16 13:25:55 2015 -0700

    Skip MaxAttribs test on all AMD/OpenGL configs.
    
    Change-Id: Ia1c4f230a51c49a48db2d12749b9a028a17168e3
    Reviewed-on: https://chromium-review.googlesource.com/277727
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 8e695edb8bf013e274597c17310e190080887cd0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 15 17:00:44 2015 -0400

    Fix support for GL_MAX_ATTRIBS attributes.
    
    *re-land with fix for AMD/ES2/OpenGL.*
    
    An off-by-one bug slipped in that broke support for these edge case
    shaders.
    
    Bug introduced in https://chromium-review.googlesource.com/#/c/266928/
    
    BUG=angleproject:1045
    BUG=500116
    
    Change-Id: If44f809d432221d1e17afc407d49e87e0cb7504c
    Reviewed-on: https://chromium-review.googlesource.com/277664
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 464a6b8bb75ad7f2b284077c957ecf939f66b8c3
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jun 15 21:25:28 2015 +0000

    Revert "Enable point sprites in StateManagerGL."
    
    Speculative fix for failures on the AMD FYI bot.
    
    This reverts commit 67e04be12dda07ac9b37798558e842f50bd42776.
    
    Change-Id: Ia57e3c800a6ff9e81e31bf5b37a95e97460ceda4
    Reviewed-on: https://chromium-review.googlesource.com/277681
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 588e7ed2f8d3cd54f9961fe946ceedc78a967d0d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 15 20:59:24 2015 +0000

    Revert "Fix support for GL_MAX_ATTRIBS attributes."
    
    Breaks the AMD bot's OpenGL tests.
    
    VertexAttributeTest.MaxAttribs/3:
    shader compilation failed: Vertex shader failed to compile with the following errors:
    ERROR: error(#272) Implicit version number 110 not supported by GL3 forward compatible context
    ERROR: error(#273) 1 compilation errors.  No code generated
    
    shader compilation failed: Fragment shader failed to compile with the following errors:
    ERROR: error(#272) Implicit version number 110 not supported by GL3 forward compatible context
    ERROR: error(#273) 1 compilation errors.  No code generated
    
    BUG=angleproject:1045
    BUG=500116
    
    This reverts commit 3f3d75ea6c20826adb6240f1573fd7139939a986.
    
    Change-Id: I8cdd024fcf49f1ade553dae2cdbe8b02d8fba364
    Reviewed-on: https://chromium-review.googlesource.com/277673
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 67e04be12dda07ac9b37798558e842f50bd42776
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jun 8 11:05:40 2015 -0400

    Enable point sprites in StateManagerGL.
    
    Fixes:
     * conformance/rendering/point-size.html
     * conformance/rendering/point-with-gl-pointcoord-in-fragment-shader.html
     * PointSpritesTest
     * particle_system sample
    
    BUG=angleproject:883
    
    Change-Id: Idb3352fa916cf08817496f0a8425c95ece9bfa49
    Reviewed-on: https://chromium-review.googlesource.com/275860
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 3f3d75ea6c20826adb6240f1573fd7139939a986
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 15 14:10:42 2015 -0400

    Fix support for GL_MAX_ATTRIBS attributes.
    
    An off-by-one bug slipped in that broke support for these edge case
    shaders.
    
    Bug introduced in https://chromium-review.googlesource.com/#/c/266928/
    
    BUG=angleproject:1045
    BUG=500116
    
    Change-Id: Iddfe0c21bef3c3a61017ba56d9e1fc001c0a3703
    Reviewed-on: https://chromium-review.googlesource.com/277476
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 6ee1e7866e299da0d63b14bf15de1728db8955c3
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Fri May 29 17:05:37 2015 -0700

    Implement GL_EXT_debug_marker in D3D9/D3D11 renderers
    
    BUG=angleproject:1043
    
    Change-Id: I7f3bfb35050662520b901828d0478719fa8d11b3
    Reviewed-on: https://chromium-review.googlesource.com/274054
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Austin Kinross <aukinros@microsoft.com>

commit 9fc2e4c39b99beea54306d91ebb09b6a68283d97
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Wed Jun 10 10:23:58 2015 -0700

    Reduce hardcoded D3D11 assumptions in DrawBuffersTest
    
    Change-Id: I9b93cc6ee7218a92dda80dbc3f70aec6fef69ded
    Reviewed-on: https://chromium-review.googlesource.com/276598
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit ab4fd98fac0cbc30cfc578a06c068519ee2df2e1
Author: Cooper Partin <coopp@microsoft.com>
Date:   Fri May 15 14:58:22 2015 -0700

    Small fixes for passing code analysis tools.
    
    BUG=angleproject:1005
    
    Change-Id: I8f2a6c0a5a6157303e436b96cc4c4ff1c29cfe18
    Reviewed-on: https://chromium-review.googlesource.com/271600
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 3975ddec952c8910e0854d0b40c0f96955b018fb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 10 18:56:12 2015 -0400

    Blit11: Defer loading some resources until we use them.
    
    We can also defer loading InputLayouts and other resources in Blit11
    if we don't need them immediately.
    
    BUG=angleproject:1014
    
    Change-Id: I859583e4696e5864dfd8d436143ed9ddbc2fd60d
    Reviewed-on: https://chromium-review.googlesource.com/275779
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit e636e140fe2b964eff6838a378532d2dff44a1a8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 10 18:56:11 2015 -0400

    Blit11: Defer built-in shader loads.
    
    Introduce a 'DeferredShader' utility class. Other classes can use
    DeferredShader to delay loading shader resources until we render
    with them, which saves on loading time as well as memory, if we
    aren't using particular shaders.
    
    BUG=angleproject:1014
    
    Change-Id: Ic6767c3c422a7fedbf23cce5d0c9d822aaf2e652
    Reviewed-on: https://chromium-review.googlesource.com/275778
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit 8eeb2bd179ce5eb477331a2b34386dc395b69b56
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 10 18:56:09 2015 -0400

    Add multisample render target info to DXGI tables.
    
    Saves us some time on startup. Also assume every multisample format
    can support 1x multisampling, and that if we support a higher format
    we support all lower sample counts (eg - if we support 16x we support
    8x and 4x, etc)
    
    BUG=angleproject:1014
    
    Change-Id: I62143e5db561b717edd1a0c96f5e3acd4de3d154
    Reviewed-on: https://chromium-review.googlesource.com/275777
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit 405f3471b16200d46eb453071e8989165458bfbf
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Thu Jun 4 13:09:06 2015 -0700

    In D3D11, check for 16-bit texture support and use if possible
    
    BUG=angleproject:1002
    
    The last patch added new tests which failed on some Intel Win7
    machines. This was due to a driver bug. Windows Updates have
    been applied to the failing machine, and the tests now pass.
    
    Changes between second and current (third) failed 16-bit patch:
    - Reenable usage of 16-bit DXGI textures on all Intel cards
    - Disable 16bpp tests on Intel D3D11 until the bots are updated
    - Updated Win7 test machine. Tests now pass
    
    Changes between first and second failed 16-bit patch:
    - Disabled usage of 16-bit DXGI textures on all Intel cards
    - Added DXGI->GL conversion entries for 16-bit formats, which
      fixes FBO readback issues. The ES CTS and dEQP tests which
      failed with the last patch now pass.
    
    Change-Id: Id8ea89bfbc450beea54afdd398956bc97ecf3c01
    Reviewed-on: https://chromium-review.googlesource.com/275082
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Austin Kinross <aukinros@microsoft.com>

commit 3973c7e3eabc60ed99656d0a096d604feaf94697
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 10 14:54:11 2015 -0400

    Add DXGI format info for depth-stencil.
    
    This will save us some queries on D3D11 startup.
    
    BUG=angleproject:1014
    
    Change-Id: I5aaeec43d3b9bc73d011de17e2abac902ac3b7b9
    Reviewed-on: https://chromium-review.googlesource.com/275776
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit 187d44529439ab8c7f6b6629d7ec3d5719a67492
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 10 14:54:10 2015 -0400

    Add DXGI RenderTarget info to the format tables.
    
    This will save us some time on D3D11 startup.
    
    BUG=angleproject:1014
    
    Change-Id: Ic00b3dfd9f6230d2d54e6e9bb74be55b923697fe
    Reviewed-on: https://chromium-review.googlesource.com/275775
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit a986c834d339fc7addd435e8a58063649851c7f7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 10 14:54:09 2015 -0400

    Implement DXGI shader sample format tables.
    
    This saves us some startup time in the D3D11 Renderer.
    
    BUG=angleproject:1014
    
    Change-Id: I5d2607b58a86ee0a8932032a0f8a31b21d39b525
    Reviewed-on: https://chromium-review.googlesource.com/275774
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit 7f165fd9efa0148a46733f6ee7b5c16ad62036bb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 10 16:46:11 2015 -0400

    dEQP: Hook up GPU test expectations code.
    
    With the list of failures, this gives a 100% passing GLES2 test
    suite.
    
    BUG=angleproject:998
    
    Change-Id: I20985c729104d7a114352d156c238bca3ea1698c
    Reviewed-on: https://chromium-review.googlesource.com/274423
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 6ffeb744a6b9ca6c9e73cff7365d22dff75fd639
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 10 14:54:06 2015 -0400

    Add more detailed captures to EGL init perf test.
    
    We can use the ANGLE platform to capture more specific information
    than total number of iterations. We can also capture time spent
    initializing DLLs, calling D3D11CreateDevice and allocating some
    default resources.
    
    BUG=angleproject:1014
    
    Change-Id: If0f4965e7aac22eb09dfa0d2300ff449e7481f6e
    Reviewed-on: https://chromium-review.googlesource.com/276631
    Reviewed-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit b76e350f8c8f6ddc647f9b3298db9a270fb7de95
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jun 11 16:01:45 2015 -0400

    Fix the broken draw call perf test.
    
    This was broken by the angle test platforms refactor patch,
    https://chromium-review.googlesource.com/#/c/276460/. It was
    leading to the wrong tests be executed for the perf tests, and
    also had bugs with supporting a default platform.
    
    BUG=None
    TEST=angle_perftests
    
    Change-Id: Ib99342d4189fd98bf93dce088d15afcecc4a7e37
    Reviewed-on: https://chromium-review.googlesource.com/277036
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit 7a1d92662f7d63185e87c514b58d8e272e2e9064
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Jun 11 20:04:32 2015 +0300

    Refactoring: use compileTestShader in PackUnpackTest
    
    TEST=angle_unittests
    
    Change-Id: I49f17444bf0fe6568ec4d3445421c27a562adf1b
    Reviewed-on: https://chromium-review.googlesource.com/277040
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit 44b07e9498bd78d5c180c45c699492981e21965c
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Jun 9 18:00:46 2015 +0200

    Fix compilation of libtester_main on Linux
    
    Replace usage of std::exception by std::runtime_error
    
    BUG=angleproject:892
    
    Change-Id: I214fe6a93944dcfb39b0633f46caf3b1187bd5d3
    Reviewed-on: https://chromium-review.googlesource.com/275815
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 22cebb0a7dd94f75746dc0bc6c51f2dadccd2703
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 10 22:59:21 2015 +0000

    Revert "Revert "Add baked DXGI format info for 2D/3D/Cube textures.""
    
    Parent patch fixed.
    
    BUG=angleproject:1014
    
    This reverts commit 79ae150ed273f4c5e94b89be5d913c6b252ff1dd.
    
    Change-Id: I6431d73e5a766d1937732ddb7964751d46465674
    Reviewed-on: https://chromium-review.googlesource.com/276776
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 5d121e1ef56340334d9b062f635b4e9e2e437317
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 10 18:56:04 2015 -0400

    Add generated tables to mirror D3D11 format support.
    
    *re-land with fix for test build*
    
    These tables can save us on startup time. Instead of querying the
    tables, we can keep certain assumptions about texture formats
    because certain formats are guaranteed to be supported in various
    feature levels.
    
    Testing with angle_perftests indicates this patch series will save
    about 50% of the time we spend in Renderer11::initializeDevice.
    
    BUG=angleproject:1014
    
    Change-Id: I5477eea3e8433d36119cd099fb0c08eea168489a
    Reviewed-on: https://chromium-review.googlesource.com/276758
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 00787935ebf0511a1edbc5cd53ba6fe8a50bbf8c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 10 22:52:51 2015 +0000

    Revert "Add generated tables to mirror D3D11 format support."
    
    Hidden conflict with Geoff's test refactor patch.
    
    BUG=angleproject:1014
    
    This reverts commit 396ee48b639189465039cd62ef8409e86d5f6dd1.
    
    Change-Id: I8182acb350b61b31f4040a20c86652e23706905a
    Reviewed-on: https://chromium-review.googlesource.com/276774
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 79ae150ed273f4c5e94b89be5d913c6b252ff1dd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 10 22:52:00 2015 +0000

    Revert "Add baked DXGI format info for 2D/3D/Cube textures."
    
    Hidden conflict with Geoff's test refactor patch.
    
    BUG=angleproject:1014
    
    This reverts commit a3028ab99b70c216368a876cdffe44b0b2239fcf.
    
    Change-Id: Ic202e377032e9c74f62450ba0ffcba85a1fc0cc7
    Reviewed-on: https://chromium-review.googlesource.com/276773
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit a3028ab99b70c216368a876cdffe44b0b2239fcf
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 10 14:54:08 2015 -0400

    Add baked DXGI format info for 2D/3D/Cube textures.
    
    This saves us from querying a lot of the formats on startup.
    
    BUG=angleproject:1014
    
    Change-Id: I499625b9a131cf10791d1580d7a7b477a161045a
    Reviewed-on: https://chromium-review.googlesource.com/275773
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 396ee48b639189465039cd62ef8409e86d5f6dd1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 10 14:54:07 2015 -0400

    Add generated tables to mirror D3D11 format support.
    
    These tables can save us on startup time. Instead of querying the
    tables, we can keep certain assumptions about texture formats
    because certain formats are guaranteed to be supported in various
    feature levels.
    
    Testing with angle_perftests indicates this patch series will save
    about 50% of the time we spend in Renderer11::initializeDevice.
    
    BUG=angleproject:1014
    
    Change-Id: I84dbeaba1d1c635ad60c8413705cc41af8a51f06
    Reviewed-on: https://chromium-review.googlesource.com/275772
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 6a9a79e3f246ed34eeed5339e0a6dd4e8c288efb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 10 16:46:10 2015 -0400

    Import Chromium test expectation libs.
    
    This can be useful for our testing code, to filter based on system
    configurations, such as GPU type, OS, or Debug/Release.
    
    BUG=angleproject:998
    
    Change-Id: I88b7fe1a7a1446262cc084e62cdb335776fa8912
    Reviewed-on: https://chromium-review.googlesource.com/274422
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 862c0ba406ea45cfe4663f56963fb2f35141fb9b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon May 25 15:31:16 2015 -0400

    Implement the remaining caps queries.
    
    Limit the supported ES version based on these caps.
    
    BUG=angleproject:879
    
    Change-Id: If3a097576465b33af0015fcb28dab10e88fdc4d9
    Reviewed-on: https://chromium-review.googlesource.com/273160
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit dd323e956830c24dcd7897ca4f107d0aef4b0dc1
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jun 9 15:16:31 2015 -0400

    Only run tests that the current hardware can support.
    
    For each config, determine if a context can be created at test
    instantiation time.  This allows skipping of ES3 tests when the hardware
    does not support ES3.
    
    Updated the perf_tests to use the EGLPlatformParameters struct so that
    they can be filtered in the same way.
    
    Change-Id: If664604b057cec4005eb4b63bebd83cd4964b7b2
    Reviewed-on: https://chromium-review.googlesource.com/276460
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 34482831b0978aba23dfd4c13edcd6c837f3adda
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jun 10 15:16:07 2015 -0400

    Add missing newlines to BuiltInFunctionEmulatorGLSL.cpp and Pack_Unpack_test.cpp.
    
    BUG=angleproject:947
    
    Change-Id: I8cbcd99e8c2cb7c461b0c624596631a4dec6dcc8
    Reviewed-on: https://chromium-review.googlesource.com/276668
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 03f3caecd9967f004fb5708053ba3fe0d6703fda
Author: Qingqing Deng <qdeng@nvidia.com>
Date:   Mon Mar 16 02:01:21 2015 -0700

    Emulate Missing pack_unpack functions from OpenGL 4.1
    
    BUG=angleproject:947
    
    TEST=angle_unittests, angle_end2end_tests
    
    Change-Id: Id1afd7630d9720b6701225b7abf1ce4a3bf528b6
    Reviewed-on: https://chromium-review.googlesource.com/260232
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit a4aa4e300b91bc499abd76414094fce471ac2a94
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Jun 4 15:54:30 2015 +0300

    Record precision of constant variables when needed
    
    Add a traverser that checks precision qualifiers of folded constants and
    hoists them to separate precision qualified variables if needed.
    
    Fixes sdk/tests/conformance/glsl/bugs/constant-precision-qualifier.html
    
    TEST=WebGL conformance tests, angle_unittests
    BUG=angleproject:817
    
    Change-Id: I1639595e0e49470736be93274f0af07ee732e1fe
    Reviewed-on: https://chromium-review.googlesource.com/275095
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit e754fb8a6d96eaaf6ac31d5cedf74d74446fb609
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jun 10 10:52:25 2015 -0400

    Fix missing newline at the end of compiler_test.h
    
    BUG=angleproject:817
    
    Change-Id: Iaa971c71c0f5bcec46fffb5d2e70f108e6ca6b02
    Reviewed-on: https://chromium-review.googlesource.com/276607
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 7adfb18475dd591497da115e0cf84604edcb4ec2
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Jun 9 15:49:41 2015 +0300

    Refactor common compiler test functionality into helper functions
    
    Refactor translating a ESSL shader string into a target language so that
    compiler initialization and cleanup code can be reused between test classes.
    
    BUG=angleproject:817
    TEST=angle_unittests
    
    Change-Id: Idb229dceb9e17b13ed6ad2a68ab55ed5c968780e
    Reviewed-on: https://chromium-review.googlesource.com/275814
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 2a197a1b6416faabb6f67404489befdf3dcb3716
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Tue Jun 9 18:53:44 2015 -0700

    Make MaxTextureSizeTest::RenderToTexture check for glBlitFramebuffer support
    
    Change-Id: I25236240eec135b265a25eefdbbd28f069633eee
    Reviewed-on: https://chromium-review.googlesource.com/276308
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 7b6e71731c6a0ae2eb00e2c395a0f21a4539dafd
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Jun 10 15:08:09 2015 +0300

    Revert "Fix standalone compilation on Linux"
    
    This broke Chromium build on Linux.
    
    This reverts commit c6a61c27e6c4f25d555fbcbd37f6d8dbdf958a39.
    
    Change-Id: I4df380eaed3ecc19b85aa99a397968ceb5ce3af8
    Reviewed-on: https://chromium-review.googlesource.com/276293
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit c6a61c27e6c4f25d555fbcbd37f6d8dbdf958a39
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Jun 8 22:41:57 2015 +0200

    Fix standalone compilation on Linux
    
    BUG=angleproject:892
    
    Change-Id: Iceae30f5bc12546b2486e8aac0346eab1f09ded3
    Reviewed-on: https://chromium-review.googlesource.com/276200
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 08332634271d9da51286afcd018c74f43248dcd4
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Tue May 5 13:35:47 2015 -0700

    Implement EXT_discard_framebuffer in D3D11 renderer
    
    Change-Id: I52bcf0cfb1aa123e085a35730fdefb006b617c3c
    Reviewed-on: https://chromium-review.googlesource.com/269232
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 450a80a2c0e9e3115f00fb61553f901ece7c17a8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jun 9 12:57:47 2015 -0400

    d3d11: Add a histogram to capture DLL loading time.
    
    This should complete the breakdown of the time we spent in
    eglInitialize.
    
    BUG=angleproject:1014
    BUG=436191
    
    Change-Id: I3b44f10c56322924f9391a56973df5f439fa83bb
    Reviewed-on: https://chromium-review.googlesource.com/276268
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 39fcf2636a364a68c568e7591386238e1869a798
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 8 14:39:07 2015 -0400

    Use both null and real renders for draw call perf.
    
    Introduce a "null" GL renderer for this specific benchmark, which
    does not do any work on drawArrays and drawElements. We could use
    the same kind of trick for buffer and texture updates, if we need
    it. This gives us a good baseline for comparing GL and D3D perf.
    
    BUG=angleproject:1040
    
    Change-Id: I4bf7c75df01932de45ddd0a4e42e8fc82f15e37e
    Reviewed-on: https://chromium-review.googlesource.com/276192
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit df785dfacffa0a87d6cc55a380343af30b8d1842
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jun 9 09:55:30 2015 -0400

    dEQP: Add GoogleTest integration.
    
    Use value-parameterized tests, loading a full test list from
    case files.
    
    BUG=angleproject:998
    
    Change-Id: Iff65a2d722e9d105e22649b17a18cc74dccea2b1
    Reviewed-on: https://chromium-review.googlesource.com/274421
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 4f3c14be01ca0e04a0e96c977af3764f7d6f64cd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jun 9 09:55:29 2015 -0400

    dEQP: Add tcu::RandomOrderExecutor.
    
    A prototype based on work from phaulos@. This should eventually
    be integrated into the dEQP repo.
    
    BUG=angleproject:998
    
    Change-Id: I9be137fb54423bc180623f172dde63a22311b791
    Reviewed-on: https://chromium-review.googlesource.com/274420
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 435e49108eb542740a398170c7488bf05f364bee
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jun 4 14:44:52 2015 -0400

    Don't create child windows in the WGL implementation.
    
    BUG=angleproject:890
    
    Change-Id: I66fb7b97ea3f09d40ba25a769c8bc7fe04527805
    Reviewed-on: https://chromium-review.googlesource.com/275307
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit b43846eef1db313414bc49d8a2f5754d72ad8b0b
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Jun 2 18:18:57 2015 +0300

    Unify aggregate operator folding with other constant folding
    
    Setting the type for folded aggregate nodes should work in a similar way
    as other constant folding. Common functionality between the different
    folding functions is refactored into a single function.
    
    TEST=dEQP-GLES3.functional.shaders.constant_expressions.*
    BUG=angleproject:817
    
    Change-Id: Ie0be561f4a30e52e52d570ff0b2bdb426f6e4f7a
    Reviewed-on: https://chromium-review.googlesource.com/275186
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 35b08e3cbff280f87d8c278f769672f4904bfbd7
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jun 3 11:22:07 2015 -0400

    Skip MipmapTest.RenderOntoLevelZeroAfterGenerateMipmap on Intel too.
    
    Seeing failures on some Intel HD4000 cards as well as AMD.
    
    BUG=angleproject:1038
    
    Change-Id: I45dfcdf62af69cd3295918d963def85f2eb50ebe
    Reviewed-on: https://chromium-review.googlesource.com/274943
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit d0834a00f8a7319b1ae63315ddce3231c000f03b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 8 10:59:27 2015 -0400

    dEQP: Add case file generator script.
    
    Use the dEQP null platform for speed and to avoid popping up
    a new window. Store the case lists as .gz files to save space
    in the repo.
    
    BUG=angleproject:998
    
    Change-Id: Ib9b10b8a83edc510cc98f120847b1cf93a3d2f78
    Reviewed-on: https://chromium-review.googlesource.com/273975
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 6e0302a87d447b260688ac0d4ad1b932a363ddbf
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 8 11:12:58 2015 -0400

    Update WebGL CTS expectations.
    
    BUG=none
    
    Change-Id: I9c297853be54d8aec6e133535c5596283dbd246c
    Reviewed-on: https://chromium-review.googlesource.com/275861
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 95310b000b8e684fa8a85e6cec91bb568a7cfe02
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Jun 2 17:43:38 2015 +0300

    Unify unary operator folding with binary operator folding
    
    Implement unary operator folding in a similar way to binary operator
    folding, so that the code is easier to understand.
    
    TEST=dEQP-GLES3.functional.shaders.constant_expressions.*
    BUG=angleproject:817
    
    Change-Id: I069bdb38f965e1badb3e8f3f954386b205b7bb00
    Reviewed-on: https://chromium-review.googlesource.com/275185
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 2c4b746cbd6a02502a953517e09e312969aed73b
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Jun 8 11:30:31 2015 +0300

    Revert "Revert "Make sure type gets set consistently in folded binary operations""
    
    This patch was originally reverted only because a dependency patch failed a
    buggy Chromium test.
    
    This reverts commit aebd002d00d39858819c58bad1970df121b78e1b.
    
    TEST=dEQP-GLES3.functional.shaders.constant_expressions.*
    BUG=angleproject:817
    
    Change-Id: Ia5acf15518ea89717c0cfe1398cb18ea27be5b19
    Reviewed-on: https://chromium-review.googlesource.com/275811
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit bd4cfdcd80ac759944f983bc8a88ffadb581e9f8
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jun 8 09:37:53 2015 -0400

    Skip LUMA format tests on OpenGL.
    
    These formats are depricated in the core profile and not supported yet.
    
    BUG=angleproject:884
    
    Change-Id: Ic5cf75196ed73cc6bd660fc437f96fdcea5de1b4
    Reviewed-on: https://chromium-review.googlesource.com/275771
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 3d0d9a483ebb6e894f1d1049c5587ced2786e986
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Jun 1 12:16:36 2015 +0300

    Clean up TIntermTraverser usage
    
    Remove default parameters from TIntermTraverser.
    
    Also clean up a few dead function declarations in traversers.
    
    TEST=angle_unittests, angle_end2end_tests
    BUG=angleproject:1037
    
    Change-Id: I8d126c6c2d5b53e8b14e23e3d102f204a59323b3
    Reviewed-on: https://chromium-review.googlesource.com/275184
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 1155ddd242fb20ffb39e14a01eec1d39c366258f
Author: Arun Patole <apatole@nvidia.com>
Date:   Fri Jun 5 18:04:36 2015 +0530

    Revert "Revert "Add constant folding support for geometric built-ins""
    
    Revert of revert as the issue is with the failing test itself.
    
    This reverts commit b3da45c12d3eecdd319c0feb4d2b933e144f816a.
    
    Change-Id: Ie2003c78527f87cad7f8ead0d87fee75ce032379
    Reviewed-on: https://chromium-review.googlesource.com/275487
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 64f0be91d2856ecd07ddfe53dd76df115e23b906
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Jun 3 17:38:34 2015 +0300

    Remove unused right-to-left AST traversal support
    
    No code actually uses the right-to-left traversal. All it does is add
    unnecessary complexity.
    
    TEST=angle_unittests, angle_end2end_tests
    BUG=angleproject:1037
    
    Change-Id: Id15498343538c02c252ef0852f9a00c85ac3c4bb
    Reviewed-on: https://chromium-review.googlesource.com/275183
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit cc54e5d9c825711e0c9c7f42d9442f54a0aea695
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Jun 5 16:00:02 2015 +0300

    Add a simple unit test for built-in emulation on Mac
    
    This will replace a similar buggy test that will be removed from Chromium.
    
    BUG=angleproject:913
    TEST=angle_unittests
    
    Change-Id: If782004e764316ca003effbea883640ecdb30dda
    Reviewed-on: https://chromium-review.googlesource.com/275397
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit dd2eb504508c2d9b015819077b5e46a8ca45705a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jun 3 15:40:16 2015 -0400

    Always use the highest GL version available unless requested.
    
    BUG=angleproject:890
    
    Change-Id: I76a1b1c455cb4be02b4b5c52153f5c87f33d426d
    Reviewed-on: https://chromium-review.googlesource.com/275008
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit e44e829d40983546fd8e278f1d31fbd57ed9a11e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jun 4 14:03:35 2015 -0400

    Document OpenGL ES and EGL features, formats and extensions.
    
    Change-Id: I38fb5acc5e0824035ccba55c28d12c8980c5905e
    Reviewed-on: https://chromium-review.googlesource.com/275311
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 47b53c006b08da7bdacaec88cc5a61aef7cf8241
Author: Nico Weber <thakis@chromium.org>
Date:   Thu Jun 4 12:58:22 2015 -0700

    Mark no_angle_common as no_chromium_code.
    
    All other targets that remove chromium_code add
    no_chromium_code; looks like not doing this here was an
    oversight.
    
    BUG=491209
    
    Change-Id: Id5c81d019603b428561a23aaa4dbe4427e43e751
    Reviewed-on: https://chromium-review.googlesource.com/275316
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nico Weber <thakis@chromium.org>
    Tested-by: Nico Weber <thakis@chromium.org>

commit b3da45c12d3eecdd319c0feb4d2b933e144f816a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jun 4 19:38:22 2015 +0000

    Revert "Add constant folding support for geometric built-ins"
    
    This is failing gpu_unittests on Mac:
    
    ShaderTranslatorTest.BuiltInFunctionEmulation:
    ../../gpu/command_buffer/service/shader_translator_unittest.cc:314: Failure
    Value of: strstr(translated_source.c_str(), "webgl_dot_emu") != NULL
    Actual: false
    Expected: true
    
    Reverting until we can fix the overly-narrow test.
    
    BUG=angleproject:913
    
    This reverts commit b50788d11dec046415565af1cc7da334e2979577.
    
    Change-Id: I5bd9df83704e771e419339745eceaa43a20bd1e6
    Reviewed-on: https://chromium-review.googlesource.com/275320
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit aebd002d00d39858819c58bad1970df121b78e1b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jun 4 19:43:44 2015 +0000

    Revert "Make sure type gets set consistently in folded binary operations"
    
    This is blocking the revert of the geometric constant folding
    patch, which is breaking gpu_unittests and blocking the roll.
    
    BUG=angleproject:817
    
    This reverts commit b07aba0798d3bba3118dac78933e73b3f08a601b.
    
    Change-Id: Ia00fc45b1ddd9d3c079742dea0627aa12304f93b
    Reviewed-on: https://chromium-review.googlesource.com/275321
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit c84e20ee1583866b297d402f20669afd2c1a126e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jun 4 18:38:10 2015 +0000

    Revert "Add a flush before looping to get the sync status."
    
    Apparently even a flush isn't enough on some Intel drivers.
    
    This reverts commit 73410e42c88dc28ada1a2b337b5c94b063b7a4e6.
    
    Change-Id: Iafdd1cbb4e89d30ebe3be6404f0bf4e586d91b8d
    Reviewed-on: https://chromium-review.googlesource.com/275305
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit b07aba0798d3bba3118dac78933e73b3f08a601b
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri May 29 12:19:19 2015 +0300

    Make sure type gets set consistently in folded binary operations
    
    Add a wrapper function that handles creating the folded node and setting the
    right parameters on it, so that the folding function handles only
    calculating the folded values.
    
    This will fix the precision set to constant folded values in some cases.
    Previously the precision was always set to be equal to one of the operands
    to the binary operation, but now both operands are taken into account.
    
    Folding binary operations is now in a separate function from folding unary
    operations.
    
    TEST=dEQP-GLES3.functional.shaders.constant_expressions.*
    BUG=angleproject:817
    
    Change-Id: Id97e765173c6110f49607e21c3fb90019b1ebac7
    Reviewed-on: https://chromium-review.googlesource.com/274001
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit b50788d11dec046415565af1cc7da334e2979577
Author: Arun Patole <apatole@nvidia.com>
Date:   Mon May 25 19:20:26 2015 +0530

    Add constant folding support for geometric built-ins
    
    * re-land after mac compilation fix (unsupported c++11 initializer) *
    
    This change adds constant folding support for following geometric
    built-ins:
        - length, distance, dot, cross, normalize, faceforward,
          reflect and refract.
    
    BUG=angleproject:913
    TEST=angle_unittests, dEQP Tests
    dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric.*
    (56 tests started passing with this change)
    
    Change-Id: I236fc0c1af47a63f359564500c711e6bedf1c808
    Reviewed-on: https://chromium-review.googlesource.com/274789
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 8f76bcc4ed3be7f593a4d0061af5f3f7079858ac
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Jun 2 13:54:20 2015 +0300

    Add unit test for RemovePow
    
    Add two versions of the test - one with a single pow(), and another with
    a nested pow().
    
    TEST=angle_unittests
    BUG=477306
    
    Change-Id: Idb38e57a4b2522b7794996d6ea0f0456b349abf7
    Reviewed-on: https://chromium-review.googlesource.com/274736
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 73410e42c88dc28ada1a2b337b5c94b063b7a4e6
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jun 3 10:55:53 2015 -0400

    Add a flush before looping to get the sync status.
    
    Intel GPUs enter an infinite loop unless told to flush.
    
    BUG=angleproject:1038
    
    Change-Id: I7c3d9dd08bf1ee09cb163dd859f817379a72cd65
    Reviewed-on: https://chromium-review.googlesource.com/274942
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 27359ff758d782997e644b8bc7910173c6577e26
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jun 2 15:42:04 2015 -0400

    Read the proper uniform location instead of assuming location 0.
    
    Fixes MipMapTest on Intel/OpenGL.
    
    BUG=angleproject:1038
    
    Change-Id: I19a0704969ef03d5d2ee3c9092daf4bd3a9818f7
    Reviewed-on: https://chromium-review.googlesource.com/274818
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 2469dad944395a7d91c82fe7f51d62359be4b954
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jun 2 15:40:52 2015 -0400

    Load the framebuffer and vertex array object extensions.
    
    BUG=angleproject:879
    BUG=angleproject:1038
    
    Change-Id: Idd2ad36707c17d13c45bc4fc131ec1ebfc45e0a5
    Reviewed-on: https://chromium-review.googlesource.com/274817
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 5bdb8472b25b7e323dc5023f499bc841a78a92aa
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Jun 3 16:21:33 2015 +0300

    Remove unused QualifierAlive traverser
    
    This class is not used anywhere in the code.
    
    TEST=angle_unittests
    
    Change-Id: Ib59573203636a669b136e3823d0abea8120f448e
    Reviewed-on: https://chromium-review.googlesource.com/274896
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit c4a4275fa6080fb046a28c08778fe6bd193d1404
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jun 2 12:57:58 2015 -0400

    Use the git mirror of googlemock.
    
    Revision unchanged.
    
    Change-Id: I95bc28ff8d47de1ddc90647a54e138dcd80161ee
    Reviewed-on: https://chromium-review.googlesource.com/274803
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 19fafa4b08ed3e6813a3752b07aecb659734fcb6
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jun 2 12:41:44 2015 -0400

    Fix incorrect value being synced for the alpha blend equation.
    
    Fixes angle_end2end_test BlendMinMaxTest with the blend_minmax extension
    enabled.
    
    BUG=angleproject:883
    
    Change-Id: Iae2441d11a3c4c497a1ddc4d250120fd85175d52
    Reviewed-on: https://chromium-review.googlesource.com/274802
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 2f4823bf44f4738b248de1950a8c476c0fa68630
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 3 12:39:22 2015 +0000

    Revert "Add constant folding support for geometric built-ins"
    
    Breaks Mac build because of C++11 init syntax:
    
    FAILED: /b/build/goma/gomacc ../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/third_party/angle/src/tests/compiler_tests/angle_unittests.ConstantFolding_test.o.d -DV8_DEPRECATION_WARNINGS -D__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORE=0 -DCHROMIUM_BUILD -DCR_CLANG_REVISION=238013-3 -DCOMPONENT_BUILD -DTOOLKIT_VIEWS=1 -DUSE_LIBJPEG_TURBO=1 -DENABLE_ONE_CLICK_SIGNIN -DENABLE_PRE_SYNC_BACKUP -DENABLE_REMOTING=1 -DENABLE_WEBRTC=1 -DENABLE_MEDIA_ROUTER=1 -DUSE_PROPRIETARY_CODECS -DENABLE_PEPPER_CDMS -DENABLE_CONFIGURATION_POLICY -DENABLE_NOTIFICATIONS -DENABLE_HIDPI=1 -DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE -DDONT_EMBED_BUILD_METADATA -DDCHECK_ALWAYS_ON=1 -DENABLE_TASK_MANAGER=1 -DENABLE_EXTENSIONS=1 -DENABLE_PLUGIN_INSTALLATION=1 -DENABLE_PLUGINS=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1 -DENABLE_AUTOFILL_DIALOG=1 -DENABLE_BACKGROUND=1 -DENABLE_GOOGLE_NOW=1 -DCLD_VERSION=2 -DENABLE_PRINTING=1 -DENABLE_BASIC_PRINTING=1 -DENABLE_PRINT_PREVIEW=1 -DENABLE_SPELLCHECK=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_APP_LIST=1 -DENABLE_SETTINGS_APP=1 -DENABLE_SUPERVISED_USERS=1 -DENABLE_SERVICE_DISCOVERY=1 -DENABLE_WIFI_BOOTSTRAPPING=1 -DV8_USE_EXTERNAL_STARTUP_DATA -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DSAFE_BROWSING_SERVICE -DGTEST_HAS_POSIX_RE=0 -DGTEST_LANG_CXX11=0 -DGL_APICALL= -DGL_GLEXT_PROTOTYPES= -DEGLAPI= '-DANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_47.dll", "d3dcompiler_46.dll", "d3dcompiler_43.dll" }' -DANGLE_TRANSLATOR_STATIC -DUSE_LIBPCI=1 -DUSE_OPENSSL=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DWTF_USE_DYNAMIC_ANNOTATIONS=1 -Igen -I../.. -I../../third_party/angle/include -I../../third_party/angle/src -I../../third_party/angle/src/compiler/preprocessor -I../../third_party/angle/src/tests -Igen/angle -I../../testing/gmock/include -I../../testing/gtest/include -isysroot /Applications/Xcode5.1.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk -O0 -gdwarf-2 -fvisibility=hidden -Werror -Wnewline-eof -mmacosx-version-min=10.6 -arch x86_64 -Wall -Wendif-labels -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wno-selector-type-mismatch -Wpartial-availability -Wheader-hygiene -Wno-char-subscripts -Wno-unneeded-internal-declaration -Wno-covered-switch-default -Wstring-conversion -Wno-c++11-narrowing -Wno-deprecated-register -Wno-inconsistent-missing-override -std=c++11 -fno-rtti -fno-exceptions -fvisibility-inlines-hidden -fno-threadsafe-statics -Xclang -load -Xclang /b/build/slave/GPU_Mac_Builder__dbg_/build/src/third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.dylib -Xclang -add-plugin -Xclang find-bad-constructs -Xclang -plugin-arg-find-bad-constructs -Xclang check-templates -fcolor-diagnostics -fno-strict-aliasing -fstack-protector-all -Wno-undefined-bool-conversion -Wno-tautological-undefined-compare  -c ../../third_party/angle/src/tests/compiler_tests/ConstantFolding_test.cpp -o obj/third_party/angle/src/tests/compiler_tests/angle_unittests.ConstantFolding_test.o
    ../../third_party/angle/src/tests/compiler_tests/ConstantFolding_test.cpp:210:43: error: no matching constructor for initialization of 'std::vector<float>'
        ASSERT_FALSE(constantVectorFoundInAST(std::vector<float>{1.0f, 1.0f, 1.0f}));
                                              ^                 ~~~~~~~~~~~~~~~~~~
    
    
    BUG=angleproject:913
    
    This reverts commit 2decb4b1557a57a5a74e3ab98d8b25f9fc0f8557.
    
    Change-Id: Iaf3c61a0c0ed591c17f50f2e3eafe2debf588c95
    Reviewed-on: https://chromium-review.googlesource.com/274917
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 2decb4b1557a57a5a74e3ab98d8b25f9fc0f8557
Author: Arun Patole <apatole@nvidia.com>
Date:   Mon May 25 19:20:26 2015 +0530

    Add constant folding support for geometric built-ins
    
    This change adds constant folding support for following geometric
    built-ins:
        - length, distance, dot, cross, normalize, faceforward,
          reflect and refract.
    
    BUG=angleproject:913
    TEST=angle_unittests, dEQP Tests
    dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.geometric.*
    (56 tests started passing with this change)
    
    Change-Id: I973689554bb8c30ee3ebdf71f1b8a051ceb5e0cf
    Reviewed-on: https://chromium-review.googlesource.com/273097
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit c7be82aef94a70fac84d1f920c359ac81f84941d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 1 14:14:04 2015 -0400

    Change behaviour of string_utils, also fix file io.
    
    File IO tested manually in a follow-up patch.
    
    BUG=angleproject:998
    
    Change-Id: I0bfa778d1787cdedfbf3cd68cd134477e6dcd23c
    Reviewed-on: https://chromium-review.googlesource.com/274030
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 10eb591a434c48f0ef9ad2cda2f4867bacd1c9f9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 28 13:26:03 2015 -0400

    D3D11: Optimize sample caps checks.
    
    We don't need to check NPOT sample counts. This should save us some
    time on eglInitialize.
    
    BUG=angleproject:1014
    
    Change-Id: Id3b0a440689746d5de9a7fbc3641ff9452b18601
    Reviewed-on: https://chromium-review.googlesource.com/274430
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 5c407bb7c90acabe3d2c85666ba00ad07dcb31ba
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Jun 1 12:20:39 2015 +0300

    Work around pow() issue in NVIDIA 331.x drivers
    
    pow(x, y) when y is a certain kind of a constant vector can cause issues on
    NVIDIA 331 series drivers. Add an option to replace pow(x, y) with
    exp2(y * log2(x)) when y is a constant to work around this issue.
    
    This is done with an AST traverser instead of BuiltInFunctionEmulator, since
    there's no mechanism in BuiltInFunctionEmulator to apply the replacements
    only to calls where the second parameter is constant.
    
    TEST=WebGL conformance tests
    BUG=chromium:477306
    
    Change-Id: Ifb327d72659fca36868439f24705203014b3ce53
    Reviewed-on: https://chromium-review.googlesource.com/274279
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit 6bef4ff7e9eeaf3a3b5058dbc8f156735c25ce93
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jun 1 21:08:31 2015 +0000

    Revert "In D3D11, check for 16-bit texture support and use if possible"
    
    Seeing failures on Win7 + Intel machines.
    
    Example build:
    https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20%28Intel%29/builds/11756
    
    This reverts commit 673115d9cc4251cd690e14a98ef0c717ba9de0b9.
    
    Change-Id: Ie2b6cc1ae9c4e83dde3a531e38252c95ac2e2a0a
    Reviewed-on: https://chromium-review.googlesource.com/274450
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit ae6584e60945e2957091a29c729f3e4027207766
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jun 1 15:49:26 2015 -0400

    Sync the scissor tests state before clearing.
    
    Fixes:
     * conformance/rendering/gl-scissor-fbo-test.html
     * conformance/rendering/gl-scissor-canvas-dimensions.html
    
    BUG=angleproject:883
    
    Change-Id: Icd337894f1dbc7464a4566bfab9a30b70fd4bbfa
    Reviewed-on: https://chromium-review.googlesource.com/274445
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit fbd7820c2c797d88af931ffc25cba7bed4b41581
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Thu May 28 15:33:55 2015 -0700

    Fix flaky WebGL point-sprites test when using instanced point sprites
    
    Change-Id: I7d417016d9fa3a2e49806543d981ab98a3e71cbc
    Reviewed-on: https://chromium-review.googlesource.com/273914
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 673115d9cc4251cd690e14a98ef0c717ba9de0b9
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Thu May 28 09:27:57 2015 -0700

    In D3D11, check for 16-bit texture support and use if possible
    
    BUG=angleproject:1002
    
    Changed since last failed 16-bit patch:
    - Disabled usage of 16-bit DXGI textures on all Intel cards
    - Added DXGI->GL conversion entries for 16-bit formats, which
      fixes FBO readback issues. The ES CTS and dEQP tests which
      failed with the last patch now pass.
    
    Change-Id: Ib66abf73f23dbb4329f0a32d7f3dafbbc23e6c08
    Reviewed-on: https://chromium-review.googlesource.com/273712
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit af727701438a13c20c3d2e6de47b79b54110cf3c
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Fri May 29 12:14:43 2015 -0700

    Add Windows SDK path to WinPhone projects
    
    Change-Id: Iaa0bbeba55a277724e4f1851fb0f9db7150308c2
    Reviewed-on: https://chromium-review.googlesource.com/274012
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit fd216c41f7413b7eb4b8009ba26690b37b9a9302
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed May 27 16:12:30 2015 -0400

    Support BGRA texture by remapping the internal format to RGBA.
    
    The format is still passed as BGRA to the driver so that the data can be
    properly unpacked.
    
    BUG=angleproject:884
    
    Change-Id: I767626c818ce1a3c5a4739f07aa623bf8a9ae377
    Reviewed-on: https://chromium-review.googlesource.com/273162
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 6683032d0672998652e76486cc4e914df7dd52f1
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed May 27 16:11:32 2015 -0400

    Add remaining unsized formats to the GL format tables.
    
    BUG=angleproject:884
    
    Change-Id: I53e7ff9e35b820573691df0d23b41ef45e2a07d0
    Reviewed-on: https://chromium-review.googlesource.com/273590
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit 7eabe51e3bf50f30e305e98fdbabd9fc49d76a52
Author: Shawn Hargreaves <shawnhar@microsoft.com>
Date:   Thu May 14 17:00:41 2015 -0700

    Add ANGLE_REVISION sub-identifier to the DLL versioning scheme
    
    Change-Id: Ie9df84957801def2db72a382f4860bbe4e06002f
    Reviewed-on: https://chromium-review.googlesource.com/274051
    Tested-by: Shawn Hargreaves <shawnhar@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit ce232678da987be0bc5f29dddf4ae96f7ff7b866
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 28 13:26:02 2015 -0400

    Add a perf test for eglInitialize.
    
    Also shutdown performance, since it's not easy to only test one.
    
    BUG=angleproject:1014
    
    Change-Id: I9d06426788ed336031271f8876589b111f1294b7
    Reviewed-on: https://chromium-review.googlesource.com/273974
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit 7ace53ad696bcca0353ad8aa038cf6f065522e84
Author: Shawn Hargreaves <shawnhar@microsoft.com>
Date:   Fri May 29 08:54:41 2015 -0700

    Add Shawn Hargreaves (Microsoft Corporation) to CONTRIBUTORS
    
    Change-Id: I23110ecaba34990051ff81c40cb93198e2ad1e9c
    Reviewed-on: https://chromium-review.googlesource.com/274050
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Shawn Hargreaves <shawnhar@microsoft.com>

commit 4031b99416eca8a22e3193352d39294c2a1a023d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri May 29 10:57:55 2015 -0400

    Don't enable opengl on linux unless x11 is also available.
    
    BUG=493682
    
    Change-Id: I10d5b710fcc9b51160c3aff169d1af839212003c
    Reviewed-on: https://chromium-review.googlesource.com/273976
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 57df19ce260fcf386f2ef0114d37d5bb4b0cc191
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 28 13:32:21 2015 -0400

    Add timing stats for Renderer11::initializeDevice.
    
    This gives us insight to what we can optimize away.
    
    BUG=angleproject:1014
    
    Change-Id: I86208c5cbebe14905a05d0859b9e37368f4c25d4
    Reviewed-on: https://chromium-review.googlesource.com/273862
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit c3ab9f7fe4cfd5b5c1f5cc4c4411286b8a14e0c1
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed May 27 14:45:59 2015 -0400

    Disable UNIMPLEMENTED in ProgramGL::applyUniforms.
    
    Disables lots of assertion failures in WebGL CTS.
    
    BUG=angleproject:882
    
    Change-Id: I407397a256955d608dbf1234e4e391704653bb5a
    Reviewed-on: https://chromium-review.googlesource.com/273547
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 6db25f15e76ac0d1d048c6998b1c8d1da0165c11
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed May 27 15:15:41 2015 -0400

    Always init gl_Position in vertex shaders in ShaderGL.
    
    Fixes:
     * conformance/glsl/misc/empty_main.vert.html
     * conformance/glsl/misc/gl_position_unset.vert.html
    
    BUG=angleproject:882
    
    Change-Id: I92a465b58f319b14e4f697d9bb5b45427a6247c0
    Reviewed-on: https://chromium-review.googlesource.com/273548
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit bf6f48ff065d243a03b1b1e5cd3b1dd6c2c83e48
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed May 27 13:54:39 2015 -0400

    Bind renderbuffers as soon as they are generated.
    
    Like textures, renderbuffers don't become real objects until they are
    bound.  If the renderbuffer is never bound before being attached to a
    framebuffer, it would generate an INVALID_OPERATION.
    
    Fixes:
     * conformance/textures/tex-input-validation.html
     * conformance/renderbuffers/renderbuffer-initialization.html
    
    BUG=angleproject:886
    
    Change-Id: I639b9e2d9ae694dce29f20ed5f95077ae02d471e
    Reviewed-on: https://chromium-review.googlesource.com/273533
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 4785fec97aa95bffb8e3a7c2dd20da112238923d
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon May 18 16:09:37 2015 +0300

    Clean up most common extra semicolons and braces in HLSL output
    
    Clean up extra semicolons and braces from loops and conditional statements
    and extra braces from function definitions.
    
    This makes the HLSL output considerably easier to read.
    
    TEST=angle_unittests, angle_end2end_tests, dEQP-GLES3.functional.shaders.*,
         WebGL conformance tests
    BUG=angleproject:1013
    
    Change-Id: I8180bab7b3d4bda1cdb8e4fb51cf9d8e384dd797
    Reviewed-on: https://chromium-review.googlesource.com/273607
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 4d59f3c6b7906eae344076dfc5a37870f1e489a2
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu May 28 17:33:53 2015 +0300

    Make false blocks produced by RewriteElseBlocks sequence nodes
    
    All child nodes of selection should be sequence nodes, so that they will
    output braces and extra braces can be removed from HLSL output.
    
    Also make RewriteElseBlocks to reuse common IntermTraverser functionality
    to simplify the code.
    
    TEST=WebGL conformance tests on D3D9
    BUG=angleproject:1013
    
    Change-Id: Iafdc05468b22d110abcd020cf52c646dd98fb4a0
    Reviewed-on: https://chromium-review.googlesource.com/273608
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit 46ccef1992a8ede16a596c3dd73cff13c047267d
Author: bungeman <bungeman@chromium.org>
Date:   Wed May 27 17:14:43 2015 -0400

    Remove ref to intermediate.h.
    
    With
    https://chromium-review.googlesource.com/213300
    b9b5c105799bac1a4738c7589538fab523e3a43d
    
    the file intermediate.h was renamed Intermediate.h. However,
    compiler.gypi now contains references to both, but the lower case
    version doesn't exist anymore, so it should be removed.
    
    Change-Id: I6b36bd561f110694daecd4ad911036c94300cd1f
    Reviewed-on: https://chromium-review.googlesource.com/273593
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 08dcfed6a773bbd1a105a693e947a358f6d79b16
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon May 25 13:38:42 2015 -0400

    Encapsulate GL version and standard into a struct and enum.
    
    Change-Id: I9f51971c1bfd51424605b2687b5fd107d58c9a67
    Reviewed-on: https://chromium-review.googlesource.com/273139
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-on: https://chromium-review.googlesource.com/273572
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 51d4f0443ffa8d6386864e9d2be6350a96f69336
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed May 27 21:10:42 2015 +0000

    Revert "Encapsulate GL version and standard into a struct and enum."
    
    Linux didn't like compiling this.
    
    This reverts commit 03f589122ed796060f1345f9ccfc64455c547fef.
    
    Change-Id: Ifd0824caeb02791b4acc5e4bca330ecdc8164b11
    Reviewed-on: https://chromium-review.googlesource.com/273583
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 03f589122ed796060f1345f9ccfc64455c547fef
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon May 25 13:38:42 2015 -0400

    Encapsulate GL version and standard into a struct and enum.
    
    Change-Id: Ib3c37627298976040d5a333f4c845a7b2620dd30
    Reviewed-on: https://chromium-review.googlesource.com/273139
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 51e2ad145705478e9d94c4e2657e9acbb8a55108
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue May 26 11:32:58 2015 -0400

    Do not always use X11 for Linux builds, inherit Chromium's settings
    
    This fixes project generation for Chromium for non-X11 builds
    
    BUG=angleproject:1011
    
    Change-Id: If528f63fb186d834d56a43ca379497d99e74777e
    Reviewed-on: https://chromium-review.googlesource.com/273163
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 44aedf377fea39ebdd098c105c41a5f4b786c864
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon May 25 14:41:51 2015 -0400

    Enable PbufferTest on Linux by not advertising bindable configs
    
    GLX Pbuffers are not bindable so implementing bindable pbuffers would
    have to be one of the following:
     - Implement Pbuffer as GLXPixmaps, with complication arising in the
       initialization.
     - Implement Pbuffers as GL textures, which would require a large change
       of the EGL implementation.
     - Fake bindable Pbuffers with glCopyTexImage2D, with obvious
       performance problems.
    
    BUG=angleproject:892
    
    Change-Id: I7d9cd5a4aa2d35343244be3cbe55fc1e492f6928
    Reviewed-on: https://chromium-review.googlesource.com/273056
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 5c798fe97d8f6a577eb804bd1453317778533b99
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon May 25 10:03:35 2015 -0400

    Enable OcclusionQueriesTest on Linux
    
    This includes an implementation of a cross platform Sleep function
    
    BUG=angleproject:892
    
    Change-Id: I1087a00ab204b37bafc5e95a9766962b194d97ef
    Reviewed-on: https://chromium-review.googlesource.com/273133
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 9d0b1f9b58390dfc9f84955e15ac6f809f4536bd
Author: Arun Patole <apatole@nvidia.com>
Date:   Wed May 20 14:27:17 2015 +0530

    Constant fold vector relational built-ins
    
    This change adds constant folding support for vector relational
    built-ins.
    
    BUG=angleproject:913
    TEST=dEQP Tests
    dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational*
    (Fixes all 138 tests)
    
    Change-Id: I291e332f2afb3ce3d6596e634f509995dbf35164
    Reviewed-on: https://chromium-review.googlesource.com/272344
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 8e7549bde2425a1cba15ef2cedb793bcb7d4f8bd
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed May 27 14:05:10 2015 +0000

    Revert "In D3D11, check for 16-bit texture support and use if possible"
    
    Causing failures on Windows 8 bots running ES CTS and Windows 7 Intel bot running angle tests.
    
    Example failures:
    https://build.chromium.org/p/chromium.gpu.fyi/builders/Win8%20Release%20%28NVIDIA%29/builds/14442
    https://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20%28Intel%29/builds/11627
    
    This reverts commit d63f08fcc32ea17bac2b025f0ad3261664ff79c9.
    
    Change-Id: I841aee5fb0973432f249277126424b909d5b3e17
    Reviewed-on: https://chromium-review.googlesource.com/273416
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 294cad9d701113380de3457c364e452f8e9c8615
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue May 26 15:11:23 2015 -0400

    When applying vertex array objects, update the currently applied index buffer.
    
    When binding a vertex array object, it was not changing the tracked index
    buffer binding.  This was causing the buffer bindings to sometimes not be
    updated between index and non-indexed draw calls.
    
    Fixes:
     * Intermittent crashes in chromium startup.
     * conformance/rendering/many-draw-calls.html
     * conformance/rendering/framebuffer-switch.html
     * conformance/attribs/gl-bindAttribLocation-aliasing.html
     * conformance/attribs/gl-vertex-attrib-render.html
     * conformance/buffers/index-validation-verifies-too-many-indices.html
    
    BUG=angleproject:883
    
    Change-Id: I34ed1ebc65b339329c0f9ab9c28a392f552ed3d8
    Reviewed-on: https://chromium-review.googlesource.com/273300
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 90d98afac1bba7ffc8fb95ec392dbf2c9ab9d82c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue May 26 16:41:38 2015 -0400

    Bind a texture after creation so that it has a type.
    
    If a texture is bound to a framebuffer before any data is set on it, the
    texture does not have a type because it has never been bound.  This
    generates an INVALID_OPERATION because the attachment type cannot be
    validated.
    
    Fixes:
     * Many generated GL_INVALID_OPERATIONs in chromium
    
    BUG=angleproject:884
    
    Change-Id: I4f36f80fecc5a772b6522f8f82e0be9d3758e524
    Reviewed-on: https://chromium-review.googlesource.com/273324
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit 851cd580d1a74ce44cc22ac1154f4ca3b8d79c35
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue May 26 16:47:23 2015 -0400

    Check for null attribute buffers before binding.
    
    Fixes:
     * Crash in conformance/extensions/oes-vertex-array-object.html
    
    BUG=angleproject:880
    
    Change-Id: I90eba9b26b2834644ce3ba0e78cab3417c2a7bd1
    Reviewed-on: https://chromium-review.googlesource.com/273325
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit 4f1af7847f100a51079e410d27385370c08080af
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon May 25 11:55:07 2015 +0300

    Handle function calls where returned array is not used
    
    This is done by declaring a temporary variable which is passed as the
    array out parameter defined by ArrayReturnValueToOutParameter.
    SeparateExpressionsReturningArrays takes care of transforming the rest of
    the cases where a function call returns an array into form that
    ArrayReturnValueToOutParameter can handle.
    
    BUG=angleproject:971
    TEST=WebGL 2 conformance tests, dEQP-GLES3.functional.shaders.arrays.*
    
    Change-Id: I70c07712ba5cd91efb4c2e575ecc49b9ef71bfd7
    Reviewed-on: https://chromium-review.googlesource.com/273111
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 950457b30274414efed0ffd4d6d15ffc8da44e64
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue May 26 14:36:59 2015 +0300

    Fix destructing TStrings through BuiltInFunctionEmulator after free
    
    BuiltInFunctionEmulator gets destructed after the PoolAllocator has already
    freed memory. That's why BuiltInFunctionEmulator can't hold any objects that
    contain parts stored in the memory pool that would be accessed in its
    destructor. Use only pointers to TType objects inside
    BuiltInFunctionEmulator, so that the BuiltInFunctionEmulator destructor doesn't
    access TStrings which have data in the memory pool.
    
    Also fix style issues in BuiltInFunctionEmulator.
    
    BUG=angleproject:1010
    TEST=dEQP-GLES3.functional.shaders.builtin_functions.*
    
    Change-Id: Ic35caf80bf125d0427c2ed2024e98657756103b6
    Reviewed-on: https://chromium-review.googlesource.com/272738
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit c378cd8aebb56f2617889ba1bba4f871e77aeaba
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon May 25 15:21:44 2015 +0300

    Check that #version 300 es directive is on the first line
    
    ESSL3.00 and 3.10 specs don't allow even newlines before the version
    directive.
    
    BUG=angleproject:1009
    TEST=WebGL 2 conformance tests, angle_unittests
    
    Change-Id: Id7967829077e35e03572c724e0eafffbed0c975b
    Reviewed-on: https://chromium-review.googlesource.com/272719
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit a357236f481ddcdf4eb9fc5ace8509180c6ab783
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri May 22 16:15:01 2015 +0300

    Fix small issues in array related AST transformations
    
    Make sure that user-defined bit stays in place when copying function call
    nodes, and that mInFunctionWithArrayReturnValue gets reset correctly in
    ArrayReturnValueToOutParameter.
    
    BUG=angleproject:971
    TEST=WebGL 2 conformance tests
    
    Change-Id: I385f4ce4990597e44ddad4f0fa6db23b661771dc
    Reviewed-on: https://chromium-review.googlesource.com/273110
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit 113bc73e8b34df069360851efd771b1b13aa7806
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue May 26 15:03:49 2015 -0400

    Fix missing break statements.
    
    Fixes:
     * conformance/glsl/functions/glsl-function*
    
    BUG=angleproject:883
    
    Change-Id: I22a528c6ba4c4077ba47269e14396b4117d1c849
    Reviewed-on: https://chromium-review.googlesource.com/273169
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit d63f08fcc32ea17bac2b025f0ad3261664ff79c9
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Thu May 21 10:22:04 2015 -0700

    In D3D11, check for 16-bit texture support and use if possible
    
    BUG=angleproject:1002
    
    Change-Id: I36a5ee774b38e9865b2eb6c6789afd316c4eff16
    Reviewed-on: https://chromium-review.googlesource.com/272061
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Austin Kinross <aukinros@microsoft.com>

commit e6d82c6de827854682726972c86deb6bbed3582d
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon May 25 14:40:54 2015 -0400

    Fix order of TearDown of EGLSurfaceTest
    
    Previously the OS window was deleted before the EGL window surface which
    caused the GLX window to be deleted after its X window was deleted. All
    this was invalid and resulted in a crash.
    
    BUG=angleproject:892
    
    Change-Id: I394795b6ebce947ad7eeab9a70ad5f80fcd89241
    Reviewed-on: https://chromium-review.googlesource.com/273055
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit aaa9eb942713894006f362780aff0da846285530
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri May 22 16:08:08 2015 -0400

    WindowSurfaceGLX handle resizing the window on swap
    
    This make the multi window sample work well.
    
    BUG=angleproject:892
    
    Change-Id: If98c6f995875b63c391cee9b6fddc6d138d48f8b
    Reviewed-on: https://chromium-review.googlesource.com/272946
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 081c3f2e8e64991126620072d7c1a2afa8ad034b
Author: Arun Patole <apatole@nvidia.com>
Date:   Mon May 25 15:43:35 2015 +0530

    Report warning whenever constant folding results are undefined
    
    With recent constant folding changes, we are reporting warnings
    whenever constant folding results are undefined for values passed in,
    this change adds that warning at all the places where it was missing.
    
    BUG=angleproject:913
    TEST=dEQP Tests, angle_unittests
    
    Change-Id: Ief8380488e2a4807c91ddac06d342cb172433b9d
    Reviewed-on: https://chromium-review.googlesource.com/272879
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit b2b6dfaf9599e58e5432540cfe0d48f88a846173
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon May 25 12:31:13 2015 -0700

    Use absolute paths in angle_perftests.gypi
    
    Otherwise in the Chromium build gyp might have a wrong cwd and then ninja
    will fail to find the files to compile.
    
    BUG=angleproject:892
    
    Change-Id: I6b7beef5ecad62cc345b49253cedbde0ac166c17
    Reviewed-on: https://chromium-review.googlesource.com/273161
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit c422207e8145baa25347b26051738bea91ddc2a0
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon May 25 13:19:48 2015 -0400

    Disable some tests due to failures on Intel OpenGL.
    
    BUG=angleproject:884
    
    Change-Id: Iceb571807a2232dae22703953e12e1af4bba5a87
    Reviewed-on: https://chromium-review.googlesource.com/273029
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 1ee5b60a14bd1125cc5d448802d4b8803efc19c2
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon May 25 11:15:53 2015 -0400

    Merge separate definitions of include_dirs for perftests
    
    BUG=angleproject:892
    
    Change-Id: Ifd108b3119ea73c05e984ca9138536fb8cf6839c
    Reviewed-on: https://chromium-review.googlesource.com/273137
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit f34d1db99a66e8f9e45c1fb90313b6b2084da74c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed May 20 14:10:46 2015 -0400

    Add table entries for almost all the remaining GL texture formats.
    
    BUG=angleproject:884
    BUG=angleproject:967
    
    Change-Id: I113757dd9e1fae8fe0241a7286be979a90891b53
    Reviewed-on: https://chromium-review.googlesource.com/270275
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-on: https://chromium-review.googlesource.com/273135

commit 859dcb883effb4f57417666e3218b6d28645aeee
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon May 25 15:12:54 2015 +0000

    Revert "Add table entries for almost all the remaining GL texture formats."
    
    Missing include of <limits> for linux.
    
    This reverts commit aa3a5fadebb2bad0be07eb2963a9d23f901c4c49.
    
    Change-Id: Iafebfbc6154b4fe3a94e3f8b91b5ff496631c1f1
    Reviewed-on: https://chromium-review.googlesource.com/273134
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit db39e7f5dd38c5bdbff08c929288350e643eb0bc
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon May 25 09:51:24 2015 -0400

    Rename path_utils to system_utils
    
    For inclusion of Sleep
    
    BUG=angleproject:892
    
    Change-Id: I1a9491102e9943d945eef0ba372a6779c30cd311
    Reviewed-on: https://chromium-review.googlesource.com/273131
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 3d5cb77456b0633b3ebd595c7387d29e776a3b7f
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri May 22 17:19:45 2015 -0400

    Enable EGLSurfaceTest on Linux
    
    BUG=angleproject:892
    
    Change-Id: I142ab37e00e2ba7fc2316aff564cc449eeb22771
    Reviewed-on: https://chromium-review.googlesource.com/273130
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 642488e5f3e44567eca23d00c89eef11b45801b3
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri May 22 16:05:56 2015 -0400

    Poll all windows in the multi window sample
    
    On Linux all windows are polled separately contrary to windows in which
    the callback is used on all windows.
    
    BUG=angleproject:892
    
    Change-Id: Ib1538f12ab2fa1864d29c91b9c5bfc2204cd1fa7
    Reviewed-on: https://chromium-review.googlesource.com/272945
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 1ca3d015d9d9e36e551d3acfa7baee03627b07cd
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri May 22 13:35:35 2015 -0400

    Simplify the implementation of ANGLE_INSTANTIATE_TEST
    
    I mistakenly submitted a refactor with +2 but not +1 so a comment wasn't
    addressed, hopefully fixes it.
    
    BUG=angleproject:892
    
    Change-Id: I096c2424449be196dfa949cc6ef662b766036330
    Reviewed-on: https://chromium-review.googlesource.com/272905
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 7e7e68de3c0a21c9f20b9309fee551b2a547bd9c
Author: Arun Patole <apatole@nvidia.com>
Date:   Fri May 22 12:02:25 2015 +0530

    Fix styling issues in ParseContext.cpp
    
    There were lot of styling issues in ParseContext.cpp, mostly related to
    opening braces on same line as conditional statement and pointers and
    references not being tight to the variable in variable declarations,
    this change fixes them.
    
    TEST=angle_unittests
    
    Change-Id: Ia225726254bcf5f315c13054ff41c5ff9cfe0992
    Reviewed-on: https://chromium-review.googlesource.com/272846
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit aa3a5fadebb2bad0be07eb2963a9d23f901c4c49
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed May 20 14:10:46 2015 -0400

    Add table entries for almost all the remaining GL texture formats.
    
    BUG=angleproject:884
    BUG=angleproject:967
    
    Change-Id: I0b05841272f4410c33ee4e4c3654846f07b7c39b
    Reviewed-on: https://chromium-review.googlesource.com/270275
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit f4863b70006ce1c825b9899652ec6e91c6593331
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu May 21 16:29:36 2015 -0400

    Implement swapInterval for EGL on GLX
    
    BUG=angleproject:892
    
    Change-Id: I80d8d67270662c7f2be893f4a8318fbc0926f1fc
    Reviewed-on: https://chromium-review.googlesource.com/272677
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 7c2acaf338caa20cd593bbe059d46a3ec3a5e383
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 21 11:47:09 2015 -0400

    Add timer histogram for egl::Initialize time.
    
    This can help is track startup time regressions within ANGLE.
    
    BUG=436191
    BUG=angleproject:944
    
    Change-Id: I73cf2449661b909dced4ddc11957037ed5535fc0
    Reviewed-on: https://chromium-review.googlesource.com/272613
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 3a1f367332fcb62d5852fb890e54311044aee9c4
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed May 20 11:12:16 2015 -0400

    Add an end2end test checking EGL context-surface compatibility
    
    This has been very useful to figure out the FBConfig story for the GLX
    EGL implementation.
    
    BUG=angleproject:892
    
    Change-Id: Ie4138dd1dd98f1450984a61317e3fc863c620ad3
    Reviewed-on: https://chromium-review.googlesource.com/272371
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-on: https://chromium-review.googlesource.com/272907

commit 01f4062c03806c07a5038f137b741c5f425542bb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri May 22 18:30:28 2015 +0000

    Revert "Add an end2end test checking EGL context-surface compatibility"
    
    Failing due to a bug in the test:
    
    BUG=angleproject:892
    
    This reverts commit 08971bff3e24b516fcfd5327a51801bc270d3987.
    
    Change-Id: I5f97f5e00f8b820874d575421b9a50829bb6f1e0
    Reviewed-on: https://chromium-review.googlesource.com/272912
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 4f5659ae56f529980ba36eed404cc98e8ae88677
Author: Minmin Gong <mgong@microsoft.com>
Date:   Fri May 22 10:26:45 2015 -0700

    Pick return value from copyTexture.
    
    Change-Id: Ia04358645348326c5577854053b550426121e64e
    Reviewed-on: https://chromium-review.googlesource.com/272765
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Cooper Partin <coopp@microsoft.com>
    Tested-by: Minmin Gong <mgong@microsoft.com>

commit 336551c975070cc1259b5fa7ea5c82d5706161c7
Author: Cooper Partin <coopp@microsoft.com>
Date:   Wed May 20 14:30:58 2015 -0700

    Added compiler flags to enable Control Flow Guard.
    
    Change-Id: I86e24b83e2e9b279c93c518ab9bc7dafd4b3d006
    Reviewed-on: https://chromium-review.googlesource.com/272501
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit fb28d3c5bd857fe1d98c9348045b531512af65a4
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu May 21 18:02:02 2015 -0400

    X11Window: handling of ConfigureNotify, work when reparented
    
    BUG=angleproject:892
    
    Change-Id: Ib201a5fbf4fca39c90464ed76434dac5e5ded381
    Reviewed-on: https://chromium-review.googlesource.com/272683
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 80a509490b1a7db3bf8fed6e4ba1669de70f576f
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu May 21 10:54:14 2015 -0400

    Add perftest parameters for OpenGL
    
    BUG=angleproject:892
    
    Change-Id: Ia22b8ab48456d6fbccb159404e943f9ef2650bdc
    Reviewed-on: https://chromium-review.googlesource.com/272610
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit b45a80dbdfd2bb2d4890f4923d1dd0150ffdb4d5
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu May 21 10:39:43 2015 -0400

    Make perftests use ANGLE_INSTANTIATE_TEST
    
    This also moves ANGLE_INSTANTIATE_TEST to its own header and makes it
    generic over the type of test parameter.
    
    BUG=angleproject:892
    
    Change-Id: Id4e3929d7ad06964b3259015915be84a8ee414f9
    Reviewed-on: https://chromium-review.googlesource.com/272553
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit e3b10e8d2f297685dfe2757449f6545b571f41c7
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed May 20 11:06:25 2015 -0400

    Make eglMakeCurrent validate for config compatibility
    
    See section 2.2 of the EGL 1.5 specification.
    
    BUG=angleproject:892
    
    Change-Id: I2a43260e53cb045b2e06b0e50915e228cec96f33
    Reviewed-on: https://chromium-review.googlesource.com/272370
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 5b2545bf2437629586bdfe43c86cb3089b2681e8
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu May 21 15:26:15 2015 -0400

    Correct LinuxTimer time calculations
    
    Changes to CLOCK_MONOTONIC as CLOCK_PROCESS_CPUTIME counts only
    user time and not kernel time.
    
    BUG=angleproject:892
    
    Change-Id: I3d5aee26ee2bacd7449fdd7795ad8c2b289d7324
    Reviewed-on: https://chromium-review.googlesource.com/272652
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 1b21fd396b3fb5ec2292b7a9a15767f057452ba4
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed May 20 17:26:27 2015 -0400

    Make perftests compile on Linux
    
    BUG=angleproject:892
    
    Change-Id: I3fe43c7a84d1eb2b875309495fe27a0bfd6c3e82
    Reviewed-on: https://chromium-review.googlesource.com/272552
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 08971bff3e24b516fcfd5327a51801bc270d3987
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed May 20 11:12:16 2015 -0400

    Add an end2end test checking EGL context-surface compatibility
    
    This has been very useful to figure out the FBConfig story for the GLX
    EGL implementation.
    
    BUG=angleproject:892
    
    Change-Id: Icd9afd8e4bdd8766d2fa727afcaf20826c2faf2a
    Reviewed-on: https://chromium-review.googlesource.com/272371
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 3e589ea635562503b6c638796c069430425854c6
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Apr 21 10:35:04 2015 -0400

    Load texture storage extension entry points in RendererGL.
    
    BUG=angleproject:884
    
    Change-Id: Iaef596337f9c4d781fb93f517c8f605d119136fb
    Reviewed-on: https://chromium-review.googlesource.com/266599
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-on: https://chromium-review.googlesource.com/272746
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit c76dc21afe45f1d97b39f0adee1d2c95b4fa50ad
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri May 22 15:21:48 2015 +0000

    Revert "Load texture storage extension entry points in RendererGL."
    
    This reverts commit 5ec636f67cb65438b71ca46375fa45e33eb2e4ba.
    
    Change-Id: I68b87279f08e558948216630259349e4db8481d7
    Reviewed-on: https://chromium-review.googlesource.com/272785
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 5ec636f67cb65438b71ca46375fa45e33eb2e4ba
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Apr 21 10:35:04 2015 -0400

    Load texture storage extension entry points in RendererGL.
    
    BUG=angleproject:884
    
    Change-Id: I30e688ca4304b0a0a1c939edee95d75faf8e8485
    Reviewed-on: https://chromium-review.googlesource.com/266599
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit a5316a18cda328d55196cdc15ed87b51dcf496a3
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri May 15 15:25:16 2015 +0300

    Separate expressions returning arrays for HLSL output
    
    Complex array expressions need to be broken down in HLSL output so that they
    are built out of simple combinations of operations and symbols.
    
    In practice this means that array constructors, array assignments and functions
    that return arrays inside complex expressions need to be replaced by symbols.
    
    After this change, ANGLE passes all dEQP-GLES3.functional.shaders.arrays
    tests.
    
    The old SimplifyArrayAssignment stub is removed, the new name
    SeparateExpressionsReturningArrays more closely reflects what the function
    needs to do.
    
    BUG=angleproject:971, angleproject:941
    TEST=dEQP-GLES3.functional.shaders.arrays.*, WebGL 2 conformance tests
    
    Change-Id: Iab8dde72b1126dc2f958ffb5b1b830fe3ce25912
    Reviewed-on: https://chromium-review.googlesource.com/272122
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit d4f303ee38bb9fc52417b60afe339695c29d953b
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed May 20 17:09:06 2015 +0300

    Refactoring: Make creating temporary symbols in AST traversal reusable
    
    Temporary symbols will also be needed to store temporary arrays when complex
    array expressions are unfolded.
    
    Also clear tree update related structures at the end of updateTree(), so that
    the traverser can be reused for several rounds of replacement more easily, and
    remove unnecessary InVisit step from UnfoldShortCircuitToIf.
    
    BUG=angleproject:971
    TEST=angle_end2end_tests, WebGL conformance tests
    
    Change-Id: Iecdd3008d43f01b02fe344ccde8614f70e6c0c65
    Reviewed-on: https://chromium-review.googlesource.com/272121
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit bf790420e4c4d2b756b3469f36dba6d7268e1414
Author: Arun Patole <apatole@nvidia.com>
Date:   Mon May 18 17:53:04 2015 +0530

    Add constant folding support for more built-ins
    
    This change adds constant folding support for following built-ins:
      - atan(two arguments), pow, mod, mix, step and smoothstep.
    
    BUG=angleproject:913
    TEST=dEQP tests
    Following 80 tests from dEQP-GLES3.functional.shaders.constant_expressions
    started passing with this change:
     - builtin_functions.angle_and_trigonometry.atan_separate*
     - builtin_functions.exponential.pow_*
     - builtin_functions.common.mod_*
     - builtin_functions.common.mix_*
     - builtin_functions.common.step_*
     - builtin_functions.common.smoothstep_*
    
    Change-Id: I70f0a8837a82c480da8cff3f1382c6252a486fe4
    Reviewed-on: https://chromium-review.googlesource.com/271753
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 7467b2b1c944b196cda7025be968aed9c9d9c197
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu May 21 10:51:01 2015 -0700

    Fix warning in string_utils.cpp in Win32
    
    BUG=
    
    Change-Id: Ibb25d46c2ee5f361f6a948dc3efea38422a4573f
    Reviewed-on: https://chromium-review.googlesource.com/272559
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 2f9455e338c01e9274e366aa9d8a5a7cf1176fa9
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed May 20 16:43:57 2015 -0400

    Fix -Winconsistent-override in Mock classes
    
    Gmock defines virtual functions without the override keyword so the
    constructors using override here caused a warning.
    
    BUG=angleproject:892
    
    Change-Id: I2a8f0445aa4a1e09694b7f98a6da07f8abaa47fb
    Reviewed-on: https://chromium-review.googlesource.com/272551
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit f68fd9c4f8601b9b0be874d211f6702b9e39e2c7
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue May 19 16:41:44 2015 -0400

    Revert "Revert "Call XSync in the GLX EGL impl if we have a new X server connection""
    
    This reverts commit 9c0a421858162673f4232d37bf8c5e2459ec28ea.
    
    Change-Id: Ia543daebc240b81950e21930895a7e24ed9f7a1b
    Reviewed-on: https://chromium-review.googlesource.com/272225
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 8c5aeb6cb3f72f1d24769c2d865c437d2ff7ea01
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 21 08:17:18 2015 -0400

    Add some string helper classes.
    
    *re-land with build fix for Clang*
    
    These helper functions mirror some utilities in Chrome, for splitting
    strings along whitespace, or reading file contents into a string.
    
    Also remove the hack for skipping the doubly-defined GLX header.
    
    BUG=angleproject:892,angleproject:998
    
    Change-Id: Ife43fbf5035a3be7820460bea1b26d0e632a4fb0
    Reviewed-on: https://chromium-review.googlesource.com/272518
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 42c98f6b2562c1844a32aefec931506ef269b8ee
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed May 20 14:09:25 2015 -0400

    Handle compressed texture formats in the emulated TextureStorage for TextureGL.
    
    BUG=angleproject:884
    
    Change-Id: Id54d9ff2845af52807161e0b589d8b76cfba412d
    Reviewed-on: https://chromium-review.googlesource.com/272424
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 8509d86e9b65754823aa6bab5ea6f1d9b5359435
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed May 20 14:06:13 2015 -0400

    Pipe the imageSize parameter from the entry point to avoid recomputation.
    
    BUG=angleproject:884
    
    Change-Id: Ic4d5bdc5b65ebcb8c57b960e84708e945db0276a
    Reviewed-on: https://chromium-review.googlesource.com/272422
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit a30c78ae3160d49c5ac1a0f08b566e4564f0af36
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 21 12:15:43 2015 +0000

    Revert "Add some string helper classes."
    
    Build errors on Clang:
    
    FAILED: /b/build/goma/gomacc ../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/third_party/angle/src/common/angle_common.string_utils.o.d -DV8_DEPRECATION_WARNINGS -D__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORE=0 -DCHROMIUM_BUILD -DCR_CLANG_REVISION=233105-2 -DTOOLKIT_VIEWS=1 -DUSE_LIBJPEG_TURBO=1 -DENABLE_ONE_CLICK_SIGNIN -DENABLE_PRE_SYNC_BACKUP -DENABLE_REMOTING=1 -DENABLE_WEBRTC=1 -DENABLE_MEDIA_ROUTER=1 -DUSE_PROPRIETARY_CODECS -DENABLE_PEPPER_CDMS -DENABLE_CONFIGURATION_POLICY -DENABLE_NOTIFICATIONS -DENABLE_HIDPI=1 -DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE -DDONT_EMBED_BUILD_METADATA -DDCHECK_ALWAYS_ON=1 -DENABLE_TASK_MANAGER=1 -DENABLE_EXTENSIONS=1 -DENABLE_PLUGIN_INSTALLATION=1 -DENABLE_PLUGINS=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1 -DENABLE_AUTOFILL_DIALOG=1 -DENABLE_BACKGROUND=1 -DENABLE_GOOGLE_NOW=1 -DCLD_VERSION=2 -DENABLE_PRINTING=1 -DENABLE_BASIC_PRINTING=1 -DENABLE_PRINT_PREVIEW=1 -DENABLE_SPELLCHECK=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_APP_LIST=1 -DENABLE_SETTINGS_APP=1 -DENABLE_SUPERVISED_USERS=1 -DENABLE_SERVICE_DISCOVERY=1 -DENABLE_WIFI_BOOTSTRAPPING=1 -DV8_USE_EXTERNAL_STARTUP_DATA -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DSAFE_BROWSING_SERVICE -DUSE_LIBPCI=1 -DUSE_OPENSSL=1 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -Igen -I../../third_party/angle/src -I../../third_party/angle/include -isysroot /Applications/Xcode5.1.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk -O2 -gdwarf-2 -fvisibility=hidden -Werror -Wnewline-eof -mmacosx-version-min=10.6 -arch x86_64 -Wendif-labels -Wno-unused-parameter -Wno-missing-field-initializers -Wno-selector-type-mismatch -Wpartial-availability -Wheader-hygiene -Wno-char-subscripts -Wno-unneeded-internal-declaration -Wno-covered-switch-default -Wstring-conversion -Wno-c++11-narrowing -Wno-deprecated-register -Wno-inconsistent-missing-override -std=c++11 -fno-rtti -fno-exceptions -fvisibility-inlines-hidden -fno-threadsafe-statics -Xclang -load -Xclang /b/build/slave/GPU_Mac_Builder/build/src/third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.dylib -Xclang -add-plugin -Xclang find-bad-constructs -fcolor-diagnostics -fno-strict-aliasing  -c ../../third_party/angle/src/common/string_utils.cpp -o obj/third_party/angle/src/common/angle_common.string_utils.o
    ../../third_party/angle/src/common/string_utils.cpp:72:19: error: no matching constructor for initialization of 'std::ifstream' (aka 'basic_ifstream<char>')
        std::ifstream inFile(path);
                      ^      ~~~~
    /Applications/Xcode5.1.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/c++/4.2.1/fstream:465:7: note: candidate constructor not viable: no known conversion from 'const std::string' (aka 'const basic_string<char>') to 'const char *' for 1st argument
          basic_ifstream(const char* __s, ios_base::openmode __mode = ios_base::in)
          ^
    /Applications/Xcode5.1.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/c++/4.2.1/bits/fstream.tcc:894:25: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'const std::string' (aka 'const basic_string<char>') to 'const std::basic_ifstream<char>' for 1st argument
      extern template class basic_ifstream<char>;
                            ^
    /Applications/Xcode5.1.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/c++/4.2.1/fstream:451:7: note: candidate constructor not viable: requires 0 arguments, but 1 was provided
          basic_ifstream() : __istream_type(), _M_filebuf()
          ^
    1 error generated.
    FAILED: /b/build/goma/gomacc ../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/third_party/angle/src/common/angle_unittests.string_utils_unittest.o.d -DV8_DEPRECATION_WARNINGS -D__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORE=0 -DCHROMIUM_BUILD -DCR_CLANG_REVISION=233105-2 -DTOOLKIT_VIEWS=1 -DUSE_LIBJPEG_TURBO=1 -DENABLE_ONE_CLICK_SIGNIN -DENABLE_PRE_SYNC_BACKUP -DENABLE_REMOTING=1 -DENABLE_WEBRTC=1 -DENABLE_MEDIA_ROUTER=1 -DUSE_PROPRIETARY_CODECS -DENABLE_PEPPER_CDMS -DENABLE_CONFIGURATION_POLICY -DENABLE_NOTIFICATIONS -DENABLE_HIDPI=1 -DSYSTEM_NATIVELY_SIGNALS_MEMORY_PRESSURE -DDONT_EMBED_BUILD_METADATA -DDCHECK_ALWAYS_ON=1 -DENABLE_TASK_MANAGER=1 -DENABLE_EXTENSIONS=1 -DENABLE_PLUGIN_INSTALLATION=1 -DENABLE_PLUGINS=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1 -DENABLE_AUTOFILL_DIALOG=1 -DENABLE_BACKGROUND=1 -DENABLE_GOOGLE_NOW=1 -DCLD_VERSION=2 -DENABLE_PRINTING=1 -DENABLE_BASIC_PRINTING=1 -DENABLE_PRINT_PREVIEW=1 -DENABLE_SPELLCHECK=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DENABLE_APP_LIST=1 -DENABLE_SETTINGS_APP=1 -DENABLE_SUPERVISED_USERS=1 -DENABLE_SERVICE_DISCOVERY=1 -DENABLE_WIFI_BOOTSTRAPPING=1 -DV8_USE_EXTERNAL_STARTUP_DATA -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DSAFE_BROWSING_SERVICE -DGTEST_HAS_POSIX_RE=0 -DGTEST_LANG_CXX11=0 -DGL_APICALL= -DGL_GLEXT_PROTOTYPES= -DEGLAPI= '-DANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES={ "d3dcompiler_47.dll", "d3dcompiler_46.dll", "d3dcompiler_43.dll" }' -DANGLE_TRANSLATOR_STATIC -DUSE_LIBPCI=1 -DUSE_OPENSSL=1 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -D_FORTIFY_SOURCE=2 -Igen -I../.. -I../../third_party/angle/include -I../../third_party/angle/src -I../../third_party/angle/src/compiler/preprocessor -I../../third_party/angle/src/tests -Igen/angle -I../../testing/gmock/include -I../../testing/gtest/include -isysroot /Applications/Xcode5.1.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk -O2 -gdwarf-2 -fvisibility=hidden -Werror -Wnewline-eof -mmacosx-version-min=10.6 -arch x86_64 -Wall -Wendif-labels -Wextra -Wno-unused-parameter -Wno-missing-field-initializers -Wno-selector-type-mismatch -Wpartial-availability -Wheader-hygiene -Wno-char-subscripts -Wno-unneeded-internal-declaration -Wno-covered-switch-default -Wstring-conversion -Wno-c++11-narrowing -Wno-deprecated-register -Wno-inconsistent-missing-override -std=c++11 -fno-rtti -fno-exceptions -fvisibility-inlines-hidden -fno-threadsafe-statics -Xclang -load -Xclang /b/build/slave/GPU_Mac_Builder/build/src/third_party/llvm-build/Release+Asserts/lib/libFindBadConstructs.dylib -Xclang -add-plugin -Xclang find-bad-constructs -fcolor-diagnostics -fno-strict-aliasing  -c ../../third_party/angle/src/common/string_utils_unittest.cpp -o obj/third_party/angle/src/common/angle_unittests.string_utils_unittest.o
    In file included from ../../third_party/angle/src/common/string_utils_unittest.cpp:12:
    ../../testing/gtest/include/gtest/gtest.h:1481:16: error: comparison of integers of different signs: 'const int' and 'const unsigned int' [-Werror,-Wsign-compare]
      if (expected == actual) {
          ~~~~~~~~ ^  ~~~~~~
    ../../testing/gtest/include/gtest/gtest.h:1511:12: note: in instantiation of function template specialization 'testing::internal::CmpHelperEQ<int, unsigned int>' requested here
        return CmpHelperEQ(expected_expression, actual_expression, expected,
               ^
    ../../third_party/angle/src/common/string_utils_unittest.cpp:55:5: note: in instantiation of function template specialization 'testing::internal::EqHelper<false>::Compare<int, unsigned int>' requested here
        EXPECT_EQ(0xBADF00D, uintValue);
        ^
    ../../testing/gtest/include/gtest/gtest.h:2017:67: note: expanded from macro 'EXPECT_EQ'
                          EqHelper<GTEST_IS_NULL_LITERAL_(expected)>::Compare, \
                                                                      ^
    ../../testing/gtest/include/gtest/gtest_pred_impl.h:162:23: note: expanded from macro 'EXPECT_PRED_FORMAT2'
      GTEST_PRED_FORMAT2_(pred_format, v1, v2, GTEST_NONFATAL_FAILURE_)
                          ^
    ../../testing/gtest/include/gtest/gtest_pred_impl.h:147:17: note: expanded from macro 'GTEST_PRED_FORMAT2_'
      GTEST_ASSERT_(pred_format(#v1, #v2, v1, v2), \
                    ^
    ../../testing/gtest/include/gtest/gtest_pred_impl.h:77:52: note: expanded from macro 'GTEST_ASSERT_'
      if (const ::testing::AssertionResult gtest_ar = (expression)) \
                                                       ^
    BUG=angleproject:892,angleproject:998
    
    This reverts commit fa5fb6f1ef685af316b320530ffbb425bb63446e.
    
    Change-Id: I949debbd365926301ec19225f262484fa3b8e13b
    Reviewed-on: https://chromium-review.googlesource.com/272548
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit fa5fb6f1ef685af316b320530ffbb425bb63446e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed May 20 16:13:48 2015 -0400

    Add some string helper classes.
    
    These helper functions mirror some utilities in Chrome, for splitting
    strings along whitespace, or reading file contents into a string.
    
    Also remove the hack for skipping the doubly-defined GLX header.
    
    BUG=angleproject:892,angleproject:998
    
    Change-Id: Ie617be7e02c2ccc684028500aabb54561c9c6c14
    Reviewed-on: https://chromium-review.googlesource.com/272436
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit b106fac590b999ce2f1344be79b1e176de23b801
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 21 01:30:17 2015 +0000

    Revert "In D3D11 with DXGI1.2, use B5G6R5 for GL_RGB565"
    
    Causing a failure in the end2end_test (in Debug):
    
    ClearTest.ClearIssue/1
    
    Renderer11::createRenderTarget returns unsupported when trying to create a BGR565 texture.
    
    BUG=angleproject:1002
    
    This reverts commit 72a31d66e9f2b6bd0beff57af5278ef1348d09bd.
    
    Change-Id: I9e052c78517abbcb22a678a949fdb81d6ba67eb7
    Reviewed-on: https://chromium-review.googlesource.com/272543
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 72a31d66e9f2b6bd0beff57af5278ef1348d09bd
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Wed May 20 21:23:49 2015 -0400

    In D3D11 with DXGI1.2, use B5G6R5 for GL_RGB565
    
    *re-land with build fix*
    
    BUG=angleproject:1002
    
    Change-Id: Ic1d8ea23dc1bf56e713e5d991ab9edd48978d3d7
    Reviewed-on: https://chromium-review.googlesource.com/272515
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit a86a607fb5b7db8624035082d35bbdb982021a50
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 21 01:22:22 2015 +0000

    Revert "In D3D11 with DXGI1.2, use B5G6R5 for GL_RGB565"
    
    Build break on Windows due to a rebase conflict (relocated header)
    
    24>..\..\src\tests\gl_tests\SixteenBppTextureTest.cpp(9): fatal error C1083: Cannot open include file: 'end2end_tests/ANGLETest.h': No such file or directory
    
    BUG=angleproject:1002
    This reverts commit 5224926d11de22e6f0043d6b25ace7d3c4b60b28.
    
    Change-Id: I4ed4e918ca5bcd85367ed3e364e29039fcdf5619
    Reviewed-on: https://chromium-review.googlesource.com/272542
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 5224926d11de22e6f0043d6b25ace7d3c4b60b28
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Thu May 14 16:48:34 2015 -0700

    In D3D11 with DXGI1.2, use B5G6R5 for GL_RGB565
    
    BUG=angleproject:1002
    
    Change-Id: I13dfe218fd9dce6581843d7fab33ce482187e351
    Reviewed-on: https://chromium-review.googlesource.com/270771
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 71799583cb0a69e44a4d21e934f25f6e1c5f893e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed May 20 16:24:42 2015 -0400

    Fix ninja build warning on Linux.
    
    The 'all' target has a special meaning to ninja, and it would
    complain about having two 'all' targets. Fix this by using a
    capital 'a'.
    
    BUG=None
    
    Change-Id: I3ce2aab8df4bdfc8f49361f514881005547c51bf
    Reviewed-on: https://chromium-review.googlesource.com/272258
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 4132d4fc1171911a570a089fd7e3b7b18202d556
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon May 11 16:56:59 2015 -0400

    Always mark *_Base configurations as abstract.
    
    These configurations were showing up in generated projects that angle is
    included in because those projects don't see our common.gypi file that
    marks these configurations as abstract.
    
    Change-Id: I2c93e82567619d23f8535bd4f77446a1f837707f
    Reviewed-on: https://chromium-review.googlesource.com/270282
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 10b7f46ac3c110509941de1df9501819b0a9e3a3
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed May 20 14:03:14 2015 -0400

    Determine packed depth stencil extension support automatically.
    
    BUG=angleproject:884
    
    Change-Id: If2b8fd94b0354449ba7e629606d7b1b2c2430fd1
    Reviewed-on: https://chromium-review.googlesource.com/272421
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 125dfa4f402cf7b6a3f242314a11938490967039
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Wed May 20 11:40:01 2015 -0700

    Add simple_vertex_shader back to the GYP
    
    Change-Id: I1d078af32c725e7bdd5b366ff8218758049f5a38
    Reviewed-on: https://chromium-review.googlesource.com/272065
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 08a8438fbba2516f34d2291e96fe7b072605d0b7
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed May 20 14:08:07 2015 -0400

    Remove un-needed swapBuffers calls in the tests.
    
    If a glReadPixels is done after a swapBuffers, it's results are often
    undefined.
    
    bug=angleproject:967
    
    Change-Id: I4a99ca47624347ecbc0a5c084e93b997c92e1b31
    Reviewed-on: https://chromium-review.googlesource.com/272423
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit bd0d6b93dbccdea095bd94f892a08f26a0817525
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed May 20 11:18:00 2015 -0400

    Remove proxy header for ANGLETest.h
    
    It is no longer needed as https://codereview.chromium.org/1134953003/
    has been landed.
    
    BUG=angleproject:892
    
    Change-Id: I3923a7bda2d4a3d70d128f7210fab35837df435d
    Reviewed-on: https://chromium-review.googlesource.com/272380
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit d229ea6abcc9401b93b235a9947430702db720a0
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue May 19 17:31:35 2015 -0400

    Write the single/double buffer investigation results
    
    BUG=angleproject:892
    
    Change-Id: I163e3b674cdb5357cfaf31305f4776dc4c895af1
    Reviewed-on: https://chromium-review.googlesource.com/272228
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit bb714f72c79e6f45fbb3b7dbfc93907bb04436ae
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed May 20 10:22:18 2015 -0400

    Release egl::Surface on Texture image changes.
    
    We would get into a broken state if the user would bind a Texture
    to an egl::Surface, then change the Texture. This is valid in egl,
    and should release the Surface when it happens.
    
    BUG=485543
    
    Change-Id: Idfaa305ac704f2bc579e79be816e88a23e69351b
    Reviewed-on: https://chromium-review.googlesource.com/271986
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit a588ef5b24be5fc52c6cf648dd1262985be2161e
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue May 19 16:38:47 2015 -0400

    Fix most occurences of -Winconsistent-missing-override
    
    Other occurences are in code generated by macro in googlemock.
    
    BUG=angleproject:892
    
    Change-Id: I8b2c6ad4b793be2d9a440687b1b010c9feb8bdae
    Reviewed-on: https://chromium-review.googlesource.com/272224
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 4f691690b0c0c051fdc449d78b18e54cbb8d2712
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue May 19 13:40:28 2015 -0400

    FunctionsGLX: Remove all but one of the ANGLE dependencies
    
    A follow-up CL will make it so the dependencies on
    TokenizeExtensionString doesn't pull the GL headers, this will then
    allow use to remove the hack for the inclusion of glx.h
    
    BUG=angleproject:892
    
    Change-Id: I51c5466617057e2c580bd5e8056307515bcecc4b
    Reviewed-on: https://chromium-review.googlesource.com/272206
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 3cd0ca3c3632ca1dfa9f5ae60fcfe93fc7475310
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri May 15 15:05:18 2015 -0400

    Completely isolate GLX in FunctionsGLX
    
    This makes it so it is the only file including glx.h.
    
    BUG=angleproject:892
    
    Change-Id: I5c45b659ec102b7a2c92e010a6843fa21b7c664b
    Reviewed-on: https://chromium-review.googlesource.com/271418
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 7d7f8c4482711dbfcf442091e718752d461bcedb
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue May 19 18:38:49 2015 +0300

    Ensure that conditional blocks and loop bodies are sequence nodes
    
    AST transformations such as unfolding logical operations can only
    create nodes inside sequence (block) nodes. This patch ensures that these
    AST transformations work even inside conditional blocks and loop bodies
    that were first parsed as single statements instead of blocks.
    
    BUG=angleproject:971
    TEST=WebGL conformance tests
    
    Change-Id: If98cb7be653ec7b005537b89547f4f4cf1c07c72
    Reviewed-on: https://chromium-review.googlesource.com/272141
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 08a5feddd277f3303a0d90a1a3a066e8555c0371
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Tue May 19 15:58:00 2015 -0700

    In D3D11, return 0 if not conformant, rather than GL_NONE
    
    Change-Id: Ica6484d1b5960f162ad88648ff9b2b9b96710930
    Reviewed-on: https://chromium-review.googlesource.com/272166
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit aa5cbdc8dfba7dbaa1683f0411b1012f90ba7fb2
Author: Cooper Partin <coopp@microsoft.com>
Date:   Mon May 18 10:33:00 2015 -0700

    Updated generate_winrt_projects to produce Windows 10 projects
    
    BUG=angleproject:1004
    
    Change-Id: I6f50226b21ff92ac85dbe5ed2e39dcc4f7e39306
    Reviewed-on: https://chromium-review.googlesource.com/272160
    Tested-by: Cooper Partin <coopp@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 56eea884feb3534a812f9a510a601b040de9275d
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon May 18 12:41:03 2015 +0300

    Refactoring: make tracking parent block position in AST traversal reusable
    
    Add a helper function to make it easier for traverser classes to insert
    statements, and use it in UnfoldShortCircuitToIf.
    
    BUG=angleproject:971
    TEST=angle_end2end_tests, WebGL conformance tests
    
    Change-Id: I141bdd8abf4b01988581e6cb27c2320bf38370ac
    Reviewed-on: https://chromium-review.googlesource.com/272140
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit d94f66471161f2753e09fb1eaa3f1106e2cc543d
Author: Arun Patole <apatole@nvidia.com>
Date:   Mon May 18 16:25:12 2015 +0530

    Add ANGLE support for ESSL3 variant of mix()
    
    This change adds support for ESSL3 variant of built-in function mix()
    that takes last argument as a boolean vector. lerp() - HLSL equivalent
    of mix() doesn't look to be supporting a variant that takes last
    argument as a boolean vector so emulated it for HLSL.
    
    BUG=angleproject:1006
    TESTS=dEQP tests
    Fixes "no matching overloaded function found " errors in below tests:
    dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common.mix_*_b*
    (Note: These tests still fail because of constant expression issues)
    
    Change-Id: I79b353933cb450516b8678b1fdaeabe60417e9a7
    Reviewed-on: https://chromium-review.googlesource.com/271751
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 3f65f2e915ec0e42ccad8cd9918b0bac4044eb04
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Thu May 14 16:46:20 2015 -0700

    Combine D3D11 FL10_0+ and FL9_3 format support tables
    
    BUG=angleproject:1002
    
    Change-Id: I4305db01c0ca40fd0ccf0dd441744b6184d5e945
    Reviewed-on: https://chromium-review.googlesource.com/270770
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Austin Kinross <aukinros@microsoft.com>

commit 0ab152ab354a40400a88ea9634045010dc786c4f
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Thu May 14 16:30:31 2015 -0700

    Combine D3D11 FL10_0+ and FL9_3 LoadFunctionMaps
    
    BUG=angleproject:1002
    
    A 'LoadFunction' is used to load data of a given <GL format, GL type> pair into
    a specific DXGI_FORMAT. Before this change, BuildD3D11LoadFunctionMap mapped
    <GL format, GL type> pairs to LoadFunctions. This meant each
    <GL format, GL type> pair could only loaded using one LoadFunction, and
    therefore could only be loaded into one specific DXGI_FORMAT.
    
    We now want to map <GL format, GL type, DXGI_FORMAT> triples to LoadFunctions.
    This allows us to use different DXGI_FORMATS for each <GL format, GL type> pair,
    depending on the capabilities of the underlying D3D11 device.
    
    Change-Id: I3b5e24c4bf98f18360ddd45b2022a90b5000f866
    Reviewed-on: https://chromium-review.googlesource.com/270561
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Austin Kinross <aukinros@microsoft.com>

commit 9ce754eb8590232c2139eca0ab6f982b5cfe1359
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri May 15 13:22:40 2015 -0400

    DisplayGLX: rework the GLXFBConfig selection
    
    This allows us to return multiple EGL configs, in particular we can have
    configs with no depth-stencil buffer. Also includes a description of the
    investigation I did for this patch.
    
    BUG=angleproject:892
    
    Change-Id: I921e254e91e818396dd4c9bd0ee2a43b00a043b9
    Reviewed-on: https://chromium-review.googlesource.com/271426
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 327c18cdef761a4d15e11cedfe0d8056198ba5fb
Author: Cooper Partin <coopp@microsoft.com>
Date:   Fri May 15 08:38:33 2015 -0700

    Roll GYP for Windows 10 project generation.
    
    BUG=angleproject:1004
    
    Change-Id: Ide2f71f1aee70d0d962ff275ac9bd0f852b218ac
    Reviewed-on: https://chromium-review.googlesource.com/271482
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit f0fce5309a327577d695b23f9a2c46e5b57cd8ea
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri May 15 11:25:17 2015 -0400

    eglGetConfigAttrib: handle EGL_NATIVE_VISUAL_ID
    
    BUG=angleproject:892
    
    Change-Id: Idf5496de7006f8fd0658e9d40a4f16dba00d90ea
    Reviewed-on: https://chromium-review.googlesource.com/271473
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 91c2fadfe60ef9542c8aeabb39781f831a1027f1
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri May 15 10:34:14 2015 -0400

    Fix more warnings in samples and tests
    
    These warnings are currently disabled because these files are not with
    angle_code set to 1 in the gyp files to avoid gtest's code warnings.
    We hope to either fix warnings in gtest or change our build system to
    not use warnings for gtest.
    
    BUG=angleproject:1003
    
    Change-Id: I281781b77f92ef8c394dd53fbbd50d525e4da5c9
    Reviewed-on: https://chromium-review.googlesource.com/271412
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit bc99bb6bf78ee7466848573169a18d1fe54319c9
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu May 14 17:42:20 2015 -0400

    Enable more warnings on GCC and clang
    
    BUG=angleproject:892
    
    Change-Id: I74ca341f29b245f698d1e1ad43149a91db46817f
    Reviewed-on: https://chromium-review.googlesource.com/271411
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 0326a3acf8a8c0651489b69899ea6fb6371ca214
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri May 15 13:33:01 2015 -0400

    Roll dEQP.
    
    Includes fixes for some tests, and a new null platform class which
    makes generating case lists easier.
    
    BUG=angleproject:998
    
    Change-Id: I1641c579bb63713fccde05e48f0cea31324f7d1b
    Reviewed-on: https://chromium-review.googlesource.com/271202
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit fb074dd895eb7ea9e4beecc3418d0fa629e013b1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue May 19 12:34:35 2015 +0000

    Revert "Clear image descs on Impl errors."
    
    Didn't fix the crash, and the crash experiment is complete.
    
    BUG=485543
    
    This reverts commit 9674850737bd3e7f44fdc9d1ddc42fffd76f2997.
    
    Change-Id: If7d97901b87506bf306ab5558575d0413c76cb68
    Reviewed-on: https://chromium-review.googlesource.com/272150
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit fd3b9be69d68ba26a1802387bedf20d58e87e1f1
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon May 18 17:07:36 2015 +0300

    Set mUsesDiscardRewriting more conservatively
    
    This fixes a regression from recent refactoring of unfolding short-circuiting
    operators. mUsesDiscardRewriting used to be set based on detecting patterns
    that the AST traverser now overwrites before the code reaches OutputHLSL. With
    this patch mUsesDiscardRewriting is set more conservatively, which ensures that
    using discard works correctly also in case the input shader contains the same
    kind of pattern as the short-circuiting operator unfolding creates.
    
    TEST=WebGL conformance tests on D3D9
    BUG=chromium:488552
    
    Change-Id: Iea0103822a268079593b0913f0b6fc54c745c6e3
    Reviewed-on: https://chromium-review.googlesource.com/271761
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 274f07091e0be543cc00a5b2a6848e714aa5c7f8
Author: Arun Patole <apatole@nvidia.com>
Date:   Tue May 5 13:33:30 2015 +0530

    Add constant folding support for min,max and clamp
    
    This change adds necessary mechanism to support constant folding of
    built-ins that take more than one parameter and also adds constant
    folding support for min, max and clamp built-ins.
    
    BUG=angleproject:913
    TESTS=dEQP tests
    (126 tests started passing with this change)
    dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common.min_*
    dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common.max_*
    dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common.clamp_*
    
    Change-Id: Iccc9bf503a536f2e3c144627e64572f2f95db9db
    Reviewed-on: https://chromium-review.googlesource.com/271251
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 8befcff50d9d3c3f8b1295eb420e9cd4beeae2f4
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri May 15 13:21:10 2015 -0400

    WindowSurfaceGLX: set the border pixel attribute
    
    This is so we can use a different visual depth than our parent window so
    that we can create a subwindow whichever the parent's visual.
    
    BUG=angleproject:892
    
    Change-Id: I9bab676761b1f80fad1599adb8e97a3ec710f67f
    Reviewed-on: https://chromium-review.googlesource.com/271425
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit d176dbd76d243a3f72a6033dfc517d289e3932b8
Author: Sunny Sachanandani <sunnyps@chromium.org>
Date:   Thu May 7 16:25:51 2015 -0700

    Enable postSubBuffer on D3D11 with DXGI 1.2.
    
    BUG=147291
    
    Change-Id: Iafddb83b4949168f1c59272a99ae0244d86ce3f9
    Reviewed-on: https://chromium-review.googlesource.com/270572
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Sunny Sachanandani <sunnyps@chromium.org>

commit 9c0a421858162673f4232d37bf8c5e2459ec28ea
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Fri May 15 17:24:47 2015 +0000

    Revert "Call XSync in the GLX EGL impl if we have a new X server connection"
    
    broke linux builders
    
    This reverts commit cedb8ca27f97d3101a22f586671a4668bf09bbec.
    
    Change-Id: I57143ec207b454bce7498a4d33f6d54464b55ab8
    Reviewed-on: https://chromium-review.googlesource.com/271424
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Zhenyao Mo <zmo@chromium.org>

commit cedb8ca27f97d3101a22f586671a4668bf09bbec
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu May 14 13:28:42 2015 -0400

    Call XSync in the GLX EGL impl if we have a new X server connection
    
    This prevents races between the application's connection and ANGLE's one
    that could lead to X errors crashing the program.
    
    BUG=angleproject:892
    
    Change-Id: Ic09462e76724d1a32c35b32708de97258d99241c
    Reviewed-on: https://chromium-review.googlesource.com/271178
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 9674850737bd3e7f44fdc9d1ddc42fffd76f2997
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon May 11 10:06:12 2015 -0400

    Clear image descs on Impl errors.
    
    This is a speculative fix for a possible crash, when we could get
    out-of-sync between the Impl and the GL state.
    
    BUG=485543
    
    Change-Id: Id26475f1aae7da05b5ffd802c4a7600e21b40315
    Reviewed-on: https://chromium-review.googlesource.com/270194
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 4b6945a43470028e1b82a68769203f2bb665e12a
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu May 14 15:30:36 2015 -0400

    Add -lrt and -ldl to link flags on Linux builds
    
    BUG=angleproject:892
    
    Change-Id: Ic06b493cbfdc061565d94d98aabfc3b1f2d882c6
    Reviewed-on: https://chromium-review.googlesource.com/271275
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 14e95b384f9dc6f0afbefd7f87aaf8ce4d6f225f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 7 10:10:41 2015 -0400

    translator: Reject shaders that use both FragColor+FragData.
    
    *re-land with fix for unused var in release*
    
    We checked this at link time in the D3D back-end, but this
    restriction applies to all shaders.
    
    TEST=dEQP-GLES2.functional.shaders.fragdata.*
    BUG=angleproject:995
    BUG=478572
    
    Change-Id: I63258f4de47e658812822f31601cc235f48c0826
    Reviewed-on: https://chromium-review.googlesource.com/271470
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 0ea959f4004cb2b09be60d4e46507002c65b0d42
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed May 13 14:51:59 2015 +0300

    Unfold sequence operator when operations inside need unfolding
    
    Unfolding the sequence operator ensures correct evaluation order when parts of
    the expression need to get hoisted out of the expression to the surrounding
    scope.
    
    BUG=angleproject:1001
    TEST=WebGL conformance tests
    
    Change-Id: Ifd3093c9fb63d3e9842ebb4b9531b2f46875ad8a
    Reviewed-on: https://chromium-review.googlesource.com/270660
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d81ed841d1d44dfbbfa6b65aab5f74a41e3345f6
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue May 12 12:46:35 2015 +0300

    Defer executing if statements in the global scope
    
    Unfolding of short-circuiting operators (ternary and logical operators) may
    create if statements in the global scope, which is not valid HLSL. Use existing
    deferred global initialization function to defer execution of if statements in
    the global scope.
    
    TEST=WebGL conformance tests
    BUG=angleproject:819
    
    Change-Id: I2b0afcc6824dab6bb87eb6abed609e75b1384dab
    Reviewed-on: https://chromium-review.googlesource.com/270461
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit a6f22096e3a1370db3677644ff460201d003c457
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri May 8 18:31:10 2015 +0300

    Make UnfoldShortCircuit to change AST instead of writing output
    
    This is needed to make way for further AST transformations to handle array
    expressions that need to work correctly together with unfolding short-
    circuiting operators. This also improves the maintainability of HLSL output
    by isolating the unfolding into a separate compilation step.
    
    The new version of UnfoldShortCircuit traverser will traverse the tree until
    an expression that needs to be unfolded is encountered. It then unfolds it and
    gets reset. The traverser will be run repeatedly until no more operations to
    unfold are found. This helps with keeping the traverser's design relatively
    simple.
    
    All declarations are separated to single declarations before short-circuit
    unfolding is run. Previously OutputHLSL already output every declaration
    separately.
    
    BUG=angleproject:960
    TEST=WebGL conformance tests, angle_unittests, angle_end2end_tests
    
    Change-Id: Id769be396adbd4c0223e418980dc464dd855f019
    Reviewed-on: https://chromium-review.googlesource.com/270460
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 531e3d22425aa291f08348fec3b7338468f36235
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri May 15 11:01:27 2015 +0300

    Revert "translator: Reject shaders that use both FragColor+FragData."
    
    The change introduced a warning in Windows release build.
    
    This reverts commit b8e3a568bbd16fca1099a1b54cd82a981cd88a8e.
    
    Change-Id: I77bbc35876043c9a164aa2665965f5189ee90052
    Reviewed-on: https://chromium-review.googlesource.com/271430
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit e867519548eea9638f33368261b2b5ad852b55b8
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu May 14 15:31:36 2015 -0400

    Fix "unused private variable" warning in ParseContext
    
    BUG=angleproject:892
    
    Change-Id: I3d0c23f1c2d43477c8b4ff28a6db470b3491de0b
    Reviewed-on: https://chromium-review.googlesource.com/271276
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 3730f644b21bc23378485a63d52eace3d59810d1
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu May 14 11:44:53 2015 -0400

    Make X11Window::setVisible block until the window is mapped.
    
    That way the code calling setVisible knows it can safely create a
    framebuffer for this window without having its content be undefined.
    
    BUG=angleproject:830
    
    Change-Id: Ia694f50ac20e1d510d0c0f899226ed241d9a5a3a
    Reviewed-on: https://chromium-review.googlesource.com/271156
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit d64a38b34a6547e0a7953e27cb7f9cd50027b84c
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu May 14 13:03:31 2015 -0400

    FunctionsGLX: add support for glXWaitX/GL
    
    The functions are not used in the code but are useful during development
    to try to see where race condition with the X server are.
    
    BUG=angleproject:892
    
    Change-Id: Ie1267e46ac251bd9ac62e2a146db68ad84644fb8
    Reviewed-on: https://chromium-review.googlesource.com/271177
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 582173d976671abf97bb3a321787f54e4dde1eb9
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed May 13 15:51:28 2015 -0400

    FunctionsGLX: make most functions take the display implicitly
    
    In later CLs FunctionsGLX will need to store the X display so we take
    advantage of it to reduce the verbosity of the other GLX files slightly.
    
    BUG=angleproject:892
    
    Change-Id: I42ea00d0a37055e5e0752a860978b8ef5afb7a0b
    Reviewed-on: https://chromium-review.googlesource.com/271163
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit b8e3a568bbd16fca1099a1b54cd82a981cd88a8e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 7 10:10:41 2015 -0400

    translator: Reject shaders that use both FragColor+FragData.
    
    We checked this at link time in the D3D back-end, but this
    restriction applies to all shaders.
    
    TEST=dEQP-GLES2.functional.shaders.fragdata.*
    BUG=angleproject:995
    BUG=478572
    
    Change-Id: I99111cc6aa05b9352693f9c3b5bc70d56c9842d4
    Reviewed-on: https://chromium-review.googlesource.com/269846
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 6e06b1f4e2b8a76e4311d1a5381cdf5e4c606a09
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 14 10:01:17 2015 -0400

    Make TParseContext a class, with private data.
    
    *re-land with build fix*
    
    BUG=angleproject:995
    
    Change-Id: I67d3ded8f6c705b54fb372857e07ce1a86b58475
    Reviewed-on: https://chromium-review.googlesource.com/271162
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit 558d5eb4eb0fcca6c538cbf403c07727dd232fef
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 14 11:49:13 2015 -0400

    Use a sparse histogram for D3D11CreateDevice errors.
    
    This avoid us needing to capture an enum value for every possible
    error code. Leave the existing enum values in for now.
    
    BUG=477701
    
    Change-Id: Iccaa4d9b732fe4d56432e17578421cba11bcf9ce
    Reviewed-on: https://chromium-review.googlesource.com/271159
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 72537ef13e8dd4bbcdec4170af933fa6c44c947a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 14 10:16:08 2015 -0400

    Add collection of D3D11 and DXGI stats.
    
    Will require a chromium-side patch to enable boolean histograms.
    
    BUG=angleproject:966
    BUG=436191
    
    Change-Id: I3026c73894fbbff521503b377955816a8e831df8
    Reviewed-on: https://chromium-review.googlesource.com/271174
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 21ce9b02de90b81d3c3fab95f02ad45fbffd7350
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu May 14 11:50:08 2015 -0400

    Fix typo in a comment in PbufferTest
    
    BUG=angleproject:892
    
    Change-Id: I8383b0b061f613ee3592c3d7cd41135164223604
    Reviewed-on: https://chromium-review.googlesource.com/271158
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit d3970de47b84f4f8b404e5135909b5096f1ce1ed
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu May 14 11:07:48 2015 -0400

    Move ANGLETest back in test_utils, leaving a proxy header for Chromium
    
    BUG=angleproject:892
    
    Change-Id: Ibd494813be87e996096077d6e208cc92461b8f49
    Reviewed-on: https://chromium-review.googlesource.com/271154
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 1f67547bb3a5ad1048917c647249caf3c8d5f4bb
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu May 14 11:47:33 2015 -0400

    EGLWindow: remove redundant EGL_NONE to finish attrib list.
    
    Only one EGL_NONE is needed to signal the end of the list.
    
    BUG=angleproject:892
    
    Change-Id: I7de349bef9d674344ccd1b2c4801d8b42c801299
    Reviewed-on: https://chromium-review.googlesource.com/271157
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit e897cecfe050d570c64ee8872f8e33c7f2375dc8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 14 15:50:41 2015 +0000

    Revert "Add more D3D11 init errors to stats collection."
    
    Going to rework this in favor of a sparse histogram.
    
    BUG=477701
    
    This reverts commit c5146c762a5c4fa3df522593f4084767b3d71583.
    
    Change-Id: I88ba7b461a1de04324a6ebe164037ea9081f2239
    Reviewed-on: https://chromium-review.googlesource.com/271155
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 9e7db2271d650ff14071c9438106b6f5eeafea1b
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon May 11 14:54:21 2015 -0400

    Revert "Revert "Make EGLQueryContextTest use ANGLE_INSTANTIATE_TEST""
    
    The original commit was not the one causing the problem it was reverted
    for.
    
    This reverts commit c4738880d4651e5a025abad75db352748f1fd34c.
    
    BUG=angleproject:892
    
    Change-Id: I8dee28545c3895750247635a63b73ecec4ba449c
    Reviewed-on: https://chromium-review.googlesource.com/270262
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-on: https://chromium-review.googlesource.com/270473
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 47fc1fecc4f3b8b655a799fba4c0da859ac1213b
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu May 14 10:54:18 2015 -0400

    Compile the GLX EGL implementation in BUILD.gn
    
    BUG=angleproject:892
    
    Change-Id: Ifebcadab4fc4ad9fd93b9cf21b3ebdd2f4d6cfc1
    Reviewed-on: https://chromium-review.googlesource.com/271164
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit ba8a0bf829e07a5ad3f2e47590a541a6a3dac53e
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Wed May 13 09:48:59 2015 -0700

    Add plumbing for D3D11 device caps
    
    BUG=angleproject:1002
    
    Change-Id: Id24783c75377ea92a73a43f2605693e07f63dc15
    Reviewed-on: https://chromium-review.googlesource.com/270545
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Austin Kinross <aukinros@microsoft.com>

commit 749fe340f276601e20062d9ef3970ff0af168aec
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed May 13 21:07:55 2015 +0000

    Revert "Make TParseContext a class, with private data."
    
    Causing build errors on Linux:
    
    FAILED: ninja -t msvc -e environment.x86 -- C:\b\build\goma/gomacc "C:\b\depot_tools\win_toolchain\vs2013_files\VC\bin\amd64_x86\cl.exe" /nologo /showIncludes /FC @obj\third_party\angle\src\compiler\translator\translator_lib.ParseContext.obj.rsp /c ..\..\third_party\angle\src\compiler\translator\ParseContext.cpp /Foobj\third_party\angle\src\compiler\translator\translator_lib.ParseContext.obj /Fdobj\third_party\angle\src\translator_lib.cc.pdb
    c:\b\build\slave\gpu_win_builder__dbg_\build\src\third_party\angle\src\compiler\translator\validateglobalinitializer.h(11) : error C2220: warning treated as error - no 'object' file generated
    c:\b\build\slave\gpu_win_builder__dbg_\build\src\third_party\angle\src\compiler\translator\validateglobalinitializer.h(11) : warning C4099: 'TParseContext' : type name first seen using 'class' now seen using 'struct'
            c:\b\build\slave\gpu_win_builder__dbg_\build\src\third_party\angle\src\compiler\translator\parsecontext.h(28) : see declaration of 'TParseContext'
    
    BUG=angleproject:995
    
    This reverts commit 6c0c2987fba9dcf2a8d432534c9548092281bfa4.
    
    Change-Id: I49a8b7df9bc8b7c4892bf3af5e2c7a6444fba890
    Reviewed-on: https://chromium-review.googlesource.com/270767
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 6c0c2987fba9dcf2a8d432534c9548092281bfa4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed May 13 13:50:04 2015 -0400

    Make TParseContext a class, with private data.
    
    BUG=angleproject:995
    
    Change-Id: Ie077e3a4f0fd5ef840aa35edeb41d15a98b7c0ff
    Reviewed-on: https://chromium-review.googlesource.com/270628
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 0614523686c04c2b658b97706fc9109a4afd0af7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed May 13 13:10:01 2015 -0400

    Refactor style in ParseContext.h.
    
    BUG=angleproject:995
    
    Change-Id: I893785a068d0d5cf4afc18123896bf540e53a3e0
    Reviewed-on: https://chromium-review.googlesource.com/270627
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 95d34aaf0783517c64b10100ca8ed0065e8230f8
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed May 13 19:44:31 2015 +0000

    Revert "Add constant folding support for min,max and clamp"
    
    This reverts commit 1137a2a6b4a68fe3f7497bb9289975b030576372.
    
    Change-Id: I1493c2706e5f08a9f0001835e663a147be85a303
    Reviewed-on: https://chromium-review.googlesource.com/270782
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 71632d0cc701825b2cd3584cb7d5e8ee17f17ba4
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue May 12 17:14:56 2015 -0400

    Fix crash in IndexDataManagerPerfTest.
    
    Since the gl::Buffer doesn't know about its data, the index range needs to
    be computed on the raw indices instead of through the buffer.
    
    Change-Id: I3f53822033a1a25bf5fae9132ee2ceb312eaa283
    Reviewed-on: https://chromium-review.googlesource.com/270498
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 3ba57d1b598b399e42867cc90c6c60c7011faea0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed May 13 10:25:04 2015 -0400

    Roll Gmock and Gtest.
    
    This fixes the build of angle_end2end_tests on Linux/Clang.
    
    BUG=angleproject:997
    
    Change-Id: Ie6eca3dc0fc7114d2755892b4b02e8b47a8fa478
    Reviewed-on: https://chromium-review.googlesource.com/270680
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit b0c645e21730c9bbefc77391b52bf037134b5dfe
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue May 12 14:25:36 2015 +0300

    Validate global initializer qualifiers
    
    Allow only constants, other globals, temporaries, and uniforms to be used
    in global variable initialization for now. The spec limits global
    variable initialization further to only constant expressions, but fully
    implementing this has a too large compatibility cost for ESSL 1.00, so
    implement it only partially. In the case of ESSL 3.00 we can use stricter
    validation, since there's no legacy to worry about.
    
    Resubmitting the change, since the previous version neglected to remove
    incorrect GLSL tests.
    
    TEST=angle_unittests, WebGL conformance tests, angle_end2end_tests
    BUG=angleproject:988
    
    Change-Id: I1bb3b8dc305689a90eadfe8cc7705e5ac3829e03
    Reviewed-on: https://chromium-review.googlesource.com/270651
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit fe5f54f55e468a3a0ae4325fa650575e1dcb069e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue May 12 17:06:05 2015 -0400

    perf_tests: Reduce iteration counts in some tests.
    
    This gives the tests more room to breathe, and report more
    precision in the final scores. Hopefully this will clear up the
    issues on the bots where some tests appear to fluctuate between a
    high and low value.
    
    BUG=468852
    
    Change-Id: Ie2793e0a89e5ded63ba4217828076df46c393a92
    Reviewed-on: https://chromium-review.googlesource.com/270497
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit b6a52bb49b2949c4d3ad31847eff63c329643815
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed May 13 12:41:24 2015 +0000

    Revert "Validate global initializer qualifiers"
    
    Seems to be failing angle_end2end_tests:
    
    GLSLTest.GlobalStaticAndVarying_0
    GLSLTest.GlobalStaticAndVarying_1
    GLSLTest_ES3.GlobalStaticAndInstanceID_0
    
    http://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20%28NVIDIA%29/builds/15598
    
    BUG=angleproject:988
    
    This reverts commit 6caa5e815f7e3c11e4452ed5e60446b9943db183.
    
    Change-Id: I394b571c9b4ee739721018c5287a45df49e1471c
    Reviewed-on: https://chromium-review.googlesource.com/270589
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 6caa5e815f7e3c11e4452ed5e60446b9943db183
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue May 12 14:25:36 2015 +0300

    Validate global initializer qualifiers
    
    Allow only constants, other globals, temporaries, and uniforms to be used
    in global variable initialization for now. The spec limits global
    variable initialization further to only constant expressions, but fully
    implementing this has a too large compatibility cost for ESSL 1.00, so
    implement it only partially. In the case of ESSL 3.00 we can use stricter
    validation, since there's no legacy to worry about.
    
    TEST=angle_unittests, WebGL conformance tests
    BUG=angleproject:988
    
    Change-Id: I6a66f6a31130b44717dd2bef3082a0fc395a60b6
    Reviewed-on: https://chromium-review.googlesource.com/270430
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit c5146c762a5c4fa3df522593f4084767b3d71583
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue May 12 11:00:47 2015 -0400

    Add more D3D11 init errors to stats collection.
    
    We ran into the UNSUPPORTED value when looking at D3D11 on a VM.
    It's quite possible that systems which don't support D3D11 return
    this value when initialization fails.
    
    Also add a few more severe errors such as device removed.
    
    BUG=477701
    
    Change-Id: I2ebbfff5f7eed6fe3939dea86b25845a748caedc
    Reviewed-on: https://chromium-review.googlesource.com/270346
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 6cd03cf9333e79e2fe4e76c1e6d7c16587448763
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue May 12 19:28:10 2015 +0000

    Revert "Create a child window in SurfaceD3D when needed."
    
    Reverting until chromium sandbox issues are resolved.
    
    This reverts commit b7f1a8b0ab3489a7463749e7fc088187bfafbd35.
    
    BUG=484963
    BUG=angleproject:961
    
    Change-Id: I4b030329a322d0a96a18e6ae875d500c5f755ddd
    Reviewed-on: https://chromium-review.googlesource.com/270490
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit e96899c43b082eb4c597bfb893107fe55cfaff68
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue May 12 13:49:51 2015 -0400

    Fix compilation of EGLSurfaceTest
    
    BUG=angleproject:892
    
    Change-Id: I8c999e06c8cc3567f7bb1aed23286bd7e9080616
    Reviewed-on: https://chromium-review.googlesource.com/270432
    Tested-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 43b0c221cc37b9e2f4d9ce1d6d0333ffd2baa763
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue May 12 10:37:01 2015 -0400

    X11Window: implement event handling and modifiers
    
    BUG=angleproject:892
    
    Change-Id: I65f251abdd28b273e2d3d574825f20bba8bb2532
    Reviewed-on: https://chromium-review.googlesource.com/270452
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit ac3ab8828f5ac1bc346068b6b82bcfd4a8150b91
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue May 12 13:31:28 2015 -0400

    Temporarily move back ANGLETest in end2end_tests
    
    This path needs to a Chrome change before it can change.
    
    BUG=angleproject:892
    
    Change-Id: I549737383b9720a2e7d83ee5e3145d71716f04cb
    Reviewed-on: https://chromium-review.googlesource.com/270457
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit c4738880d4651e5a025abad75db352748f1fd34c
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Tue May 12 17:07:15 2015 +0000

    Revert "Make EGLQueryContextTest use ANGLE_INSTANTIATE_TEST"
    
    Broke win build
    
    ninja: error: '../../gpu/egl_tests/EGLQueryContextTest.cpp', needed by 'obj/gpu/egl_tests/angle_end2end_tests.EGLQueryContextTest.obj', missing and no known rule to make it
    This reverts commit 887dd2f196f73f12d9c302aaf07027ace87609fa.
    
    Change-Id: I2ceb430010628c2aa7cb242eb2bf49406d8d87db
    Reviewed-on: https://chromium-review.googlesource.com/270471
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Zhenyao Mo <zmo@chromium.org>

commit 887dd2f196f73f12d9c302aaf07027ace87609fa
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon May 11 14:54:21 2015 -0400

    Make EGLQueryContextTest use ANGLE_INSTANTIATE_TEST
    
    This makes it run correctly on Linux where the only platform available
    is OpenGL.
    
    BUG=angleproject:892
    
    Change-Id: I3d72163b49b35daba702ebb5b48d010761c7fb6d
    Reviewed-on: https://chromium-review.googlesource.com/270262
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 973402fd088b319b01365e522c13b664f27ebf5d
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon May 11 13:42:22 2015 -0400

    Compile end2end tests on Linux
    
    BUG=angleproject:892
    
    Change-Id: Id4a9ddc35ae9600080e743c77476d36743a3e646
    Reviewed-on: https://chromium-review.googlesource.com/270199
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-on: https://chromium-review.googlesource.com/270412

commit e45b7458f4ec0a0e59fc8160c3e8c8893db4d90d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue May 12 15:46:28 2015 +0000

    Revert "Compile end2end tests on Linux"
    
    Build errors in Chromium:
    
    ninja: Entering directory `C:\b\build\slave\GPU_Win_Builder\build\src\out\Release'
    ninja: error: '../../gpu/egl_tests/EGLQueryContextTest.cpp', needed by 'obj/gpu/egl_tests/angle_end2end_tests.EGLQueryContextTest.obj', missing and no known rule to make it
    
    This reverts commit be39156b10bf56686b03b274046e51ef156283fc.
    
    Change-Id: I931295f16cad096e94baac9811ea2396a4182848
    Reviewed-on: https://chromium-review.googlesource.com/270347
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 938f1ca34140fabbac9099eb15ad4aad16f3f889
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue May 12 10:21:17 2015 -0400

    OSWindow: add optional debugging of events received
    
    BUG=angleproject:830
    
    Change-Id: Icd854ee152f15ec1de4293b5ed2ed49cb1a5fc2b
    Reviewed-on: https://chromium-review.googlesource.com/270451
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 0d3afab874f5a410142a025e69fc962596973a4e
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon May 11 14:53:13 2015 -0400

    Implement Pbuffers for the GLX EGL implementation
    
    BUG=angleproject:892
    
    Change-Id: I32b9bbb35d99621f16a055fb544ec0691dfcd5a0
    Reviewed-on: https://chromium-review.googlesource.com/270261
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit be39156b10bf56686b03b274046e51ef156283fc
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon May 11 13:42:22 2015 -0400

    Compile end2end tests on Linux
    
    BUG=angleproject:892
    
    Change-Id: If3903f1801f4999bebaaaed2625346bfbec2243d
    Reviewed-on: https://chromium-review.googlesource.com/270199
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 9cb9583e4672f3c57a9c2049fd2bdf8d67599763
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon May 11 10:21:48 2015 -0700

    Move end2end and standalone tests to gl_tests and egl_tests
    
    Also introduce a test_utils directory that contains helpers used for all
    types of tests.
    
    BUG=angleproject:892
    
    Change-Id: I9e1bff895020ffd3a109162283971a290a1098bd
    Reviewed-on: https://chromium-review.googlesource.com/270198
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 1137a2a6b4a68fe3f7497bb9289975b030576372
Author: Arun Patole <apatole@nvidia.com>
Date:   Tue May 5 13:33:30 2015 +0530

    Add constant folding support for min,max and clamp
    
    This change adds necessary mechanism to support constant folding of
    built-ins that take more than one parameter and also adds constant
    folding support for min, max and clamp built-ins.
    
    BUG=angleproject:913
    TESTS=dEQP tests
    (126 tests started passing with this change)
    dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common.min_*
    dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common.max_*
    dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common.clamp_*
    
    Change-Id: I5d3e96ef2062116cbf164a7a42cba096bd4d5389
    Reviewed-on: https://chromium-review.googlesource.com/269317
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 4298123b7933ba8582ad46144d576e86a3af379f
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon May 11 14:13:35 2015 -0400

    DisplayGLX: handle EGL_DEFAULT_DISPLAY for ANGLE_platform_angle
    
    BUG=angleproject:892
    
    Change-Id: I681e2b92ac2e8b853c7d1271a5518c4b77a67929
    Reviewed-on: https://chromium-review.googlesource.com/270260
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit c337e7ab93cc843d693f30feae86808a528e8659
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Apr 30 10:25:59 2015 -0400

    Convert floats to integers using doubles and 64-bit integers.
    
    Avoids some edge cases that overflow or round incorrectly.
    
    Fixes:
    dEQP-GLES2.functional.state_query.floats.depth_range_getinteger
    dEQP-GLES2.functional.state_query.floats.color_clear_value_getinteger
    dEQP-GLES2.functional.state_query.floats.depth_clear_value_getinteger
    
    Change-Id: Ib2c7f422dac76094c7ff6c5f8aef3fd392f68e80
    Reviewed-on: https://chromium-review.googlesource.com/268510
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit eac646338ccb295063085f7e810e6a5c76135e45
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed May 6 13:14:24 2015 -0400

    Add a basic GLX EGL implementation
    
    BUG=angleproject:892
    
    Change-Id: Ife9955a457d4a6fb3adce17757ccb0de7d0dd274
    Reviewed-on: https://chromium-review.googlesource.com/269413
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit f229cb9bf65a5945c0e6012ab9f47f02ab2eedb9
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Fri May 8 15:53:39 2015 -0400

    Add a FunctionsGLX class to dynamically load the GLX entry points
    
    BUG=angleproject:892
    
    Change-Id: I516b7d859100cb065871de8e328585a9ca817499
    Reviewed-on: https://chromium-review.googlesource.com/270123
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 6fce6df7e68ab3a9b11c2ef935e6398734a74732
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon May 11 10:32:30 2015 -0400

    Filter out unsupported platforms for value parameterized tests
    
    With this most of the end2end tests pass on Linux
    
    BUG=angleproject:997
    BUG=angleproject:982
    
    Change-Id: I6aab7d407f260ee24c5c59bf4d6055e875d3a6d6
    Reviewed-on: https://chromium-review.googlesource.com/270184
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 12fe4dc8ce23549a7b8d95245cb4abf7ba3cce87
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon May 4 12:50:08 2015 -0400

    Fix pointer to int conversion warning in EGLWindow.cpp
    
    BUG=angleproject:892
    
    Change-Id: Ic40f29c811d18efea0e081c269ca43d0170488a4
    Reviewed-on: https://chromium-review.googlesource.com/269122
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-on: https://chromium-review.googlesource.com/270125

commit 4f3b8f6381ef49d53749b1b72654593b23459064
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon May 11 16:56:21 2015 +0300

    Add missing EvqPointCoord to getQualifierString
    
    Also sort enums in getQualifierString in the same order as in the enum
    definition.
    
    BUG=angleproject:999
    TEST=WebGL conformance tests with --gl-shader-interm-output
    
    Change-Id: I31aa2e4b2405a090f560bf4140d9ee66271e526c
    Reviewed-on: https://chromium-review.googlesource.com/269941
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 12a8e86685811d94a1b5ff357134ce495587a281
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu May 7 14:50:28 2015 -0400

    Make all the samples compile under Linux
    
    Two-thirds of them run and work well.
    
    BUG=angleproject:892
    
    Change-Id: I401a7ef4fd055eda7276bd34dcf0fc6ae0deff13
    Reviewed-on: https://chromium-review.googlesource.com/270124
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit eaa759c46fbbe331cbb04ee70babd464fdd02f7a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Apr 2 13:02:53 2015 -0400

    Remove Texture serials and Texture::INCOMPLETE_TEXTURE_ID.
    
    Texture serials were not used in any place that pointers could not be used
    and Texture::INCOMPLETE_TEXTURE_ID was only referenced by RendererD3D.
    
    This was the last place that serials are used in the gl layer.
    
    BUG=angleproject:681
    
    Change-Id: Iad24321fba57db8ade3c9eb8f04cc20e98ded1b0
    Reviewed-on: https://chromium-review.googlesource.com/263659
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit c2520564c3209c6d2e70f9c9e055045cb10f8509
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Apr 29 11:42:33 2015 -0400

    Move unsupported depth stencil check to FramebufferD3D.
    
    BUG=angleproject:885
    
    Change-Id: I0abc674e365d2b5b65d23e2abf741a02a1146cdd
    Reviewed-on: https://chromium-review.googlesource.com/268311
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 440e5d4f9dfa70a362163a624f9bde8d4334fc23
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri May 8 13:22:26 2015 -0400

    Roll googletest.
    
    This also moves us to the Chromium googletest mirror. It may cause
    conflicts with developer setups if they have the folder open when
    they try to gclient sync.
    
    BUG=angleproject:997
    
    Change-Id: I94a629c50cb6ea6fc0020e3ec9ee93b7088d964b
    Reviewed-on: https://chromium-review.googlesource.com/270108
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit f51bc7953ca1e5dcfa8df72f7f9d345bb4322c89
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon May 4 14:57:03 2015 -0400

    Optimize Texture binding by only applying referenced textures.
    
    Update ProgramGL to track which the current values of sampler uniforms so
    that only the currently applied texture units have to be bound for the
    draw call.
    
    BUG=angleproject:882
    
    Change-Id: I280aa106172b13a5fbb31cdefba27b6691c0a0e4
    Reviewed-on: https://chromium-review.googlesource.com/264803
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 9477dc94c0af4f2ecf128c4d09b6a9f9d6743ad2
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed May 6 13:13:33 2015 -0400

    Add GLX EGL implementation stubs
    
    BUG=angleproject:892
    
    Change-Id: I1ef1bd0ce60f4585e473f9750c748a1b41c09da2
    Reviewed-on: https://chromium-review.googlesource.com/269741
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit d50081579ac4f245a3e06132ed0d57a819a2ba0f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri May 8 14:57:07 2015 -0400

    Roll dEQP.
    
    BUG=angleproject:998
    
    Change-Id: I35067bd5ed2919f918a1f1b93bef0feb934c838d
    Reviewed-on: https://chromium-review.googlesource.com/270120
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit fa05f6076ee3d0372f29e1a1381de035b964be4f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 7 13:47:11 2015 -0400

    Use value-paramaterized tests instead of by type.
    
    This should fix our non-standard template use, which causes compile
    errors for the tests on GCC/Clang.
    
    BUG=angleproject:997
    
    Change-Id: Id1bb15231eda445f37e53a5b33d4684ec6618d8e
    Reviewed-on: https://chromium-review.googlesource.com/269858
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 0ca53786c6a5166acc545edadbd8597f59350c04
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu May 7 13:49:39 2015 -0400

    Fix issues with ProgramGL.
    
     * Don't re-create the native GL program every link, some program state should
       persist between re-linking such as bound attribute locations.
     * Forward glBindAttribLocation calls to the ProgramImpl, fixes some chromium
       rendering issues because chromium always binds attribute locations,
       sometimes with gaps.
     * Query the real attrib location before inserting it into the list of attribs.
       It was unsafe to rely on the attrib having the same location as its index
       into the active attributes.
    
    BUG=angleproject:882
    
    Change-Id: If14b4c4c2f5ebcdaa4f7c5a890b9519d6d4e6e43
    Reviewed-on: https://chromium-review.googlesource.com/269991
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 98e7d0710aadef39d4aeb5f6da330d8cefa9f291
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu May 7 12:35:47 2015 -0700

    Use a D3D11 renderer by default, when available.
    
    Also update SampleApplication to request the default
    renderer instead of explicitely asking for d3d11
    
    BUG=angleproject:892
    
    Change-Id: I70c431b3c1ba78c3ce7844d7f276cc19ac17d7f5
    Reviewed-on: https://chromium-review.googlesource.com/269999
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 2cf30bd09c1c1eede7fc088c790d20a334a1e7b9
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu May 7 13:55:14 2015 -0400

    Fix GetExecutablePath on Linux
    
    It was using lstat to get the size of /proc/self/exe but
    it always returns 0, so we just use a big buffer on the
    stack instead.
    
    BUG=angleproject:892
    
    Change-Id: I6d88efeb4ec5de7a78cb3668e3d78520203ad1d5
    Reviewed-on: https://chromium-review.googlesource.com/269990
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 0e201cb7dfa5c2aaa08516604f6d24642686c614
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon May 4 15:02:57 2015 -0400

    Load the blit framebuffer extension entry points.
    
    Change-Id: I654f944aea25661d3fb1e2381b93780771300f32
    Reviewed-on: https://chromium-review.googlesource.com/269144
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 6db6e0ae81bb52fd77c31aa0463ca0b46b7bda1c
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed May 6 15:20:26 2015 -0400

    eglGetPlatformDisplayEXT: validate device types are set only on d3d
    
    BUG=angleproject:892
    
    Change-Id: I0fa089f299abaab406384a05b096de19f04f3a5e
    Reviewed-on: https://chromium-review.googlesource.com/269771
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-on: https://chromium-review.googlesource.com/269829

commit 06394f667b74aaf8a5fd67fc4f4c83e77244648c
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu May 7 10:02:01 2015 -0700

    EGLSurfaceTest: specify the device type only on d3d platform
    
    BUG=angleproject:892
    
    Change-Id: If09cf30122d97590f07447147e6d54c2e4157f9e
    Reviewed-on: https://chromium-review.googlesource.com/269828
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit bf9e40509a9f36321fe5326e5b0942005ba42122
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed May 6 15:13:05 2015 -0400

    EGLWindow: specify the device type only on d3d platform
    
    BUG=angleproject:892
    
    Change-Id: I0406e26910f5a012ccb9e533af18e831522161b1
    Reviewed-on: https://chromium-review.googlesource.com/269666
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-on: https://chromium-review.googlesource.com/269827

commit ec0b13622a33bbcdae2371af7cca97c19fd25412
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed May 6 10:47:11 2015 -0400

    Make util/win32 follow ANGLE conventions better
    
    BUG=angleproject:892
    
    Change-Id: I1ad366e16b135649fe1b0351081f9971db84df50
    Reviewed-on: https://chromium-review.googlesource.com/269665
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit f611316bae6d9a85a27941091353908c2bf7990c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 7 11:49:21 2015 -0400

    Use stream operators for appending to InfoLog.
    
    Also add a helper class to keep the previous behaviour of
    automatically appending a newline after every new message.
    
    BUG=angleproject:992
    
    Change-Id: I0ff5d2846175cf19de7a6af295af24a92451456f
    Reviewed-on: https://chromium-review.googlesource.com/268744
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 71c3b2c7c655d04bf2973eded5695161c5bbfbd1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 7 11:49:20 2015 -0400

    Use a std::stringstream for Program's InfoLog.
    
    This should help WebKit avoid needing to apply a local patch.
    Also clean up the style in this file a bit.
    
    BUG=angleproject:307,angleproject:992
    
    Change-Id: I41ecf7cbfa20b469b3731215ef28cb36253ba186
    Reviewed-on: https://chromium-review.googlesource.com/269849
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 4052dfc8be95115764b18ff37f39113b18d7c726
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed May 6 15:18:49 2015 -0400

    Add test for HLSL "pow" constant folding bug.
    
    This covers 'pow-of-small-constant-in-user-defined-function' from
    the WebGL CTS. Leave disabled until we have a proper fix.
    
    BUG=angleproject:851
    
    Change-Id: I41a4ad9354e32bb2d48894d75676a9dfe226e9d8
    Reviewed-on: https://chromium-review.googlesource.com/269747
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 4ea209f129c1dd7cc7354cedf0e044acecb37081
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 7 15:32:26 2015 +0000

    Revert "EGLWindow: specify the device type only on d3d platform"
    
    Causing failures in EGLSurfaceTest.MakeCurrentTwice on Windows
    
    BUG=angleproject:892
    
    This reverts commit 118e7195fdaa76a1f3aa52bbed30fdb97cc3fd4a.
    
    Change-Id: Ifbb17d1c9bc0390abadbfb8f78cf14dbf1bb8e83
    Reviewed-on: https://chromium-review.googlesource.com/269950
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 4c825e687fda8b81c4fa92ddfd56e461fca3fde3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 7 15:31:46 2015 +0000

    Revert "eglGetPlatformDisplayEXT: validate device types are set only on d3d"
    
    Depends on patch which is causing a failure in EGLSurfaceTest.MakeCurrentTwice
    
    BUG=None
    
    This reverts commit 0e7ee498972e2d69e2d3bc3d99c798386aa2e950.
    
    Change-Id: I7d11900c784bdb2a8963a824e89019b39a184cbe
    Reviewed-on: https://chromium-review.googlesource.com/269856
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 118e7195fdaa76a1f3aa52bbed30fdb97cc3fd4a
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed May 6 15:13:05 2015 -0400

    EGLWindow: specify the device type only on d3d platform
    
    BUG=angleproject:892
    
    Change-Id: I2dda3a8d15e58d15a401258a5a64c5783ea1a132
    Reviewed-on: https://chromium-review.googlesource.com/269666
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit fe2f3d634da5316bce8a12d4d7efd03eecf39047
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue May 5 17:37:39 2015 -0400

    Add a basic support for Linux for utils/
    
    * Timer and path utils are done.
    * Window only implements initialize and setVisible
    
    BUG=angleproject:892
    
    Change-Id: I3f49b68ef9ec5be324b25e211199bac2953ae11e
    Reviewed-on: https://chromium-review.googlesource.com/269520
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 0e7ee498972e2d69e2d3bc3d99c798386aa2e950
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed May 6 15:20:26 2015 -0400

    eglGetPlatformDisplayEXT: validate device types are set only on d3d
    
    Change-Id: I15f0651fbe90b3572ea6b62f804492fbe100e591
    Reviewed-on: https://chromium-review.googlesource.com/269771
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 3c74e772eb6d58bd09eea4d87816965c78a0fb93
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 7 14:53:59 2015 +0000

    Revert "Use a std::stringstream for Program's InfoLog."
    
    Missing one character for the log length.
    
    BUG=angleproject:307,angleproject:992
    
    This reverts commit 8ae74e11d2105104737a7425e3bdd68e6329dcfa.
    
    Change-Id: Ifb3658c324cb0aa56ee31352a0fc0e6759979f7b
    Reviewed-on: https://chromium-review.googlesource.com/269848
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 27464aa9101b13590656f5119b4e135761ead128
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri May 1 11:07:46 2015 -0400

    Sync the generic vertex attribute data.
    
    BUG=angleproject:883
    
    Change-Id: If5616bf24c1ac5477ae80cf1d25efa70b62edea1
    Reviewed-on: https://chromium-review.googlesource.com/268750
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 1eb708e1e63425f63cbec91e0227f88ad44c45d4
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon May 4 14:58:23 2015 -0400

    Clear cached state when deleting GL objects.
    
    Change-Id: I84eac9b3796858e5e19e26851ad83baa1f9b6af2
    Reviewed-on: https://chromium-review.googlesource.com/269142
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 716cc88e1470839c7ad6625f59d7b3038a78da7f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon May 4 15:30:15 2015 -0400

    Always sync writemasks and front face.
    
    BUG=angleproject:883
    
    Change-Id: Ie1d544c8f30472238d859d8fd7f553a73b066802
    Reviewed-on: https://chromium-review.googlesource.com/269145
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 37ad4744bbe70ab3956552447e658346e85be26e
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Apr 27 13:18:50 2015 +0300

    Add support for parsing ESSL3 invariant qualifiers
    
    The parser recognizes ESSL3 invariant variable declaration syntax and
    marks the variables as invariant.
    
    In ESSL3, invariant out variables can be linked to non-invariant
    in variables, so linking checks should now be different depending on
    shading language version. A shading language version dependent varying
    matching check is added to the translator API to facilitate this.
    
    Tested by deqp/data/gles3/shaders/qualification_order.html after patching
    Chrome to use the new linking check API.
    
    A previous revision of this change that broke API compatibility was
    reverted since it broke Chromium FYI bots. This revision keeps deprecated
    API functionality around for now so that changes can be rolled
    step-by-step to Chromium without breakage.
    
    TEST=WebGL 2 conformance tests, angle_unittests
    BUG=angleproject:987
    
    Change-Id: Iecb64e3afd23e267ba999bc17f44390affcdfc13
    Reviewed-on: https://chromium-review.googlesource.com/269940
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 9e64edce11b7648aeb3d240d2f7fd13fc803121e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 7 14:08:06 2015 +0000

    Revert "Add support for parsing ESSL3 invariant qualifiers"
    
    Build breaks in GPU FYI bots.
    
    BUG=angleproject:987
    
    This reverts commit 4008879357159c7850cf105f2ae842bc68dd3c18.
    
    Change-Id: Ia88ad302c403c65516c050eb7741316b5097bcfb
    Reviewed-on: https://chromium-review.googlesource.com/269847
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 4008879357159c7850cf105f2ae842bc68dd3c18
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Apr 27 13:18:50 2015 +0300

    Add support for parsing ESSL3 invariant qualifiers
    
    The parser recognizes ESSL3 invariant variable declaration syntax and
    marks the variables as invariant.
    
    In ESSL3, invariant out variables can be linked to non-invariant
    in variables, so linking checks should now be different depending on
    shading language version. The varying matching check in the translator
    API is changed to be shading language version dependent to facilitate
    this.
    
    Tested by deqp/data/gles3/shaders/qualification_order.html after patching
    Chrome to use the new linking check API.
    
    TEST=WebGL 2 conformance tests, angle_unittests
    BUG=angleproject:987
    
    Change-Id: I3982feff7380c4dfc647940ee03a020692dd0c59
    Reviewed-on: https://chromium-review.googlesource.com/267663
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 520c4ae229160abda422ac82e6e1d16a2c8ff228
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue May 5 13:12:36 2015 -0400

    Add a Buffer::getIndexRange function.
    
    Instead of exposing the index range cache, add a more generic method that
    allows the buffers to handle their own caching of index ranges.
    BufferImpl::getData can be hard to implement for BufferGL because there
    isn't a way to tell the buffer to unmap and glGetBufferSubData can be very
    expensive, requiring an extra copy of the data.
    
    BUG=angleproject:881
    
    Change-Id: Idec645219056132e0d72a410fbe7b971fa02c9e9
    Reviewed-on: https://chromium-review.googlesource.com/261892
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 831b19531f2436518711d611f4d007970901ec6c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue May 5 11:02:27 2015 -0400

    Move the IndexRangeCache and Range types to the gl namespace.
    
    BUG=angleproject:881
    
    Change-Id: Ib05149facee9fcc7714cb957ca8647b3498a36b6
    Reviewed-on: https://chromium-review.googlesource.com/269254
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit 94b3a078d0a5108d6cf2e1d9fccb1a7954080ea4
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue May 5 17:00:07 2015 -0400

    Factor GL extension parsing in renderergl_utils.cpp
    
    DisplayGLX will use it for the GLX extensions too.
    
    BUG=angleproject:892
    
    Change-Id: I5e4f80776a558fcdcc7e7b83767145112bcfee98
    Reviewed-on: https://chromium-review.googlesource.com/269461
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 06e24a7e3d060ee2e2edee4f308d9ea82f41a3f7
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Apr 27 14:48:59 2015 -0400

    Track if a non-preprocessor token has been seen and validate #extension with it.
    
    Reland: Only report a warning instead of an error.
    
    BUG=angleproject:989
    BUG=483252
    
    Change-Id: Ife3e7759cdef6bc0f41cae3c58c307682b608279
    Reviewed-on: https://chromium-review.googlesource.com/269404
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 5adf81824e08ae9644da8846b46fa75331e2ce91
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed May 6 13:23:36 2015 -0400

    Make build/gyp_angle executable
    
    BUG=angleproject:892
    
    Change-Id: I88c2724150142415cebf9e45e5747fe2c4889c91
    Reviewed-on: https://chromium-review.googlesource.com/269760
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 443e1d9b379f5e06be4131d71a9830a79cc51b57
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue May 5 12:57:55 2015 -0400

    Refactor egl::Surface constructors.
    
    We can reduce the code in these classes quite a bit by calling
    the common code in egl::Display.
    
    BUG=angleproject:994
    
    Change-Id: Idf0ffa054fc6a70cf8c65a0b98fd963911715591
    Reviewed-on: https://chromium-review.googlesource.com/269258
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 9ff785ee82bac5d693cf7a9c67dbb6e96e761b17
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed May 6 08:26:24 2015 -0400

    Update WebGL CTS expectations.
    
    Change-Id: If07442b45d97f259e5a2ebda3dbfee3c11618499
    Reviewed-on: https://chromium-review.googlesource.com/269664
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit cf9dfa493c1c2eb07a0dd9fbaa677e605e4012e0
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon May 4 13:55:41 2015 -0400

    Add missing includes in samples/sample_util/
    
    BUG=angleproject:892
    
    Change-Id: Ia718306226ce6cfcf91f74947a7775b1439e4fab
    Reviewed-on: https://chromium-review.googlesource.com/268995
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 4b6bfe102269658d7e868aaa434e9bf298073842
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue May 5 20:10:20 2015 +0000

    Revert "Track if a non-preprocessor token has been seen and validate #extension with it."
    
    Causing failures in the GLES2 CTS "build", related to extensions.
    
    BUG=483252
    BUG=angleproject:989
    
    This reverts commit bbdb9e2259c38454be097ce01505db83db3ad7a8.
    
    Change-Id: I3e1ad989af645194c8ee9b9847b2131e289d09e1
    Reviewed-on: https://chromium-review.googlesource.com/269403
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit fee035018d84cea5d1815a6ba1e66159449afea8
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue May 5 15:08:24 2015 -0400

    Move comments next to their code block in FunctionsGL
    
    BUG=angleproject:892
    
    Change-Id: I7b47e26c81dc91900b17a2062bef0ee10c3290aa
    Reviewed-on: https://chromium-review.googlesource.com/269209
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 570dae9ef2d50224c41351882460df54ab8226fb
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue May 5 15:11:08 2015 -0400

    Remove noop assignment to configId in DisplayWGL
    
    It is overwritten by ConfigSet::add.
    
    BUG=angleproject:892
    
    Change-Id: I23becb235969c6aeda216014fd06880bd7cc5f67
    Reviewed-on: https://chromium-review.googlesource.com/269410
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit bbdb9e2259c38454be097ce01505db83db3ad7a8
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Apr 27 14:48:59 2015 -0400

    Track if a non-preprocessor token has been seen and validate #extension with it.
    
    Reland: Only report a warning instead of an error.
    
    BUG=angleproject:989
    BUG=483252
    
    Change-Id: Ibf9adbf423cd9dee20ec45b8d2ea42bcfd9311be
    Reviewed-on: https://chromium-review.googlesource.com/269205
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit b80360f1025d4f2f40c549e9f5e5eb71050f3d7a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon May 4 15:01:31 2015 -0400

    Load the KHR_debug extension entry points and print debug messages.
    
    Change-Id: If1b64a7d5cc80205683062586a56fb50da6c1a21
    Reviewed-on: https://chromium-review.googlesource.com/269143
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 214c2d8e4dd65662e1f6c5821065716e13e82cd6
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Apr 27 14:49:13 2015 +0300

    Separate invariance from qualifiers
    
    ESSL3 makes it possible to combine invariant with several more different
    qualifiers. To avoid combinatorial explosion of the qualifier enum, track
    invariance with a separate boolean.
    
    TEST=WebGL conformance tests, angle_unittests
    BUG=angleproject:987
    
    Change-Id: I0c6629e5ca2ded06db9ac9e5bab2fb6480299a5a
    Reviewed-on: https://chromium-review.googlesource.com/267662
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit bab4c08f1c2ec9f51c31d88fae8b1ebed4fd021d
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Apr 24 16:38:49 2015 +0300

    Require size for empty array declarations
    
    Passing dEQP tests requires this check, which seems to be a valid interpretation
    of ESSL3 spec section 4.1.9.
    
    BUG=angleproject:941
    TEST=dEQP-GLES3.functional.shaders.arrays.invalid.*
    
    Change-Id: Iae88e6bb8e4ec784a2f1c8a94554e1e5c5e3ee85
    Reviewed-on: https://chromium-review.googlesource.com/267430
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit b11e2483742db884bd0af41f78f528240577356b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon May 4 14:21:22 2015 -0400

    translator: Fix validation sometimes modifying builtins.
    
    When validating some shaders with out-of-bounds array indexes,
    we would write the sanitized index into the global symbol table.
    We would then overwrite a wrong value for the builtin. This
    fixes the WebGL test extensions/webgl-draw-buffers-max-draw-buffers.
    
    Also mark const on as many uses ConstantUnion as we can.
    
    BUG=angleproject:993
    
    Change-Id: I110efaf1b7b0158b08b704277e3bc2472437902c
    Reviewed-on: https://chromium-review.googlesource.com/268962
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit 6ba6eadce47bb9e304e06ac7b8ed15f73ad4bca9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon May 4 14:21:21 2015 -0400

    Rename ConstantUnion to TConstantUnion.
    
    This clarified that we're using the Pool allocator/deallocator for
    this type.
    
    BUG=angleproject:993
    
    Change-Id: If8c95f6054d07291e7014be0d4e35766ba2e943b
    Reviewed-on: https://chromium-review.googlesource.com/269131
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit c07c43e43f0ec5dd619f55e06320b8f1542fab77
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon May 4 18:20:24 2015 +0000

    Revert "Fix pointer to int conversion warning in EGLWindow.cpp"
    
    Causes a compile error.
    
    BUG=angleproject:892
    
    This reverts commit d424da4a4c5f9eb08632738c53ca4604c3b808f1.
    
    Change-Id: Ieb8bb99d02f7050306974db5dab72d26474891ac
    Reviewed-on: https://chromium-review.googlesource.com/268996
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 72196b74f00828426026a946c4990c1d883fa97c
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon May 4 12:50:53 2015 -0400

    Add missing trailing newline before EGLWindow.cpp EOF
    
    BUG=angleproject:892
    
    Change-Id: Iaf175a310ce2acb5a8715902b3d367aa3dae8e2c
    Reviewed-on: https://chromium-review.googlesource.com/269124
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 75af569cc1e0f9df443e771209115a64551b799e
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon May 4 12:50:30 2015 -0400

    Add missing include in EGLWindow.cpp
    
    BUG=angleproject:892
    
    Change-Id: I23cfbd9cfbe7d41e048a2b2a4eea048f5de72d12
    Reviewed-on: https://chromium-review.googlesource.com/269123
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit d424da4a4c5f9eb08632738c53ca4604c3b808f1
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon May 4 12:50:08 2015 -0400

    Fix pointer to int conversion warning in EGLWindow.cpp
    
    BUG=angleproject:892
    
    Change-Id: If6f0eb13bca10f9328faeaab35665a67e7ef6e44
    Reviewed-on: https://chromium-review.googlesource.com/269122
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 8ae74e11d2105104737a7425e3bdd68e6329dcfa
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon May 4 10:34:15 2015 -0400

    Use a std::stringstream for Program's InfoLog.
    
    This should help WebKit avoid needing to apply a local patch.
    Also clean up the style in this file a bit.
    
    BUG=angleproject:307,angleproject:992
    
    Change-Id: I6328cd03901dbf52eccddc7c747a684ed9b23ea1
    Reviewed-on: https://chromium-review.googlesource.com/268741
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit 8cf813c7f903bac9ba400ed683b4c659c4966bca
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon May 4 12:55:18 2015 -0400

    Query attachment render targets from Impl class.
    
    *re-land with fix for D3D9*
    
    This allows us to eradicate the GetAttachmentRenderTarget methods.
    This improves potential performance, at the cost of exposing a
    Renderer-specific function at the API object level.
    
    BUG=angleproject:963
    
    Change-Id: Iee9f985ddaed668df0c622228004b348eb4d2ea8
    Reviewed-on: https://chromium-review.googlesource.com/269006
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit deaee8ba87147506c5cee9b72277efd5f02714b4
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon May 4 13:54:32 2015 -0400

    Fix warning about namespacing of HelloTriangle's constructor
    
    BUG=angleproject:892
    
    Change-Id: Ib3b4eb597964c21aba01047e77a413ce19c35855
    Reviewed-on: https://chromium-review.googlesource.com/268994
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 74e160844cfebd8b55ae0ee5f30359de6aa21d94
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon May 4 12:44:30 2015 -0400

    CompilerGL: Use mOutputType when creating the compiler
    
    BUG=angleproject:892
    
    Change-Id: Id6bbc4059f92ff7d8d291583cd30dbd4cd5e9bd3
    Reviewed-on: https://chromium-review.googlesource.com/268969
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit a897542f0002d4ffb0de0ba4a4675039b213823b
Author: Scott Graham <scottmg@chromium.org>
Date:   Fri May 1 11:09:12 2015 -0700

    vs2015: disable warning in generated code, fix another
    
    Macro redefinition is for INT8_MIN, etc. which are generated by flex.
    VS doesn't define __STDC_VERSION__ as >= C99 because it's still only
    partial support in VS2015.
    
    Fix a float->int conversion narrowing warning.
    
    Change-Id: I5232eb23426eaf584218137c068e14d74119a1ef
    Reviewed-on: https://chromium-review.googlesource.com/268821
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Scott Graham <scottmg@chromium.org>

commit fc69293423011f0bd1da458889628a4e0cf91e84
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon May 4 12:53:10 2015 -0400

    Fix signed to unsigned integer conversion warning in EGLWindow.h
    
    Change-Id: I7b4249e04c8fb76b60b4c837266b144fbd64cbf6
    Reviewed-on: https://chromium-review.googlesource.com/269128
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 92d7706da9e49c2fac5e9f860a242043e944ce5c
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon May 4 12:41:54 2015 -0400

    Fix tautological compare and && in || warnings in FunctionsGL.cpp
    
    Change-Id: Icfbd79e3cbb116da9981daeb42d3657146bf673e
    Reviewed-on: https://chromium-review.googlesource.com/268968
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 9946a61e3cc7e9fc8e2f6d2b7930dc97bdd4f261
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon May 4 12:52:32 2015 -0400

    Fix text trailing after preprocessor macro warning in util/Event.h
    
    Change-Id: Ie977e6fce0e5e0efeb16f0387bf653bbd2d1cd93
    Reviewed-on: https://chromium-review.googlesource.com/269127
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 8eb2d14cdae4486e657e233719a0c5b30c15ff67
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon May 4 12:52:05 2015 -0400

    Fix 'not all switch case are handled' warning in OSWindow.cpp
    
    Change-Id: Ib4d1e4b04c73e5eb5e0e4f6c56212e99723d2ce0
    Reviewed-on: https://chromium-review.googlesource.com/269126
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 6ba699a2b0c7d0954f6c28d9fcdc5b8de261720b
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon May 4 12:51:23 2015 -0400

    Add missing include in OSWindow.h
    
    Change-Id: Ie1fd40c308ed9d0d90756e31dfe153f44510defa
    Reviewed-on: https://chromium-review.googlesource.com/269125
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 55def58323c359f5ab26c62757edcbe516259ada
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon May 4 11:24:57 2015 -0400

    translator: Fix variable collection for gl_DepthRange.
    
    *re-land with Linux fixes, and fix for locations*
    
    This built-in uniform wasn't being collected in VariableInfo.cpp.
    Also remove the existing workaround for D3D gl_DepthRange
    collection.
    
    BUG=angleproject:991
    BUG=478570
    
    Change-Id: Iba84651bfc58f82fd4ce039421874f561f83c348
    Reviewed-on: https://chromium-review.googlesource.com/268840
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 931c78cb7f310fad8e42af1faa47a0df1b30b570
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon May 4 12:45:53 2015 -0400

    Fix typo intialize -> initialize
    
    Change-Id: Ia39fffc6f2782b918b37ab7ae25ee16ecc98e93a
    Reviewed-on: https://chromium-review.googlesource.com/269120
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 96de96b7cde1857c2b489e385a236a1708247682
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon May 4 12:46:33 2015 -0400

    Initialize Win32Timer::mRunning as a bool
    
    Change-Id: I1770684217239bcbdf2bb07f4867e1427577a01f
    Reviewed-on: https://chromium-review.googlesource.com/269121
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit e737b06c9e856dee81793abc5a9dbffd9cd05619
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon May 4 16:53:56 2015 +0000

    Revert "Query attachment render targets from Impl class."
    
    D3D9 bug is causing failures in the WebGL depth texture test.
    
    BUG=angleproject:963
    
    This reverts commit 804e8436f91733e1d0f769ec10082e4741f2e549.
    
    Change-Id: I660f05033360e97258794138cb50b604f5ac16b6
    Reviewed-on: https://chromium-review.googlesource.com/269005
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit c1c1cdc405f346a287cc00932cc83e8941caf3c9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Apr 30 09:42:26 2015 -0400

    Don't reallocate default FBO on makeCurrent.
    
    We can use the flat FBO attachment types to update our data
    instead of reallocating it. This also lets us delete the
    DefaultFramebuffer class.
    
    BUG=angleproject:963,angleproject:840
    
    Change-Id: Ib8f20d8212d073fb5e248756321cb2e6b4e086dc
    Reviewed-on: https://chromium-review.googlesource.com/263492
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 804e8436f91733e1d0f769ec10082e4741f2e549
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Apr 30 09:42:23 2015 -0400

    Query attachment render targets from Impl class.
    
    This allows us to eradicate the GetAttachmentRenderTarget methods.
    This improves potential performance, at the cost of exposing a
    Renderer-specific function at the API object level.
    
    BUG=angleproject:963
    
    Change-Id: Ifc227b5f42e87bd4deb451d685618cf61fea39f1
    Reviewed-on: https://chromium-review.googlesource.com/263491
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 26e1a466df4368b246fa0835a2bc33adc6e6201d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri May 1 19:19:19 2015 +0000

    Revert "translator: Fix variable collection for gl_DepthRange."
    
    Build errors on Linux:
    
    error: comparison of integers of different signs: 'const int' and 'const unsigned int'
    
    BUG=angleproject:991
    BUG=478570
    
    This reverts commit f1ae954b660cb058c40665b623f4d689b65180d4.
    
    Change-Id: I217aba1b32dc0e70d6153337a1f0ccef0483a0e1
    Reviewed-on: https://chromium-review.googlesource.com/268792
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit f1ae954b660cb058c40665b623f4d689b65180d4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri May 1 13:33:57 2015 -0400

    translator: Fix variable collection for gl_DepthRange.
    
    This built-in uniform wasn't being collected in VariableInfo.cpp.
    Also remove the existing workaround for D3D gl_DepthRange
    collection.
    
    BUG=angleproject:991
    BUG=478570
    
    Change-Id: Ie254132e37c307323ba9e6e1705d138eea67b520
    Reviewed-on: https://chromium-review.googlesource.com/268524
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit 4c8cae6073199b5610c93f11a160838caacda1d1
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri May 1 16:46:16 2015 +0000

    Revert "Don't mark all macros with double underscores as reserved."
    
    Fails a WebGL CTS test.
    
    BUG=angleproject:989
    
    This reverts commit 942e36254a1e3537371c39f3f23d1ce12f4c87e8.
    
    Change-Id: I9f833366d5b69535ef74e358ac21efaccb1f1a3d
    Reviewed-on: https://chromium-review.googlesource.com/268751
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 942e36254a1e3537371c39f3f23d1ce12f4c87e8
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Apr 30 11:00:01 2015 -0400

    Don't mark all macros with double underscores as reserved.
    
    Only __FILE__, __LINE__, __VERSION__ and GL_ES are reserved but it is
    still not recommended to use a name with double underscores because it may
    be used by the "underlying software layers".
    
    Updated the tests to reflect that it is OK to define macros with double
    underscores but it is not valid to make assumptions about their values.
    
    Fixes:
    dEQP-GLES2.functional.shaders.preprocessor.basic.identifier_with_double_underscore_vertex
    dEQP-GLES2.functional.shaders.preprocessor.basic.identifier_with_double_underscore_fragment
    
    BUG=angleproject:898
    
    Change-Id: I77054d04c9935eedcdbb7304dc0c3b60b53994f9
    Reviewed-on: https://chromium-review.googlesource.com/268434
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 2dc8bf8b2b960971d90a2a9bee0915024ef5015f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Apr 30 15:56:52 2015 -0400

    translator: Fix C++11-deprecated register usage.
    
    Define 'register' as an empty string if we're in a modern version
    of C++.
    
    BUG=255186
    BUG=angleproject:463
    
    Change-Id: Ied044fb87a9b05c91cb419c54295c39f0f0ab776
    Reviewed-on: https://chromium-review.googlesource.com/268512
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit b96687df34626202448d2a59d26153da1ac679f1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Apr 30 15:56:51 2015 -0400

    translator: Regenerate with Bison 3.0.4.
    
    BUG=angleproject:463
    
    Change-Id: If89a29de8fb006e8e3b0483ac5df21c8833ce974
    Reviewed-on: https://chromium-review.googlesource.com/268511
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 9624e05860bddf03ea5138fa14f4fa7b4a1f2f57
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri May 1 14:04:24 2015 +0000

    Revert "Track if a non-preprocessor token has been seen and validate #extension with it."
    
    Breaks some WebGL applications, holding off until a decision is made.
    
    BUG=483252
    BUG=angleproject:989
    
    This reverts commit fa55bf1ed6a26341c57f45b3a3da8feda0b6c18d.
    
    Change-Id: Iebef439095a95741c8502716a4ce90c4785561eb
    Reviewed-on: https://chromium-review.googlesource.com/268742
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 6afcd6ddcb4c3456ea2cf9396f9e63344b3154e5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Apr 28 12:39:09 2015 -0400

    Refactor CreateDevice error checking.
    
    Also return a different code for a NULL pointer, vs a failed call.
    
    BUG=477701
    
    Change-Id: Ib0584371d51b99760e80ce5481a1e72e1ec673e0
    Reviewed-on: https://chromium-review.googlesource.com/267753
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit 4d16f6d809fb0c31c721efe1d811177137a3e135
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Apr 30 09:42:21 2015 -0400

    Replace NULL with nullptr in Framebuffer9/11.
    
    BUG=angleproject:963
    
    Change-Id: I1ba418e7540b9c3ac6611aa3e4f0c1ca27557a1a
    Reviewed-on: https://chromium-review.googlesource.com/267734
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 7d75e2b7fe83ae45ba860c068dcfeb048de8b601
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Apr 30 09:42:18 2015 -0400

    Simplify message to FBO Impls of attachment changes.
    
    We don't need to pass attachment pointers, since they are now
    value types, and no longer change their address.
    
    BUG=angleproject:963
    
    Change-Id: I02cdce0886512cc847930f61c5bfb62fc1d7cd1a
    Reviewed-on: https://chromium-review.googlesource.com/265938
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 2e295e23e8f7c3a6a4dd12e8b9d9f3d51f799081
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Apr 29 10:41:33 2015 -0400

    hlsl: Fix struct specifiers in uniforms.
    
    We would miss the definition for structs specfied in uniforms. Fix
    this by always checking to add the constructor. Fixes the WebGL
    test 'glsl/misc/struct-specifiers-in-uniforms'.
    
    BUG=angleproject:818
    BUG=433412
    
    Change-Id: I411e4a4477f7ef34fceb9faa77489f77d8efdce8
    Reviewed-on: https://chromium-review.googlesource.com/267797
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit a1884f2b65cdece93327f399ff9c9a9f263535ce
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Apr 29 10:15:16 2015 -0700

    Fixes for the tagging of discontinuous loops
    
    The first fix was for all loops being considered discontinuous in
    OutputHLSL because of a typo that produced a tautology.
    
    The error was not detected by the unit tests because as an optimization we
    do not generate Lod0 calls when they are not needed for the callee
    function (which was correctly detected by the analysis in this case).
    Fixed the unit tests by adding a call to a builtin gradient operation.
    
    The second fix was for discard not being taken into account in the
    analyses of the AST, which caused a WebGL test regression after the first
    fix for conformance/glsl/bugs/conditional-discard-in-loop
    
    BUG=angleproject:982
    
    Change-Id: I1315eac1ad36f726be52d7fda5facf3104341b1f
    Reviewed-on: https://chromium-review.googlesource.com/267814
    Tested-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit ec6bae71fb25efdf8e39b1341053b6908526f27a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Apr 29 13:54:15 2015 -0400

    Default buffer usage to GL_STATIC_DRAW.
    
    Calling glGetBufferParameteriv with GL_BUFFER_USAGE on a buffer that has never
    had glBufferData called on it should return GL_STATIC_DRAW.
    [ES 2.0.25 spec, table 6.3]
    
    Fixes:
    dEQP-GLES2.functional.state_query.buffer_object.buffer_usage_getbufferparameteri
    
    Change-Id: I1bf1614b606d20338bb507861164c6ab0b64122f
    Reviewed-on: https://chromium-review.googlesource.com/267816
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 3799c3014a9e4ba4a3853c014a7127254ec19d50
Author: Régis Fénéon <regis.feneon@gmail.com>
Date:   Wed Apr 29 13:06:31 2015 +0200

    surfaceD3D::swapRect(): always call checkForOutOfDateSwapChain() even if
    width or height is 0.
    
    BUG=angleproject:990
    
    Change-Id: I9fbdd3d341d3f6fa42dfb39950e6b2d3204c4c9b
    Reviewed-on: https://chromium-review.googlesource.com/267415
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Régis Fénéon <regis.feneon@gmail.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit fa55bf1ed6a26341c57f45b3a3da8feda0b6c18d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Apr 27 14:48:59 2015 -0400

    Track if a non-preprocessor token has been seen and validate #extension with it.
    
    Fixes:
    dEQP-GLES2.functional.shaders.preprocessor.extensions.after_non_preprocessing_tokens_vertex
    dEQP-GLES2.functional.shaders.preprocessor.extensions.after_non_preprocessing_tokens_fragment
    
    BUG=angleproject:989
    
    Change-Id: Ie0aba80b2fde0160e83fc95f545b62954af2e5fc
    Reviewed-on: https://chromium-review.googlesource.com/267398
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit c185cb8d706cad558e20ef5dd364ca8c5d815036
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Apr 28 12:39:08 2015 -0400

    Cache gl::Data in Context to speed up validation.
    
    This avoids creating a new Data object and copying it around.
    Gives a noticable performance increase in the benchmark which
    tests validation-only draw calls. Gives about a 8% increase
    in the benchmark.
    
    BUG=angleproject:959
    
    Change-Id: Id3a7459753b1b466a06da89f3f8b03b2c2c7a5c1
    Reviewed-on: https://chromium-review.googlesource.com/267752
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit aebf9dde6a59dd4a7015f266d9a57eda3aae011a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Apr 28 12:39:07 2015 -0400

    Cache maximum enabled vertex attribute.
    
    This can give us much faster draw call validation, by saving us from
    checking buffer sizes for non-enabled attribs. Also for checking if
    vertex buffers are mapped. Gives >100% increase in the benchmark.
    
    BUG=angleproject:959
    
    Change-Id: I211c310385bdee46ed06f68ecd9c98385e1f8db9
    Reviewed-on: https://chromium-review.googlesource.com/267751
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit 1377689c30fcaea7ab57257a929c961873f7677c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Apr 28 12:39:06 2015 -0400

    Cache validate samplers result.
    
    This gives ~23% increase in the validation-only draw call perf test.
    
    BUG=angleproject:959
    
    Change-Id: I384a5c4fbb1c2cd47483bd7cf4bc1d39447a99bc
    Reviewed-on: https://chromium-review.googlesource.com/267750
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit 667ef099593c9c1b86f50efcf0a7e651c23246f4
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Apr 29 14:49:38 2015 -0400

    Update copyright dates in generated DLLs.
    
    BUG=angleproject:546
    
    Change-Id: If44d808e30e4c5b15971fe44e8c59a3c9f19095f
    Reviewed-on: https://chromium-review.googlesource.com/267837
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 26be18da8c440adf17244a4c4d41d56e27d0700b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Apr 27 14:05:57 2015 -0400

    Validate that all preprocessor function arguments are unique.
    
    Fixes:
    dEQP-GLES2.functional.shaders.preprocessor.invalid_function_definitions.unique_param_name_vertex
    dEQP-GLES2.functional.shaders.preprocessor.invalid_function_definitions.unique_param_name_fragment
    
    BUG=angleproject:989
    
    Change-Id: I32198f1c9036c371b46e7ad2986a44e42fd38e20
    Reviewed-on: https://chromium-review.googlesource.com/267396
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit f74fef50cf47002daa155ba4dbab2bb8286eae20
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Apr 29 12:57:52 2015 -0400

    Disable some failing tests on Intel and AMD bots.
    
    Change-Id: I745fab7c6c169c1ffc930f865b6b109c4c623e2b
    Reviewed-on: https://chromium-review.googlesource.com/267835
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit a809165f942ed0a3cedf036c8517f8ee23761b88
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Apr 27 10:53:55 2015 -0400

    Enable more tests for the OpenGL backend.
    
    Change-Id: I3fc9948498bd7c2b7c8e75f010196982de240c1b
    Reviewed-on: https://chromium-review.googlesource.com/267461
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 95a423d06ab938999a022f048c94816c10d95819
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Apr 28 11:09:45 2015 -0400

    Unexpected tokens after conditionals should be an error instead of a warning.
    
    Fixes:
    dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.tokens_after_if_vertex
    dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.tokens_after_if_fragment
    dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.tokens_after_else_vertex
    dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.tokens_after_else_fragment
    dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.tokens_after_endif_vertex
    dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.tokens_after_endif_fragment
    dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.tokens_after_ifdef_vertex
    dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.tokens_after_ifdef_fragment
    dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.tokens_after_ifndef_vertex
    dEQP-GLES2.functional.shaders.preprocessor.invalid_conditionals.tokens_after_ifndef_fragment
    
    BUG=angleproject:989
    
    Change-Id: I6511f7082c98206fb623775d81329b6bc7673c1a
    Reviewed-on: https://chromium-review.googlesource.com/267638
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit d3c29f57aaeb451b149bbb9fd17b3f1f99101c52
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Apr 28 11:23:02 2015 -0400

    Add pragma errors for malformed pragmas.
    
    Instead of always warning on invalid pragmas, only warn when the pragma
    type is not recognized and error when the syntax is invalid.
    
    Fixes:
    dEQP-GLES2.functional.shaders.preprocessor.pragmas.invalid_pragma_invalid_debug_vertex
    dEQP-GLES2.functional.shaders.preprocessor.pragmas.invalid_pragma_invalid_debug_fragment
    dEQP-GLES2.functional.shaders.preprocessor.pragmas.invalid_pragma_invalid_token_vertex
    dEQP-GLES2.functional.shaders.preprocessor.pragmas.invalid_pragma_invalid_token_fragment
    
    BUG=angleproject:989
    
    Change-Id: Ibd584dc08a2436e163dfc52eeffdf2dac8a22cb8
    Reviewed-on: https://chromium-review.googlesource.com/267639
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit b819d25dc608d2a982f323b9db4083dffcba4215
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Apr 27 14:16:34 2015 -0400

    Validate that there are no tokens following #undef on the same line.
    
    Fixes:
    dEQP-GLES2.functional.shaders.preprocessor.definitions.undefine_object_invalid_syntax_vertex
    dEQP-GLES2.functional.shaders.preprocessor.definitions.undefine_object_invalid_syntax_fragment
    dEQP-GLES2.functional.shaders.preprocessor.invalid_definitions.undef_non_identifier_2_vertex
    dEQP-GLES2.functional.shaders.preprocessor.invalid_definitions.undef_non_identifier_2_fragment
    
    BUG=angleproject:989
    
    Change-Id: I279a38aaae8010017ef6e3f1aa139ae03f374680
    Reviewed-on: https://chromium-review.googlesource.com/267397
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 3da79b7bca0bb780dfe60db7bec4c5dd9d627ff8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Apr 27 11:09:17 2015 -0400

    Reject shaders using attribute aliasing.
    
    The current code rejects any shaders that use more than the caps
    allow, but a bug would crash us before the check. We don't support
    aliasing in shaders that use a lot of uniforms because this
    causes problems with the D3D back-end, currently. This changes the
    crash in the dEQP aliasing tests to a link error.
    
    See dEQP-GLES2.functional.attribute_location.bind_aliasing.*
    
    BUG=angleproject:901
    
    Change-Id: I6906d3345abe9f89cfa0aa6cec4be26b5b2851d0
    Reviewed-on: https://chromium-review.googlesource.com/266928
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit 30cb86d87c78272c3ec131ae270d063a8a77912e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Apr 22 10:07:23 2015 -0400

    Create a child window in SurfaceD3D when needed.
    
    BUG=angleproject:961
    BUG=angleproject:860
    
    Change-Id: I137d27bafc4d690b159ffef8cc69d6f1c5a05131
    Reviewed-on: https://chromium-review.googlesource.com/267681
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 463cdeac4f1bf02810404dfaf9d63c798abfd28c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Apr 28 13:22:31 2015 -0400

    Temporarily disable the ClearTest.ClearIssue test on Intel OpenGL.
    
    Change-Id: Ia54b2258422c23fc53f2af5ebe7594375412452c
    Reviewed-on: https://chromium-review.googlesource.com/267675
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit ad0d0799db58874f9454094cea3e7d3e6b2a416e
Author: Qingqing Deng <qdeng@nvidia.com>
Date:   Wed Apr 8 14:25:06 2015 -0700

    Expand ShShaderOutput for different GLSL versions
    
    BUG=angleproject:968
    
    Change-Id: I2d4c0a8e9a91a940922da4501c22124da0c0399c
    Reviewed-on: https://chromium-review.googlesource.com/264840
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit e3ef715d01894bd114eeff88b8c8e883147fa614
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Apr 28 16:55:17 2015 +0000

    Revert "Revert "Remove non-const FBO attachment queries.""
    
    Fixed build errors in prior patch.
    
    This reverts commit 34771622d756adc52f02becd7c2b70c717dcc638.
    
    Change-Id: I909b455f2c632a3df7d97149972e167c2adb058f
    Reviewed-on: https://chromium-review.googlesource.com/267599
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 3fe36ebd2825144d966c4af6cf8198c9216c6e65
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Apr 28 16:44:12 2015 +0000

    Revert "Create a child window in SurfaceD3D when needed."
    
    Causing errors with D3D9, see build:
    
    http://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20%28NVIDIA%29/builds/15149
    
    This reverts commit b7f1a8b0ab3489a7463749e7fc088187bfafbd35.
    
    Change-Id: I6f1c3fd119f76a298e5b3fb676ddcb208cd1234b
    Reviewed-on: https://chromium-review.googlesource.com/267673
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 3a12f776e4696bfefab07799b483e529d944bf90
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Apr 28 16:44:59 2015 +0000

    Revert "Fix compile failure on build systems with UNICODE defined."
    
    Earlier patch causing errors on D3D9:
    
    http://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20%28NVIDIA%29/builds/15149
    
    This reverts commit acb0a1a6d74100833dbccd49d3eca317b56fd004.
    
    Change-Id: I1956c57224ecf1c0caee2c3f624d1a871d171686
    Reviewed-on: https://chromium-review.googlesource.com/267674
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit acb0a1a6d74100833dbccd49d3eca317b56fd004
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Apr 28 10:39:10 2015 -0400

    Fix compile failure on build systems with UNICODE defined.
    
    BUG=angleproject:961
    
    Change-Id: I32053309a8384a27d1c2a991ddfaa195195f88c8
    Reviewed-on: https://chromium-review.googlesource.com/267637
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit d3b84ab51db09de238459b0dff2e8420c09aabf3
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Apr 22 10:36:48 2015 -0400

    Don't subclass windows in SurfaceD3D.
    
    The subclassing was not used by chromium and caused problems for users
    that wanted to use a window owned by another thread as an EGL surface.
    
    BUG=angleproject:961
    
    Change-Id: I1d91323c758374de317179874320961385b10ae0
    Reviewed-on: https://chromium-review.googlesource.com/266658
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: John Bauman <jbauman@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit b7f1a8b0ab3489a7463749e7fc088187bfafbd35
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Apr 22 10:07:23 2015 -0400

    Create a child window in SurfaceD3D when needed.
    
    BUG=angleproject:961
    
    Change-Id: I61931961f8cb86b47012edd2bc08d0e1e7a5d0f7
    Reviewed-on: https://chromium-review.googlesource.com/266515
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: John Bauman <jbauman@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 5b028d180affb0702b9fa253582f56601221c06a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Apr 27 10:43:54 2015 -0400

    Add a special case for binding to GL_FRAMEBUFFER for state tracking.
    
    Binding to GL_FRAMEBUFFER is supposed to set the read and draw framebuffer
    bindings instead of being a separate binding point.
    
    BUG=angleproject:885
    
    Change-Id: Ic6d9056a2f8bfa472587c5ed030c15fcc93574c7
    Reviewed-on: https://chromium-review.googlesource.com/267460
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 0d31828f17e4b95248fcaa719dfc426ee81cbee7
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Apr 27 15:08:09 2015 -0400

    Fixed shadowed error variable.
    
    BUG=angleproject:886
    
    Change-Id: I4224ba26fef6783d61a56c294da2bdb6596da7bc
    Reviewed-on: https://chromium-review.googlesource.com/267552
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 2d06b738a1155875f0faade76ec718116073bc00
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Apr 20 12:53:28 2015 -0400

    Store value types for FBO attachments.
    
    *re-land with fix for Mac*
    
    This prevents us from re-allocating FBO attachments every set.
    This change requires quite a bit of refactoring.
    
    BUG=angleproject:963
    
    Change-Id: Ia1f83e3c427d446ddbe16c6703db136942149e91
    Reviewed-on: https://chromium-review.googlesource.com/266691
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit b36e9b89793be2973d31ee1d5e6073b8682ca576
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Apr 27 19:10:48 2015 +0000

    Revert "D3D11: Filter HRESULT error code properly."
    
    Fix is incorrect: See http://crbug.com/477701
    
    This reverts commit 02bce6e559988f2c4a6ec0c8905ed90254467baa.
    
    Change-Id: I718d1a7e5d9fef662cee9ba90407a835466c74fc
    Reviewed-on: https://chromium-review.googlesource.com/267560
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit fa60f6907076d1078a5dafb5cdd94d0f32742429
Author: Jacek Caban <cjacek@gmail.com>
Date:   Mon Apr 27 18:23:44 2015 +0200

    Fixed compilation with mingw.
    
    Change-Id: Icc40c61b5c6df5a0aed4e175f1724ca55f981625
    Reviewed-on: https://chromium-review.googlesource.com/267412
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit d57e0db35ee4f35f67b70bd1b44c1609083328cd
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Apr 24 15:05:08 2015 +0300

    Remove separate compilerdebug.h in favor of debug.h
    
    This unifies the behavior across the compiler and rest of ANGLE - for
    example, one can use #define ANGLE_TEST_CONFIG to disable UNIMPLEMENTED
    asserts in both the compiler and the rest of ANGLE. Compiler traces from
    asserts also go to the same TRACE_OUTPUT_FILE as other traces instead of
    being directed through ParseContext.
    
    The compiler build already includes the common sources, so no changes to
    build config are needed.
    
    The original version of this change was reverted due to release mode
    build issues. This version adds UNUSED_ASSERTION_VARIABLE where needed.
    
    TEST=angle_unittests, angle_end2end_tests,
         dEQP-GLES3.functional.shaders.*
    BUG=angleproject:983
    
    Change-Id: I36929020a04251b8bc834fbb3c069e10128c3082
    Reviewed-on: https://chromium-review.googlesource.com/267411
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 84115c9294c0c8656b00e4215bd505a444eb970c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Apr 23 15:00:07 2015 -0400

    Keep default FBO attachments immutable.
    
    In some cases we would let the user change the attachments of the
    default FBO. This hole in our validation would confound the dEQP
    negative API tests (negative_api.buffer.framebuffer_*) and muck
    up the remainder of the test run.
    
    BUG=angleproject:901
    
    Change-Id: I2b3c04752d1df3289d41c013cc936eda30e98aad
    Reviewed-on: https://chromium-review.googlesource.com/266927
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 0be9a8a03a8c313d318344b696b3984c59e1b827
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Apr 23 15:00:06 2015 -0400

    No-op BufferSubData after validation.
    
    We were skipping some validation, which was confusing dEQP. We can
    still no-op, but do this after all validation.
    
    BUG=angleproject:901
    
    Change-Id: I9888c1aca851519e9c7da210c983ba6012e95932
    Reviewed-on: https://chromium-review.googlesource.com/266926
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit a7441353d1c1827dd238a30a7e98a88d335b8936
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Apr 23 15:00:05 2015 -0400

    Fix missing texture target validations.
    
    We were missing this in a few places, and this was giving runtime
    errors in dEQP negative tests.
    
    BUG=angleproject:901
    
    Change-Id: I9de5b055dcfe4ad5c13c800a31b4a0b424863bee
    Reviewed-on: https://chromium-review.googlesource.com/266888
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 48d33aef01844a8d198608d255b4d6274006caf7
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Apr 27 11:01:44 2015 -0400

    Fix warning about unexpected mock function call.
    
    BUG=angleproject:985
    
    Change-Id: If2138d8ec9a4f99adaf4ef1a4cbeeab6b0bf9f2c
    Reviewed-on: https://chromium-review.googlesource.com/267349
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit a656490d4e011a2ed7bd3ee87439f7738f7d11ad
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Apr 27 14:30:32 2015 +0000

    Revert "Remove separate compilerdebug.h in favor of debug.h"
    
    Causing compile warnings in Release:
    
    1>compiler\translator\CallDAG.cpp(238): error C2220: warning treated as error - no 'object' file generated
    1>compiler\translator\CallDAG.cpp(238): warning C4189: 'op' : local variable is initialized but not referenced
    1>compiler\translator\IntermNode.cpp(1495): error C2220: warning treated as error - no 'object' file generated
    1>compiler\translator\IntermNode.cpp(1495): warning C4189: 'replaced' : local variable is initialized but not referenced
    1>compiler\translator\IntermNode.cpp(1517): warning C4189: 'replaced' : local variable is initialized but not referenced
    
    This reverts commit 5271025865b34685da71d0309131c5aff2e32f71.
    
    Change-Id: Icdf1c37eef22a13d083767609ab0b0285d3dc517
    Reviewed-on: https://chromium-review.googlesource.com/267359
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 681ad9d1bb3616ce2ae1f695049d356cb6ce75dd
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Apr 23 12:27:56 2015 -0400

    Add a sample that uses multiple windows.
    
    BUG=angleproject:521
    
    Change-Id: I50858193518b4d07edcb2073caaa99ce37fcc4c3
    Reviewed-on: https://chromium-review.googlesource.com/267000
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 5271025865b34685da71d0309131c5aff2e32f71
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Apr 24 15:05:08 2015 +0300

    Remove separate compilerdebug.h in favor of debug.h
    
    This unifies the behavior across the compiler and rest of ANGLE - for
    example, one can use #define ANGLE_TEST_CONFIG to disable UNIMPLEMENTED
    asserts in both the compiler and the rest of ANGLE. Compiler traces from
    asserts also go to the same TRACE_OUTPUT_FILE as other traces instead of
    being directed through ParseContext.
    
    The compiler build already includes the common sources, so no changes to
    build config are needed.
    
    TEST=angle_unittests, angle_end2end_tests,
         dEQP-GLES3.functional.shaders.*
    BUG=angleproject:983
    
    Change-Id: Ifca4d16f667b1e5cf9c2e7cc4139940091917a1c
    Reviewed-on: https://chromium-review.googlesource.com/266993
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 2a7ffe163c7a41c93ea482704b670f21534fb1b7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Apr 23 15:00:04 2015 -0400

    Add ANGLE platform selection for dEQP.
    
    This gives us the choice between D3D9 and D3D11. We can add more
    platforms easily using the same patterns.
    
    BUG=angleproject:901
    
    Change-Id: Ia8dc77466bd32f0b8b0d638ae839f41288bfe25b
    Reviewed-on: https://chromium-review.googlesource.com/266889
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 2cb7b83595c2a88462b7f9481f920e2960556492
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Apr 23 20:27:44 2015 +0300

    Clean up binary operation constant folding code
    
    Fix mixed up comments, remove unnecessary type conversions, clarify
    variable names and improve formatting in a few places.
    
    TEST=angle_unittests, WebGL conformance tests
    BUG=angleproject:913
    
    Change-Id: Ice8fe3682d8e97f42747752302a1fba116132df4
    Reviewed-on: https://chromium-review.googlesource.com/266843
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit a8c414ba24340109cd0921350ecb6e5437206549
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Apr 16 15:51:03 2015 +0300

    Add basic support for arrays as return values in HLSL output
    
    In HLSL output, user-defined functions that have an array as their return value
    get changed so that they have the array as an out parameter instead.
    
    Still missing: support for calling a function that has array as a return value
    without assigning the array. Also support for assignments inside complex
    expressions.
    
    TEST=dEQP-GLES3.functional.shaders.arrays.return.*
    BUG=angleproject:941
    
    Change-Id: I79f5170139116a3dcfb2be2df5f0f79a3d955ca8
    Reviewed-on: https://chromium-review.googlesource.com/266003
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit c68331151337369f03a35da14c98cb58c006f996
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Apr 22 15:15:54 2015 +0300

    Prune empty declarations from the AST
    
    Empty declarations in ESSL shaders currently result in errors on several
    platforms. Prune empty declarations that are not struct or interface block
    declarations from the AST.
    
    TEST=WebGL conformance tests, angle_unittests, angle_end2end_tests
    BUG=angleproject:980
    
    Change-Id: I9e3abf8134e6dfed0253cc83f69ce0ee92b0e0e7
    Reviewed-on: https://chromium-review.googlesource.com/266841
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 39282e1f31f1eda8f67c1aee9232ecfc695f031a
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Apr 23 15:41:48 2015 +0300

    Disallow length being called on expressions with side effects
    
    ESSL 3.00 definition of expressions does not include calling length on
    anything other than array names, so enforce this restriction in the
    parser.
    
    TEST=WebGL 2 conformance tests
    BUG=angleproject:972
    
    Change-Id: I893d3c468ff21cb419b3239738f2a41834298cf2
    Reviewed-on: https://chromium-review.googlesource.com/266992
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 96e6738830bf9431e41b30f18631a84b35d7ac1a
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Apr 23 14:27:02 2015 +0300

    Fix array.length() to return a signed integer
    
    array.length() should return a signed integer as specified in ESSL 3.00
    section 4.1.9, not unsigned. Fix this and add a simple unit test - the
    dEQP tests included in WebGL conformance are built in a way that they
    don't catch the issue.
    
    TEST=angle_unittests
    BUG=angleproject:972
    
    Change-Id: I1389f51751a6a25c1681f57ac3d2d52f31ecc8fb
    Reviewed-on: https://chromium-review.googlesource.com/266991
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit d42f5b8c16760b98b6de373003fe779b66fd78f3
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Apr 16 14:03:29 2015 -0400

    Sync the remaining miscellaneous state before drawing in RendererGL.
    
    BUG=angleproject:883
    
    Change-Id: Id530f855ab14b6ec575101c9e74c02842c27d3d6
    Reviewed-on: https://chromium-review.googlesource.com/266036
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 4b3f4169d6423a6f069bb6115aaf8bd7faf2018d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Apr 16 13:22:05 2015 -0400

    Sync the entire rasterizer state before drawing in RendererGL.
    
    BUG=angleproject:883
    
    Change-Id: I721c198f33caa18ec04899d6323faa9dbd4aa100
    Reviewed-on: https://chromium-review.googlesource.com/266035
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit b851734650c59acdaaeeb621197e6a388a2b952c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Apr 16 12:10:19 2015 -0400

    Sync the entire depth stencil state before drawing in RendererGL.
    
    BUG=angleproject:883
    
    Change-Id: I1d748281184ff8111f8ff1c63f56882650b6871b
    Reviewed-on: https://chromium-review.googlesource.com/266034
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 0fbb600f9ff7d6b8f89b5d7518fee0d0b493989b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Apr 16 11:11:53 2015 -0400

    Sync the entire blend state before drawing in RendererGL.
    
    BUG=angleproject:883
    
    Change-Id: I903090c1a7ba90bd479ad8d24f943672eb51054e
    Reviewed-on: https://chromium-review.googlesource.com/266033
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 08c9cd97c069f0205e1a0ac4763ee73426bd807a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Apr 22 11:39:20 2015 -0400

    Remove last uses of the enumerate_files script.
    
    BUG=angleproject:981
    
    Change-Id: Ib91d4b515e129241814706351b69a74e8295a250
    Reviewed-on: https://chromium-review.googlesource.com/266874
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 704c716a472922567866ab3626a36d96a79a7871
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Apr 22 11:23:55 2015 -0400

    Remove uses of enumerate_files in the sample projects.
    
    Speeds up project generation a lot.
    
    BUG=angleproject:981
    
    Change-Id: I3cb340baa8da3a30a2c861b584ba0e7758da5b4d
    Reviewed-on: https://chromium-review.googlesource.com/266873
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 2f3ba21015268b47c5444c541e277c086f2dfcb5
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Apr 22 11:09:45 2015 -0400

    Rename translator to shader_translator and remove redundant projects.
    
    The essl_to_hlsl and essl_to_glsl projects were exactly the same so it
    doesn't make sense to keep both.
    
    BUG=angleproject:981
    
    Change-Id: Ibf034a71e94ba5002f9c40ac87720bf0de74ae18
    Reviewed-on: https://chromium-review.googlesource.com/266872
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 413fd933a380387474e567aee27a67fd76dff8d3
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Apr 22 11:00:41 2015 -0400

    Move all GLES samples into the samples directory.
    
    There was no real reason to keep them in an angle directory and it makes
    the generated projects nicer.
    
    BUG=angleproject:981
    
    Change-Id: I844e44dc5c2df51f5292cff4bdffe5e951745aae
    Reviewed-on: https://chromium-review.googlesource.com/266871
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 53643854d9b35ba16bda0a1e746b0ca367b4266e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Apr 22 10:50:00 2015 -0400

    Remove the dds_to_header sample.
    
    It has very little to do with ANGLE and should not be in the repository.
    
    BUG=angleproject:981
    
    Change-Id: I7aa97b8f56b49beda591e90afcffcb27619beaec
    Reviewed-on: https://chromium-review.googlesource.com/266870
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 8fee0ab89f1c4204c9296a8091466e8754bbe3d1
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Apr 23 14:52:46 2015 +0300

    Fix build regression on Linux
    
    Chromium's Linux toolchain doesn't implement the return value of
    std::vector::insert correctly, causing a build failure. Remove an
    unnecessary assignment of the return value to fix this build regression.
    
    The regression was caused by the commit:
    "Put each array declarator into a separate declaration in HLSL output"
    
    TEST=angle_unittests
    
    Change-Id: I2959122d28e4c7e6d6a4d842a97a8f1fd4f27ca1
    Reviewed-on: https://chromium-review.googlesource.com/266990
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 78174db780d9c58e69dd0d1af9c062e8991e146c
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Apr 21 16:14:00 2015 +0300

    Replace EvqInternal with a separate flag to make it more flexible
    
    The internal flag disables decorating a given symbol in output, effectively
    placing it to a different namespace than user-defined symbols. This enables the
    compiler to insert symbols to the tree when transforming it to be suitable for
    HLSL output without running into name conflicts. In this patch the flag is
    separated from the qualifiers since sometimes different qualifiers need to be
    used with these internal symbols.
    
    TEST=angle_unittests, angle_end2end_tests, WebGL conformance tests
    BUG=angleproject:941
    
    Change-Id: I7036bed98fdb1478a383bb959ca03b42c3cb8100
    Reviewed-on: https://chromium-review.googlesource.com/266690
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 822fa84e4399c448bb1c18458f41475b0089dd50
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Apr 16 14:26:10 2015 +0300

    Support array initialization in HLSL output
    
    Do this by separating each array initialization into a declaration and an
    assignment. Array assignment is already supported in HLSL output by replacing
    it with a function call.
    
    The functionality is tested by the struct array constructor tests in dEQP.
    
    BUG=angleproject:941
    TEST=dEQP-GLES3.functional.shaders.arrays.constructor.*
    
    Change-Id: Ida84fc343b767bea8b2d04e91c60cb8197d39039
    Reviewed-on: https://chromium-review.googlesource.com/266002
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit fc0e2bc0b7e4780dec62a356880ef7d12362e5d2
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Apr 16 13:39:56 2015 +0300

    Put each array declarator into a separate declaration in HLSL output
    
    Since HLSL doesn't support arrays as l-values, HLSL output needs to split
    declarators that initialize arrays to variable declaration and assignment
    implemented via a function call. To prepare for this, it is necessary that each
    declarator has its own declaration.
    
    BUG=angleproject:941
    TEST=angle_end2end_tests, WebGL conformance tests
    
    Change-Id: I43dee487578561c01dbde90c2f55a93dda2f057a
    Reviewed-on: https://chromium-review.googlesource.com/266001
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 752ce192203b5ba301f7c959638ef7b06600ae8c
Author: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
Date:   Tue Apr 14 11:11:12 2015 +0100

    D3D11: Use DX generateMips to generate mipmaps whenever possible.
    
    BUG=angleproject:974
    
    Change-Id: I95937fe7a0833de77c52f838ebb3ecba55dfbf8a
    Reviewed-on: https://chromium-review.googlesource.com/265640
    Tested-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 28eb65e3d9fa4f4d6dd618cee0283c646bcd083c
Author: Arun Patole <apatole@nvidia.com>
Date:   Mon Apr 6 17:29:48 2015 +0530

    Support constant folding of exponential built-ins
    
    This change adds constant folding support for unary exponential
    built-ins - exp, log, exp2, log2, sqrt and inversesqrt.
    
    BUG=angleproject:913
    TEST= dEQP tests
    dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential*
    (48 out of 56 tests started passing with this change)
    
    Change-Id: I4b98782c4c4b72dd7d60dfc4f18ba6961526ec41
    Reviewed-on: https://chromium-review.googlesource.com/266797
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit fddc211aad04ba34e0c7e31d84a07dcd13d59afd
Author: Arun Patole <apatole@nvidia.com>
Date:   Wed Apr 22 13:28:10 2015 +0530

    Revert "Revert "Use nullptr consistently in TIntermConstantUnion::fold""
    
    Revert of revert as the new changes that use nullptr in fold function
    are already in.
    
    This reverts commit b775778a050739c4d802da8db7edb8c865602950.
    
    Change-Id: Ifbdb35264132c66e5d1f2379932839b99291c54a
    Reviewed-on: https://chromium-review.googlesource.com/266803
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit aed081ce7c1f3a9b9e2597a7173769bcde7ee3f6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Apr 21 13:55:21 2015 +0000

    Revert "Store value types for FBO attachments."
    
    In file included from ../../third_party/angle/src/libANGLE/Framebuffer.cpp:10:
    In file included from ../../third_party/angle/src/libANGLE/Framebuffer.h:13:
    In file included from /Applications/Xcode5.1.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk/usr/include/c++/4.2.1/vector:68:
    /Applications/Xcode5.1.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk/usr/include/c++/4.2.1/bits/stl_construct.h:81:38: error: call to implicitly-deleted copy constructor of 'gl::FramebufferAttachment'
          ::new(static_cast<void*>(__p)) _T1(__value);
                                         ^   ~~~~~~~
    This reverts commit 13773b26dfb29b963ea727e1ebf7bdabdc5892b1.
    
    Change-Id: If79f2797fe46798cbe5b39d83c9bcb1a7e87026d
    Reviewed-on: https://chromium-review.googlesource.com/266643
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 34771622d756adc52f02becd7c2b70c717dcc638
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Apr 21 13:54:34 2015 +0000

    Revert "Remove non-const FBO attachment queries."
    
    Compile errors on Mac:
    
    In file included from ../../third_party/angle/src/libANGLE/Framebuffer.cpp:10:
    In file included from ../../third_party/angle/src/libANGLE/Framebuffer.h:13:
    In file included from /Applications/Xcode5.1.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk/usr/include/c++/4.2.1/vector:68:
    /Applications/Xcode5.1.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk/usr/include/c++/4.2.1/bits/stl_construct.h:81:38: error: call to implicitly-deleted copy constructor of 'gl::FramebufferAttachment'
          ::new(static_cast<void*>(__p)) _T1(__value);
                                         ^   ~~~~~~~
    This reverts commit ed61a5f673cefe1fac580e96adaa3da698d448e3.
    
    Change-Id: I602bffc96f77cffa217cb63a5cc3caf334fd9879
    Reviewed-on: https://chromium-review.googlesource.com/266652
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit ed61a5f673cefe1fac580e96adaa3da698d448e3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Apr 20 12:53:29 2015 -0400

    Remove non-const FBO attachment queries.
    
    Methods that need to mutate the Framebuffer should use
    setAttachment, etc, instead of using mutable pointers.
    
    BUG=angleproject:963
    
    Change-Id: Ibe7b8f8245f762916e0224fdc78796b1c933195f
    Reviewed-on: https://chromium-review.googlesource.com/263490
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 13773b26dfb29b963ea727e1ebf7bdabdc5892b1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Apr 20 12:53:28 2015 -0400

    Store value types for FBO attachments.
    
    This prevents us from re-allocating FBO attachments every set.
    This change requires quite a bit of refactoring.
    
    BUG=angleproject:963
    
    Change-Id: Iafa4e4a0f3dd66c9e7452e0e96a0cbb9753487bb
    Reviewed-on: https://chromium-review.googlesource.com/263489
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit b6bda4afa054de2e83d8616433afe4b7066f85d4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Apr 20 12:53:26 2015 -0400

    Make Framebuffer::Data members private.
    
    This makes "Data" a proper class, and enforces access control when
    used in FramebufferImpl. This gives a cleaner refactor when we
    switch the internals of the class to use value types to store
    attachments instead of pointer types.
    
    BUG=angleproject:963
    
    Change-Id: If825095458eaf9367f616f0bb54084025efb9882
    Reviewed-on: https://chromium-review.googlesource.com/265937
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit ad0a486b943316caef81084b10fbaa8be70a8956
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Apr 20 16:32:13 2015 -0400

    Add D3D11CreateDevice timing histogram.
    
    This should give us a bound on how much we can improve startup
    time in ANGLE on D3D11 across all users.
    
    BUG=angleproject:944
    BUG=436191
    
    Change-Id: Ie9047c0424429aecec5f6d7be8e119ebcc53fbe3
    Reviewed-on: https://chromium-review.googlesource.com/266524
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit d41c649aecc2ff0f843f1d37dd331eec3aab13c1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Apr 20 16:32:09 2015 -0400

    Add histograms helper macros.
    
    These macros mimic Chromium's histogram_macros.h, so we can use
    similar values for our histograms.
    
    BUG=angleproject:944
    BUG=436191
    
    Change-Id: If77abaf71964d26a6269183e51b68b76bb562085
    Reviewed-on: https://chromium-review.googlesource.com/266523
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit 917a1a70c8bb5ff9211303f1d667a0d74e89a7a3
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Apr 20 16:55:38 2015 -0400

    Temporarily disable some FenceSync tests on Intel OpenGL.
    
    BUG=angleproject:888
    
    Change-Id: Ia64d2f313c5ddf2ebb6efb54e205a22801fce01b
    Reviewed-on: https://chromium-review.googlesource.com/266503
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 3c8870a1d81ebe8ffb250f11d2189fa708327da9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Apr 20 16:00:15 2015 -0400

    perf_tests: Use 'score' units.
    
    The dashboard automatically marks 'frames' as 'lower is better', while
    'score' is automatically marked as 'higher is better'. Hence, use
    score instead of frames.
    
    BUG=468852
    
    Change-Id: I02b3a9e4b74989793d4bfbf21a94e43670b3e028
    Reviewed-on: https://chromium-review.googlesource.com/266522
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit b11ad26b88da1fc1aa21351a249e4c72f10eb4cf
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Apr 9 14:43:34 2015 -0400

    Implement FenceNVGL.
    
    BUG=angleproject:888
    
    Change-Id: Iea6993fe5459cf829f4bd23b0df5e223f22903f5
    Reviewed-on: https://chromium-review.googlesource.com/264989
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 7d433ddc58daaf787c04cd303675fc9a18c59a30
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Apr 2 11:21:20 2015 -0400

    Implement FenceSyncGL.
    
    BUG=angleproject:888
    
    Change-Id: Ie811266ed1cb08d29344fb11cd9afe77f9587cd7
    Reviewed-on: https://chromium-review.googlesource.com/263654
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit a4903b7024f7ad2fe952725eaed24f09dffdad72
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Mar 2 16:02:48 2015 -0800

    Support multisampled framebuffers with the GL backend.
    
    Move validation of sample counts into the Renderbuffer implementations
    because the exact supported sample counts are not always known.
    
    BUG=angleoproject:886
    
    Change-Id: I9c90d9d435e940b852343a29a6aa11d6cb1ad23b
    Reviewed-on: https://chromium-review.googlesource.com/255513
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 02bce6e559988f2c4a6ec0c8905ed90254467baa
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Apr 20 12:53:25 2015 -0400

    D3D11: Filter HRESULT error code properly.
    
    The Windows helper function HRESULT_CODE masks out some bits that
    obscure the error code. This could be why we're seeing some
    undetermined errors in our logs.
    
    BUG=477701
    
    Change-Id: I6eee442c149c2568e3823edc538d365b06ee20d8
    Reviewed-on: https://chromium-review.googlesource.com/266375
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit da06fac2475496de8b68bf279a0b8153a8c619ce
Author: Andrew Knight <andrew.knight@intopalo.com>
Date:   Thu Mar 19 09:27:04 2015 +0200

    Add missing end-of-file newlines
    
    Change-Id: I664e40f8d3f2276d5964b111d066861540010b43
    Reviewed-on: https://chromium-review.googlesource.com/260791
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit cb3cc805612f5496f2300e98e2c6aff6dc875236
Author: Andrew Knight <andrew.knight@intopalo.com>
Date:   Wed Apr 1 11:28:54 2015 +0300

    Update The Qt Company in AUTHORS/CONTRIBUTORS
    
    Change-Id: Iaa923e48d26eb1044d02ac097cc6caa1986309cf
    Reviewed-on: https://chromium-review.googlesource.com/263400
    Tested-by: Andrew Knight <andrew.knight@intopalo.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 97dc22e03ce006fb9e51dc958f473c143a9d5e80
Author: Arun Patole <apatole@nvidia.com>
Date:   Mon Apr 6 17:35:38 2015 +0530

    Support constant folding of common built-ins
    
    This change adds constant folding support for unary common built-ins:
    abs, sign, floor, trunc, round, roundEven, ceil and fract.
    
    BUG=angleproject:913
    TEST= dEQP tests
    dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common*
    (80 out of 210 tests started passing with this change)
    
    Change-Id: I46312fec43084601d4fca8195ddaaa5292f1c02a
    Reviewed-on: https://chromium-review.googlesource.com/265967
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit be2adeac6d233707ab2644fdfa9d855d3829f5f0
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Apr 17 16:17:28 2015 -0400

    Temporarily disable UniformArrayLocations test on Intel OpenGL.
    
    BUG=angleproject:882
    
    Change-Id: Idd5cb8c794bbeec162f65255231fe2ae0180bdf8
    Reviewed-on: https://chromium-review.googlesource.com/266180
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 8d95b741c56cc05cfba65d1a98496c5623c6b47f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Apr 17 18:44:13 2015 +0000

    Revert "Support constant folding of exponential built-ins"
    
    Causing compile errors on Android:
    
    ../../third_party/angle/src/compiler/translator/IntermNode.cpp:1309:62: error: use of undeclared identifier 'log2f'
                    else if (!foldFloatTypeUnary(unionArray[i], &log2f, infoSink, &tempConstArray[i]))
    
    This reverts commit 1623a1b90f24cd1afd8839c0726ad276a887fbda.
    
    Change-Id: If9c45aea85801eb11e7d1513b4183ec11289d2f3
    Reviewed-on: https://chromium-review.googlesource.com/266154
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit f17959aa5856f9e0554daeaeea089afbf26c98c3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Apr 17 13:04:20 2015 -0400

    D3D11: Record more explicit error codes in Renderer init.
    
    Our data shows the most common D3D11CreateDevice failure as being
    'other error'. Explicitly enumerate more error codes so we can
    figure out which value we're getting.
    
    BUG=47701
    
    Change-Id: Ibcda5e8ff1bb0368b1bfe3c8e7e3ffbb404771ce
    Reviewed-on: https://chromium-review.googlesource.com/265939
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 5ed74cfdde0e726448703b0b91e5a4027c9076ca
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Apr 14 13:57:07 2015 -0400

    Fix uniform locations in ProgramGL.
    
    ProgramGL was unable to handle uniform arrays and improperly set uniform
    locations. It now queries the driver for the location of each uniform and
    iterates over all array elements.
    
    BUG=angleproject:882
    
    Change-Id: Iffe9d12944b2399f19f4a7823df2f535a430d6e3
    Reviewed-on: https://chromium-review.googlesource.com/265724
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 1623a1b90f24cd1afd8839c0726ad276a887fbda
Author: Arun Patole <apatole@nvidia.com>
Date:   Mon Apr 6 17:29:48 2015 +0530

    Support constant folding of exponential built-ins
    
    This change adds constant folding support for unary exponential
    built-ins - exp, log, exp2, log2, sqrt and inversesqrt.
    
    BUG=angleproject:913
    TEST= dEQP tests
    dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential*
    (48 out of 56 tests started passing with this change)
    
    Change-Id: I63133ee8c04c4a8d6cb30da5788e9227c05d4cbe
    Reviewed-on: https://chromium-review.googlesource.com/266071
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 9dea48f3e668b0e97e1ff30258c4cd55ae7ea606
Author: Arun Patole <apatole@nvidia.com>
Date:   Thu Apr 2 11:45:09 2015 +0530

    Support constant folding of trigonometry built-ins
    
    This change adds constant folding support for trigonometry built-in
    functions. Constant folding for these functions also fixes constant
    expression issues where constant initializer is a built-in trignometry
    function whose arguments are all constant expressions.
    
    BUG=angleproject:913
    TEST= dEQP tests
    dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry*
    (112 out of 120 tests pass with this change)
    
    Change-Id: I2b7a61320819dcd095827faa1fd16e835f4688b4
    Reviewed-on: https://chromium-review.googlesource.com/265819
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 56c6e3cbc25d0bbee1740f31428acfb68b437d53
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Apr 15 10:18:05 2015 -0400

    Micro-optimize ValidateDrawBase.
    
    This speeds up our draw call benchmark.
    
    BUG=angleproject:959
    
    Change-Id: I9a916a6c344493cc96873ae5f4ec337c181dc487
    Reviewed-on: https://chromium-review.googlesource.com/266026
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit eea3a6e06d0cf242b1414421b5bc509d2ed391b7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Apr 15 10:02:48 2015 -0400

    Micro-optimize State::hasMappedBuffer.
    
    This speeds up draw call validation.
    
    BUG=angleproject:959
    
    Change-Id: I8272e36201521f158823739a6604444fb5e66b6e
    Reviewed-on: https://chromium-review.googlesource.com/266025
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit cd94ef96ac263544bbdef900e04eefcaf916917e
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Apr 16 19:18:10 2015 +0300

    Fix style issues in updateTree()
    
    "entry" is an old C keyword, so it's better not to use it as a variable name.
    Also fix a few other minor style issues in the code.
    
    TEST=angle_unittests
    BUG=angleproject:941
    
    Change-Id: I59470555227985262b3e914ff6ca11e88d15fd8c
    Reviewed-on: https://chromium-review.googlesource.com/265647
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 877177020242d600ecf1078c07a138b168e7a5bb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Apr 13 13:50:24 2015 -0400

    Add an IndexDataManager perf test.
    
    This microbenchmark tests the time at which we find index ranges
    in the cache, and how long the call to prepareIndexData might take.
    It also verifies we successfully store index ranges in the cache.
    
    BUG=angleproject:956
    
    Change-Id: I0f1b0c00daa73d8e1bcde197d9de80ca229078b7
    Reviewed-on: https://chromium-review.googlesource.com/262779
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit ffe6edfd7e08abe4af189658c95b2c5cdb22f0c6
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Apr 13 17:32:03 2015 +0300

    Add basic support for the length() method of arrays
    
    Support expressions where the expression that .length() is called on
    does not have side effects.
    
    Tested with WebGL 2 test sdk/tests/deqp/data/gles3/shaders/arrays.html
    
    TEST=WebGL 2 conformance tests
    BUG=angleproject:972
    
    Change-Id: Ib4f8377a51da61179b6e47fbcf6b4d915e351fbd
    Reviewed-on: https://chromium-review.googlesource.com/265654
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit a2d530390503c4ed001585afe565723c8af2a02c
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Apr 15 14:14:44 2015 +0300

    Disallow ternary operator on arrays and structs
    
    ESSL specs only allow a limited number of operators on arrays and
    structs. The spec section on the ternary operator contradicts this to an
    extent, saying that the second and third operands can be "any type" or
    "any type other than an array", but we interpret the spec so that the
    operator restrictions on structures and arrays override this.
    
    BUG=angleproject:976
    TEST=angle_unittests
    
    Change-Id: Icd90d5450dcb94bb23b1683d4cb9e579e82de4ad
    Reviewed-on: https://chromium-review.googlesource.com/265644
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 5290174b0e5363276654060a3d1d6517654b9379
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Apr 15 13:42:45 2015 +0300

    Refactor ternary operator parsing
    
    Refactor ternary operator parsing so that validation is done in
    ParseContext and Intermediate's role is simply to create the node added
    to the tree.
    
    Remove partially bugged checks for null nodes as a part of this - in
    error cases the parser doesn't typically add null nodes to the tree, but
    rather always has a fallback to add a dummy node if parsing fails as a
    method of recovery. When parsing ternary operators it should be
    guaranteed that none of the parameter nodes is null.
    
    Includes a better explanation of why ternary operators are not always
    folded when only the condition is constant, and a test to make sure this
    doesn't regress.
    
    BUG=angleproject:952
    TEST=WebGL conformance tests, angle_unittests
    
    Change-Id: Icbcb721b5ab36cf314a16e79f9814aef1f355fa0
    Reviewed-on: https://chromium-review.googlesource.com/265643
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit b48e8b0709f921ab98b7c6385a197e31c3c4056a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Apr 15 14:26:37 2015 -0400

    D3D11: Only rewrite for primitive restart when needed.
    
    We would rewrite our index data every draw call. Change the index
    check to see if we're writing to the same sized / typed static
    buffer and only rewrite the data if the user re-uploaded.
    
    Also add a performance test for the primitive restart workaround.
    
    As a future improvement we could avoid creating new D3D objects
    every time we reinitialize static data, since BufferSubData
    calls don't change the size of the buffer if the index type
    remains the same.
    
    BUG=476658
    
    Change-Id: I9d2540ad8b1b34fa0142ba0bf794cf572da8c61d
    Reviewed-on: https://chromium-review.googlesource.com/265838
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit 304dcde863fdcdd42fea721b9f654507424afb50
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Apr 15 14:26:36 2015 -0400

    perftests: Use gtest asserts macro helpers.
    
    We still were using the old cassert code, with a boolean return
    value on our initialization code. We can make use of the gtest
    macros and helpers to check for a successful init or GL errors.
    
    BUG=476658
    
    Change-Id: I09cbb3d40748cbeaf530ae8f23fb8a1b07e7611f
    Reviewed-on: https://chromium-review.googlesource.com/265837
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit 55ae414252205a622c1dea81839958a156c5e0ed
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Apr 15 14:26:35 2015 -0400

    Update WebGL CTS expectations.
    
    Change-Id: I4f51fdb1e23effa0069f1dd1e84b95b3a313f678
    Reviewed-on: https://chromium-review.googlesource.com/265836
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 045536bfed29c4c04c148c5f2f675d229831b3b1
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Mar 27 15:17:18 2015 -0400

    Store current transform feedback buffer bindings in the object itself.
    
    BUG=angleproject:763
    
    Change-Id: I76565f68fa8145da29713de2a517a39a8d50a24b
    Reviewed-on: https://chromium-review.googlesource.com/263061
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit bb0a0bbd3f4e1869377a3bdeaf5a3b339e697133
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Mar 27 12:16:57 2015 -0400

    Rename TransformFeedback members to match the spec.
    
    BUG=angleproject:763
    
    Change-Id: I12fa57de9263eb0cb5ff1840cf44b0a8f2a40912
    Reviewed-on: https://chromium-review.googlesource.com/263721
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit cfaeaa9f67638cdf2fdee72ad4d39bbeb7104bcb
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Apr 14 13:41:02 2015 -0400

    Refactor uniform array name parsing to a utility function.
    
    BUG=angleproject:882
    
    Change-Id: I00fd6d3cfaa107561cee5e4c82d3c60438052963
    Reviewed-on: https://chromium-review.googlesource.com/265723
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 5160ec11fcc5b562ef39704f68fec480a573c172
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Apr 14 08:13:48 2015 -0400

    Squash the attachment types.
    
    We can store all relevant information in the base class, which
    lets us avoid using any virtual methods. This will finally let
    us avoid using reallocations on FBO attachment sets.
    
    BUG=angleproject:963
    
    Change-Id: Ib4b61da14efaf843478b059499c01e34f9c65e4f
    Reviewed-on: https://chromium-review.googlesource.com/263488
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 79481d654daf1ebc9c4596e853ec90b4f64d9e95
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Apr 14 08:13:47 2015 -0400

    Add FramebufferAttachmentObject base class.
    
    This lets us share objects (Textures/RBs/Surface) in the attachment
    class. It will let us squash the attachment classes into one type,
    which will in turn let us store them by-value, instead of by-pointer.
    
    BUG=angleproject:963
    
    Change-Id: Ia9a43dbc3b99475c00f6bc2ed5475deef55addc3
    Reviewed-on: https://chromium-review.googlesource.com/263487
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit a825fdce19912be26ecd5a055b0a919387e50f63
Author: Scott Graham <scottmg@chromium.org>
Date:   Tue Apr 14 16:05:47 2015 -0700

    Disable macro redefinition warning for vs2015
    
    From flexint.h (because VS2015 has some of c99, but doesn't
    define __STDC_VERSION__ yet.
    
    Change-Id: Iff82f4c72dd816dcc1959abb218442a848ea592a
    c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(48): error C2220: warning treated as error - no 'object' file generated
    c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(48): warning C4005: 'INT8_MIN': macro redefinition
    d:\src\cr3\src\out\debug\glslang_lex.cpp(83): note: see previous definition of 'INT8_MIN'
    c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(49): warning C4005: 'INT16_MIN': macro redefinition
    d:\src\cr3\src\out\debug\glslang_lex.cpp(86): note: see previous definition of 'INT16_MIN'
    c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(50): warning C4005: 'INT32_MIN': macro redefinition
    d:\src\cr3\src\out\debug\glslang_lex.cpp(89): note: see previous definition of 'INT32_MIN'
    c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(52): warning C4005: 'INT8_MAX': macro redefinition
    d:\src\cr3\src\out\debug\glslang_lex.cpp(92): note: see previous definition of 'INT8_MAX'
    c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(53): warning C4005: 'INT16_MAX': macro redefinition
    d:\src\cr3\src\out\debug\glslang_lex.cpp(95): note: see previous definition of 'INT16_MAX'
    c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(54): warning C4005: 'INT32_MAX': macro redefinition
    d:\src\cr3\src\out\debug\glslang_lex.cpp(98): note: see previous definition of 'INT32_MAX'
    c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(56): warning C4005: 'UINT8_MAX': macro redefinition
    d:\src\cr3\src\out\debug\glslang_lex.cpp(101): note: see previous definition of 'UINT8_MAX'
    c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(57): warning C4005: 'UINT16_MAX': macro redefinition
    d:\src\cr3\src\out\debug\glslang_lex.cpp(104): note: see previous definition of 'UINT16_MAX'
    c:\program files (x86)\microsoft visual studio 14.0\vc\include\stdint.h(58): warning C4005: 'UINT32_MAX': macro redefinition
    d:\src\cr3\src\out\debug\glslang_lex.cpp(107): note: see previous definition of 'UINT32_MAX'
    Reviewed-on: https://chromium-review.googlesource.com/265594
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 376f1b5d37de58f7ba391de2e96d1f16e6ceb697
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Apr 13 13:23:41 2015 +0300

    Add support for implicit array size
    
    ESSL3 introduces implicit array size that is determined automatically
    according to the initializer. Implicit sizes are resolved when parsing
    constructors and when initializers are evaluated, so ANGLE's AST will not
    contain implicit sizes.
    
    Declarations where there are two differently sized arrays with the same
    implicitly sized type, for example:
    
    float[] a = float[](0.0), b = float[](0.0, 1.0);
    
    will be transformed into declarations where the two arrays don't share
    the array size like this:
    
    float a[1] = float[1](0.0), float b[2] = float[2](0.0, 1.0);
    
    so they are not a problem.
    
    Unlike sized arrays, implicitly sized arrays don't have a size limit
    enforced by the parser.
    
    Include a test that verifies that non-initialization of an implicitly
    sized array defined using ESSL3 type syntax is caught by the parser.
    
    Additionally tested with WebGL 2 test
    sdk/tests/deqp/data/gles3/shaders/arrays.html
    
    TEST=WebGL 2 conformance tests, angle_unittests
    BUG=angleproject:941
    
    Change-Id: Ib55b7601848102a103af9db284a80f09abaeb021
    Reviewed-on: https://chromium-review.googlesource.com/265653
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 3875ffd1f4809f058ee96e00871619febd14c03b
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Apr 10 16:45:14 2015 +0300

    Add parser support for initializing sized arrays
    
    Still missing from this patch: HLSL output, implicitly sized arrays.
    
    Tested with WebGL 2 test sdk/tests/deqp/data/gles3/shaders/arrays.html
    
    TEST=WebGL 2 conformance tests
    BUG=angleproject:941
    
    Change-Id: I900f2af843fd8046f23dd4b77352e77026bbba84
    Reviewed-on: https://chromium-review.googlesource.com/265652
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit e7847b082087a7c97cc42e2a89ac8f0725057030
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Mar 16 11:56:12 2015 +0200

    Unify declaration parsing code
    
    Remove the unused identifierSymbol parameter from parseSingleDeclarator
    and unify the ordering of parameters and the code style of different
    declaration and declarator parsing functions. Some minor functional
    changes to array size handling are done mainly to unify error message
    generation. There's soon going to be more of these functions, so it's
    good to be systematic.
    
    TEST=angle_unittests, WebGL conformance tests
    BUG=angleproject:941
    
    Change-Id: I03b0220de93ca5719fdb7c1790a5999b8cb5b225
    Reviewed-on: https://chromium-review.googlesource.com/265202
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 33e98913379c260f67addbae331c9d20a7805485
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Apr 10 17:03:06 2015 +0300

    Add tests for disallowing arrays of arrays
    
    TEST=angle_unittests
    BUG=angleproject:941
    
    Change-Id: Ie45a8a581bf2931ecccfc41b26db49a257fcaf1d
    Reviewed-on: https://chromium-review.googlesource.com/265201
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit fa33d58085c442d1d0e687a3cb40d338bf44f7f8
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Apr 9 14:33:12 2015 +0300

    Improve handling of declarator lists with empty declarations
    
    The code previously failed to check for correctness of layout qualifiers
    in case a declarator followed an empty declaration, like so:
    
    layout(packed) uniform float, a;
    
    Fix this by running all necessary declaration checks also for declarators
    which follow an empty declaration.
    
    structQualifierErrorCheck is merged into singleDeclarationErrorCheck.
    
    TEST=angle_unittests, WebGL conformance tests
    BUG=angleproject:969
    
    Change-Id: Idcb0673e3bcf64087744ff0d260f51a7546f024a
    Reviewed-on: https://chromium-review.googlesource.com/264812
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit e16eae36717459107370171b1c569fae64d80eed
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Apr 10 11:48:55 2015 +0300

    Fix structQualifierErrorCheck calls in glslang.y
    
    structQualifierErrorCheck is called incorrectly in glslang.y. Remove one
    unnecessary call entirely and change another call to samplerErrorCheck.
    This will enable further changes to merge structQualifierErrorCheck into
    singleDeclarationErrorCheck.
    
    TEST=angle_unittests
    BUG=angleproject:969
    
    Change-Id: Ib43233e275fbf4db7e5fda6df6b45a655bdee8a2
    Reviewed-on: https://chromium-review.googlesource.com/265200
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit ab6fc6a2150963795e405a8faac1137cf7426d5d
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Apr 13 12:10:20 2015 +0300

    Add support for arrays as function return values in GLSL output
    
    Output the array brackets and the array size correctly when a function's
    return value type is array.
    
    Tested with WebGL 2 test sdk/tests/deqp/data/gles3/shaders/arrays.html
    
    BUG=angleproject:971
    TEST=WebGL 2 conformance tests
    
    Change-Id: I63aa8c54d2696f65351b23acb0749a487298ddfb
    Reviewed-on: https://chromium-review.googlesource.com/265410
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 4a1858b84998f3cfac03a08dbf5b826a8d68650a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Apr 14 16:16:30 2015 -0400

    perftests: Fix simple draw call benchmark.
    
    Previously the code was only testing the validation logic. Fix this
    by testing validation-only and a simple single quad draw benchmark.
    
    BUG=468852
    
    Change-Id: I510deea08fee5932f51ea39883ed91652be476df
    Reviewed-on: https://chromium-review.googlesource.com/265751
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 77a72f6ecf6c2186cfe5150444af7e79fdece2fc
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Apr 14 11:18:32 2015 -0400

    Release Surface when calling makeCurrent with null.
    
    Refactorings to egl::Surface to enable ref-counting were causing
    a situation where we could have two Window surfaces alive at the
    same time. This would confuse the window procedure logic in
    SurfaceD3D. Releasing the surface fixes this issue and conforms
    closely to the wording on the spec on when Surfaces should be
    deleted. Also add a test for message loops and surfaces.
    
    BUG=475085
    BUG=angleproject:963
    
    Change-Id: Icdee3a7db97c9b54d779dabf1e1f82a89fefc546
    Reviewed-on: https://chromium-review.googlesource.com/265064
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit def624bc0b6229c025a6373d7545af26463e2b2f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Apr 13 10:46:56 2015 -0400

    Move maxSamples from Extensions to Caps because it is an ES3 limit.
    
    BUG=angleproject:886
    
    Change-Id: Ibcfc2f06e8308e2e6eb1a6c38206b803f689d7af
    Reviewed-on: https://chromium-review.googlesource.com/265470
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit a836e8830b580e6c88d340010d20708a0a8180d0
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Apr 13 14:29:54 2015 -0400

    Don't set a null current WGL context in the Surface destructor.
    
    By setting a null current context, there is a brief window where all GL
    calls will fail.  Since there is only one WGL context, just leave in on
    the unreferenced window until a new window is made current.
    
    BUG=angleproject:890
    
    Change-Id: I51eadf23ca61e274f7d174ac5a9e0592bcdadebc
    Reviewed-on: https://chromium-review.googlesource.com/265483
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit b1eee7afaf13d2a0354d679931a2bbe4a8e19270
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Apr 14 13:57:07 2015 -0400

    D3D11: Only use share handles with HW driver.
    
    WARP does not support surface sharing like native D3D11. This,
    combined with a Chromium-side change, should fix WARP rendering
    in Chrome.
    
    BUG=angleproject:973
    BUG=429792
    
    Change-Id: I41e778625e8697e45657843f2f337bcffe7ddbe2
    Reviewed-on: https://chromium-review.googlesource.com/265611
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 31906ecf14bd36b694095b6d21fad459f11e9bd5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Apr 14 14:53:07 2015 -0400

    Generate blit shaders on demand.
    
    This saves a ms or two on D3D11 startup.
    
    Change-Id: I156c25029a0b2aeb48e5b76b31737c155111e07f
    Reviewed-on: https://chromium-review.googlesource.com/264936
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit c9d13d2d4f4fe701f672fa7d9fb60e36321bce30
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Apr 14 14:53:06 2015 -0400

    Add trace events for D3D11 initialization.
    
    This helps a local user profile their D3D11 startup time.
    
    BUG=436191
    BUG=angleproject:966
    
    Change-Id: Ib1b3d62194233cd502980d87c316a95e9bd3a04c
    Reviewed-on: https://chromium-review.googlesource.com/264935
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit d8b36d45c88d64cdb857fe26c1c0943e32ace7a1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Apr 9 11:12:43 2015 -0400

    Remove SetTraceFunctionPointers and update APIs.
    
    Now that Chromium is switched to ANGLE's new Platform tracing
    methods, we can junk the old APIs.
    
    BUG=angleproject:966
    BUG=436191
    
    Change-Id: Ie2564eed9e5ce4604e0dcd4582618e7467b2d590
    Reviewed-on: https://chromium-review.googlesource.com/264934
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit 97d61eb51c9a99731f3d726a3c6ba7668baf3253
Author: Cooper Partin <coopp@microsoft.com>
Date:   Tue Apr 14 09:08:16 2015 -0700

    Add extension EGL_ANGLE_device_d3d
    
    Access to the D3D device is needed for some advanced scenarios.
    New entry points eglQueryDisplayAttribANGLE and
    eglQueryDeviceAttribANGLE have been added in this change
    to implement this extension.
    
    BUG=angleproject:935
    
    Change-Id: Ie39e86a2b6c6d8d05a08964b2907fb9fba5dec13
    Reviewed-on: https://chromium-review.googlesource.com/265591
    Tested-by: Cooper Partin <coopp@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit bc7093399cda859aaf7d45be6452a1e9e0324e16
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Apr 14 15:32:19 2015 +0000

    Revert "Support constant folding of trigonometry built-ins"
    
    Part of a chain causing compile errors on Mac. Example:
    
    ../../third_party/angle/src/compiler/translator/IntermNode.cpp:1216:89: error: no member named 'sin' in namespace 'std'; did you mean 'sinf'?
    
    http://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Linux%20Builder/builds/33747
    
    This reverts commit 1767e6b4f9148a6aa462d23e3838810c0080ce78.
    
    Change-Id: Ie39b1bf9a08da61aa0b16e219b34d1ba0b6f6c0f
    Reviewed-on: https://chromium-review.googlesource.com/265587
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 3c772f3623c333e74479de7adcac372e83ef3bde
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Apr 14 15:30:45 2015 +0000

    Revert "Support constant folding of exponential built-ins"
    
    Part of a chain causing compile errors on Mac. Example:
    
    ../../third_party/angle/src/compiler/translator/IntermNode.cpp:1216:89: error: no member named 'sin' in namespace 'std'; did you mean 'sinf'?
    
    http://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Linux%20Builder/builds/33747
    
    This reverts commit 62e2c8d2bc55c41db4e6095eac012b8861131585.
    
    Change-Id: Id20f7f4efbc3df7756161b192d4858caeeb0572f
    Reviewed-on: https://chromium-review.googlesource.com/265627
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit d1e9a0f4889b5c9ed154041d0dadfde7ae93599c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Apr 14 15:30:16 2015 +0000

    Revert "Support constant folding of common built-ins"
    
    Part of a chain causing compile errors on Mac. Example:
    
    ../../third_party/angle/src/compiler/translator/IntermNode.cpp:1216:89: error: no member named 'sin' in namespace 'std'; did you mean 'sinf'?
    
    http://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Linux%20Builder/builds/33747
    
    This reverts commit 2b1da6ed1dbe5960bed8c1b2fa3d33cb00c6c116.
    
    Change-Id: I5d48932a6254d6d1e78966bb3891913d9450e08e
    Reviewed-on: https://chromium-review.googlesource.com/265612
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit b775778a050739c4d802da8db7edb8c865602950
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Apr 14 15:29:29 2015 +0000

    Revert "Use nullptr consistently in TIntermConstantUnion::fold"
    
    Part of a chain causing compile errors on Mac. Example:
    
    ../../third_party/angle/src/compiler/translator/IntermNode.cpp:1216:89: error: no member named 'sin' in namespace 'std'; did you mean 'sinf'?
    
    http://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Linux%20Builder/builds/33747
    
    This reverts commit 72ed20d4bb5a5c55d9909d6cc9b7a0e89e4a81a2.
    
    Change-Id: Ia6119f6081b3184deef3deef25b9e3f43ff2e2a6
    Reviewed-on: https://chromium-review.googlesource.com/265586
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 1ea8284d03e81b402b9f62910a6a5d0be6efafae
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Apr 14 15:28:56 2015 +0000

    Revert "Add extension EGL_ANGLE_device_d3d"
    
    Compile error on clang:
    src/libANGLE/Display.cpp:259:23: error: allocation of incomplete type 'egl::Device'
            mDevice = new Device(this, impl);
                          ^~~~~~
    src/libANGLE/Display.h:36:7: note: forward declaration of 'egl::Device'
    class Device;
          ^
    In file included from src/libANGLE/Display.cpp:11:
    In file included from src/libANGLE/Display.h:17:
    In file included from src/libANGLE/Error.h:80:
    In file included from src/libANGLE/Error.inl:9:
    src/common/angleutils.h:66:5: error: deleting pointer to incomplete type 'egl::Device' may cause undefined behavior [-Werror,-Wdelete-incomplete]
        delete resource;
        ^      ~~~~~~~~
    src/libANGLE/Display.cpp:209:5: note: in instantiation of function template specialization 'SafeDelete<egl::Device>' requested here
        SafeDelete(mDevice);
        ^
    src/libANGLE/Display.h:36:7: note: forward declaration of 'egl::Device'
    class Device;
          ^
    2 errors generated.
    
    This reverts commit 6dacaff4e03d4f6b4c444a3fff018c1297cd25ba.
    
    Change-Id: Ide348e156324a5af668604362c0b249ea73b6083
    Reviewed-on: https://chromium-review.googlesource.com/265626
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 6dacaff4e03d4f6b4c444a3fff018c1297cd25ba
Author: Cooper Partin <coopp@microsoft.com>
Date:   Thu Feb 19 16:31:57 2015 -0800

    Add extension EGL_ANGLE_device_d3d
    
    Access to the D3D device is needed for some advanced scenarios.
    New entry points eglQueryDisplayAttribANGLE and
    eglQueryDeviceAttribANGLE have been added in this change
    to implement this extension.
    
    BUG=angleproject:935
    
    Change-Id: Id1560b0887fa5882b9858af7bad9043ada67038d
    Reviewed-on: https://chromium-review.googlesource.com/251610
    Tested-by: Cooper Partin <coopp@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 72ed20d4bb5a5c55d9909d6cc9b7a0e89e4a81a2
Author: Arun Patole <apatole@nvidia.com>
Date:   Wed Apr 8 14:26:25 2015 +0530

    Use nullptr consistently in TIntermConstantUnion::fold
    
    Newly added code in TIntermConstantUnion::fold uses nullptr where as
    remaining part of the function uses NULL. This change removes NULL and
    consistently uses nullptr in complete function.
    
    Change-Id: I600dcf11b686d8d72b2bcdac88b7158288c68105
    Reviewed-on: https://chromium-review.googlesource.com/265395
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 2b1da6ed1dbe5960bed8c1b2fa3d33cb00c6c116
Author: Arun Patole <apatole@nvidia.com>
Date:   Mon Apr 6 17:35:38 2015 +0530

    Support constant folding of common built-ins
    
    This change adds constant folding support for unary common built-ins:
    abs, sign, floor, trunc, round, roundEven, ceil and fract.
    
    BUG=angleproject:913
    TEST= dEQP tests
    dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common*
    (80 out of 210 tests started passing with this change)
    
    Change-Id: I06800ed0e03764c0f7aab6bcd45c4f122de5a3c1
    Reviewed-on: https://chromium-review.googlesource.com/265394
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 62e2c8d2bc55c41db4e6095eac012b8861131585
Author: Arun Patole <apatole@nvidia.com>
Date:   Mon Apr 6 17:29:48 2015 +0530

    Support constant folding of exponential built-ins
    
    This change adds constant folding support for unary exponential
    built-ins - exp, log, exp2, log2, sqrt and inversesqrt.
    
    BUG=angleproject:913
    TEST= dEQP tests
    dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential*
    (48 out of 56 tests started passing with this change)
    
    Change-Id: Ie7808cd57d6ed7598c642a9a0940b8f5bd293741
    Reviewed-on: https://chromium-review.googlesource.com/265393
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 1767e6b4f9148a6aa462d23e3838810c0080ce78
Author: Arun Patole <apatole@nvidia.com>
Date:   Thu Apr 2 11:45:09 2015 +0530

    Support constant folding of trigonometry built-ins
    
    This change adds constant folding support for trigonometry built-in
    functions. Constant folding for these functions also fixes constant
    expression issues where constant initializer is a built-in trignometry
    function whose arguments are all constant expressions.
    
    BUG=angleproject:913
    TEST= dEQP tests
    dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry*
    (112 out of 120 tests pass with this change)
    
    Change-Id: I66275b2ae9faecef63d76763d21a9b67d9bb68fa
    Reviewed-on: https://chromium-review.googlesource.com/265392
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 835be965a863c4b1b4b477f633d2ff9cd5b7cdd6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Apr 13 14:17:49 2015 -0400

    perf_tests: Only print final score result.
    
    Don't print all the other measurements and values, since they'll
    just add noise to the perf bot dashboards. Also increase the
    run time of the DrawCallPerfTest to 10.0 seconds.
    
    BUG=angleproject:744
    BUG=468852
    
    Change-Id: If076055ad46b4e6923f39687edcaa25930b188a7
    Reviewed-on: https://chromium-review.googlesource.com/265464
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 90d443e76c75935a03f268ef9747626d2ad45a48
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Apr 10 14:34:10 2015 -0400

    Delete Image.h.
    
    Change-Id: I83135eabfe5c71f8b07338e2552d1ddd89f150c2
    Reviewed-on: https://chromium-review.googlesource.com/265233
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 2935c581e61e9de67d3e3ec137b2b7fc6ec5405c
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Apr 8 14:32:06 2015 +0300

    Simplify code related to variable declaration
    
    Rename nonInitErrorCheck to declareVariable to clarify that it declares
    variables. Merge arrayErrorCheck with that so that logic that is common
    between array and non-array declarations is only in one place. This
    will simplify adding array initializer handling. This also enables
    redeclaring gl_LastFragData using ESSL3 array type syntax.
    
    Comments in executeInitializer claimed that the TVariable object was
    needed for error recovery, but that was not actually true, so it can also
    use the new declareVariable method. Make "variable" a local variable
    instead of a parameter to executeInitializer, since the parameter was
    never used by callers of the function.
    
    TEST=angle_unittests, WebGL conformance tests
    BUG=angleproject:941
    
    Change-Id: Ie133be62afc3e1f997370803cf21cada4e738935
    Reviewed-on: https://chromium-review.googlesource.com/264674
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 1c906c2e2b0c8f261f0caa1adaf8b0db71592991
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Apr 10 11:26:17 2015 -0400

    Skip Pbuffer tests depending on Pbuffer support.
    
    BUG=angleproject:890
    
    Change-Id: Ie10276453c35c65ffa0e26f8039db3ec3e65064e
    Reviewed-on: https://chromium-review.googlesource.com/265187
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit b4a058bb6a3a3ca30b84bb4fdcf5cfc0cee4beae
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Apr 10 14:50:51 2015 +0000

    Revert "Support constant folding of trigonometry built-ins"
    
    Part of a chain breaking the clang build:
    
    http://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Linux%20Builder/builds/33588
    
    This reverts commit af930db15010cacfcdc74bee630372b8f6eb3eeb.
    
    Change-Id: Ic0bf09b4088a1ee285fed0fbd77dfc4c682fcd12
    Reviewed-on: https://chromium-review.googlesource.com/265144
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 50b7178d383a8645aa3a07b07e8e0cf777d23192
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Apr 10 14:50:15 2015 +0000

    Revert "Support constant folding of exponential built-ins"
    
    Part of a chain breaking the clang build:
    
    http://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Linux%20Builder/builds/33588
    
    This reverts commit 1c89caef47a27c63a7d0f988e74816692a9b9b39.
    
    Change-Id: I36e080d8f64d4d4ca5de04bebbd119db83956d0e
    Reviewed-on: https://chromium-review.googlesource.com/265185
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 3cf271fe4578bf76fb419c8e4fe620efc08e2f06
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Apr 10 14:49:36 2015 +0000

    Revert "Support constant folding of common built-ins"
    
    Part of a chain breaking the clang build:
    
    http://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Linux%20Builder/builds/33588
    
    This reverts commit 0273c68c507a10af3e45c6e4a52a44adcd0cf742.
    
    Change-Id: I00d7617a7c380f2a5ea3f38ec14948a598aa5c1a
    Reviewed-on: https://chromium-review.googlesource.com/265184
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 7c9e8c9631dfe478ae9bd05181231a3a6f7ab64c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Apr 10 14:48:08 2015 +0000

    Revert "Use nullptr consistently in TIntermConstantUnion::fold"
    
    Part of a chain breaking the clang build:
    
    http://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Linux%20Builder/builds/33588
    
    This reverts commit 5f2feee42971fdbbd7cb389fffe2f632060ec6e3.
    
    Change-Id: I5ad54b05148ae2d4f19e50a67aded2bad4f55f91
    Reviewed-on: https://chromium-review.googlesource.com/265143
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit b811e1a2c5589577ef6e9b044d38165ba4e7b8e0
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Apr 8 13:20:24 2015 -0400

    Add tests for FenceNV and FenceSync objects.
    
    BUG=angleproject:888
    
    Change-Id: Ic5eca4d88854f8127114d6b54666f32d5d6df9f2
    Reviewed-on: https://chromium-review.googlesource.com/264588
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 3873cd0beb15662c66c68163242fa708f8f6723d
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Apr 10 15:00:55 2015 +0300

    Fix issues with computing discontinuous loops
    
    AST analysis to narrow down usage of [[loop]] and [[unroll]] failed to account
    for break statements inside switch statements. Add switch statement handling.
    This fixes asserts/crashes in dEQP tests.
    
    BUG=angleproject:937
    TEST=dEQP-GLES3.functional.shaders.switch.*
    
    Change-Id: I04fdfe4733772a2a234934123bbfacf0376df562
    Reviewed-on: https://chromium-review.googlesource.com/265191
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 5f2feee42971fdbbd7cb389fffe2f632060ec6e3
Author: Arun Patole <apatole@nvidia.com>
Date:   Wed Apr 8 14:26:25 2015 +0530

    Use nullptr consistently in TIntermConstantUnion::fold
    
    Newly added code in TIntermConstantUnion::fold uses nullptr where as
    remaining part of the function uses NULL. This change removes NULL and
    consistently uses nullptr in complete function.
    
    Change-Id: Ieaada3cf46bf3e16d3ef91b300c86537f778c33f
    Reviewed-on: https://chromium-review.googlesource.com/264632
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 0273c68c507a10af3e45c6e4a52a44adcd0cf742
Author: Arun Patole <apatole@nvidia.com>
Date:   Mon Apr 6 17:35:38 2015 +0530

    Support constant folding of common built-ins
    
    This change adds constant folding support for unary common built-ins:
    abs, sign, floor, trunc, round, roundEven, ceil and fract.
    
    BUG=angleproject:913
    TEST= dEQP tests
    dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common*
    (80 out of 210 tests started passing with this change)
    
    Change-Id: I09f2f99b3108e0d2fb1919a0631e4317b6a28be3
    Reviewed-on: https://chromium-review.googlesource.com/263709
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 1c89caef47a27c63a7d0f988e74816692a9b9b39
Author: Arun Patole <apatole@nvidia.com>
Date:   Mon Apr 6 17:29:48 2015 +0530

    Support constant folding of exponential built-ins
    
    This change adds constant folding support for unary exponential
    built-ins - exp, log, exp2, log2, sqrt and inversesqrt.
    
    BUG=angleproject:913
    TEST= dEQP tests
    dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.exponential*
    (48 out of 56 tests started passing with this change)
    
    Change-Id: I22af56876d1b7ce305697bf9bf43ad9ec5d8a3a5
    Reviewed-on: https://chromium-review.googlesource.com/263708
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit af930db15010cacfcdc74bee630372b8f6eb3eeb
Author: Arun Patole <apatole@nvidia.com>
Date:   Thu Apr 2 11:45:09 2015 +0530

    Support constant folding of trigonometry built-ins
    
    This change adds constant folding support for trigonometry built-in
    functions. Constant folding for these functions also fixes constant
    expression issues where constant initializer is a built-in trignometry
    function whose arguments are all constant expressions.
    
    BUG=angleproject:913
    TEST= dEQP tests
    dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.angle_and_trigonometry*
    (112 out of 120 tests pass with this change)
    
    Change-Id: I2ed4360532469fe0d70048d5f2300a8db6f9fcda
    Reviewed-on: https://chromium-review.googlesource.com/263679
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 6ed7bbe84854a848895950be28b2d06146f8e72a
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Apr 7 18:08:46 2015 +0300

    Clean up arrayErrorCheck
    
    Remove some unnecessary TPublicType/TType conversions from the code, and
    clean up code style. voidErrorCheck is changed to take TBasicType so that
    it can be used with both TType and TPublicType.
    
    TEST=angle_unittests
    BUG=angleproject:941
    
    Change-Id: I6f6cbc0761a4fc971299bad48864309009c54e7f
    Reviewed-on: https://chromium-review.googlesource.com/264673
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 43ce600c57c671b68df65b058f1eccbb5115180f
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Apr 9 14:50:40 2015 +0300

    Fix a bunch of mistakes in MalformedShaderTest
    
    A number of mistakes had slipped in to this test that made the
    compilation of some shaders always fail regardless of the semantic checks
    applied by the parser.
    
    TEST=angle_unittests
    BUG=angleproject:941
    
    Change-Id: I9906792e2c7fe3805288255b855afb46840a77a7
    Reviewed-on: https://chromium-review.googlesource.com/264811
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 4176cd64b72a44e02e7d9583aa0ff10db0584b42
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Apr 2 11:14:38 2015 -0700

    Remove now unused DetectDiscontuinity.h/.cpp
    
    BUG=angleproject:937
    BUG=395048
    
    Change-Id: Ie8e520267d594a595201cb7c2438a2202d9adf25
    Reviewed-on: https://chromium-review.googlesource.com/263745
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 029c78cd0e645de5322384efbacc76fac8d491d0
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Apr 9 15:06:19 2015 -0400

    Ignore visual studio profiler and nsight files.
    
    Change-Id: I01cb029300760341262fb27cafc32d4366d161c0
    Reviewed-on: https://chromium-review.googlesource.com/265005
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 0305320fe1c9137c4460eae16fe8fb862aab9f4d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Apr 9 11:21:13 2015 -0400

    WGL Pbuffer implementation.
    
    BUG:angleproject:890
    
    Change-Id: Id6e04117ddf7bde3ffb0d9e4cef6db3d07039a54
    Reviewed-on: https://chromium-review.googlesource.com/261410
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 1239ee94fbd8163e872023d2648d58a7d17e7819
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Mar 19 14:38:02 2015 -0700

    Use the AST analyses to narrow the usage of [[loop]] and [[unroll]]
    
    These attributes are now used exactly in the loops and ifs
    that require them, limiting the number of failed compilations
    due to excessive unrolling and flattening.
    Also output Lod0 functions only when needed.
    
    Adds unit tests for LOOP, FLATTEN and Lod0 generation.
    
    The patch was tested against the WebGL CTS 1.0.4 for which all the
    failures existed prior to this patch and seem to be unrelated to this
    change. It also works correctly on the following sites that had trouble
    with [[loop]] and [[unroll]]:
     * dev.miaumiau.cat/rayTracer "Skull Demo"
     * The turbulenz engine particle demo
     * Lots of ShaderToy samples (including "Volcanic" and "Metropolis")
     * Google Maps Earth mode
     * Lots of Chrome Experiments
     * Lagoa
     * madebyevan.com/webgl-water
     * SketchFab
     * Unit Tests
    
    BUG=angleproject:937
    BUG=395048
    
    Change-Id: I856de9025f10b79781929ec212dbffc2064a940e
    Reviewed-on: https://chromium-review.googlesource.com/264791
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 794e0009ef747b49cd98d7d84434841a7ce5b222
Author: Minmin Gong <mgong@microsoft.com>
Date:   Tue Apr 7 18:31:54 2015 -0700

    Fix and enable warning C4244 (Conversion from 'type1' to 'type2', possible loss of data)
    
    Change-Id: Id0e06d7d6600344d858f00dabc219d79289bbc82
    Reviewed-on: https://chromium-review.googlesource.com/265020
    Tested-by: Minmin Gong <mgong@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit b3584fb4906588611a8e8fb59ffabdaa96e37006
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Apr 9 17:34:21 2015 +0000

    Revert "Fix and enable warning C4244 (Conversion from 'type1' to 'type2', possible loss of data)"
    
    Causing a build failure on Mac/Clang:
    
    ./Tokenizer.cpp:551:7: error: extra tokens at end of #else directive [-Werror,-Wextra-tokens]
    #else if defined(_MSC_VER)
    
    http://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Mac%20Builder/builds/29136
    
    This reverts commit 3b26e231d99154814eb428f75a67bbe7a21adadc.
    
    Change-Id: I2d11ddcc18130d908fd2ec3d6f5ab890cfccd5e7
    Reviewed-on: https://chromium-review.googlesource.com/264983
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 0ca42a5f2e1e06cd7a30762d7e1d601b2c5165f3
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Apr 7 13:47:41 2015 -0400

    Add tests of basic Pbuffer functionality.
    
    BUG=angleproject:890
    
    Change-Id: I8f82414d1875f80269bd9dd1f629e5b7903cb584
    Reviewed-on: https://chromium-review.googlesource.com/264380
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 3b26e231d99154814eb428f75a67bbe7a21adadc
Author: Minmin Gong <mgong@microsoft.com>
Date:   Tue Apr 7 18:31:54 2015 -0700

    Fix and enable warning C4244 (Conversion from 'type1' to 'type2', possible loss of data)
    
    Change-Id: I73d9a2b9ad16f032be974b9c819de0dc1247c2ea
    Reviewed-on: https://chromium-review.googlesource.com/264533
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 47fadcb975e91ff33527cc5f460eb08a97d2a0ff
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Apr 8 14:13:53 2015 +0300

    Remove code related to redeclaration of arrays
    
    It should not be possible to redeclare arrays. This seems to be another
    thing left over from earlier erroneous code which allowed declaring
    unsized arrays.
    
    TEST=angle_unittests
    BUG=angleproject:941
    
    Change-Id: I711565230b35df077f268cec6fdeac6c4c03b4cd
    Reviewed-on: https://chromium-review.googlesource.com/264672
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 3739d235f818ad90b48b06622431e2c79231559b
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Apr 8 12:23:44 2015 +0300

    Make checking for array non-constness depend on input version
    
    First, remove duplicate check for const qualifier on arrays. Only keep
    the check inside arrayQualifierErrorCheck().
    
    Second, ESSL3 will introduce array initializers and by extension constant
    arrays, so it should allow const qualifier on arrays. These checks are
    somewhat superfluous in ESSL1 as well, since the parser already checks
    for missing initializers, but it's useful to keep the informative error
    messages around.
    
    Add a few tests to make sure that when the ESSL3 implementation
    progresses, it still checks for missing initializers on constant arrays.
    
    TEST=angle_unittests
    BUG=angleproject:941
    
    Change-Id: Id871c872c5b92e2a5bf81c00080ac23004916a75
    Reviewed-on: https://chromium-review.googlesource.com/264671
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 938f0029d4f668179c3b999605ec072031c75e9c
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Apr 8 19:35:40 2015 +0000

    Revert "Use the AST analyses to narrow the usage of [[loop]] and [[unroll]]"
    
    Caused linking failures on mac because the unit test asks for TranslatorHLSL which is not compiled.
    
    This reverts commit 3342e01f2a29343ea95961f0194f9d4f422cb840.
    
    Change-Id: I02b2f54ca5b90611f11b7a549e75bf2e8310639d
    Reviewed-on: https://chromium-review.googlesource.com/264790
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 3342e01f2a29343ea95961f0194f9d4f422cb840
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Mar 19 14:38:02 2015 -0700

    Use the AST analyses to narrow the usage of [[loop]] and [[unroll]]
    
    These attributes are now used exactly in the loops and ifs
    that require them, limiting the number of failed compilations
    due to excessive unrolling and flattening.
    Also output Lod0 functions only when needed.
    
    Adds unit tests for LOOP, FLATTEN and Lod0 generation.
    
    The patch was tested against the WebGL CTS 1.0.4 for which all the
    failures existed prior to this patch and seem to be unrelated to this
    change. It also works correctly on the following sites that had trouble
    with [[loop]] and [[unroll]]:
     * dev.miaumiau.cat/rayTracer "Skull Demo"
     * The turbulenz engine particle demo
     * Lots of ShaderToy samples (including "Volcanic" and "Metropolis")
     * Google Maps Earth mode
     * Lots of Chrome Experiments
     * Lagoa
     * madebyevan.com/webgl-water
     * SketchFab
     * Unit Tests
    
    BUG=angleproject:937
    BUG=395048
    
    Change-Id: If7baddae1cdae0b3a414aa49e5a4c4babedbfe50
    Reviewed-on: https://chromium-review.googlesource.com/261263
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 1a0847caf9b2643c0fc5ce45c5bcff1d9fd9ab5b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Apr 8 13:49:31 2015 -0400

    Temporarily disable the RenderToMipmap on Intel OpenGL.
    
    BUG=angleproject:905
    
    Change-Id: If398b7f3cb60f3efdafce0f3709f965120977603
    Reviewed-on: https://chromium-review.googlesource.com/264665
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit e42753b24b5fe2a54959171381c21bab9fc29160
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Apr 8 13:46:33 2015 -0400

    Implement GL_VENDOR and GL_RENDERER strings for RendererGL.
    
    Change-Id: Ib83faa605fd1b992e19ddc2b72c7917d82245d32
    Reviewed-on: https://chromium-review.googlesource.com/264664
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 5093145941a1eed3d993d94d6463b6013448d999
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Mar 19 10:39:13 2015 -0700

    Implement discontinuous loops AST analysis
    
    This will allow narrowing down which usages of
    [[flatten]] and [[unroll]] are actually useful.
    
    BUG=angleproject:937
    BUG=395048
    
    Change-Id: I091e647e3053d22edadd0cabb7c50bd5efa690b2
    Reviewed-on: https://chromium-review.googlesource.com/263776
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit f4eab3b96147d197383be7f7e021de486625c11e
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Mar 18 12:55:45 2015 -0700

    Implement gradient operation AST analysis
    
    This will allow narrowing down which usages of
    [[flatten]] and [[unroll]] are actually useful.
    
    BUG=angleproject:937
    BUG=395048
    
    Change-Id: Ib8d7b98431b8cd3563e1eff8ecc9ed5df1a9b7d6
    Reviewed-on: https://chromium-review.googlesource.com/263775
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit a094a8a981bbb84e3bb7fa2acb6f4ac5f0dc2c3e
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Apr 7 11:53:06 2015 -0700

    Add a compiler option to prune unused function and prototypes
    
    Also adds a simple unit test checking the pruning
    
    BUG=angleproject:937
    BUG=395048
    
    Change-Id: I88440378f66178dcebebcd596f8f80235903f20e
    Reviewed-on: https://chromium-review.googlesource.com/264568
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 78b3a8b92150d0c0ea28b015f7baea5188857643
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Apr 8 16:04:24 2015 +0000

    Revert "Add a compiler option to prune unused function and prototypes"
    
    Compile error on Mac:
    
    http://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Mac%20Builder/builds/29051
    
    This reverts commit e423d9ca6e1b340ae06d543419b8a515de5ac3f2.
    
    Change-Id: Ie08d7f2bf86089a006f3177480aa7491a9405257
    Reviewed-on: https://chromium-review.googlesource.com/264585
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit e423d9ca6e1b340ae06d543419b8a515de5ac3f2
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Apr 7 11:53:06 2015 -0700

    Add a compiler option to prune unused function and prototypes
    
    Also adds a simple unit test checking the pruning
    
    BUG=angleproject:937
    BUG=395048
    
    Change-Id: I49904c34d1a72949cdc579569967d99c736c7237
    Reviewed-on: https://chromium-review.googlesource.com/264415
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 71d147f6b52dad54a763e27ad260677b64db492b
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Feb 11 11:15:24 2015 -0800

    Implemented a CallDAG to allow for more AST analysis
    
    The CallDAG preprocesses the AST to construct a DAG of
    functions that can be used for several analyses.
    Use it to implement check for recursion and max call
    depth. It will also be used to limit the usage of
    [[flatten]] and [[unroll]].
    
    BUG=angleproject:937
    BUG=395048
    
    Change-Id: I8578703f2d49513f315aecccbcff34914562e4ff
    Reviewed-on: https://chromium-review.googlesource.com/263774
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 9102e3abdf6be524010bd0663f3a5e2a35d1f05c
Author: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
Date:   Mon Mar 23 20:25:45 2015 +0000

    Add UBO offset emulation for D3D11.0 and below.
    
    BUG=angleproject:507
    
    Change-Id: I6c5028930051a2af0bd6ffa0ee213e692d3892ef
    Reviewed-on: https://chromium-review.googlesource.com/261824
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit cc6f55dd08cbf5504221b6bbdb2f20fecb1656b6
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Mar 20 13:01:02 2015 -0400

    Split Buffer::map into map and mapRange to match the API.
    
    BUG=angleproject:681
    
    Change-Id: Ia4bf2b81134a922265ca762f33ac85d9ddbf1a7c
    Reviewed-on: https://chromium-review.googlesource.com/261890
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 8a6f19d7f90a6bebb7e795bab80f54e13b03ddc5
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Apr 2 15:57:55 2015 -0400

    Add support for GL_OES_fbo_render_mipmap with OpenGL.
    
    BUG=angle:905
    
    Change-Id: Idde35172cfa495c8b74b961f4ab8c4e657653074
    Reviewed-on: https://chromium-review.googlesource.com/263763
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 693c9aa06c9f2052524fa1a58d885c647af3c3e3
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Apr 7 17:50:36 2015 +0300

    Replace setArray function in TPublicType with functions from TType
    
    Having only one way of setting or clearing arrayness of types clarifies
    code dealing with arrays.
    
    TEST=angle_unittests
    BUG=angleproject:941
    
    Change-Id: I98cb7c44fd66440c9de8b4c6c4a02827e9300db7
    Reviewed-on: https://chromium-review.googlesource.com/264361
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 93a90fd08cd8040f7c3591a7814dbaac32fe864f
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Apr 7 18:14:07 2015 +0300

    Remove half-baked non-sized array support
    
    ANGLE used to accept shaders with non-sized arrays in initializer lists.
    Fix this. Proper support for implicitly sized arrays will be implemented
    later for ESSL3.
    
    TEST=angle_unittests
    BUG=angleproject:941
    
    Change-Id: I53c5ccf0f7ef09ad30e142f8350812959fc4846c
    Reviewed-on: https://chromium-review.googlesource.com/264360
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 5c60031ea1117524611013f2b04217ac9ac9ca65
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Apr 7 17:23:54 2015 -0400

    Temporarily disable TextureTest with OpenGL.
    
    Failures seen on some FYI bots.
    
    Change-Id: I4853438c34ce55a1d803d3a7edf3b3e077905264
    Reviewed-on: https://chromium-review.googlesource.com/264462
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit bde666a99ed6c325fd93c31d5741da958ad75d72
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Apr 7 17:17:08 2015 -0400

    Disable all copy image tests on Intel.
    
    Change-Id: I5412daf42777caeac37de4bdc661b01480d887fd
    Reviewed-on: https://chromium-review.googlesource.com/264451
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit a662abb5e7187752e646055daa850894f9e56c7f
Author: Brett Wilson <brettw@chromium.org>
Date:   Tue Apr 7 12:55:30 2015 -0700

    Fix GN Windows component build.
    
    The translator_static dependency is missing from libANGLE.
    GYP has this dependency.
    
    Change-Id: I30165a041f88f7e3c6f550744d2c7a4103d0f520
    Reviewed-on: https://chromium-review.googlesource.com/264425
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 95663914caee71c25141f3c02efa608d9c1c302c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Apr 2 15:54:45 2015 -0400

    Add stubs for GL_OES_fbo_render_mipmap.
    
    BUG=angle:905
    
    Change-Id: Idd4964bd2d9d07cd98137770e1cc57397f1dd3a6
    Reviewed-on: https://chromium-review.googlesource.com/263762
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit dab84368f54c710805ac5a32023b11718077ce4b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Mar 2 15:43:57 2015 -0800

    Add texture format utilities for GL and generate GL texture caps.
    
    BUG=angleproject:884
    
    Change-Id: Ib1b13f59a6b21399c4b35695c704c369f572914e
    Reviewed-on: https://chromium-review.googlesource.com/264399
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d16daa29d66c0daf0541ee9b84b99f26b17c9ce0
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Apr 7 19:27:57 2015 +0000

    Revert "Add texture format utilities for GL and generate GL texture caps."
    
    This reverts commit 69bde01adf1f9d94cb1ea91c2902267ef3340f02.
    
    Change-Id: If21c22e91cf5d72364839bbcc21cb83901a3f2cd
    Reviewed-on: https://chromium-review.googlesource.com/264418
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit ae2d8a3af25edcad837e3f5bdf084e1a39a38c66
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Apr 7 11:21:07 2015 -0400

    Add Platform methods for event tracing.
    
    Event tracing requires pulling in timing counters, so we can sync
    with Chromium's timestamps. It may require a bit more tricky stuff
    to sync ANGLE's GPU timestamps with trace timestamps, but should
    allow us to add GPU trace events in the future.
    
    BUG=chromium:436191
    BUG=angleproject:966
    
    Change-Id: Ie1dc2981650d96888f988fa74b6fa435fbe8edc2
    Reviewed-on: https://chromium-review.googlesource.com/263781
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit fbfa47c4ad7c51a8a9858682008df055510a0c1a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Mar 31 11:26:00 2015 -0400

    Implement copyImage and copySubImage in TextureGL.
    
    BUG=angleproject:885
    BUG=angleproject:884
    
    Change-Id: I083b72059c55157e2a3ee00ec778f819a100be7b
    Reviewed-on: https://chromium-review.googlesource.com/263179
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 69bde01adf1f9d94cb1ea91c2902267ef3340f02
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Mar 2 15:43:57 2015 -0800

    Add texture format utilities for GL and generate GL texture caps.
    
    BUG=angleproject:884
    
    Change-Id: Iba0108b22e6a404842ec1013d22c00d206c865d3
    Reviewed-on: https://chromium-review.googlesource.com/255512
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 8c25cdecf786fdfe8a978e3c291aa1aecfea9195
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Apr 1 16:37:48 2015 -0400

    Only check dynamic type in Impl casting helpers.
    
    We can use the Impl casting helper methods to clean up dynamic type
    casting.
    
    Change-Id: I5706da74eedd9f3cdc5a728420074a91ad7c95cb
    Reviewed-on: https://chromium-review.googlesource.com/263520
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit f4bf3811135f984b940f6a857670236c1371b3f0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Apr 1 16:15:32 2015 -0400

    Use GetAs/GetImplAs whenever possible.
    
    This patch cleans up the rest of our custom casting helper
    functions.
    
    Change-Id: I41975c736765fca855c4498acca31116df3e8317
    Reviewed-on: https://chromium-review.googlesource.com/263477
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit c5b8b59c03994e79770eb723d6ea88101df8d7ce
Author: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
Date:   Thu Apr 2 16:56:25 2015 +0100

    Don't delete sysmem storage if it is the latest storage.
    
    BUG=angleproject:965
    
    Change-Id: I9b4b042e3f9bde3ce713a02aa353b5f3a5cff49e
    Reviewed-on: https://chromium-review.googlesource.com/263711
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>

commit 9638c352065687e02222ec427a852315c7597ae7
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Apr 1 14:34:52 2015 +0300

    Support assigning array constructors in HLSL output
    
    This adds support to the following type of shader code, where an array
    constructor is used as a source of assignment:
    
    float a[3];
    a = float[3](0.0, 1.0, 2.0);
    
    The assignment gets replaced in the HLSL code by a function call where
    the array is an out parameter and the constructor parameters are regular
    parameters.
    
    Constructors cannot yet be used in initializers.
    
    With this change in place, some of the relevant dEQP tests start passing.
    
    TEST=dEQP-GLES3.functional.shaders.arrays.constructor.*
    BUG=angleproject:941
    
    Change-Id: I13ed603c02a30d9f9950a61c4d562ae9fac058ec
    Reviewed-on: https://chromium-review.googlesource.com/263403
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit f40319e9d0ca1d970d4d4358e45100da7410fd77
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Mar 10 14:33:00 2015 +0200

    Add basic support for array constructors
    
    Add limited support for parsing array constructors and writing them out as
    GLSL code.
    
    Still missing from this version: HLSL output, array support in
    initializer lists, arrays with implicit size.
    
    BUG=angleproject:941
    
    Change-Id: I7febf80923c4cd0b730399f1f49f9456cf3668e9
    Reviewed-on: https://chromium-review.googlesource.com/260572
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 51a1db16d7c7ea92686a16ee324f7fc0687ad095
Author: Nico Weber <thakis@chromium.org>
Date:   Mon Apr 6 09:02:37 2015 -0700

    Give Timer a virtual destructor as it's deleted polymorphically.
    
    Found by clang:
    
    ..\..\third_party\angle\src\common/angleutils.h(66,5) :  error: delete called on 'Timer' that is abstract but has non-virtual destructor [-Werror,-Wdelete-non-virtual-dtor]
        delete resource;
        ^
    ..\..\third_party\angle\src\tests\perf_tests\ANGLEPerfTest.cpp(26,5) :  note: in instantiation of function template specialization 'SafeDelete<Timer>' requested here
        SafeDelete(mTimer);
        ^
    
    BUG=chromium:82385
    
    Change-Id: I69033b1802b5dffbdf2d80889aca7019d710d481
    Reviewed-on: https://chromium-review.googlesource.com/264061
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 711d8663ca2c7733dbfb9024e4d8128b740304e9
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Apr 2 19:43:57 2015 +0000

    Revert "Implement gradient operation AST analysis"
    
    This reverts commit 2fc57a2ace58b7ae3106344c56be94948f761b2a.
    
    Change-Id: I619297090c8441c1b90099437f8764263cdd68cc
    Reviewed-on: https://chromium-review.googlesource.com/263728
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit c457e7bb33358f58c23ad9834196d7529894ded8
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Apr 2 19:43:52 2015 +0000

    Revert "Implement discontinuous loops AST analysis"
    
    This reverts commit f30a9ba96bdfa014fc182060c714a2c75451f4cf.
    
    Change-Id: I577cfd1e7d5d6138413c29205cbf4d35b6861226
    Reviewed-on: https://chromium-review.googlesource.com/263754
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 186160b2367e2d5a2a2d6373ccee7639e73a3dd0
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Apr 2 19:34:38 2015 +0000

    Revert "Implemented a CallDAG to allow for more AST analysis"
    
    failures in angle_unittests and compilation failure on clang (see: https://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Mac%20Builder%20%28dbg%29/builds/30016/steps/compile/logs/stdio) .
    This reverts commit b34d1d12969496b1b0fb53934b8ce3200304f900.
    
    Change-Id: Ia995fb2db0e891294f3461de01617cb13e5ae381
    Reviewed-on: https://chromium-review.googlesource.com/263727
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 8cf4a39bbfd04fb30ad789777fa6f6de594f5048
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Apr 2 11:36:04 2015 -0400

    Return a ref for FBO attachment image indexes.
    
    This cleans up the syntax somewhat. Also place some more of the
    helper methods in the header.
    
    BUG=angleproject:963
    
    Change-Id: I62419095a7b65486f54d74791027594e8e595e48
    Reviewed-on: https://chromium-review.googlesource.com/263629
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 7936a6d3c4a4f3895634ef58d915a1ca76bf7695
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Apr 2 13:52:34 2015 -0400

    Move the texture index to attachment base.
    
    This will let us squash the attachment types in a follow-up patch.
    
    BUG=angleproject:963
    
    Change-Id: I1efb2e41aa08766189499995b3150aec6fd61c4e
    Reviewed-on: https://chromium-review.googlesource.com/263486
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit f30a9ba96bdfa014fc182060c714a2c75451f4cf
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Thu Mar 19 10:39:13 2015 -0700

    Implement discontinuous loops AST analysis
    
    This will allow narrowing down which usages of
    [[flatten]] and [[unroll]] are actually useful.
    
    BUG=angleproject:937
    BUG=395048
    
    Change-Id: Icc37abf51a1407c9e7bc708dc08d3ba4050a496a
    Reviewed-on: https://chromium-review.googlesource.com/261189
    Tested-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit 2fc57a2ace58b7ae3106344c56be94948f761b2a
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Mar 18 12:55:45 2015 -0700

    Implement gradient operation AST analysis
    
    This will allow narrowing down which usages of
    [[flatten]] and [[unroll]] are actually useful.
    
    BUG=angleproject:937
    BUG=395048
    
    Change-Id: Ic31e434c7b5bb6c32eff2336e5949391bfee25a5
    Reviewed-on: https://chromium-review.googlesource.com/260930
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit b34d1d12969496b1b0fb53934b8ce3200304f900
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Feb 11 11:15:24 2015 -0800

    Implemented a CallDAG to allow for more AST analysis
    
    The CallDAG preprocesses the AST to construct a DAG of
    functions that can be used for several analysis.
    Use it to implement check for recursion and max call
    depth. It will also be used to limit the usage of
    [[flatten]] and [[unroll]].
    
    BUG=angleproject:937
    BUG=395048
    
    Change-Id: I643e0ed605ad095e4fd7da4977d842be5e6a12e0
    Reviewed-on: https://chromium-review.googlesource.com/229352
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit f813eb46e50ecc979b64c4c6216be1763e206831
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Apr 2 17:15:34 2015 +0000

    Revert "Revert "Move resource storage to attachment base.""
    
    Fix in https://chromium-review.googlesource.com/#/c/263730/
    
    This reverts commit 0d91328b99d2a8b2c3bfe45d64faad3e7907637c.
    
    Change-Id: Ibab792001798eff94652345b7c12fb9a42cddb55
    Reviewed-on: https://chromium-review.googlesource.com/263740
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 6c7a80d85de8dfe5a797518324280e173eb1f501
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Apr 2 13:00:32 2015 -0400

    Detect RTTI properly on Clang.
    
    This was giving a compile error on OSX. Also update the logic
    slightly.
    
    BUG=angleproject:963
    
    Change-Id: I1ac64aa0908a58d9780054084d5c205c61848763
    Reviewed-on: https://chromium-review.googlesource.com/263730
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 99f075dade7cfb0b56e80a065de3218745e4c177
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Apr 1 15:48:07 2015 -0400

    Split DrawCallPerf test from BufferSubData test.
    
    This will give us better dashboard encapsulation when we're
    running on the Chromium bots. It also paves the way for more
    specialized draw call tests, like for indexed draw, with uniform
    updates, instancing, etc.
    
    BUG=angleproject:744
    
    Change-Id: I396de28c027f99da18a0904f959d23b59cac2010
    Reviewed-on: https://chromium-review.googlesource.com/263505
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit b2d6a9be287f04a596871cabfa5d69ae6a390ba1
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Mar 30 16:00:53 2015 +0300

    Stub simplifying array assignment for HLSL output
    
    Add an AST traverser that rejects shaders with expressions that use the return
    value of an assignment where an array is assigned to another array. In the
    future this should be made into a tool that can simplify these expressions so
    that return values of array assignments are not used.
    
    In its current form this code prevents OutputHLSL from producing garbage code
    when the original code contains expressions like a = (b = c); where a, b, and c
    are all arrays.
    
    BUG=angleproject:960
    
    Change-Id: I11353d7ed7160c853e58a0ef3471ca439cb314c8
    Reviewed-on: https://chromium-review.googlesource.com/263070
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 1269076cbfe23a1a87487eca8315e5786de01f66
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Mar 31 12:55:28 2015 +0300

    Add basic support for assigning arrays in HLSL output
    
    Implement support for assignments where the return value of the assignment
    is not used in another part of the expression.
    
    TEST=WebGL conformance tests
    BUG=angleproject:960
    
    Change-Id: Ibf9d71a75d27d139d2aabb5162ab04a0974321d3
    Reviewed-on: https://chromium-review.googlesource.com/263222
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 0d91328b99d2a8b2c3bfe45d64faad3e7907637c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Apr 2 16:44:20 2015 +0000

    Revert "Move resource storage to attachment base."
    
    Giving compile errors on Clang/OSX.
    
    http://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Mac%20Builder%20%28dbg%29/builds/30008
    
    This reverts commit 7f67b030a8ae26e3ff54f6d33c655fc69c0b9fdb.
    
    Change-Id: I5fb7d237c99ca9f2a8d50538f86dfc334d56ddd9
    Reviewed-on: https://chromium-review.googlesource.com/263722
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit f6c694bceaabf69782d50592c43103a4a5a1ad66
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Mar 26 14:50:53 2015 +0200

    Assign built-in function return type in promote()
    
    This finishes the refactoring of unary math operation handling so that
    IntermUnary::promote has the complete code for setting the return type of
    the node.
    
    BUG=angleproject:952
    TEST=angle_unittests, WebGL conformance tests
    
    Change-Id: I19bd8d53029e24f734c9436eceb446b37e7fcf26
    Reviewed-on: https://chromium-review.googlesource.com/262416
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit dca3e796d1ca46692090a6dfd27432722504af9c
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Mar 26 13:24:04 2015 +0200

    Refactor unary math operator handling to clarify responsibilities
    
    Shuffle the code around so that each part has a clear responsibility:
    IntermUnary::promote is responsible for setting the return type of the
    node, Intermediate::addUnaryMath is responsible for creating the node
    object, and ParseContext::createUnaryMath is responsible for validating
    the operand type.
    
    This removes duplicated bool type check for logical not.
    
    BUG=angleproject:952
    TEST=angle_unittests, WebGL conformance tests
    
    Change-Id: I9f5a0abb6434ad2730441ea9199ec3f5382ebcda
    Reviewed-on: https://chromium-review.googlesource.com/262415
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 7f67b030a8ae26e3ff54f6d33c655fc69c0b9fdb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Apr 2 11:36:02 2015 -0400

    Move resource storage to attachment base.
    
    We can use GetAs() to retrieve the corresponding API object.
    
    BUG=angleproject:963
    
    Change-Id: I472e13664e45f9f05621dea3d28135d4e833fb3d
    Reviewed-on: https://chromium-review.googlesource.com/263485
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 4ef3c241f204fbc800c23c4d96ea1e651ca5f4ed
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Apr 2 11:36:01 2015 -0400

    Remove DefaultAttachment.
    
    This class is no longer necessary or used.
    
    BUG=angleproject:963
    
    Change-Id: I5e6fa64822e637e1cc769be6fe777fa6e13a0d83
    Reviewed-on: https://chromium-review.googlesource.com/263484
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 5321c80889f1f2e6dc33cfaf7a2b43e4d4e4af4f
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Apr 2 17:08:16 2015 +0300

    Add unsigned literal support to GLSL output
    
    BUG=angleproject:964
    
    Change-Id: I8eb3cfd8d49beded4ac55ead97b50c7691e4980a
    Reviewed-on: https://chromium-review.googlesource.com/263710
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit c46f45d90638e554096ea8e042a872be68f6bea2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Mar 31 13:20:55 2015 -0400

    Refactor DefaultAttachments.
    
    Instead of using an Impl type for default attachments, store the
    egl::Surface pointer where possible.
    
    BUG=angleproject:963
    
    Change-Id: I3e34849e8b1ccae0c91a79617ec6f64aaaab6b10
    Reviewed-on: https://chromium-review.googlesource.com/263483
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 2c919145cfe70cab201be96ff86ebf06d93d824c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Apr 1 14:44:13 2015 -0400

    Implement flush and finish in RendererGL.
    
    BUG=angleproject:883
    
    Change-Id: Idc474c58d3971c5f7c2c2760cd21aefdf65424b4
    Reviewed-on: https://chromium-review.googlesource.com/263502
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 64a7244db4e50adbbd113ea6334ea790d2844aeb
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Apr 1 14:43:11 2015 -0400

    Only call glInvalidateFramebuffer if it is available.
    
    BUG=angleproject:885
    
    Change-Id: I30a9bcebc80805aea0c12d9c67194b7b0c98200f
    Reviewed-on: https://chromium-review.googlesource.com/263475
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 33d12cb9299324e260bd367b065953314d7c4847
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Mar 25 13:31:32 2015 -0400

    Add drafts for device query extensions.
    
    These extensions give power apps the ability to query raw device
    pointers from the EGL layer. EGL_EXT_device_query is based on
    EGL_EXT_device_base, which is being split into device_query and
    device_enumerate. We remove the device enumeration logic, and only
    allow the app to query the current device from a display, which
    matches how ANGLE works internally.
    
    EGL_ANGLE_device_d3d gives the app the ability to query D3D
    devices associated with a display.
    
    BUG=angleproject:935
    
    Change-Id: I8079661f00d11717ed0e792c9fe8dc5c26f67dcc
    Reviewed-on: https://chromium-review.googlesource.com/252110
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit c30c424ff044d6832d48d0150328dbadc59f739a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Apr 1 14:17:07 2015 -0400

    Make egl::Surface ref-counted.
    
    This will let us store references to Surface in FBO attachments,
    even after the surface is destroyed.
    
    BUG=angleproject:963
    
    Change-Id: I7e1cb161d1e08f78b1c4d730a32ad09ac7e61e30
    Reviewed-on: https://chromium-review.googlesource.com/263482
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit d1f5ef2e5629d824f8dedc4ecf2439d115e1f1f8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Apr 1 14:17:06 2015 -0400

    Pass gl::Data to Framebuffer::clear.
    
    This allows the implementation object to also check the caps.
    
    BUG=angleproject:930
    
    Change-Id: I5a48ad942eaa5271b60cffd931829296e5d2a767
    Reviewed-on: https://chromium-review.googlesource.com/263481
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit ed58f066b66804ac51ef4c0d52fd5a3ee091d35d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Apr 1 14:17:05 2015 -0400

    Fix the renderer generation script.
    
    We no longer use the DISALLOW_COPY_AND_ASSIGN macro.
    
    BUG=angleproject:956
    
    Change-Id: I439c4d55612059d6a16ae6351c54c3817be017cf
    Reviewed-on: https://chromium-review.googlesource.com/263480
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 68694e994103e8d2c0fbef76506cf90fbf7f70d5
Author: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
Date:   Tue Mar 24 14:03:37 2015 +0000

    Add UBO offset support for D3D11.1.
    
    Also fixes the uniform count upper limit in glGetActiveUniformsiv,
    as well as an assert hit with used but unbound uniform buffer.
    
    BUG=angleproject:507
    BUG=angleproject:962
    
    Change-Id: I096fe1c9b4f0f398f3a638cd8311278987dfb7dc
    Reviewed-on: https://chromium-review.googlesource.com/263404
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>

commit 90a09b56ce44e0f67cb7ab7f8d9bbc179f325597
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Apr 1 18:21:24 2015 +0000

    Revert "Add UBO offset support for D3D11.1."
    
    Failed on 32-bit builds.  See: https://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Win%20Builder/builds/24828/steps/compile/logs/stdio
    
    angle\src\libangle\validationes.cpp(1461) : error C2220: warning treated as error - no 'object' file generated
    angle\src\libangle\validationes.cpp(1461) : warning C4018: '<' : signed/unsigned mismatch
    
    This reverts commit 381f969315c0c70bacf183e58de7194f42486112.
    
    Change-Id: I05f09f19e40046994d34809c5b79095458f56148
    Reviewed-on: https://chromium-review.googlesource.com/263474
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 381f969315c0c70bacf183e58de7194f42486112
Author: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
Date:   Tue Mar 24 14:03:37 2015 +0000

    Add UBO offset support for D3D11.1.
    
    Also fixes the uniform count upper limit in glGetActiveUniformsiv,
    as well as an assert hit with used but unbound uniform buffer.
    
    BUG=angleproject:507
    BUG=angleproject:962
    
    Change-Id: I263b14df41d4e45a67304c1d145646398721cf0a
    Reviewed-on: https://chromium-review.googlesource.com/263412
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit eb62916960ffb3c46c9cc2e38515b3f7fc6b67ec
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Mar 31 15:42:55 2015 -0400

    Enable the OpenGL renderer in some basic end2end tests.
    
    Change-Id: I5c224fe779aed90332d14e463abedf8926516156
    Reviewed-on: https://chromium-review.googlesource.com/263337
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 60f8119dae8c6302207b12a24ce1fb5ffa7eb836
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Apr 1 10:53:43 2015 -0400

    Name all windows created by the WGL backend.
    
    When running from within the chrome test harness, calls to CreateWindow*
    in debug builds would return null when the title was an empty string.
    
    Change-Id: I0d5dfb1eb824ff2a1470e7d66d850602e73988a0
    Reviewed-on: https://chromium-review.googlesource.com/263430
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 1a506957a810306b87368cfe54859c3f0a9378df
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Mar 19 12:11:37 2015 -0400

    Rename SurfaceWGL to WindowSurfaceWGL.
    
    BUG=angleproject:890
    
    Change-Id: I72f28583e3903b273578abb6ed487c0a8d696746
    Reviewed-on: https://chromium-review.googlesource.com/261359
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 1aca922a557d960d94c78ee704944244895f7863
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Mar 19 12:02:50 2015 -0400

    Track more information at the egl::Surface level.
    
    Many of the members of SurfaceImpl could be stored in egl::Surface
    instead.  This makes SurfaceImpl a pure interface and makes Surface
    constructors much simpler.
    
    BUG=angleproject:795
    
    Change-Id: Ifa797b4bef84afe66f9fb3f3a6be260f726ca55c
    Reviewed-on: https://chromium-review.googlesource.com/261358
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 3917f578c7f50314dc36d4f8ec54b6024610b4ce
Author: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
Date:   Wed Apr 1 15:17:21 2015 +0100

    Revert "Add UBO offset support for D3D11.1."
    
    Was ignoring the uniform block bindings.
    
    This reverts commit 7159ea6778eb73c233736cc2fa59ae9177b75e4b.
    
    Change-Id: Ie7d2b40d3fb2adedd309f1162fb6fd33ab0b4c3c
    Reviewed-on: https://chromium-review.googlesource.com/263420
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit a79fac985fe0f73a443635f44e1a0bd12c35602c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Mar 27 09:46:43 2015 -0400

    Fix uninitialized member in BufferD3D.
    
    BUG=angleproject:956
    
    Change-Id: I853f3cf3171b85143e490ef9678aae7d38de0b1f
    Reviewed-on: https://chromium-review.googlesource.com/262778
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit 514df7f7044ef78542ef7fb435b49471ac1ca918
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Mar 27 09:46:42 2015 -0400

    Remove uses of std::unique_ptr in perftests.
    
    This is disallowed in Chromium because it isn't currently portable.
    We can put it back later if the rules change.
    
    BUG=angleproject:956
    
    Change-Id: I5be28590f494719b8cc995739dde26726283fced
    Reviewed-on: https://chromium-review.googlesource.com/262777
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit 2d1eea098ff00084be4287fdceed60cc9dfb2b42
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Mar 27 09:46:41 2015 -0400

    Remove shared_utils.h, use angle_common instead.
    
    *re-land with fix for Chromium compile*
    
    This saves us from needing to replicate the same code in two places.
    
    BUG=angleproject:956
    
    Change-Id: I68dffee715df03bd25685e3ed5c0506ffc41c3b9
    Reviewed-on: https://chromium-review.googlesource.com/263258
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit f0d10f89674f004ea3a7eab1ecb6f342f3fb369d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Mar 31 12:56:52 2015 -0400

    Replace non-copyable macro with a helper class.
    
    This class provides a simpler scheme for blocking default copy
    and assignment operators. It also reduces the amount of code
    needed since it's inherited to child classes. This also fixes
    the conflict between our macro and the same-named macro in
    Chromium code.
    
    BUG=angleproject:956
    
    Change-Id: If0dc72aa3f63fbc7b8fa34907418821c64c39e2f
    Reviewed-on: https://chromium-review.googlesource.com/263257
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit e8e530badef5f612affda367f18eb19f5830d7b5
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Mar 25 11:59:36 2015 +0200

    Implement drawRangeElements
    
    Implement drawRangeElements simply by calling drawElements internally. The
    start and end parameters passed to the function will be checked against results
    from index validation and an error is generated if indices fall outside the
    claimed range.
    
    Most dEQP-GLES3.functional.draw.draw_range_elements.* tests pass after this
    change. The remaining failures seem to be related to instanced attributes.
    
    BUG=angleproject:957
    TEST=dEQP-GLES3.functional.draw.*
    
    Change-Id: Id3923eb8114461b441e593357bc49babfd6b5c15
    Reviewed-on: https://chromium-review.googlesource.com/262420
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 4b07348bb67a5f88e7d35dd0d928810f268879b4
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Mar 31 21:17:26 2015 +0000

    Revert "Enable the OpenGL renderer in some basic end2end tests."
    
    Failures on Win 7/8 Debug NVIDIA bots.
    
    This reverts commit 1cb0a213a06386745e4ab80a76f622e23be20395.
    
    Change-Id: Ifb6b538e1b784a78c562a4d43d907bd0cdd59abf
    Reviewed-on: https://chromium-review.googlesource.com/263310
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 1cb0a213a06386745e4ab80a76f622e23be20395
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Mar 31 15:42:55 2015 -0400

    Enable the OpenGL renderer in some basic end2end tests.
    
    Change-Id: Iee9d9837c6021ad0c9d4f5749402c5d183e90f2a
    Reviewed-on: https://chromium-review.googlesource.com/263269
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 167dceb3c0769410eaabf005b94e8020d1a42053
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Mar 31 12:49:57 2015 -0400

    Check for the extension before creating compressed textures in SwizzleTest.
    
    Change-Id: Ia561fc7bb0262ab6974517d9796e4828db5b511c
    Reviewed-on: https://chromium-review.googlesource.com/263251
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 35d315c39892eeb3220abc2414dbe3a94818a13e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Mar 31 12:48:54 2015 -0400

    Disable UNIMPLEMENTED in ProgramGL::validateSamplers.
    
    Removing this allows many angle end2end tests to run without hitting any
    UNIMPLEMENTEDs.
    
    BUG=angleproject:882
    
    Change-Id: Idb55fae7b6fc7b23bc85d0bf376499f28669d771
    Reviewed-on: https://chromium-review.googlesource.com/263250
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 61a5b33878eda3e9d5c2eae1568289d15e223100
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Mar 31 15:35:09 2015 +0000

    Revert "Remove shared_utils.h, use angle_common instead."
    
    Causing a build conflig with Chromium's DISALLOW_COPY_AND_ASSIGN.
    
    http://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Win%20Builder/builds/24738
    
    This reverts commit 3ad467df2817df60ae90a84aae68dc37b46b2b34.
    
    Change-Id: I0cf13e3bc3af90303a123813052cced0ba086515
    Reviewed-on: https://chromium-review.googlesource.com/263159
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 7afd461709b208100f5195f1b4944ca890c8c9ca
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Mar 30 10:56:05 2015 -0400

    Disable vsync for perf tests and don't report the total time.
    
    BUG=angleproject:955
    
    Change-Id: I8223349622531c8fff7c7cd45bdf4754d7619ae2
    Reviewed-on: https://chromium-review.googlesource.com/263062
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit fc7cfd1cf5267d1891c77433c35249d3f69d70af
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Mar 31 14:46:18 2015 +0300

    Fix array function parameter syntax in HLSL equality function
    
    The fact that passing shaders to the platform compiler is deferred until
    linking is performed allowed this bug to pass undetected in earlier manual
    testing.
    
    TEST=WebGL conformance tests
    BUG=angleproject:941
    
    Change-Id: Ic12b5d0c5547057551df90086453e897a161d559
    Reviewed-on: https://chromium-review.googlesource.com/263221
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Nicolas Capens <capn@chromium.org>

commit 6d5463bda12f1cfb844acd1fc335aabb3c1cf96c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Mar 31 10:31:48 2015 -0400

    Always sync the texture sampler state.
    
    The sampler state may have changed even if the texture is already bound.
    
    BUG=angleproject:884
    
    Change-Id: I591f493099397bb07608096cf30ff46ed5090224
    Reviewed-on: https://chromium-review.googlesource.com/263147
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 3ad467df2817df60ae90a84aae68dc37b46b2b34
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Mar 27 09:46:41 2015 -0400

    Remove shared_utils.h, use angle_common instead.
    
    This saves us from needing to replicate the same code in two places.
    
    BUG=angleproject:956
    
    Change-Id: Ibc80997eec184d0d5aa9c6c076c9d4507fbf8caa
    Reviewed-on: https://chromium-review.googlesource.com/262776
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 9bd4dbef19f44e9d5a9535140299921cdd86ceb8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Mar 27 09:46:40 2015 -0400

    Split ANGLEPerfTest into a Render and basic test.
    
    The basic test we can use for perf testing internal classes with
    mocks. The render tests are more specific to doing draw calls.
    
    BUG=angleproject:956
    
    Change-Id: Iade393facc30c8d7288b1b94a159ce3afe993021
    Reviewed-on: https://chromium-review.googlesource.com/262775
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit fd1bf4e6fc3218aeeb23b5675eba7b3dc623b0c8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Mar 31 09:46:02 2015 -0400

    Add an BufferFactoryD3D class to help mocking.
    
    This D3D-only class has one method, used to generate the D3D
    IndexBuffer/VertexBuffer. This can help us mock up
    IndexDataManager.
    
    At a later point we can refactor the VertexFormat queries
    from Renderer into a Caps struct that mirrors our Texure
    Caps.
    
    BUG=angleproject:956
    
    Change-Id: Id8b1220a763873ee871ce92365bbee03633789c7
    Reviewed-on: https://chromium-review.googlesource.com/262774
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 7dcd2c7b423e3b8b9fb7694b586b2b2ac911b825
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Mar 18 17:22:38 2015 -0400

    Add stubs for EGL pixmap surface creation.
    
    BUG=angleproject:795
    
    Change-Id: I76b44e837eb6919f9d3c1eb56c2d3af84bc5ab09
    Reviewed-on: https://chromium-review.googlesource.com/260943
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 3d5f2687791e08e46c857c1aeeafb915269cb1ef
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Mar 25 17:05:59 2015 +0200

    Remove unused streamOffset from IndexRangeCache
    
    This value is now redundant - it is always the same as regular offset.
    
    TEST=angle_end2end_tests
    BUG=angleproject:956
    
    Change-Id: If4b6c8bcbebf24fbf84723fe081fd058916cc504
    Reviewed-on: https://chromium-review.googlesource.com/262423
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit ff5e7374aecf72c2e98f66f86ecc0dcf95608b62
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Mar 25 16:52:11 2015 +0200

    Recompute stream offset instead of fetching a cached value
    
    Recomputing the stream offset is relatively cheap now after recent changes.
    Remove caching it to make the code less complex.
    
    TEST=angle_end2end_tests
    BUG=angleproject:956
    
    Change-Id: Icb9cc4e4ffd685a78b7f8a45958992a471ebb0f5
    Reviewed-on: https://chromium-review.googlesource.com/262422
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 5f3f372abf66230752c44089e173792dfa19afa9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Mar 27 15:48:55 2015 -0400

    Remove unused tests folder.
    
    This is now located in src/ and Chromium no longer refers to it.
    
    BUG=None
    
    Change-Id: I64fd302629ca28aa367d8714bfbac2657774fc3b
    Reviewed-on: https://chromium-review.googlesource.com/262920
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit f1bd2d900c605cb0f3fb171d12369f552f51269e
Author: Maks Naumov <12maksqwe@gmail.com>
Date:   Mon Mar 30 22:36:04 2015 +0300

    Fix maxVertexUniformComponents initialization in GenerateCaps()
    
    Change-Id: Ie10398e148dc0b88e5d7a5330307dc49553c6665
    Reviewed-on: https://chromium-review.googlesource.com/263092
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 5ead927f9fa920c39e601fef91b66753d81e845e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Mar 25 12:27:43 2015 -0400

    Don't use a helper function to get the vertex attributes.
    
    The overhead of the function call ended up being a hot spot for draw calls
    since the attributes are iterated over many times in VertexDataManager.
    
    BUG=angleproject:959
    
    Change-Id: I9bbfcbd115661ad629db9ed93d683cd8d0dc9a78
    Reviewed-on: https://chromium-review.googlesource.com/263102
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 5b97287ea061ed69906d71c3fdc07b288e1905fc
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Mar 30 19:52:55 2015 +0000

    Revert "Don't use a helper function to get the vertex attributes."
    
    Caused a warning on 32-bit builds.
    
    This reverts commit 20d78d241b448aa0b2e3f49d902d3ab63a551932.
    
    Change-Id: I4d61024fb29978e7f1bacdd693fc6f1bc00bd0cc
    Reviewed-on: https://chromium-review.googlesource.com/262918
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 7159ea6778eb73c233736cc2fa59ae9177b75e4b
Author: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
Date:   Tue Mar 24 14:03:37 2015 +0000

    Add UBO offset support for D3D11.1.
    
    Also fixes the uniform count upper limit in glGetActiveUniformsiv.
    
    BUG=angleproject:507
    
    Change-Id: Icfc90ed64cf94b1bab2d4cc93a8fb5e11b28d666
    Reviewed-on: https://chromium-review.googlesource.com/261874
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 69c11b5dfccf7883f59e2a5eea86625b1a23d38a
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Mar 26 12:59:00 2015 +0200

    Move validation from Intermediate::addUnaryMath to ParseContext
    
    Intermediate should only have logic for creating node objects, validation
    of parameter types belongs in ParseContext.
    
    BUG=angleproject:952
    TEST=angle_unittests, WebGL conformance tests
    
    Change-Id: Ie90697641fabb2a837ccc4571a93616d63ea64e6
    Reviewed-on: https://chromium-review.googlesource.com/262414
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>

commit 7a26a1ad025101e156d2fbc9887a6c94acf00721
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Mar 25 12:29:06 2015 -0400

    Cache std::vectors in ProgramD3D to avoid allocations during draw calls.
    
    BUG=angleproject:959
    
    Change-Id: Ie08e68ae27372a97bd118e61478201b0d3dad955
    Reviewed-on: https://chromium-review.googlesource.com/262337
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 20d78d241b448aa0b2e3f49d902d3ab63a551932
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Mar 25 12:27:43 2015 -0400

    Don't use a helper function to get the vertex attributes.
    
    The overhead of the function call ended up being a hot spot for draw calls
    since the attributes are iterated over many times in VertexDataManager.
    
    BUG=angleproject:959
    
    Change-Id: I6c11d4a5a22c314c69b3403dfdeb2d950b1c7639
    Reviewed-on: https://chromium-review.googlesource.com/262336
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 45795dbe14265ff375395bf57e7004f903579254
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Mar 25 12:25:01 2015 -0400

    Inline commonly used Error methods and add move operators.
    
    The function call overhead of the constructors and assignement operators
    ended up being a hotspot even though the functions didn't do any
    significant work.
    
    BUG=angleproject:959
    
    Change-Id: I96769879dabdbba7a222f98d87c5be0a829cb7dd
    Reviewed-on: https://chromium-review.googlesource.com/262335
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 11ffe1b8796b95bd27b579c2477c73dd98e70d6b
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Mar 24 17:28:18 2015 +0200

    Micro-optimize math in IndexDataManager
    
    Use bitwise operations instead of division, which is expensive on multiple CPU
    architectures.
    
    BUG=angleproject:956
    TEST=angle_end2end_tests
    
    Change-Id: I57ab540d447c03dae5a96bafb4975fc37e310261
    Reviewed-on: https://chromium-review.googlesource.com/262181
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 5e5c826c8c9a37152e169e855ea44b3af0dae668
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Mar 26 14:04:54 2015 +0200

    Fix float-int conversion return type precision tracking
    
    Float-int conversion functions are defined to always return highp values.
    
    BUG=angleproject:865
    TEST=angle_unittests
    
    Change-Id: Idf243b483f7b5edfcb54de2755af11e17c3756d3
    Reviewed-on: https://chromium-review.googlesource.com/262413
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>

commit cd69f1c9c0072d6869c94ff904ec228b7ac94a31
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Mar 18 14:33:23 2015 -0400

    Implement RenderbufferGL.
    
    BUG=angleproject:886
    
    Change-Id: I7480943d678b2cdf6e997c3f8316acdef32f5f0d
    Reviewed-on: https://chromium-review.googlesource.com/260889
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit a08e1bd064fe1e982e182624c3a040609fb816ad
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Mar 24 10:17:18 2015 -0400

    Split Renderbuffer::setStorage into two functions to match the API.
    
    BUG=angleproject:886
    
    Change-Id: I74375351339464b450c2f058adbeed7a1ba18cdd
    Reviewed-on: https://chromium-review.googlesource.com/262125
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 4ad1709fed08e48c4c5a640c96f22716fc394ac8
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Mar 10 16:47:44 2015 -0400

    Implement FramebufferGL.
    
    BUG=angleproject:885
    
    Change-Id: Ifb5818f185236c671cd7f20ed352edb887b49675
    Reviewed-on: https://chromium-review.googlesource.com/258420
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 0728514a421674b901dd938a5f8b50fc24f69be4
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Thu Mar 26 11:36:16 2015 -0700

    Fix mipmapped GL_ALPHA UBYTE textures on 9_3
    
    Change-Id: I59020f8152d47091533d69d20fe5ff56e5f96bc1
    Reviewed-on: https://chromium-review.googlesource.com/262551
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Austin Kinross <aukinros@microsoft.com>

commit 31f8f4f5ee027dc5ce2ddba011308a397730aeaf
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Mar 25 16:03:57 2015 +0200

    Use switch/case in GetTypeInfo instead of a map lookup
    
    This should be faster, and also matches the C++ style rules better: static
    variables should not have complex class types.
    
    BUG=angleproject:956
    TEST=angle_end2end_tests, WebGL conformance tests
    
    Change-Id: I628db95febab309e241be216e2998305525da76e
    Reviewed-on: https://chromium-review.googlesource.com/262421
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 1ea584c562b74e0a5bb7420d702fb613195175b5
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Mar 26 21:08:33 2015 +0000

    Revert "Implement EXT_discard_framebuffer in D3D11 renderer"
    
    Causes failures in video related WebGL tests.  Either there is a bug in the implementation or how chrome is using it.
    
    This reverts commit b13daa8f79f4d16a990d968d7d2c04da6b72d302.
    
    Change-Id: Ic0d74840c664bf4de18d85cc3ff7f7153936d9b0
    Reviewed-on: https://chromium-review.googlesource.com/262715
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit e4ea202af649e1982e5e758ec1a7b87b8336affb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Mar 26 20:35:05 2015 +0000

    Revert "Compile the D3D11 VS and PS on separate threads at GL link time"
    
    Causing a high-volume crashe in Chrome.
    
    This reverts commit 434953e20002666f66d721aaacbcb8410f7dbd56.
    
    BUG=470695
    
    Change-Id: I2062c706ab6ca6b4c3117685df67c33572518da5
    Reviewed-on: https://chromium-review.googlesource.com/262704
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit e842eabd0d0155c60a19da36d36292a2652945d8
Author: Jacek Caban <cjacek@gmail.com>
Date:   Thu Mar 26 16:50:35 2015 +0100

    Fixed compilation with mingw.
    
    Change-Id: I027cedc383efbd215e55a7ddf4e41eb1c368a1ae
    Reviewed-on: https://chromium-review.googlesource.com/262590
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jacek Caban <cjacek@gmail.com>

commit b13daa8f79f4d16a990d968d7d2c04da6b72d302
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Thu Mar 19 17:00:44 2015 -0700

    Implement EXT_discard_framebuffer in D3D11 renderer
    
    Change-Id: I0e39a196796813203c841c46aa2a6b89957f6051
    Reviewed-on: https://chromium-review.googlesource.com/261355
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit ecbfc5c693f4e9a3581c28165c5a2c20abec14ab
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Mar 23 15:15:59 2015 +0200

    Fix formatting in compiler tests
    
    Remove extraneous semicolons and fix indentation in a couple of places.
    
    TEST=angle_unittests
    
    Change-Id: Iaa51eb50990c0435f41dfd346ec161216cd8d372
    Reviewed-on: https://chromium-review.googlesource.com/261823
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit ff69900545e1899a1987eb29089e79c95e6a3789
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Mar 23 14:38:42 2015 +0200

    Disallow operations on structs containing samplers
    
    ESSL 1.00 spec section 5.9 says that equality operators don't operate on
    structs containing sampler types. Section 5.7 also suggests this. ESSL
    3.00 doesn't have a similar restriction.
    
    ESSL 1.00 spec section 4.1.7 says that structs containing samplers can't
    be used as l-values. This is interpreted to apply also in the case of
    ESSL 3.00, which similarly disallows samplers as l-values, but doesn't
    explicitly mention structs.
    
    BUG=angleproject:954
    TEST=angle_unittests, WebGL conformance tests
    
    Change-Id: I73f74962a192e8d9449990ffa5f3d8c851491601
    Reviewed-on: https://chromium-review.googlesource.com/261822
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit ae37a5c831f617ed25f6cd30192b9da3461a1c92
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Mar 20 16:50:15 2015 +0200

    Support equality between structs containing arrays in HLSL output
    
    This requires sorting all equality functions together so that struct
    equality functions can have dependencies on array equality functions, but
    support for array equality functions that have dependencies on struct
    equality functions is also maintained.
    
    There's no automated test coverage for this specifically. The change was
    tested by manually inspecting shader output and ensuring that there were
    no test regressions in tests listed below.
    
    TEST=dEQP-GLES3.functional.shaders.*
    BUG=angleproject:954
    
    Change-Id: If7199ab2446804afae50f103bb625101172882b9
    Reviewed-on: https://chromium-review.googlesource.com/261550
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 7fb4955da9f760766918abc640c95ebcd41caee4
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Mar 18 17:27:44 2015 +0200

    Support array equality operator in HLSL output
    
    This requires adding functions to the shader source that can do the
    comparison for a specific array size.
    
    There's no automated test coverage specifically for this functionality,
    since all deqp tests that cover this also require array constructors to
    be supported. The change has been tested by manually inspecting shader
    output. No regressions were seen in automated tests listed below.
    
    TEST=dEQP-GLES3.functional.shaders.*, angle_unittests
    BUG=angleproject:941
    
    Change-Id: Ie2ca7c016a3f0bcb3392a96d6d20d6f803d28bf0
    Reviewed-on: https://chromium-review.googlesource.com/261530
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 8fcd4e0ce55d3158e23e8f9e5012f5e4d005a170
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Mar 24 16:19:33 2015 +0200

    Fix redundant index validation on the D3D9 backend
    
    Make sure that the computed index range is added to the cache of the main
    buffer object, instead of just to the static buffer object created for the
    buffer object. This applies to the code path used for D3D9. This way the
    front-end code in ValidateDrawElements gets the index range from the cache
    instead of having to iterate over all the indices used on every draw call.
    
    BUG=chromium:461274
    TEST=WebGL conformance tests, angle_end2end_tests
    
    Change-Id: I07cf493d2771dab8e76d69bafda7ac49e5a04808
    Reviewed-on: https://chromium-review.googlesource.com/262180
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 19a43dbe65afaf80927fba5aa96396215168e171
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Mar 20 16:14:04 2015 -0400

    Add a perf test for draw call overhead.
    
    These perf tests use the D3D NULL renderers to measure pure CPU
    time, with no GPU limitations. Also fix our D3D9 SwapChain code
    to skip creating a SwapChain for NULLREF D3D9 devices, and the
    vertex decl code to reinitialize the formats when finding a
    mismatch with the previous value.
    
    BUG=angleproject:955
    
    Change-Id: I449e63177b48afd1559c36244de0bc252814e813
    Reviewed-on: https://chromium-review.googlesource.com/262208
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit b9c0d3b6d8f561b20056f46f87a60c66cbf15ee7
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Mar 20 12:46:33 2015 -0400

    Move buffer::markTransformFeedbackUsage to BufferD3D only.
    
    BUG=angleproject:681
    
    Change-Id: Ia9f4ac9cee2c3e4fa140eba12bdb9ab0cc423f6c
    Reviewed-on: https://chromium-review.googlesource.com/261709
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 1c0ad625f6f23008895bbf846babe0376b4c4977
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Mar 24 10:27:45 2015 -0400

    Emulate TextureStorage when it is not available.
    
    BUG=angleproject:884
    
    Change-Id: Ie6e809477253502d88f599172eaed17638e58dd3
    Reviewed-on: https://chromium-review.googlesource.com/262112
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 9d3ae5fe1f40c7ad7cb033f2fda9853e1035d48f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Mar 18 17:20:33 2015 -0400

    Use the Surface type for validation and fix incorrect window validation.
    
    The window passed to surface creation should not be used by any surface
    owned by any display, not just the current one.  Store a global window
    surface list for validation.
    
    BUG=angleproject:795
    
    Change-Id: I2314979f2f27848b21fcb00676194d7671d1db68
    Reviewed-on: https://chromium-review.googlesource.com/260942
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 4b91262a7c3b6adf0406c8df07c223e2a40185eb
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Mar 18 17:17:59 2015 -0400

    Pass the Surface type, config and attributes to the constructor.
    
    BUG=angleproject:795
    
    Change-Id: I15e7f2f51ecc243edf83d9a9544eba137d8bb599
    Reviewed-on: https://chromium-review.googlesource.com/260941
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 3cd438d107c9e2daba2cff8c8b8a715488199c69
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Mar 17 11:25:27 2015 -0400

    Add dEQP tests.
    
    We integrate dEQP as a console application and a shared library which
    runs all of the test logic. Using a shared library lets us compile
    dEQP with all the specific compiler options it needs, without
    conflicting with the compile settings in ANGLE proper.
    
    Currently we only support Windows D3D11, ES 2 and 3. We can add
    other targets in the future.
    
    We also have a few bugs preventing us from running the test suite in
    full. We run into infinite loop problems in some shader tests, and
    have crashes or UNIMPLEMENTED in others.
    
    BUG=angleproject:901
    
    Change-Id: Ib6fe66041a6fe547eb2cba497c52de7fd080d667
    Reviewed-on: https://chromium-review.googlesource.com/238084
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit f9c7a67b31f1bf630dc9c3f2fe2fad02079bc6c7
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Mon Mar 23 14:41:42 2015 -0700

    Fix copyTexImage2D failures on D3D11 9_3
    
    Change-Id: I16453248c2cb0aaf53a748eb8d6e32c63fa73394
    Reviewed-on: https://chromium-review.googlesource.com/261983
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 7e8320d88e3c392cade416d341bfe94a4249045e
Author: Nico Weber <thakis@chromium.org>
Date:   Mon Mar 23 14:22:15 2015 -0700

    Make angle perftests build with clang.
    
    ::testing::WithParamInterface ends up calling deleting an object
    with the type of the template parameter, and the pointer it deletes
    could arguably point to a subclass of the param object -- so clang
    warns that there's a delete on a class with a virtual method but
    without a virtual dtor.  Make the param classes final to let the
    compiler know that this can't happen in practice.
    
    BUG=chromium:82385
    
    Change-Id: I49a4120b15670d876613b22ba709d50bf4685006
    Reviewed-on: https://chromium-review.googlesource.com/261965
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Nico Weber <thakis@chromium.org>

commit 7c82bc461897f41983d594c827ca7a02149638b3
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Mar 9 16:18:08 2015 -0400

    Handle client data for draw calls with RendererGL.
    
    BUG=angleproject:880
    
    Change-Id: I67839d4934767db77cff7b501002c5aafbcbaef2
    Reviewed-on: https://chromium-review.googlesource.com/257672
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 84e91d3962d74c1c638d592aadf2571feb6ed15e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Mar 20 13:38:35 2015 -0400

    Add a comment explaining the buffer binding points.
    
    BUG=angleproject:881
    
    Change-Id: If81675ef4931c920edac56249461db7c91cc170c
    Reviewed-on: https://chromium-review.googlesource.com/261708
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 9dd217bc44545d48597a8fc846c96d59be65002b
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Mar 20 14:24:31 2015 +0200

    Disallow operations on structures containing arrays in ESSL1
    
    Comparing structures that contain arrays to each other and assigning
    structures that contain arrays is "not defined" in ESSL 1.00 (section
    5.7). Sections 5.8 and 5.9 further suggest that these operations are not
    allowed. Additionally some platform drivers on Linux seem to reject
    shaders produced by ANGLE which compare structures containing arrays.
    This might require changing the output GLSL version for ESSL 3.00.
    
    BUG=angleproject:954
    TEST=angle_unittests
    
    Change-Id: I5f3a016f360f940f2fc1ec1ff8e60d13a977eb69
    Reviewed-on: https://chromium-review.googlesource.com/261531
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit bdd419f9f5b006e913606e7363125942c8ae06bc
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Mar 20 15:29:42 2015 -0400

    Fix ResourceManager create-on-bind reallocations.
    
    *re-land with build fix for Clang*
    
    We had a funny bug where the Handle Allocator would re-allocate
    reserved handles after the app layer creates one with Bind rather
    than using Gen. This affects Textures, Buffers and Renderbuffers.
    
    Fix this by using a different allocation scheme. It should still
    be fast on the "good" case (using Gen) and use tree lookups on the
    bind case. Also add some unit tests.
    
    BUG=angleproject:942
    
    Change-Id: I63ce608fcd6a11f92e2b5421f090551934e729ed
    Reviewed-on: https://chromium-review.googlesource.com/261591
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 21045f5a7084edf751ee47e6312deff1c83ea8a9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Mar 20 19:28:45 2015 +0000

    Revert "Fix ResourceManager create-on-bind reallocations."
    
    Build break on GPU FYI Bots on Linux/Mac:
    
    http://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Mac%20Builder/builds/28092
    
    This reverts commit 61ce1a414e74f6a72a520d6adf59bff13aff03a0.
    
    Change-Id: If2e7fb35c769708a783a32932b777dc97eaba8a4
    Reviewed-on: https://chromium-review.googlesource.com/261590
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 47fd36a70cf5989e2e602b61ca56962913f06d04
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Mar 19 14:22:24 2015 +0200

    Move some validation from IntermBinary::promote to ParseContext
    
    This makes the role of promote() in the system clearer and helps to make
    the code more understandable, since more of the checks are in the same
    logical place.
    
    BUG=angleproject:952
    TEST=angle_unittests, WebGL conformance tests
    
    Change-Id: Idb2de927d872e46210d71cf6de06a6f8c1fc5da1
    Reviewed-on: https://chromium-review.googlesource.com/260803
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 4904a79b40a167f66e23f095ce650c497d7a0a5b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Mar 20 11:54:37 2015 -0400

    Use the GL_COPY_READ_BUFFER binding for copy sources.
    
    Using the ELEMENT_ARRAY binding can cause issues such as rebinding the
    current VAO's index buffer unexpectedly.
    
    BUG=angleproject:881
    
    Change-Id: Ieeed52ac81c23a46bfe9fc4365239c2b177ff6ac
    Reviewed-on: https://chromium-review.googlesource.com/261563
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 61ce1a414e74f6a72a520d6adf59bff13aff03a0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Mar 20 13:13:04 2015 -0400

    Fix ResourceManager create-on-bind reallocations.
    
    We had a funny bug where the Handle Allocator would re-allocate
    reserved handles after the app layer creates one with Bind rather
    than using Gen. This affects Textures, Buffers and Renderbuffers.
    
    Fix this by using a different allocation scheme. It should still
    be fast on the "good" case (using Gen) and use tree lookups on the
    bind case. Also add some unit tests.
    
    BUG=angleproject:942
    
    Change-Id: I2e3f4c31b28cb86bd3699035f5d55568a2a1d7d5
    Reviewed-on: https://chromium-review.googlesource.com/258904
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 4bcf5b56ee402d7e57f747496b38649e915a7685
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Thu Mar 19 14:00:19 2015 -0700

    Uninitialize the debug annotations when unloading a renderer
    
    Change-Id: I125de997853c9deda365e4827322c29d1f20edf2
    Reviewed-on: https://chromium-review.googlesource.com/261253
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit be13ffcacabd1e21cc70d651b159c73c845b602b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Mar 19 13:42:16 2015 -0400

    Use google test to wrap our perf tests.
    
    This provides easy implementation with the Chromium perf bots.
    
    BUG=angleproject:744
    
    Change-Id: I71c04e3d67cae9344ddca9fd95fd3c9849494922
    Reviewed-on: https://chromium-review.googlesource.com/260644
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit 6ae6efcae0842409a22906f57a14fbd59a986cf7
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Mar 9 14:42:35 2015 -0400

    Only sync the VAO state just before the draw call.
    
    BUG=angleproject:880
    
    Change-Id: Ifd59c0f67aeab0e4700b3dca57c1b75e3fae48b8
    Reviewed-on: https://chromium-review.googlesource.com/257671
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit fb2a559726e4bb61814d081070d391fc9203c56e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Mar 20 11:25:37 2015 -0400

    Fix incorrect assertion.
    
    BUG=angleproject:884
    
    Change-Id: I3406eec99609b85c407797c50b71611b445a6ca5
    Reviewed-on: https://chromium-review.googlesource.com/261462
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 30ceb3a12d122f1a7680e52c4a5888a82c4ac349
Author: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
Date:   Thu Mar 19 19:20:06 2015 +0000

    Update Canary WebGL CTS expectations.
    
    Change-Id: Ia8375595b34e00a48143a568a4a9ab7157a12cd2
    Reviewed-on: https://chromium-review.googlesource.com/261171
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 64af27bd04ca7202d62799d509354b714502789d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Mar 19 13:42:14 2015 -0400

    Make Optional a proper helper class.
    
    Move this to a common area, out of perf tests.
    
    Change-Id: I53d36accfe0c53789c007edfb20ba7e964947def
    Reviewed-on: https://chromium-review.googlesource.com/260643
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>

commit f55d4d17de1b1642a18f5f611bb2424f4af0a3b4
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Thu Mar 19 10:17:00 2015 -0700

    Remove hardcoded additional include/lib paths from WinRT projects
    
    Change-Id: Ic78a7dc3a1b3027f4fffc352fa2fb097b6024970
    Reviewed-on: https://chromium-review.googlesource.com/261185
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 8b695ee35403008684864fc7fe15e6820be0d37e
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Thu Mar 12 13:12:20 2015 -0700

    Reduce unnecessary built-in varying usage in D3D renderer
    
    Change-Id: I0c404e77aa3f56ddc5b97a206b06c7907edfb1eb
    Reviewed-on: https://chromium-review.googlesource.com/259812
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit c8ef69d242f0341d4e0ef5d8203ba3d159c980e8
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Wed Mar 18 16:43:22 2015 -0700

    Fix C4702 issues (unreachable code) in ANGLE, excluding <xtree>
    
    Change-Id: Ia7603139af266fd7b14efc8c3465225738456e67
    Reviewed-on: https://chromium-review.googlesource.com/261038
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit ed54e5db326cfd0c8db67f671b0c98834f8a6e46
Author: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
Date:   Tue Mar 17 16:51:24 2015 +0000

    Fix framebuffer zero used after being destroyed in Context destructor.
    
    BUG=angleproject:950
    
    Change-Id: I06e9e6ccf92ee8ca0b1de98cc48ef68a85107214
    Reviewed-on: https://chromium-review.googlesource.com/260573
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>

commit e79904c37c361bc689c86565ccea01575a7fdd2f
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Mar 18 16:56:42 2015 +0200

    Accept equality and assignment for arrays in parsing
    
    This is enough to support the operations in GLSL output. HLSL output will
    likely require additional work to support this.
    
    BUG=angleproject:941
    
    Change-Id: I728d511ab07af94bc3382dc2796c1e9ac79d1442
    Reviewed-on: https://chromium-review.googlesource.com/260801
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 1ade24db74628152da0f84ff0ebd4ff2549eb7d5
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Mar 19 16:29:32 2015 +0200

    Add #version 300 es to ESSL output when needed
    
    BUG=angleproject:953
    
    Change-Id: Ib9e45fab1d35f8c78abd0ac2209ac4f63afe4465
    Reviewed-on: https://chromium-review.googlesource.com/261170
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit d6b1428771146333d65473e2638693b579b6b2e7
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Mar 17 14:31:35 2015 +0200

    Move binary op array check to ParseContext
    
    Also piece together an addAssign function in ParseContext that uses the
    binary op array check. This will make it easier to change the
    array-related checks in the future to use shaderVersion. Moving
    validation out from IntermBinary::promote also makes the architecture
    clearer, promote()'s role should be mainly to determine the type of the
    return value of the binary operation, not to do validation.
    
    BUG=angleproject:941
    TEST=angle_unittests, WebGL conformance tests
    
    Change-Id: If1de33ea250893527be7f0d7930d4678a0864684
    Reviewed-on: https://chromium-review.googlesource.com/260571
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit b2983c9558c5793cdb668fe49f3d5798f95c36d2
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Mar 18 14:02:46 2015 +0200

    Correctly insert unmangled function names to symbol table
    
    This fixes detecting some cases of function parameter mismatch
    (previously a mangled function name corresponding to no function
    parameters was added to the symbol table for each user-defined function,
    and this was returned when doing function lookups with no parameters).
    
    Also fixes detection of reusing a function name as a variable/struct
    name.
    
    New unit tests are added to ensure that these fixes don't regress.
    
    BUG=angleproject:936
    TEST=angle_unittests, WebGL conformance tests
    
    Change-Id: I2dadde9dcc01c7a4a653c1982c36377b89e6d437
    Reviewed-on: https://chromium-review.googlesource.com/260800
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 5659619ad230f7e91ec4fefddc11b28f834b9a53
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Mar 19 10:23:13 2015 -0400

    Fix uninitialized ConfigSorter read.
    
    We were not initializaing the mWant* members to false.
    
    BUG=468638
    
    Change-Id: I90ef131c930c6f9c31e9bc9cec951c1f91816eb0
    Reviewed-on: https://chromium-review.googlesource.com/261047
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit a17e77febd24b92bf0a650eb401dbe215e0d6606
Author: Dirk Pranke <dpranke@chromium.org>
Date:   Wed Mar 18 14:58:49 2015 -0700

    Replace stray reference to cpu_arch in BUILD.gn.
    
    cpu_arch has been replaced by target_cpu and current_cpu in GN.
    
    R=geofflang@chromium.org
    BUG=344767
    
    Change-Id: Id1c0e37238db5fac41572244aeac0908ac5a412a
    Reviewed-on: https://chromium-review.googlesource.com/260971
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit d4475816b67fa385e82c52ff7e1ef83cba98aa35
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Mar 18 10:53:05 2015 -0400

    Always use static_assert for compile-time assertions and remove META_ASSERT.
    
    BUG=468139
    
    Change-Id: I696ef307f2faa54bb72df66784bc79a055499987
    Reviewed-on: https://chromium-review.googlesource.com/260776
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit fc1806e14df971d78ed72d2f936ff2f55cdba66a
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Mar 17 13:03:11 2015 +0200

    Move most of addBinaryMath from Intermediate to ParseContext
    
    Some type checks for binary math will be different based on the shading
    language version, which is easily accessible in ParseContext. Because of
    this and also for architectural simplicity it makes more sense to have
    the checks in ParseContext.
    
    BUG=angle:941
    TEST=angle_unittests, WebGL conformance tests
    
    Change-Id: I92a499f47e1cbc6a7b6391ce0fa04284803e7140
    Reviewed-on: https://chromium-review.googlesource.com/260570
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 2c7c625a5e973627686b162716dd743caa16d5fc
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Mar 12 14:15:38 2015 -0400

    Refactor D3D Debug Annotations code.
    
    This encapsultates the different implementations and allows us to
    compile debug.cpp in the common libraries without link errors.
    
    BUG=angleproject:513
    
    Change-Id: I16dc4c666fb4266ee5146d64d77eb9925c7584a8
    Reviewed-on: https://chromium-review.googlesource.com/256450
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit b8af723d9f63ae00680495e9b25b8106cea09a69
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Mon Mar 16 22:33:25 2015 -0700

    Fix and enable warning C4245 (signed/unsigned mismatch)
    
    Change-Id: If48043835fcc98341a0626e3ece7d0e3f7958059
    Reviewed-on: https://chromium-review.googlesource.com/260630
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Cooper Partin <coopp@microsoft.com>
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 5899aadb47a1e7037b5fdf20276d84910af0fa7f
Author: Cooper Partin <coopp@microsoft.com>
Date:   Tue Mar 17 14:30:04 2015 -0700

    Fix Winrt Project generation
    
    Change-Id: I5688f17d8fc18f36363afbfd2728b0b3475fb2bd
    Reviewed-on: https://chromium-review.googlesource.com/260606
    Tested-by: Cooper Partin <coopp@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 968992e3878305eaac20b86140e5b29589680e1b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Mar 17 18:01:49 2015 -0400

    Fix unreferenced function warning.
    
    Change-Id: I66b1821e5effcb761a5a0268f7f375289aa3a621
    Reviewed-on: https://chromium-review.googlesource.com/260632
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 6bd5831261ff96fb7abf224a9a7ead5e2c97fdc9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Mar 13 10:45:27 2015 -0400

    Make Platform methods global.
    
    This will allow them to be imported dynamically without name
    mangling. This is necessary because sometimes SwiftShader
    overrides libGLESv2 and libEGL, so we need to determine at
    run-time if we are running with "actual" ANGLE.
    
    BUG=466735
    
    Change-Id: I396d717b79066feb8ed0d577ee7386b33eb1d160
    Reviewed-on: https://chromium-review.googlesource.com/259954
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 1f40291c8f8b63494dc37f41d82552b495083a52
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Mar 9 14:28:02 2015 -0400

    Remove the non-templated RefCountObjectBindingPointer class.
    
    This allows the regular BindingPointer class to template on const types.
    
    Also added assignment and copy operators that don't leak the resources.
    
    BUG=angleproject:880
    
    Change-Id: If3efa26a7fa89306d783c3e8a5fb92b16861d77a
    Reviewed-on: https://chromium-review.googlesource.com/257670
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 6341939f3b7fc90a5360198bc6d564b09a6b4ab0
Author: Arun Patole <apatole@nvidia.com>
Date:   Fri Mar 13 11:51:07 2015 +0530

    Fix code duplication in OutputHLSL
    
    While debugging, I came across the piece of code in
    OutputHLSL::OutputHLSL which is unnecessarily duplicated,
    this change just fixes it.
    
    Change-Id: I0549d58696417ccf651bacfa19f489b290d4ba6e
    Reviewed-on: https://chromium-review.googlesource.com/259960
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 0110e17264fb70ac5dcb72032d057d4051411a7c
Author: Cooper Partin <coopp@microsoft.com>
Date:   Wed Mar 11 12:26:30 2015 -0700

    Update ANGLE_platform_angle_d3d to be able to disable automatic trim.
    
    BUG=angleproject:946
    
    Change-Id: I5652495842b057998318b1583f8e1a586eba39aa
    Reviewed-on: https://chromium-review.googlesource.com/258940
    Tested-by: Cooper Partin <coopp@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit c05f7065c90fda86bce7c07d2d1aa3434c239163
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Mar 10 09:50:57 2015 -0700

    TextureGL implementation.
    
    BUG=angleproject:884
    
    Change-Id: I877c0a9f753dacff96bbb82486bee71d1996ecb7
    Reviewed-on: https://chromium-review.googlesource.com/252982
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 559a2e8cdc911d2624c3fb84aaca8c4c0b386985
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Mar 16 17:25:51 2015 -0400

    Move the ANGLE tests project to src/
    
    *re-re-land with fix for Chrome's angle tests*
    
    BUG=angleproject:945
    
    Change-Id: I3c64e2edc776c299791440f65f22450855eb6dfa
    Reviewed-on: https://chromium-review.googlesource.com/260448
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 96e3f556d602ed1b505180b0e8f280df63b37ce0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Mar 16 21:24:20 2015 +0000

    Revert "Move the ANGLE tests project to src/"
    
    Still causing build issues on Chrome.
    
    This reverts commit 64a3b2a92fe3bbd28972638e6759fae0b98d81b9.
    
    Change-Id: I8d40fe3dfd0a877343357153a02b8ef66d571c64
    Reviewed-on: https://chromium-review.googlesource.com/260425
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 64a3b2a92fe3bbd28972638e6759fae0b98d81b9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Mar 16 11:00:20 2015 -0400

    Move the ANGLE tests project to src/
    
    *re-land with fix for Chromium build*
    
    BUG=angleproject:945
    
    Change-Id: I82bff1760e681987fb26e479734aa62fb845898a
    Reviewed-on: https://chromium-review.googlesource.com/260362
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 5491fe6667c33ce8550b57fd35d4316de5e04ec2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Mar 16 17:56:18 2015 +0000

    Revert "Move the ANGLE tests project to src/"
    
    Causing build break in Chromium.
    
    This reverts commit 71c2d85c4af2f6cb213d4f3e15f0ae16b63790f3.
    
    Change-Id: Iedf001c1f4c60a759f69009610fbce978d193d17
    Reviewed-on: https://chromium-review.googlesource.com/260370
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 71c2d85c4af2f6cb213d4f3e15f0ae16b63790f3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Mar 16 10:47:04 2015 -0400

    Move the ANGLE tests project to src/
    
    BUG=angleproject:945
    
    Change-Id: I2eb44ac43f65b916ddd838d39e6aae62580d7fa0
    Reviewed-on: https://chromium-review.googlesource.com/258903
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit 48115b6fcfaa80ed3e496839f67db5c276a49fd5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Mar 16 10:46:57 2015 -0400

    Use rx::ImplFactory in Framebuffer init.
    
    BUG=angleproject:942
    
    Change-Id: Idf14a4e42148b379b64b129ab649a9222cf1fb52
    Reviewed-on: https://chromium-review.googlesource.com/258902
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit ae6495e50762c5f28b16ad671270f3cff19880ea
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Mar 16 10:46:56 2015 -0400

    Use rx::ImplFactory in ResourceManager.
    
    This will make mocking easier for unit testing ResourceManager.
    
    BUG=angleproject:942
    
    Change-Id: I24b9d0be550991845225141d6e7d5630383a8718
    Reviewed-on: https://chromium-review.googlesource.com/258901
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 87de3627de25d2915ca892f560a3b840318de244
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Mar 16 10:41:44 2015 -0400

    Implement pass-through pack state params.
    
    Same as for unpack, this allows us to pass through the state reset
    code of dEQP without UNIMPLEMENTED errors, while still throwing
    asserts if they are set to non-default values.
    
    BUG=angleproject:901,angleproject:512
    
    Change-Id: I0ce0258b0e91eb83c066c241693aaa5c164b2989
    Reviewed-on: https://chromium-review.googlesource.com/257131
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 67102f01dc6a606c65a05121c61dc6630423ab3c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Mar 16 10:41:42 2015 -0400

    Add pass-through for new unpack store params.
    
    Move the UNIMPLEMENTED checks to where they are used with non-default
    values. This allows dEQP to pass the prerequisite tests like state
    reset without throwing assertion failures in debug.
    
    BUG=angleproject:901,angleproject:512
    
    Change-Id: I3bd35f6dea61e7d80d1379ba4e8e13437e68431a
    Reviewed-on: https://chromium-review.googlesource.com/257130
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 2728eda4bc1d9aa3ac34c610b307c66660dc2376
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Mar 16 10:23:50 2015 +0200

    Revert "A special state to track field selection is not necessary."
    
    This reverts commit f8dc4fb66d2ee473b6ba37626f02756422863f6c.
    
    The special state to track field selection is actually necessary to avoid
    reduce/reduce conflicts when array constructors are added to the grammar.
    
    BUG=angleproject:941
    TEST=WebGL conformance tests, angle_unittests
    
    Change-Id: I55476483c9e83241e8978cd58f05ef303c7c8680
    Reviewed-on: https://chromium-review.googlesource.com/260260
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 28291c5a1b87d4ad659b8430faf877a40ebe5bf0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Mar 16 10:46:54 2015 -0400

    Add an ImplFactory base class.
    
    This class helps make mocking easier for unit tests.
    
    Also update the back-end generator script.
    
    BUG=angleproject:942
    
    Change-Id: Ib0cee2b40c3a0faaac32b22c986b824b7b2dddde
    Reviewed-on: https://chromium-review.googlesource.com/258900
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit f75ab3509b66db268a51c550a8b3e056e8501149
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Mar 16 10:46:52 2015 -0400

    Make ClearParameters an rx-only type.
    
    This legacy struct duplicates some methods in the gl::State. We
    can restrict its use to D3D and on newer back-ends use the State
    directly.
    
    BUG=angleproject:930
    
    Change-Id: I2c298e76b072ee73f2b3e17f6696693031ce1f91
    Reviewed-on: https://chromium-review.googlesource.com/258070
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 14fc83b653b7075b01be6dce004be92322fca4c9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Mar 12 14:40:53 2015 -0400

    Fix EGLQueryContextTest.
    
    BUG=466704
    
    Change-Id: I6d87d6cd155fea347cac50b6cb5d1f9641f23e4a
    Reviewed-on: https://chromium-review.googlesource.com/259761
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit 4f52da4a6ab567bc0dc30f097b38796bf5c7bb69
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Mar 11 10:48:41 2015 +0200

    Remove no-op functionality from IdentifyBuiltIns and refactor
    
    Adding array built-ins like gl_FragData and gl_LastFragData to the
    symbol table with a name that included their size in brackets was
    incorrect and unnecessary. Remove this. The array built-ins should only
    be added with their proper name and with an array type.
    
    Also refactor the code to reduce unnecessary repetition of conditions.
    The previous version attempted to split the built-ins that had
    dependencies on resources into their own part of the code, but this split
    was not clearly defined and only made the code harder to follow and
    prone to issues.
    
    TEST=WebGL conformance tests
    
    Change-Id: I7a77865a594864a22f3b566f9d3da1d0ead46466
    Reviewed-on: https://chromium-review.googlesource.com/258751
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 61ffec88ae85971662e5ebc36201638305566d40
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Mar 11 10:35:01 2015 +0200

    Fix formatting of IdentifyBuiltIns
    
    Fix indentation of case labels, fix too long lines, put braces on their
    own lines and remove extraneous spacing and comments that didn't
    contribute to the readability of the code.
    
    TEST=WebGL conformance tests
    
    Change-Id: Ie33d0a7c4412c448081f5d879fa9f64baaf8d537
    Reviewed-on: https://chromium-review.googlesource.com/258750
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 434953e20002666f66d721aaacbcb8410f7dbd56
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Fri Feb 20 10:49:51 2015 -0800

    Compile the D3D11 VS and PS on separate threads at GL link time
    
    Change-Id: Ib534483f2ec3922cfeaf71cf1d9e9c433fe04b08
    Reviewed-on: https://chromium-review.googlesource.com/251612
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit bc8a177281d597118baf56e51a5f505e626f6a4d
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Thu Feb 26 14:11:43 2015 -0800

    Fix WinRT build break due to D3D9 histogram assumption
    
    Change-Id: Id8e8bed76a813e5cf082659671bb6f4a112ecf24
    Reviewed-on: https://chromium-review.googlesource.com/254340
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 44efa0b8cc9743952b57486b2b4b75c9dd585702
Author: Arun Patole <apatole@nvidia.com>
Date:   Wed Mar 4 17:11:05 2015 +0530

    Conditionally enable IEEE strictness for isnan()
    
    ANGLE's ESSL3 built-in function isnan() implementation just uses HLSL
    intrinsic function isnan(). For HLSL intrinsic function isnan() to work
    properly, IEEE strictness needs to be enabled for D3D compiler.
    
    This change detects use of isnan() in shaders and passes compiler flag
    D3DCOMPILE_IEEE_STRICTNESS whenever isnan is used in shaders. This
    change also moves existing workarounds in D3DWorkaroundType to
    D3DCompilerWorkarounds.
    
    BUG=angle:927
    TEST= dEQP tests
    dEQP-GLES3.functional.shaders.builtin_functions.common.isnan.*
    
    Change-Id: I1ce5b1a7a825fdd720a37dc9aeb71320e55162d9
    Reviewed-on: https://chromium-review.googlesource.com/255834
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 56d1003ef9609c79d7f48c7dd7afd09c6c268a3b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Mar 5 14:59:56 2015 -0500

    Add a D3D11 Debug member var.
    
    This is useful for dumping live objects on exit, to debug resource leaks.
    
    Change-Id: Ie88787defa37853d0a33c951b107ceac289e58df
    Reviewed-on: https://chromium-review.googlesource.com/256461
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit fd67b1bfbdf1ab044e6ba6d87fff89808442ae62
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Mar 10 16:13:24 2015 -0400

    Move implementation unit tests to angle_unittests.
    
    Now that libANGLE is cross-platform, this should work on OSX/Linux
    and Android. Includes a warning fixes for test comparisons, and fix
    to our META_ASSERT wrapper macro for clang.
    
    BUG=angleproject:773
    
    Change-Id: I6b88a85c62a2e07734ae81fb8276c28c5f8f9f47
    Reviewed-on: https://chromium-review.googlesource.com/258300
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit f90353e81f5f0dfc9f19e8b145a3b4d07429a978
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Mar 5 19:37:58 2015 -0500

    Fix typo "setDepthttachment".
    
    BUG=angleproject:930
    
    Change-Id: I7680bbc912c0d961143c38ad82d19746dc9b113d
    Reviewed-on: https://chromium-review.googlesource.com/256732
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 85a1804d8a28851464fa95d7ad33350b03380bd9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Mar 5 15:41:41 2015 -0500

    Make getColorAttachmentsForRender D3D-only.
    
    This encapsulates the workaround in the D3D renderer, and also
    optimizes the workaround to only compute a new set of attachments
    when there is a change to the state.
    
    BUG=angleproject:930
    
    Change-Id: Ibdc15078236e2d19b544fae8e65b7f2554f31844
    Reviewed-on: https://chromium-review.googlesource.com/254102
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 7147f01a64505e1b8c1e4f4fe56057bff00550f7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Mar 5 15:41:40 2015 -0500

    Cleanups to FramebufferD3D.
    
    With the new shared state structure, we can eliminate a lot of the
    state tracking within the FramebufferD3D implementation.
    
    BUG=angleproject:930
    
    Change-Id: I0953e321bae3afe7cde7b73c55af62546665c890
    Reviewed-on: https://chromium-review.googlesource.com/254101
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit d1405e513780783eedcfed93b30b370f8d64e0e6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Mar 5 15:41:39 2015 -0500

    Share FBO state with object and Impl.
    
    This patch introduces a new Framebuffer::Data class, which stores
    attachment related state. This will eliminate the need to store
    duplicated state between the classes.
    
    BUG=angleproject:930
    
    Change-Id: I80de4db39ab99d623b0ad8306bf3cbb794cd8bd5
    Reviewed-on: https://chromium-review.googlesource.com/254100
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 0af26e106274a11f05db48b43af59102204110c5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Mar 5 19:54:33 2015 -0500

    Prefer using caps to system attachment limits.
    
    The caps structure can often give a lower and faster bound, as well
    as being more general. We should gradually move away from the
    implementation limits.
    
    BUG=angleproject:930
    
    Change-Id: I979472cdb6f59c6f0cc0c80f1c29c51295872bea
    Reviewed-on: https://chromium-review.googlesource.com/256731
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 092e1a120c191f7b20d15fe7639353e03ea38f10
Author: Nico Weber <thakis@chromium.org>
Date:   Mon Mar 9 07:40:11 2015 -0700

    Initialize fragmentPrecisionHigh in constructor.
    
    This was the only field not initialized by the constructor, which
    looks like an oversight.
    
    Change-Id: If61424d574c663113a4c6d31e94b6ec13b412884
    Reviewed-on: https://chromium-review.googlesource.com/257360
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 8a703e5aef418e1e9a05c004784d7adc052d946b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Mar 5 20:28:42 2015 -0500

    Fix leaked resources in EGLThreadTest.
    
    We were not calling eglTerminate to clean up.
    
    Change-Id: I022d8158c6dc041664d4b9c01295a67c9760b245
    Reviewed-on: https://chromium-review.googlesource.com/256730
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit fc7fab723533af9121f5ba8dec5c31cf5cc00acb
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Mar 6 12:03:18 2015 +0200

    Fix matrix compound multiplication
    
    Matrix compound multiplication was lacking transposes. Add them so that
    results match normal multiplication.
    
    BUG=angleproject:938
    TEST=dEQP-GLES3.functional.shaders.matrix.mul_assign.*
    
    Change-Id: I4c5159de0727afb4ee2831586f04fa817619de7a
    Reviewed-on: https://chromium-review.googlesource.com/256366
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit 51585037099114b9b75259b58eb9da6349f30385
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Mar 5 19:40:42 2015 +0200

    Remove unnecessary ifdef APPLE from built-in emulation
    
    The emulation is already toggled by a compilation flag, so having it
    behind an ifdef only adds unnecessary complexity, particularly when
    testing changes to the emulation code.
    
    BUG=angleproject:865
    
    Change-Id: Idf7854c2b5323609880b527ed806440dcc8ac091
    Reviewed-on: https://chromium-review.googlesource.com/256365
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit 524e3bde19d0df76cc9d1c5926345f5d0ec4d3f8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Feb 26 11:04:23 2015 -0500

    Add angle.isolate.
    
    This will allow us to properly layer the isolate dependencies
    within Chromium. Now that ui/gl will depend on libGLESv2 on
    Windows, and other platforms to come, most everything will
    need to have the ANGLE libraries bundled.
    
    BUG=436191
    
    Change-Id: Ifa6c87d3b7840bfbbd4830b218b6d3524258fe12
    Reviewed-on: https://chromium-review.googlesource.com/254063
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 8efc5ad57214e504f61dc0dc817b3d33a05e1b64
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Mar 3 17:21:10 2015 +0200

    Initialize BuiltInFunctionEmulator outside Compiler
    
    This moves GLSL output specific code from the Compiler class to the
    GLSL/ESSL translators.
    
    BUG=angleproject:865
    
    Change-Id: I2d552e9cdb41f7d8ddfee7b0249a99d629a6d7d7
    Reviewed-on: https://chromium-review.googlesource.com/255471
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit b27f79a7471e6dc8206e94df53f8c21bc096ad6e
Author: hendrikw <hendrikw@chromium.org>
Date:   Wed Mar 4 11:26:46 2015 -0800

    Fix FloatCopySubImage tests for RGB
    
    A test was checking that if we have less than 4 channels, and no
    GL_EXT_texture_rg, we would expect an invalid operation.
    
    Now that we don't expose GL_EXT_texture_rg on DX9, this is firing, and
    I believe incorrectly.  I've changed the condition to test for less than
    3 channals, since RGB -> RGB should work fine without texture_rg
    support.
    
    Change-Id: I9955b143c37df9762e0ef45c987581fab2bbcef0
    Reviewed-on: https://chromium-review.googlesource.com/255933
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 72ba85bf7a8370152b377484e84cd9982cc29d18
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Mar 4 14:23:26 2015 +0200

    Fix regression in addFunctionCallOrMethod
    
    Fix a crash when parsing a shader with incorrect constructor arguments.
    
    BUG=angleproject:911
    TEST=WebGL conformance tests
    
    Change-Id: I3459612f36185db861a361fa916cc6b671795037
    Reviewed-on: https://chromium-review.googlesource.com/255870
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Zhenyao Mo <zmo@chromium.org>

commit 95cd3c689ab7f5fb4d2919bdbb3ce2359965fc11
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Mar 3 16:45:32 2015 +0200

    Move some output out of BuiltInFunctionEmulator subclasses
    
    This paves the way for getting rid of the BuiltInFunctionEmulator
    subclasses in favor of initializing the BuiltInFunctionEmulator
    dynamically in Compiler subclasses. The eventual goal is getting rid of
    GLSL output specific functionality in Compiler, which should be
    language-agnostic.
    
    BUG=angle:865
    
    Change-Id: Ibb114b905785c7343b2726c97699268c982536a0
    Reviewed-on: https://chromium-review.googlesource.com/255470
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit c4ba3bef14f72c0c88b9fc803c9a0c45735b20ee
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Mar 2 14:42:24 2015 +0200

    Refactor addFunctionCallOrMethod out of glslang.y
    
    TEST=angle_unittests
    BUG=angle:911
    
    Change-Id: I6d4c0f0bfbf9e6252e241ae5bb1b6acdb463fce6
    Reviewed-on: https://chromium-review.googlesource.com/255451
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 5dbece59cde6b02bbbc3bd4f1e399fc92370163c
Author: Qingqing Deng <qdeng@nvidia.com>
Date:   Fri Feb 27 20:35:38 2015 -0800

    Implement trunc, round, roundEven (Emulated roundEven)
    
    BUG=angle:934
    
    Change-Id: If33256bf3707f3f0202147276c71f08c65518205
    Reviewed-on: https://chromium-review.googlesource.com/254842
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit f84398d596e8b73146a390f0c8f6c6110c2ae130
Author: Qingqing Deng <qdeng@nvidia.com>
Date:   Tue Mar 3 14:57:53 2015 -0800

    Add authors from Nvidia.
    
    Change-Id: I591bcff55796bc4c731143a4ad43669fe9bd6919
    Reviewed-on: https://chromium-review.googlesource.com/255690
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 2cd7a0ed86acde0edc23664a5b36823becc04be7
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Feb 27 13:57:32 2015 +0200

    Remove switch fall-through on HLSL
    
    Remove fall-through from non-empty labels in switch statements.
    
    Tested with dEQP-GLES3.functional.shaders.*switch*. All pass except for tests
    that require dFdx/dFdy, which fail for an unrelated reason.
    
    Additional test coverage could still be useful for cases where a label is
    terminated by a continue or return statement.
    
    BUG=angle:921
    
    Change-Id: I4741867789a9308d66d0adeabdaf83907106e2d2
    Reviewed-on: https://chromium-review.googlesource.com/254550
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit 687ef22c52dd840a7878e25de6d8990e922b3c4f
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Mar 3 10:58:05 2015 +0200

    Fix derivatives being related to an extension on ESSL3
    
    dFdx, dFdy and fwidth are parts of the core language in ESSL3.
    
    This fixes a regression from the patch "Set symbol extension at insertion".
    
    BUG=angle:926
    
    Change-Id: I6c0bbce3afad1f064ff115a16e23ea79bd584e49
    Reviewed-on: https://chromium-review.googlesource.com/255450
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit ddc7446dca2bde43268b1cea25059ea26f92dae7
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Feb 25 11:48:09 2015 -0500

    Move RendererGL caps generation to renderergl_utils.
    
    Change-Id: Ia385fc9739174472d698367e2c6093ba1963b1fe
    Reviewed-on: https://chromium-review.googlesource.com/253634
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit c92fa1eeab26f8cafbd973cc487c45f09a209672
Author: hendrikw <hendrikw@chromium.org>
Date:   Tue Mar 3 15:26:52 2015 -0800

    Disable textureRG for DX9
    
    DX9 emulates GL_R8_EXT using BGR8.  When we made the switch to using
    GL_R8_EXT for YUV decoding, we decreased performance on DX9 machines.
    DX9 supports luminance, which we fall back to when R8 isn't available.
    
    BUG=438736
    
    Change-Id: Iaa8d0518d481927d66130ea1bf3a95a750c5a761
    Reviewed-on: https://chromium-review.googlesource.com/255662
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 019304886ad8b985d67202edec431407bb1b5c53
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Tue Mar 3 12:44:20 2015 -0800

    Fix tests due to added output arg to Translator.
    
    BUG=angleproject:933
    TEST=angle_unittests
    
    Change-Id: I548f1f6ae29760bf4251e5dadeac8a27a4027ceb
    Reviewed-on: https://chromium-review.googlesource.com/255585
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Zhenyao Mo <zmo@chromium.org>

commit 05b6b7fcdfe5de1b3b63ad268d100822f0c1a819
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Mon Mar 2 17:08:09 2015 -0800

    Add an SH_GLSL_CORE_OUTPUT profile.
    
    So we could generate shaders for Apple using core GL profile.
    
    By switching to core profile, we still pass most WebGL conformance tests 1.0.2 on Linux, but not all, so apparently more work is needed.
    
    However, I think it's OK to check this CL in because this output profile will be only used behind a chromium switch.
    
    BUG=angleproject:933
    TEST=webgl conformance tests
    
    Change-Id: Iad70e1aebf82349d3fc5f4116c1d6bc4448193fd
    Reviewed-on: https://chromium-review.googlesource.com/255282
    Tested-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 7749005a24fefe65788515a4ff078315a9e3f18d
Author: Arun Patole <apatole@nvidia.com>
Date:   Tue Mar 3 18:36:05 2015 +0530

    Fix min built-in function support
    
    One of the recent change that uses generic types to compact
    the symbol table initialization has introduced a bug in 'min'
    function implementation, just fixing it here.
    
    TEST= dEQP tests:
    dEQP-GLES3.functional.shaders.operator.common_functions.min.lowp_uvec*
    
    Change-Id: I0e3d386c89bc07c3b656ec5029b8ce57f663cf46
    Reviewed-on: https://chromium-review.googlesource.com/255369
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d6e5087252420cd1e0d736d584f36dff34a0f541
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Feb 24 12:42:26 2015 -0500

    Add a StateManagerGL method to sync state required for a draw call.
    
    BUG=angle:883
    
    Change-Id: Iabeb25aef2228a1900bd0209422ddce21771c688
    Reviewed-on: https://chromium-review.googlesource.com/252802
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit ba4c4a8556e488d21d8bb1d316ca52e017898bd1
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Feb 24 12:38:46 2015 -0500

    Implement basic functionality in VertexArrayGL.
    
    No support for raw vertex data pointers yet.
    
    BUG=angle:880
    
    Change-Id: Ifa8099b0f49028a1465edecde495ba725ac79598
    Reviewed-on: https://chromium-review.googlesource.com/252801
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit c9d9b30a40faa1dda25ed8ac730f40774c628e77
Author: Nicolas Capens <capn@chromium.org>
Date:   Fri Feb 20 23:02:15 2015 -0500

    Set symbol extension at insertion.
    
    BUG=angle:926
    
    Change-Id: I4c96ae89c79d720d99bde803541c3158ba4629ab
    Reviewed-on: https://chromium-review.googlesource.com/251662
    Tested-by: Nicolas Capens <capn@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>

commit 05ae50dc71b4859baba5a95cb5d7ab04bbb8a47a
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Feb 20 10:16:47 2015 +0200

    Add basic support for HLSL output of switch and case
    
    This patch outputs switch and case statements in HLSL, but ignores fall-through.
    Switch statements that include fall-through cause the platform HLSL compiler to
    generate errors.
    
    BUG=angle:921
    
    Change-Id: I10efbfb45076cf4fd79840698abafd8111e597d4
    Reviewed-on: https://chromium-review.googlesource.com/251527
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 01cd8afa2cb12076f39b991474fc6e003ca240a5
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Feb 20 10:39:20 2015 +0200

    Add GLSL output of switch and case
    
    BUG=angle:921
    
    Change-Id: I0d752440ce6ffdfcc005f1a6123694bdfeb1b067
    Reviewed-on: https://chromium-review.googlesource.com/251526
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit c8716df9150c79a1965a2e20a346cfaf092c8d66
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Feb 26 17:17:22 2015 +0200

    Fix an issue with handling an error case inside ValidateSwitch
    
    In case a condition with a wrong type is given to a case statement, it
    generates an error but the compiler recovers. This caused ValidateSwitch
    to assert. Fix this.
    
    BUG=angle:921
    
    Change-Id: I7949798cab923c2b168817471896470c6c611878
    Reviewed-on: https://chromium-review.googlesource.com/254080
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit eea095e169387acbebe9422e3c0932fd579a3c0c
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Fri Jan 23 14:06:50 2015 -0800

    Fix and reenable MipmapTests in release mode
    
    Change-Id: Ia702abedc261d717c24152cb207ac80393ac864f
    Reviewed-on: https://chromium-review.googlesource.com/242980
    Reviewed-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 482907eb1a78845ade6deda101e7c559e70c464f
Author: Nicolas Capens <capn@chromium.org>
Date:   Mon Feb 23 16:56:33 2015 -0500

    Set symbol operations at insertion.
    
    BUG=angle:926
    
    Change-Id: Ifc8f62ebe1277214a4d3fbd5c56eb5faeff8e389
    Reviewed-on: https://chromium-review.googlesource.com/251650
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Nicolas Capens <capn@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>

commit 586465264b5d466f34fcac45aea95ae48f3bc27d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Feb 26 16:04:28 2015 -0500

    Pipe the ProgramBinary functions to the OES implementations.
    
    BUG:462020
    
    Change-Id: Ic567bf3d56d551716f1915a208003a7699abe6e6
    Reviewed-on: https://chromium-review.googlesource.com/254300
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 6036a1fe4f5713d4ccd59914a89b940fc7c58d2d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Feb 26 10:18:26 2015 -0500

    Update failing WebGL tests list.
    
    Change-Id: Ib141eaebe14a6bf80efa2bcdfec3371ac1a59b09
    Reviewed-on: https://chromium-review.googlesource.com/254062
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 791a11e9aa8b3d9caa2ab474a57189505387e3c6
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Feb 26 12:31:24 2015 -0500

    Temporarily disable OpenGL tests.
    
    Change-Id: I3281b77e9876fc9a336b585af422e790bd73e11f
    Reviewed-on: https://chromium-review.googlesource.com/254130
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 91a080d8d7d143d34e21abb5677399e41a67e103
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Feb 26 11:07:31 2015 -0500

    Fix GL typedef conflicts.
    
    Moved typedefs to the global namespace to avoid future name conflicts.
    
    Change-Id: I70bd47d2516964cd040df48c0b2ca50bc32ba851
    Reviewed-on: https://chromium-review.googlesource.com/254090
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit e9cc469fd6d2d66970900372e5ee1942978d7ddb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Feb 19 16:00:13 2015 -0500

    Accept mismatching auxiliary interpolations.
    
    The ES3.1 spec, and discussion on Khronos.org, confirm that dEQP is
    correct in accepting mismatching centroid specifiers in shader
    linkage. Mismatching flat/smooth is still a link error.
    
    Fixes:
    shaders.linkage.varying.rules.differing_interpolation_2
    
    Change-Id: I3016f4147e7c1b16b02371ee95866c8daf826212
    Reviewed-on: https://chromium-review.googlesource.com/251205
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit a2643b647e2be360530f90837ebde20a077fa474
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Feb 19 11:07:56 2015 -0500

    Add UMA histogram for D3D9 init results.
    
    Similar to D3D11 results, this can add statistics for the result of
    initializing the D3D9 Renderer.
    
    BUG=436191
    
    Change-Id: I746c95a8dbb27456613844fde816e17352dc4b8d
    Reviewed-on: https://chromium-review.googlesource.com/248660
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit b929397753698a0dee52f777ae9c1a069280ff39
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Feb 19 11:07:54 2015 -0500

    Add UMA histogram for D3D11 init failures.
    
    This will give ANGLE in Chrome a sense of device init calls fails in
    D3D11, and why.
    
    BUG=436191
    
    Change-Id: Ia7b1bfa334cec595b6f0265357385d0dcc2d6cbf
    Reviewed-on: https://chromium-review.googlesource.com/248632
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 5cc9ac8530aba8e57235bc09bac88629e342b40d
Author: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
Date:   Fri Feb 20 11:27:56 2015 +0000

    Fix shadow samplers with textureProj and vertex shaders.
    
    Fixes:
    dEQP-GLES3.functional.shaders.texture_functions.textureproj.sampler2dshadow_fragment
    dEQP-GLES3.functional.shaders.texture_functions.textureproj.sampler2dshadow_bias_fragment
    dEQP-GLES3.functional.shaders.texture_functions.textureprojoffset.sampler2dshadow_fragment
    dEQP-GLES3.functional.shaders.texture_functions.textureprojoffset.sampler2dshadow_bias_fragment
    and some of:
    dEQP-GLES3.functional.shaders.texture_functions.texture*.sampler2dshadow_vertex
    
    BUG=angle:925
    
    Change-Id: I080e379ded95469f0486ae9c8bb1756842118a2d
    Reviewed-on: https://chromium-review.googlesource.com/251530
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 36c790117aa38ac88e354aa568a213338967861e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Feb 24 11:47:20 2015 -0500

    Implement basic functionality in BufferGL.
    
    BUG=angle:881
    
    Change-Id: I8d761741d204d26cea1c87eec725bc8ebaaaa584
    Reviewed-on: https://chromium-review.googlesource.com/252800
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 63cbace6730b4191bbb9da488481c2df6ddd82eb
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Feb 26 10:03:12 2015 -0500

    Rename StateManagerGL::setProgram to useProgram.
    
    BUG=angle:882
    
    Change-Id: I4046e23bf720690869558fa6a5528d40c4b3bfa3
    Reviewed-on: https://chromium-review.googlesource.com/254070
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit ab249d18d8b473bf0d118ce66c50aace49dec547
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Feb 26 09:56:23 2015 -0500

    Temporarily disable WGL debug contexts.
    
    Change-Id: I62f29b8012386cd57181621e0854aa5a8ce534dd
    Reviewed-on: https://chromium-review.googlesource.com/254061
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit ac5274df4a5cb4f058392f29de7ae7ea56b1a784
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Feb 20 10:19:08 2015 +0200

    Add validation for the structure of switch statements
    
    Implement a traverser to check for the following errors:
    -More than one default or replicated constant expression
    -No statement between a label and the end of a switch statement
    -Statements in a switch statement before the first case statement
    -Mismatch between the type of init-expression and type of a case label
    -Case or default label nested inside other control flow nested within the
    corresponding switch
    
    Tested by manually disabling shading language version checks for switch
    and by manually enabling case statements in a Chromium build and checking
    that the expected errors are generated.
    
    BUG=angle:921
    
    Change-Id: I99c49c17c8b520849adbe4d8521e46cb10e20e41
    Reviewed-on: https://chromium-review.googlesource.com/251524
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 3c1dfb5a02a049faa06386d2d51c78308d10c468
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Feb 20 11:34:03 2015 +0200

    Add stubs for switch and case output
    
    BUG=angle:921
    
    Change-Id: I58bd645a8d53ef5bad9b680e54c8948d50932fca
    Reviewed-on: https://chromium-review.googlesource.com/251525
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit b1f435e4b1b05e52a12c890b0e91b4bd0b134a4d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Feb 20 10:01:01 2015 -0500

    Implement basic functionality of ProgramGL.
    
    BUG=angle:882
    
    Change-Id: I1d859197011081729c4c5733b78ac10491fe926c
    Reviewed-on: https://chromium-review.googlesource.com/251542
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit f1e85927f1eeef44fb9d3c7e178d3da76adb4c7b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Feb 23 14:40:04 2015 -0500

    Add test for very basic operations to enable as GL functionality is added.
    
    Add OpenGL and OpenGLES platform types for the ANGLE tests.
    
    Comment out some UNIMPLEMENTEDs that tests using OpenGL trigger.
    
    BUG=angle:882
    
    Change-Id: I7f85eed184f7cebd25e2521d793fc9c394b704ce
    Reviewed-on: https://chromium-review.googlesource.com/252252
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 868036770d4186cd1f510b6706d88826fca3fd42
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Feb 23 14:35:20 2015 -0500

    Update Display to allow for changing implementation objects.
    
    Previously it was possible to change from a D3D9 to D3D11 display because
    both were implemented with a DisplayD3D.  Now that there is a DisplayGL,
    the DisplayImpl must be updated while maintaining the same EGLDisplay
    value.
    
    Allow the value of Display::mImplementation to be updated when the display
    is not already initialized.
    
    BUG=angle:890
    
    Change-Id: Ic18a8a120218cd130a71b9aa044b6ec00006d6a0
    Reviewed-on: https://chromium-review.googlesource.com/252250
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 99a3a9b23fbb0283633aa3ee87139aa6ceca57a2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Feb 24 15:55:19 2015 -0500

    Hide gtest and gmock internal standalone targets.
    
    Don't expose these on the Chromium (non-standalone) build. This fixes
    some missing file warnings for the msvs-ninja build.
    
    BUG=angle:928
    BUG=459058
    
    Change-Id: I8932c31223347358070955b33995a3e973c359b7
    Reviewed-on: https://chromium-review.googlesource.com/253001
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: bratell at Opera <bratell@opera.com>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit 73941deb4f417fb7f21353951c5a3b32a8a4a2bf
Author: Daniel Bratell <bratell@opera.com>
Date:   Wed Feb 25 14:34:49 2015 +0100

    Disable the HLSL code in Angle if it is not being used.
    
    We're only using the HLSL code in Windows so
    it's not necessary to compile and distribute it on other platforms.
    
    This adds a defined ANGLE_ENABLE_HLSL that can be checked in files that
    are used by non-HLSL code as well. Mostly the HLSL code is just not
    include by the build system.
    
    Details of the space savings (heavily truncated)
    
    Total change: -165717 bytes
    ===========================
     -606 - Source: angle/src/common/utilities.cpp
     -627 - Source: angle/src/compiler/translator/FlagStd140Structs.cpp
     -695 - Source: /usr/include/c++/4.8/bits/stl_algo.h
     -710 - Source: angle/src/compiler/translator/TranslatorHLSL.cpp
     -713 - Source: angle/src/compiler/translator/IntermNode.h
     -863 - Source: /usr/include/c++/4.8/bits/stl_map.h
     -935 - Source: angle/src/compiler/translator/blocklayout.cpp
     -1515 - Source: angle/src/compiler/translator/BuiltInFunctionEmulator.cpp
     -1655 - Source: angle/src/compiler/translator/UnfoldShortCircuit.cpp
     -2375 - Source: /usr/include/c++/4.8/bits/vector.tcc
     -3135 - Source: angle/src/compiler/translator/RewriteElseBlocks.cpp
     -4656 - Source: angle/src/compiler/translator/UtilsHLSL.cpp
     -5265 - Source: angle/src/compiler/translator/BuiltInFunctionEmulatorHLSL.cpp
     -6505 - Source: /usr/include/c++/4.8/bits/stl_tree.h
     -11480 - Source: angle/src/compiler/translator/UniformHLSL.cpp
     -13580 - Source: angle/src/compiler/translator/StructureHLSL.cpp
     -18964 - Source: ??
        (constant strings and a few vtbls)
     -89332 - Source: angle/src/compiler/translator/OutputHLSL.cpp
    
    Change-Id: I23ccc98abd0a21f847dd34f9482800b3ba679d56
    Reviewed-on: https://chromium-review.googlesource.com/251528
    Tested-by: bratell at Opera <bratell@opera.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 53f076fac824fa8e09ebc0cedcd7484bdc511cb7
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Feb 20 10:55:14 2015 +0200

    Add basic error checks for switch and case
    
    Check that the case labels have constant scalar integers, and that switch
    statements are initialized with scalar integers. Also check that case and
    default labels do not exist outside switch statements. Allow break
    statements inside switch statements.
    
    Tested by manually disabling shading language version checks for switch
    in a Chromium build and checking that the expected errors are generated.
    
    BUG=angle:921
    
    Change-Id: Ibe83d0db52958c493ded5640d4babf670dc02d55
    Reviewed-on: https://chromium-review.googlesource.com/251523
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit a3a3666464c6c56dc86fcdd4ba710deb153dd060
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Feb 17 13:46:51 2015 +0200

    Implement parsing switch statements
    
    Put in some groundwork for parsing switch statements and case labels in
    the parser, including definitions for IntermNode classes. Intermediate
    functions for adding the statements are stubbed to only generate errors
    for now.
    
    Tested by manually disabling shading language version checks for switch
    in a Chromium build and checking that the expected errors are generated.
    
    BUG=angle:921
    
    Change-Id: I064b3e0c4c1b724a083cf5bc78eebfdd3794eb1b
    Reviewed-on: https://chromium-review.googlesource.com/250380
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit a6d110e2811b3d2e5827ba31669950e09a0d4305
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Feb 24 16:15:03 2015 -0500

    Attempt shader compilation without unroll and flatten with error X4014.
    
    BUG=angle:917
    
    Change-Id: Ie5b9a673f4af7241576cbe73ac96a7fb518af798
    Reviewed-on: https://chromium-review.googlesource.com/252986
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 9ddd5150bc0a97c31710a5795276a593c08f6822
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Feb 23 13:45:28 2015 -0500

    Embed rapidjson sources.
    
    This makes integration with Chrome much easier: Chrome won't
    have to pull sources from github or an internal mirror, and
    it won't duplicate the base json library.
    
    This should also fix warnings about missing headers with
    building Chromium gyp with the ninja msvs generator.
    
    BUG=459058
    
    Change-Id: Ie97cfde9b848a9099da696e027887bcc07b55e08
    Reviewed-on: https://chromium-review.googlesource.com/252073
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 493008656e80a017a43f28a386d3af75bfb6726f
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Feb 20 14:54:49 2015 +0200

    Refactor validating jump statements out of glslang.y
    
    Move the logic to ParseContext. This will simplify changing the logic for
    the break statement that is needed to implement switch.
    
    BUG=angle:921, angle:911
    TEST=WebGL conformance tests
    
    Change-Id: Ib8bbc7075c05d345e90377202b5446fb3307f94c
    Reviewed-on: https://chromium-review.googlesource.com/251522
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit f3cc4aef8f6e9e711c3fde9a9cdff7e0221fa806
Author: Nicolas Capens <capn@chromium.org>
Date:   Mon Feb 23 13:51:25 2015 -0500

    Use generic types to compact the symbol table initialization.
    
    Just like in the spec text, use symbolic types that represent multiple
    concrete types. The few signatures that get generated more than once
    are only added to the symbol table once because it ignores duplicates.
    
    BUG=angle:926
    
    Change-Id: I216f03d22502b724dbefc87c5a021d6021c3a434
    Reviewed-on: https://chromium-review.googlesource.com/251620
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Nicolas Capens <capn@chromium.org>

commit e6d14cc3fccd4a2bbcd6865c2188e2af08a3bd60
Author: Cooper Partin <coopp@microsoft.com>
Date:   Fri Feb 20 12:32:58 2015 -0800

    Updated instanced pointsprite emulation to be more resilient to driver differences.
    
    Change-Id: I89e5b5a2d2c0363ae07d5ba918187cb0d7056ac5
    Reviewed-on: https://chromium-review.googlesource.com/251680
    Tested-by: Cooper Partin <coopp@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 94463d5800d3faa737d6489366162f3fc782f958
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Feb 18 13:09:37 2015 -0500

    Add a state manager for the currently applied GL state.
    
    BUG=angle:883
    
    Change-Id: Ie69c883c5ee539f911480fdcd9e73c46a3001b33
    Reviewed-on: https://chromium-review.googlesource.com/250930
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 295ed4c4d3d9537a452198d5d986b6e8b92cd753
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Feb 20 09:58:25 2015 -0500

    Implement ShaderGL.
    
    BUG=angle:882
    
    Change-Id: I1a8c7b551b308c9362e56ce564ebde7d579c05a3
    Reviewed-on: https://chromium-review.googlesource.com/251541
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 7825f6199ce25dffe5fec5addb2fafe37f187034
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Nov 26 16:19:41 2014 -0500

    Update ANGLE_platform_angle_d3d to use a device type enum instead of WARP bool.
    
    BUG=angle:490
    
    Change-Id: I1555e7f09b23138753e52ddf720d088587f7cadb
    Reviewed-on: https://chromium-review.googlesource.com/232104
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 2fa660ba26f475d2b6762102739f8499a4c39b85
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Feb 20 13:01:34 2015 -0500

    Add missing Display::getImplementation.
    
    Change-Id: I220ffefcbf9bc988d986e729961c9a893d6b5159
    Reviewed-on: https://chromium-review.googlesource.com/251580
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 6b19d7659f0906d46f82f92c31746ac7120f12d2
Author: Arun Patole <apatole@nvidia.com>
Date:   Thu Feb 19 09:40:39 2015 +0530

    Implement missing variants of abs/sign
    
    This change adds ANGLE support for abs/sign variants introduced
    in ESSL3.
    
    BUG=angle:923
    TEST=Unit tests, dEQP tests
    
    Unit Tests:
    TypeTrackingTest.BuiltInAbsSignFunctionFloatResultTypeAndPrecision
    TypeTrackingTest.BuiltInAbsSignFunctionIntResultTypeAndPrecision
    
    dEQP tests passing 100% because of this change:
    dEQP-GLES3.functional.shaders.builtin_functions.common.abs
    dEQP-GLES3.functional.shaders.builtin_functions.common.sign
    
    Change-Id: I2a3b028611f0eaaac3c031f8926d34a0e146663d
    Reviewed-on: https://chromium-review.googlesource.com/251491
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 4ebb82e58c362138a7b19688dabecd8e6d0f5897
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Feb 20 16:51:49 2015 -0500

    Disable warning 4251 for ShaderVars.h.
    
    Exporting STL classes from a DLL produces a warning on MSVS.
    This warning would only show up for component builds.
    
    Change-Id: I1bd9b820a45c04f92b0278d7018507d6a2bc7936
    Reviewed-on: https://chromium-review.googlesource.com/251704
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 0d300ca7cf2814e1291f827a7ce070c3941410bd
Author: Nico Weber <thakis@chromium.org>
Date:   Wed Feb 18 13:44:15 2015 -0800

    Enable some more MSVS compiler warnings.
    
    Also add comments explaining why the one that are still around are still
    around.
    
    Change-Id: Id8ce1fa3fe2a3bc97a179018737cc8d027b1068a
    Reviewed-on: https://chromium-review.googlesource.com/250878
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Nico Weber <thakis@chromium.org>
    Commit-Queue: Nico Weber <thakis@chromium.org>

commit c415283b2bcd786e1a8c55c19ef3511eb2b3928c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Feb 20 09:57:29 2015 -0500

    Implement CompilerGL.
    
    BUG=angle:882
    
    Change-Id: I6fd426b19677b51f4df74d495acc9a6fde9822e8
    Reviewed-on: https://chromium-review.googlesource.com/251540
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 29190088c2548787680a787f0f007b02d5e1238e
Author: Daniel Bratell <bratell@opera.com>
Date:   Fri Feb 20 16:42:54 2015 +0100

    Make Angle code 40 KB smaller by using string literals directly.
    
    The implicit conversion of hundreds of string literals
    to TString generated a lot of machine code. By keeping them
    as string literals all the way the code will be smaller and faster.
    
    This is the change with clang for x64 (note VisitUnary in particular):
    Total change: -41392 bytes
    ==========================
      2 added, totalling +469 bytes across 1 sources
      2 removed, totalling -472 bytes across 1 sources
      5 shrunk, for a net change of -41389 bytes (54126 bytes before, 12737 bytes after) across 1 sources
      279692 unchanged, totalling 51433327 bytes
    
    ------------------------------------------------------------------------------------------------------------------------------------
     -41392 - Source: /home/bratell/src/chromium/src/third_party/angle/src/compiler/translator/OutputHLSL.cpp - (gained 469, lost 41861)
    ------------------------------------------------------------------------------------------------------------------------------------
      New symbols:
           +328: sh::OutputHLSL::outputConstructor(Visit, TType const&, char const*, TVector<TIntermNode*> const*) type=t, size=328 bytes
           +141: sh::OutputHLSL::outputTriplet(Visit, char const*, char const*, char const*) type=t, size=141 bytes
      Removed symbols:
           -133: sh::OutputHLSL::outputTriplet(Visit, std::basic_string<char, std::char_traits<char>, pool_allocator<char> > const&, std::basic_string<char, std::char_traits<char>, pool_allocator<char> > const&, std::basic_string<char, std::char_traits<char>, pool_allocator<char> > const&) type=t, size=133 bytes
           -339: sh::OutputHLSL::outputConstructor(Visit, TType const&, std::basic_string<char, std::char_traits<char>, pool_allocator<char> > const&, TVector<TIntermNode*> const*) type=t, size=339 bytes
      Shrunk symbols:
           -388: sh::OutputHLSL::writeEmulatedFunctionTriplet(Visit, char const*) type=t, (was 628 bytes, now 240 bytes)
           -714: sh::OutputHLSL::visitBranch(Visit, TIntermBranch*) type=t, (was 1017 bytes, now 303 bytes)
          -9738: sh::OutputHLSL::visitAggregate(Visit, TIntermAggregate*) type=t, (was 17609 bytes, now 7871 bytes)
         -14132: sh::OutputHLSL::visitBinary(Visit, TIntermBinary*) type=t, (was 17627 bytes, now 3495 bytes)
         -16417: sh::OutputHLSL::visitUnary(Visit, TIntermUnary*) type=t, (was 17245 bytes, now 828 bytes)
    
    Change-Id: Id0f87d72f6d7f1ab7b543f0d28d5a8b7c7db9ec7
    Reviewed-on: https://chromium-review.googlesource.com/251090
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: bratell at Opera <bratell@opera.com>

commit aff43af957721d674fb39849b6e3fe9fa8083008
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Feb 19 16:23:19 2015 -0500

    Load all core WGL functions.
    
    BUG=angle:879
    
    Change-Id: If204156e69480cd7e1e7c43db8496dd150ac9e15
    Reviewed-on: https://chromium-review.googlesource.com/251241
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit ea8ae897f33d9fb33690b6202f96344c4285416b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Feb 19 15:09:30 2015 -0500

    Expose FunctionsWGL::getProcAddress.
    
    Change-Id: I263f00e67eb3243c661de8f949933ea56e34d4b5
    Reviewed-on: https://chromium-review.googlesource.com/251220
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 80d934bbe9df616379d9625e130754b6c4873bd3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Feb 19 10:16:12 2015 -0500

    Enable MSVS warning 4512.
    
    Fix up the missing DISALLOW_COPY_AND_ASSIGN macros and various small
    problems preventing us from turning on this warning. This should
    ensure we more often use the DISALLOW macro going forward.
    
    Change-Id: I2e1a9d23a31a51279a577fad8dffb8c1530e2ee8
    Reviewed-on: https://chromium-review.googlesource.com/251100
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Cooper Partin <coopp@microsoft.com>
    Tested-by: Cooper Partin <coopp@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 7c1f6f190e904b977db91e581f2b2d12f9482e43
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Feb 19 18:56:09 2015 +0000

    Revert "Implement missing variants of abs/sign"
    
    This for some reason is failing angle_unittests:
    
    http://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20%28NVIDIA%29/builds/13296
    
    Happens across platforms.
    
    This reverts commit 3e142e47cc5b40564bcdba4252fd326bc28ca343.
    
    Change-Id: Ideb20457546c0dec10c9584182cc8d5ead42309d
    Reviewed-on: https://chromium-review.googlesource.com/251160
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 32334afeba5047b74e983b602a1f11ff7fcef66c
Author: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
Date:   Fri Jan 30 11:38:21 2015 +0000

    Implement the copy from a 3D texture to Image11.
    
    Fixes the generation of 3D texture mipmaps.
    
    BUG=angle:915
    
    Change-Id: Icc0c91099f60713d511ebe1a2248a21b63efddaa
    Reviewed-on: https://chromium-review.googlesource.com/244720
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>

commit b6e07a6a278dfb139853859c8f22b6b0e2f39a42
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Feb 16 12:22:10 2015 +0200

    Implement ESSL3 modf
    
    This is the first built-in function that has an out parameter, so l-value
    checks are added for built-ins.
    
    BUG=angle:918
    
    Change-Id: Ifd5befe955224f706f864e25107879c9cdce9e9f
    Reviewed-on: https://chromium-review.googlesource.com/250780
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit 481373d8672ccc010be8107d33451b1e7841a83c
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Feb 16 16:54:12 2015 +0200

    Fix GetShaderPrecisionFormat to return correct values on DX11
    
    The integer precision is different on DirectX 9 and 11 backends. DirectX
    11 guarantees native 32-bit integers.
    
    BUG=angle:919
    
    Change-Id: I7619e66f8aaa1177c32b6da185fe805ce8a19b71
    Reviewed-on: https://chromium-review.googlesource.com/250280
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 3e142e47cc5b40564bcdba4252fd326bc28ca343
Author: Arun Patole <apatole@nvidia.com>
Date:   Thu Feb 19 09:40:39 2015 +0530

    Implement missing variants of abs/sign
    
    This change adds ANGLE support for abs/sign variants introduced
    in ESSL3.
    
    BUG=angle:923
    TEST=dEQP tests
    Tests passing 100% because of this change:
    dEQP-GLES3.functional.shaders.builtin_functions.common.abs
    dEQP-GLES3.functional.shaders.builtin_functions.common.sign
    
    Change-Id: If22032be2c1ed08451275262e311ef5ac613d45e
    Reviewed-on: https://chromium-review.googlesource.com/251060
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit ed6be7e61c72deba7c06385f2f2e0a80a6774b2d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Feb 18 16:28:57 2015 -0500

    Enable MSVS warning 4530.
    
    This forces us to not use exceptions when they aren't enabled.
    
    Change-Id: I6abaf08ca4c275bd2fa0625905fd1de3448237ce
    Reviewed-on: https://chromium-review.googlesource.com/250901
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nico Weber <thakis@chromium.org>

commit 6df9b37d8e3aed3aea12058900b7932f911a152a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Feb 18 21:28:19 2015 +0000

    Revert "Re-resubmit "Compile the D3D11 VS and PS on separate threads at GL link time""
    
    Fails clang-win again. Apparently Clang mimics MSVS.
    
    This reverts commit af1bdff62ec4cc80b47fbac7e5d973f6f7225036.
    
    Change-Id: I48a503889a9e905fcdc9f101dbf98f7cb7912279
    Reviewed-on: https://chromium-review.googlesource.com/250882
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 5feea562396c9eb1109702e73990d5fe72ee9651
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Feb 17 16:03:16 2015 -0500

    Add ANGLE platform implementation template.
    
    The platform implementation allows the app layer to pass in an
    object, on which ANGLE can call virtual methods. Our current
    platform will handle trace events, for app profiling, and
    histogram records for statistics. The platform approach gives
    a much more robust approach than using entry points for every
    piece of functionality, and is based on the interop with Blink.
    
    The default platform implementation does a no-op on every call.
    The destructor is also private, to ensure we do not call the
    destructor of the passed-in class.
    
    BUG=436191
    
    Change-Id: I05641b89a48a9cff81ced059518fceb5aa6c883b
    Reviewed-on: https://chromium-review.googlesource.com/248631
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit 32b5b147e7db9bc3ae962f78ec9e915ac3c4c888
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Feb 18 12:54:39 2015 -0500

    Fix loaded GL entry points using the wrong call type.
    
    BUG=angle:879
    
    Change-Id: Ida65d67d2935480dfe584026d37fb68cd2ab39d6
    Reviewed-on: https://chromium-review.googlesource.com/250823
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit 3eab00a0d6edf1dce7bde7470ff1b8f24a08bf50
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Feb 12 16:02:39 2015 +0200

    Fix constant folding integer modulus
    
    Constant folding % used to generate results from division instead of
    results from modulus. Fix this and introduce a test for this and other
    integer constant folding, that checks that the right constant values are
    found in the IntermNode tree.
    
    BUG=angle:916
    TEST=angle_unittests
    
    Change-Id: I75e59b7734eb206378a1b2957af0a5437a90097c
    Reviewed-on: https://chromium-review.googlesource.com/249691
    Reviewed-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Nicolas Capens <capn@chromium.org>

commit 0c1726e6c5782d39a9b79631f689f9727f04aab2
Author: Arun Patole <apatole@nvidia.com>
Date:   Wed Feb 18 14:35:02 2015 +0530

    Implement isnan/isinf
    
    This change adds ANGLE support for isnan/isinf.
    
    BUG=angle:922
    TEST=dEQP tests:
    dEQP-GLES3.functional.shaders.builtin_functions.common.isnan.*
    (high precision tests still fail)
    Tests passing 100% because of this change:
    dEQP-GLES3.functional.shaders.builtin_functions.common.isinf.*
    Reduced number of errors in tests:
    EQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common.isnan.*
    dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common.isinf_*
    
    Change-Id: I52bf18b59365ea7031746ae840550162d7e6b96e
    Reviewed-on: https://chromium-review.googlesource.com/250761
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Nicolas Capens <capn@chromium.org>

commit 2b45573b87e98cd90365bdc8ca93954912bea593
Author: Arun Patole <apatole@nvidia.com>
Date:   Tue Feb 17 20:24:59 2015 +0530

    Implement missing vector relational functions
    
    This change adds ANGLE support for following vector relational
    function variants introduced in GLES3:
    bvec lessThan(uvec x, uvec y)
    bvec lessThanEqual(uvec x, uvec y)
    bvec greaterThan(uvec x, uvec y)
    bvec greaterThanEqual(uvec x, uvec y)
    bvec equal(uvec x, uvec y)
    bvec notEqual(uvec x, uvec y)
    
    BUG=angle:920
    TEST=dEQP tests
    Reduced number of errors in tests:
    dEQP-GLES3.functional.shaders.constant_expressions.builtin_functions.vector_relational.*
    
    Change-Id: Id45ce77b35f39403e587a577622271d8e9815225
    Reviewed-on: https://chromium-review.googlesource.com/250377
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit a3a5cc6ab6fb13a0203a359141fa1985208e189a
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Feb 13 13:12:22 2015 +0200

    Expose the IntermNode tree generated in the compiler for testing
    
    This refactoring makes it possible for tests to access the IntermNode
    tree produced by compilation by calling compileTree(). Removing
    ParseContext usage from OutputHLSL has the additional benefit of better
    separation between parsing and output.
    
    BUG=angle:916
    
    Change-Id: Ib40954832316328772a5c1dcbbe6b46b238e4e65
    Reviewed-on: https://chromium-review.googlesource.com/249723
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 73edef0a2a162e943d5be7715f53bee5d9452b2e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Feb 17 18:58:21 2015 -0500

    Do not use std::set::at in Config.cpp.
    
    This is C++11 STL.
    
    BUG=459399
    
    Change-Id: I2e994e6b47535bcb38c193db2aaecc304e388772
    Reviewed-on: https://chromium-review.googlesource.com/250581
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit f25eb1d644ae7c5fd83a64cf11c2b50ef01f412a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Feb 17 14:42:32 2015 -0500

    D3D11: Use system memory for dynamic buffer updates.
    
    In our current code, we would use a staging texture as the working
    copy for buffer updates. This would trigger very large memcpy calls
    in some cases for large buffers with small updates. Instead, use
    a CPU memory buffer storage, and work with this storage when the
    user updates data. This plays much nicer with the VertexDataManager.
    
    BUG=angle:912
    
    Change-Id: I8c32d3d9bb321a06534556ce05b4b99dc3d1e961
    Reviewed-on: https://chromium-review.googlesource.com/249183
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit af1bdff62ec4cc80b47fbac7e5d973f6f7225036
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Tue Feb 17 11:07:46 2015 -0800

    Re-resubmit "Compile the D3D11 VS and PS on separate threads at GL link time"
    
    The latest version of this change disables multithreaded D3D shader
    compilation with any C++ compiler other than VC (e.g. Clang).
    
    Change-Id: If3ef5fd650055ae66397ea2c9121bfcf1792892a
    Reviewed-on: https://chromium-review.googlesource.com/250328
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Cooper Partin <coopp@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 56cf9af282aa514b1b0f29dc348ffb375ca295db
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Feb 17 10:16:49 2015 -0500

    Add a FunctionsGL class for loading GL entry points.
    
    BUG=angle:879
    
    Change-Id: I35384f078d2ed86a6c72cc243753b56bc58617b0
    Reviewed-on: https://chromium-review.googlesource.com/250390
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 5b8b108778d32bdb3c4a14ad0d0adf142ea4f930
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Feb 13 11:17:34 2015 -0500

    D3D: Re-init static buffer after invalidate.
    
    This allows the Buffer class to always know if it's intended to
    use static data vs dynamic. In some cases we would end up with
    NULL pointers and not know if we started with static or dynamic
    usage.
    
    BUG=angle:912
    
    Change-Id: I79ca62674543e0cf4b2ba9b31b6d8918723b31ce
    Reviewed-on: https://chromium-review.googlesource.com/249460
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit 026b418816a2543b3bddb7444658cb9658ddbb69
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Feb 13 11:17:33 2015 -0500

    Generalize NativeBuffer11::setData.
    
    We can replace this method with a base class method which uses our
    implementation of "map". This allows us to reuse setData in other
    mappable buffer storage types.
    
    BUG=angle:912
    
    Change-Id: I7848cb9440b806364d9b2a6e2251323e53206921
    Reviewed-on: https://chromium-review.googlesource.com/249182
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit d2d21dcadcc5c6a4ac2bbf4edd88681390a96a78
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Feb 17 18:07:01 2015 +0000

    Revert "Resubmit "Compile the D3D11 VS and PS on separate threads at GL link time""
    
    Causes errors in Clang-Win. We can fix the error and then resubmit, but need to do a roll now.
    
    This reverts commit 310184861bab5e95139e0f34b1f8e88fe8c677b8.
    
    Change-Id: I1c91b0a97031df33c2261089f6b54ccd3270306b
    Reviewed-on: https://chromium-review.googlesource.com/250430
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 42077bb1f6c86269c3931f7880d4e9549ec79bd8
Author: Arun Patole <apatole@nvidia.com>
Date:   Mon Feb 16 15:32:37 2015 +0530

    Implement missing variants of min, max and clamp
    
    BUG=angle:914
    
    TEST=dEQP tests
    Tests passing 100% because of this change:
      dEQP-GLES3.functional.shaders.operator.common_functions.min.*
      dEQP-GLES3.functional.shaders.operator.common_functions.max.*
      dEQP-GLES3.functional.shaders.operator.common_functions.clamp.*
    Reduced number of errors in tests:
      EQP-GLES3.functional.shaders.constant_expressions.builtin_functions.common.*
      These tests are not yet passing because of constant expressions
      bug (angle bug:913)
    
    Change-Id: Ibccee47ed78e994e40a0effe9afa9cf9692492b0
    Reviewed-on: https://chromium-review.googlesource.com/250330
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit f7b10164292c94d6e4ff21b9ba89d5e10f6c4d84
Author: Cooper Partin <coopp@microsoft.com>
Date:   Thu Feb 12 14:56:07 2015 -0800

    Fixed variable shadowing warnings
    
    Change-Id: I7cf9e09f4003991e44195bedfe58891288541f81
    Reviewed-on: https://chromium-review.googlesource.com/249432
    Reviewed-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit d8d58301319342a9f709f1de3227fa3c31480f18
Author: Nico Weber <thakis@chromium.org>
Date:   Fri Feb 13 15:46:04 2015 -0800

    Make Buffer11.cpp build with clang.
    
    Change-Id: If72bc38dbb484e56a0a26c3aa7ac38bbc319653a
    Reviewed-on: https://chromium-review.googlesource.com/249921
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit ff805cc3ccbef5f2641b861f82ed582d28325faa
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Feb 13 10:59:34 2015 +0200

    Separate integer and float modulus
    
    Integer and float modulus are separated into Mod and IMod operator types
    to make the code clearer and to make GetOperatorString return the correct
    value for both.
    
    Change-Id: Ibfbca2c558bf919b0eab6404d7349f87fe47a18c
    Reviewed-on: https://chromium-review.googlesource.com/249692
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit 23dcabadae74b5babb3b4ca44182f3c353641745
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Feb 13 10:13:24 2015 -0500

    Enable the OpenGL/WGL backend on Windows.
    
    BUG=angle:890
    
    Change-Id: Ida58ecb9f3bcfd7ee9ae5c7cdbdff4aab9cca869
    Reviewed-on: https://chromium-review.googlesource.com/249741
    Reviewed-by: Cooper Partin <coopp@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit c588ac73353c6f381295de57ee62ca7915d4e768
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Feb 13 15:41:41 2015 -0500

    Add the OpenGL renderer to the GN build.
    
    BUG=angle:890
    
    Change-Id: I097296c7125e203ba04eab1c179dc8c183ed4789
    Reviewed-on: https://chromium-review.googlesource.com/249842
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit d28f611301d000289f29398b8916f1cb30a3885d
Author: Cooper Partin <coopp@microsoft.com>
Date:   Thu Feb 12 16:11:00 2015 -0800

    Fixed compressed texture support reporting for feature level 9_3
    
    Change-Id: If6e27db912711532e184a3a716728a19653c0471
    Reviewed-on: https://chromium-review.googlesource.com/249550
    Tested-by: Cooper Partin <coopp@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 12892c9111b8ec83ea0b7b944f2908d17867c8fd
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Feb 13 11:13:13 2015 -0500

    Remove the dependency on OpenGL32.lib by loading all WGL functions.
    
    BUG=angle:879
    
    Change-Id: I1a10a86b710cb0c76be1907136345bcac078da4d
    Reviewed-on: https://chromium-review.googlesource.com/249740
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit d12971af37c75eac50744ed50ad21e5512be9e4f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Feb 12 13:29:15 2015 -0500

    Fix Buffer11 staging buffer revision update.
    
    This bug could trigger a potential extra copy when drawing with
    a pack buffer (or possibly packing vertex/index data).
    
    BUG=angle:912
    
    Change-Id: Ifead6524322aac5bc0be79a05f4db08c8f5a3225
    Reviewed-on: https://chromium-review.googlesource.com/249181
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 398d8e6e58a35c1f91bba5bfd1ed6845cd0160d0
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jan 22 13:33:56 2015 -0500

    Add a basic WGL implementation.
    
    BUG=angle:890
    
    Change-Id: I5202086990b4f4fbf455fd73c3e29e5e3e1f6160
    Reviewed-on: https://chromium-review.googlesource.com/240092
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 09b224742568c869e576b9001fd5d1bf0c0ebe19
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Feb 11 11:47:26 2015 +0200

    Add addBinaryMath and addUnaryMath helpers to ParseContext
    
    This refactoring reduces code duplication and moves functionality that is
    not immediately related to the language grammar out of glslang.y.
    
    BUG=angle:911
    
    Change-Id: If5e225461890ed542dee01905829df1c9a6f5e27
    Reviewed-on: https://chromium-review.googlesource.com/248570
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 4085347266ba725c9924de9b690216d82226eb88
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Thu Feb 12 10:39:56 2015 -0800

    Disable warning 4530 in the libANGLE GN project
    
    Change-Id: I56b5428f40a294248305dff168b9b0bb7b0a9bcc
    Reviewed-on: https://chromium-review.googlesource.com/249240
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit f03bcad6711bef3028bda479366ef37bb79f1f99
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Feb 11 16:46:09 2015 -0500

    Clean up the style in Buffer11.cpp.
    
    Fix indentation, and simplify the naming scheme for the storage.
    Also add some missing DISALLOW_COPY_AND_ASSIGN macros.
    
    BUG=angle:912
    
    Change-Id: I7ac36d8185ce926999501358cec222154d9a3492
    Reviewed-on: https://chromium-review.googlesource.com/249180
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 1033e1d8bbe366a5fd4eac75b1f51f563967f48b
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Feb 12 12:03:13 2015 +0200

    Move operator definitions to their own file
    
    This generalizes GetOperatorString so that it can be used outside
    ValidateLimitations.
    
    BUG=angle:911
    
    Change-Id: I43a160b3d7d60388ad529a72f1720d3171f67315
    Reviewed-on: https://chromium-review.googlesource.com/249073
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit 10617310bc7b32825ebd474c54e18fe0f70b2c32
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Feb 11 16:33:14 2015 -0500

    Update WebGL failures list.
    
    Change-Id: I5cf9e873ddcb293f121a11bd620ce97ee718c049
    Reviewed-on: https://chromium-review.googlesource.com/247760
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit f9a6f084e1d3cce483f240c01f3cd1da617233d9
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jan 22 13:32:49 2015 -0500

    Add GL and WGL renderer stubs.
    
    BUG=angle:890
    
    Change-Id: I64f2a72b4a350f95acc2ca7080fea1a308422ca4
    Reviewed-on: https://chromium-review.googlesource.com/242573
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit ba887d909c0a3f5291ae2e3c4141a88adce36fd7
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jan 20 13:54:30 2015 -0500

    Store mShareHandle in SurfaceD3D.
    
    The type of the share handle depends on the implementation.
    
    BUG=angle:658
    
    Change-Id: Id801f3d0c1e3def7cae5cbd88e7a7032b2f6d8fa
    Reviewed-on: https://chromium-review.googlesource.com/242050
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 45b4e74a3a99d227b9de44c09efd229fe64946a1
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jan 20 13:23:03 2015 -0500

    Move surface size information out of SurfaceImpl.
    
    Some implementations need to query size information directly from their
    native window instead of listening for size events and storing the result.
    
    Also move mSwapInterval to SurfaceD3D since it doesn't need to be stored
    in all cases and there is no query for it.  It no longer requires that the
    SurfaceImpl's derivation remembers to set mSwapInterval in
    setSwapInterval too.
    
    BUG=angle:658
    
    Change-Id: I499c1b8b842254636fc25ff5f2a90107af8fe327
    Reviewed-on: https://chromium-review.googlesource.com/242039
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit f6bf23fd8fa04257a48d121d8b054074e8ac34d4
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jan 20 11:43:54 2015 -0500

    Split up the Display::create*Surface and have them match the API.
    
    BUG=angle:658
    
    Change-Id: Id0054406a5ce6f6ffef28ce84737547c1869efde
    Reviewed-on: https://chromium-review.googlesource.com/242038
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 9b82084f0673a018486e22e8f5893e0873908438
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Feb 12 10:40:10 2015 -0500

    Fix HLSL varying struct linking.
    
    We would always expand a struct name to always include its symbol
    ID. This fixes the workaround to only affect scoped structs.
    We can leave global structs, which are by definition uniquely named,
    without decorating them with a symbol ID.
    
    This fixes several tests in dEQP's shader.linkage.varying.struct.
    
    Re-land with GLSL translator bug fixed.
    
    BUG=angle:910
    
    Change-Id: I23a932bd1dadea5e9aafabde697e6a2af9a43f2b
    Reviewed-on: https://chromium-review.googlesource.com/249134
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit b69a092329830212a81dcb647907f3faf9f0cbfa
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Feb 12 10:34:21 2015 -0500

    Fix UNREACHABLE being hit in Renderer9::applyTransformFeedbackBuffers.
    
    Since applyTransformFeedbackBuffers is called even if transform feedback
    is not active now, remove the UNREACHABLE.
    
    Change-Id: Ibc43cb715f8035437986d1eaa94faf4036581d8f
    Reviewed-on: https://chromium-review.googlesource.com/249121
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit b960cc4a72dcd06784985da3b5c96d8df7ba6e88
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Feb 12 15:33:20 2015 +0000

    Revert "Allow varying structs to match between stages."
    
    This patch has a bug which breaks the GLSL to GLSL translator.
    
    See broken GPU FYI bot builds on the Chromium waterfall:
    
    http://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20%28NVIDIA%29/builds/13074
    
    This reverts commit 489ffc4d69656c2dbfdbe07e3fa6e38baeb3e072.
    
    Change-Id: I8241c6d658f4f31af91b89af1141d3d778ff7c70
    Reviewed-on: https://chromium-review.googlesource.com/249131
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 5274202f36390027435b6f17c332f7f8012f7532
Author: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
Date:   Wed Feb 4 14:55:39 2015 +0000

    Unbind unused stream out from the D3D11 pipeline to avoid conflicts.
    
    Also allow points drawing without gl_PointSize if transform feedback is
    active.
    
    Change-Id: I172d423e847b35b94ebaea102dd97b695575c828
    Reviewed-on: https://chromium-review.googlesource.com/246100
    Tested-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit f4780c1c7e88e2390a9a2caf2b7088f87ba60848
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Feb 11 16:33:11 2015 -0500

    Use correct non-square register count in structs.
    
    For struct varyings with nested structs, we would count registers
    incorrectly, and produce D3D link errors.
    
    This fixes tests in the dEQP's shaders.linkage.varying.struct.
    
    BUG=angle:910
    
    Change-Id: I47ea6dba36bf57cf94a7e7f30997c6c9096c2b40
    Reviewed-on: https://chromium-review.googlesource.com/247243
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit 489ffc4d69656c2dbfdbe07e3fa6e38baeb3e072
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Feb 11 16:33:07 2015 -0500

    Allow varying structs to match between stages.
    
    We would always expand a struct name to always include its symbol
    ID. This workaround fixed scoped structs with the same name. It
    would also block any possiblity of linking the structs successfully.
    
    Instead we can use the workaround only on inner-scoped structs, and
    leave global structs, which are by definition uniquely named, as
    they are.
    
    This fixes several tests in dEQP's shader.linkage.varying.struct.
    
    BUG=angle:910
    
    Change-Id: I81b8dadc7ea493152aff0c44d607114eaaabb142
    Reviewed-on: https://chromium-review.googlesource.com/247242
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 2857f489f32372310014888342c6f9c97fac5995
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Feb 9 15:35:29 2015 -0500

    Fix struct uniform packing.
    
    Our current code would not adapt properly for members that did
    not fit in the previous register. Instead, use the correct adjusted
    value as returned from the block layout encoder.
    
    This fixes a dEQP WebGL test: gles2/shaders/linkage.
    
    BUG=angle:910
    
    Change-Id: Id77d0c76ce767665b3db97cb4d14e8008254fd9f
    Reviewed-on: https://chromium-review.googlesource.com/247241
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 55e79e09bd9bf6e758ae1cefa798b1bd63aaeccd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Feb 9 15:35:00 2015 -0500

    Implement equality ops for nested structs.
    
    This fixes the WebGL test glsl_misc_struct_equals as well as
    several dEQP tests in functional.shaders.struct.
    
    BUG=391957
    BUG=angle:910
    
    Change-Id: I09f3cd3f51bbc3541b64dbcfddfe01884ddba6f5
    Reviewed-on: https://chromium-review.googlesource.com/247083
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit b2a5e342cd3840b207301866c078ff95f74df45a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Feb 11 13:13:21 2015 -0500

    Return egl::Error from Renderer::initialize.
    
    This extra Error info can be useful for passing back additional info.
    In the short-term this means we can implement a UMA histogram at some
    point with a code that represents a more specific reason why the
    init failed.
    
    BUG=436191
    
    Change-Id: If5e099a9ce32e87843754cd4f40d726dd5bad4b8
    Reviewed-on: https://chromium-review.googlesource.com/246564
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 0fe40534bf9ad991f1ff83a6683d95afd3b205f4
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Feb 10 12:01:27 2015 -0500

    Cache sampler completeness in the Texture class.
    
    BUG=angle:909
    
    Change-Id: I14e06e01d111e9d5eec415f4c2d831b61dcb1e3d
    Reviewed-on: https://chromium-review.googlesource.com/248070
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 38832d179d518f88a183c6fb30d631beecb3af5d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Feb 9 10:01:47 2015 -0500

    Add Display getters for native display and attribs.
    
    This simplifies the logic in the Renderer init.
    
    BUG=angle:905
    
    Change-Id: I01bf3701dd85f50e369e2c11e0e2a7cb638ccf00
    Reviewed-on: https://chromium-review.googlesource.com/247650
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit b0eecdfdd228358413c8d99f00d3716050028052
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Feb 10 11:09:12 2015 -0500

    Reduce the calls to get[Width|Height|InternalFormat] in Texture.cpp.
    
    BUG=angle:909
    
    Change-Id: I8a66c1d317bcb7a01d79f9475390deb292e1ae2e
    Reviewed-on: https://chromium-review.googlesource.com/248052
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 866dd2d1bba6a46b5b235487ac305e689c9ad5bd
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Feb 10 11:08:32 2015 -0500

    Store the texture image information in a std::vector instead of a std::map.
    
    BUG=angle:909
    
    Change-Id: Ib595306f6cf0633b16bff6389373c2bb2cc29ec9
    Reviewed-on: https://chromium-review.googlesource.com/248051
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 8310797003c44005da4143774293ea69671b0e2a
Author: Régis Fénéon <regis.feneon@gmail.com>
Date:   Thu Feb 5 12:57:44 2015 +0100

    Implement eglQueryContext
    
    BUG=angle:895
    
    Change-Id: I5e709f772d6222cdb7b5d7c060830a75eac9f815
    Reviewed-on: https://chromium-review.googlesource.com/246490
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 959ad9a898fdffdd63f6ab2e629d51690bc4444f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Feb 9 10:51:39 2015 -0500

    Fix cstdint include in MemoryBuffer.h.
    
    This syntax isn't compatible with OSX.
    
    Change-Id: I3ec2bc856843637c4e1e7afb96a93ff6ea8296da
    Reviewed-on: https://chromium-review.googlesource.com/247660
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 74ba76c458ba80e6e108a688a899cf283b53bd4f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Feb 9 10:31:23 2015 -0500

    Move rx::MemoryBuffer to common library.
    
    This class is not D3D-specific so can be shared among other
    back-ends, or other parts of the ANGLE codebase.
    
    Change-Id: Ie00760eb5dae4db52e465ee7a2f97789bae8c0b0
    Reviewed-on: https://chromium-review.googlesource.com/246500
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 811b63526768ec741c44d2a897e46592744d4371
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Feb 9 10:17:09 2015 -0500

    Add a script to generate a new Renderer.
    
    Also refactor our current Impl headers slightly to facilitate
    parsing by the generation script.
    
    BUG=angle:905
    
    Change-Id: Ib86cff71d18e7f911cf526b27b8a82757bacd738
    Reviewed-on: https://chromium-review.googlesource.com/245497
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit b0e83f46265035eda192bd357abee5e1200ffe92
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jan 28 17:39:34 2015 +0000

    Catch errors in TextureStorage creation in TextureD3D::getNativeTexture.
    
    BUG=450257
    
    Change-Id: Iba75d9f0607177fff0bec7fcd2564a8d2e26da8e
    Reviewed-on: https://chromium-review.googlesource.com/243882
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 15dc05fc497bd55be622f352c2ebc401cf48d80b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jan 22 13:31:46 2015 -0500

    Only request PostSubBuffer support when the extension is available.
    
    BUG=angle:658
    
    Change-Id: I6828290ef89c57e8c794f0fca6e5991c492b67aa
    Reviewed-on: https://chromium-review.googlesource.com/242572
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit f81b6a158a6c9e928242d72d7f40a0b90a7000c7
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jan 19 16:51:55 2015 -0500

    Move eglCreatePbuffer* validation into validationEGL.
    
    BUG=angle:658
    
    Change-Id: I25d1be1ef86f82892186b08c9a8ff0133d520ac6
    Reviewed-on: https://chromium-review.googlesource.com/242037
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 0eef0826a4ff55053ad9b7e70b165c6e6fd2d7d9
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jan 19 16:22:40 2015 -0500

    Move eglCreateWindowSurface validation into validationEGL.
    
    BUG=angle:658
    
    Change-Id: Iaa7e6033fb323c1089907c9ed753746729887061
    Reviewed-on: https://chromium-review.googlesource.com/242036
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 33b6ae54af2f40e61cd153b1f0493167922189b5
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jan 19 15:58:09 2015 -0500

    Move eglCreateContext validation into validationEGL.
    
    BUG=angle:658
    
    Change-Id: Ibdf601725536edf40c0499aba0402fb160b2c841
    Reviewed-on: https://chromium-review.googlesource.com/242035
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit dd43fccc2d5d0e2f7aea16424b7394c8709742d9
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jan 19 15:44:17 2015 -0500

    Add EGL validation helper files and move some validation to them.
    
    BUG=angle:658
    
    Change-Id: Id560268a280f2fa7d75a7d0727dac830fe8de9f1
    Reviewed-on: https://chromium-review.googlesource.com/242034
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 1d8ae6738221aaa8cc80e857a0b74bc664939a05
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jan 19 14:44:29 2015 -0500

    Add a makeCurrent method to Display.
    
    BUG=angle:658
    
    Change-Id: If1830fb164d31e2ee8092414d012e127ec344d69
    Reviewed-on: https://chromium-review.googlesource.com/242033
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit b3dced293da6ec6fd02b48cddcbec67b085266a0
Author: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
Date:   Mon Jan 12 14:54:55 2015 +0000

    Implementing gl_InstanceID in the HLSL compiler.
    
    Fixes:
    dEQP-GLES3.functional.instanced.draw_arrays_instanced.instance_id
    dEQP-GLES3.functional.instanced.draw_arrays_instanced.mixed
    dEQP-GLES3.functional.instanced.draw_elements_instanced.instance_id
    dEQP-GLES3.functional.instanced.draw_elements_instanced.mixed
    
    BUG=angle:601
    
    Change-Id: I6e120eebc90d00e025fc58f096064e6ed1da826b
    Reviewed-on: https://chromium-review.googlesource.com/246911
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit c38fa8a5f4e8c180c68fbe7304f0c602be04dfca
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Feb 6 18:28:51 2015 +0000

    Revert "Track bound render targets in D3D9 with uintptr_t and dirty them with -1."
    
    Failures on the Chromium GPU FYI bots:
    http://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20%28Intel%29/builds/8695
    
    This reverts commit 358c8a95aeb3fd01218bc4116e999f4cd0c3fdc1.
    
    Change-Id: I01d674929280364e097e4f65b06d7c3b1f928e92
    Reviewed-on: https://chromium-review.googlesource.com/247091
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 4e47b92f99619b14fe64cd21aff457a98287083f
Author: Cooper Partin <coopp@microsoft.com>
Date:   Tue Feb 3 09:04:20 2015 -0800

    Fix instanced point sprites when gl_PointSize is specified but not used
    
    Change-Id: I2350fa60cae55f02d7b484c34544c035acaba6ad
    Reviewed-on: https://chromium-review.googlesource.com/245703
    Reviewed-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 358c8a95aeb3fd01218bc4116e999f4cd0c3fdc1
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jan 30 14:34:58 2015 +0000

    Track bound render targets in D3D9 with uintptr_t and dirty them with -1.
    
    BUG=447419
    
    Change-Id: Ia77e3b00db0f327eb278285de14cd438c5cf538b
    Reviewed-on: https://chromium-review.googlesource.com/244664
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit cf0777941aada938f097fe47a50c86a33a0ae09d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jan 28 15:23:17 2015 +0000

    Track bound render targets in D3D11 with uintptr_t and dirty them with -1.
    
    BUG=447419
    BUG=452587
    
    Change-Id: Ic36ebf108eca93e1239cc9c2a0d6479c84e93ace
    Reviewed-on: https://chromium-review.googlesource.com/244663
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 9c4264d90facecf7d5973bbc6d0370430d8789d4
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jan 9 16:41:00 2015 -0500

    Move Renderer::getMajorShaderModel to RendererD3D.
    
    BUG=angle:658
    
    Change-Id: Ibf67a96ec9c0e8d6adc4f9c839da1e06058dc32f
    Reviewed-on: https://chromium-review.googlesource.com/239904
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit bb3f1802fb80ece6c6bf4ff4524bf84cbb963232
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jan 9 16:39:04 2015 -0500

    Remove swap interval queries from Renderer.
    
    BUG=angle:658
    
    Change-Id: I7cd9cf3693c06c46ec6a4054e8fe1586f399273c
    Reviewed-on: https://chromium-review.googlesource.com/239903
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 784cc8f61b26ba5d4ad4db22ccd1f22208e248dc
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Feb 5 09:00:54 2015 -0500

    Require 8 stencil bits in the BlitFramebufferANGLETest.
    
    The test can fail if it uses a config where the default framebuffer does
    not have a stencil buffer.
    
    BUG=angle:658
    
    Change-Id: I82eaf5b508182514439e69469e77591e1aceaf66
    Reviewed-on: https://chromium-review.googlesource.com/246461
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit f21a1080d36f4efbabf640b41cf25677c6d5830a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jan 9 14:41:27 2015 -0500

    Generate the full EGL configs in the Renderers.
    
    Specify the default framebuffer formats in GL formats but still use BGRA
    and ANGLEX formats for now.
    
    BUG=angle:658
    
    Change-Id: I7192db4ca76ab4b0b42daa43785a7ddd9528a9ca
    Reviewed-on: https://chromium-review.googlesource.com/239902
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit c7ea21fa1bb4662602d223f7b1b8d8ce50e816a3
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Wed Jan 7 19:01:34 2015 -0500

    Adds new robust initialization extensions.
    
    Change-Id: I66d2ebbb0ce89bbfd1eda648e9ad0fb2edee0f31
    Reviewed-on: https://chromium-review.googlesource.com/239286
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit b885e57129982418fbc897a816e6771601349a83
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Feb 3 16:16:04 2015 -0500

    Implement ReadBuffer functionality.
    
    This enables ReadPixels from non-0 FBO attachments.
    
    Tested with:
    dEQP-GLES3.functional.negative_api.buffer.read_buffer
     (fails due to a possible error in dEQP)
    dEQP-GLES3.functional.shaders.fragdata.draw_buffers
     (passes)
    
    BUG=angle:903
    
    Change-Id: Ib095e1d50b8fbbc6f197de25f19ec0993309145a
    Reviewed-on: https://chromium-review.googlesource.com/244841
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit b4b53c5c3a6aa394cb80cd805594781e965f26ae
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Feb 3 15:22:48 2015 -0500

    Add stubs for primitive restart caps.
    
    Allow dEQP to reset this particular state variable, while still
    throwing an UNIMPLEMENTED error if we try to render with primitive
    restart enabled.
    
    BUG=angle:901
    
    Change-Id: I1ab46ff4d8bff2775225b083f08d156b9422b9c5
    Reviewed-on: https://chromium-review.googlesource.com/244840
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 78d9fcf2a27dd111db0c3e2200d5136986c6c41e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Feb 3 15:22:45 2015 -0500

    Update failing WebGL expectations.
    
    Change-Id: I0bde5c4e896aded773d2b9de7343883264625f52
    Reviewed-on: https://chromium-review.googlesource.com/245807
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit c223dc6bdf72672dd7c9e026927f1713659091d4
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jan 9 13:10:01 2015 -0500

    Change Config to a struct and rename it's members.
    
    BUG=angle:658
    
    Change-Id: I18dab915730fc28815db8080b3614da821f9c8b1
    Reviewed-on: https://chromium-review.googlesource.com/239901
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 6812a55c844cce3590560dda5c54d5c4eb7eba45
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jan 6 17:26:42 2015 -0500

    Rewrite ConfigSet and make EGLConfig synonymous with egl::Config.
    
    BUG=angle:658
    
    Change-Id: I3c33faf18af0bfda00dc5babe6356d6c8661f032
    Reviewed-on: https://chromium-review.googlesource.com/238862
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 5c39f68879aae1c27037d06f8864cf4354eb127f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jan 6 15:19:35 2015 -0500

    Have the DisplayImpl create the Renderer and Contexts.
    
    BUG=angle:658
    
    Change-Id: I726d87b90be8382c5dd8964e4d8686711e404ffe
    Reviewed-on: https://chromium-review.googlesource.com/238861
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 821f40a4d789994cf85094d646268cd0cfe6f12d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Feb 3 15:26:40 2015 -0500

    Fix conversion to bool warning.
    
    BUG=453543
    
    Change-Id: I287cc3b6e86df71eb3dfa3c82316ae56950913b3
    Reviewed-on: https://chromium-review.googlesource.com/245833
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 0fbd128c5cb66a1d060f1f1b9cb454186d4bbc43
Author: David Yen <dyen@google.com>
Date:   Mon Feb 2 14:46:09 2015 -0800

    Extension behavior is now reset between each shader translation unit.
    
    The extension behavior was being shared between translation units,
    this was causing states to be cached between shader compilers. This
    has been fixed now by adding a new ResetExtensionBehavior() function.
    
    A unit test has also been added for testing extensions when compiling
    shaders. A test has been included which tests that the internal state
    of the extension behavior is being reset properly.
    
    BUG=453543
    Change-Id: Icb2a07019b5db972dc75cdbbdece4b7e9757c682
    Reviewed-on: https://chromium-review.googlesource.com/245522
    Tested-by: David Yen <dyen@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit fcbf345b0061d8017fea8916d0bcfd2f9356abf5
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Tue Feb 3 09:29:43 2015 -0800

    Add testfixturetypes.h to util.gyp
    
    Change-Id: I562bdca2c5c693155333a0ce168310be05b37531
    Reviewed-on: https://chromium-review.googlesource.com/245741
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Austin Kinross <aukinros@microsoft.com>

commit 39f2e2b007bf1b1944a02b7c4b5f7c4dc57dc06e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Feb 3 09:39:45 2015 -0500

    Add multithreaded create device flag in D3D9.
    
    This fixes a crash when we try to load a program executable in the
    worker thread in the multi-threaded shader compilation. This fixes
    the angle_end2end_tests.
    
    BUG=angle:900
    
    Change-Id: Id4494864c7121630c43c2fe64a92674326eabc69
    Reviewed-on: https://chromium-review.googlesource.com/245681
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit b8aee3bc1da54923900e57258923b0c68b41ed57
Author: Minmin Gong <mgong@microsoft.com>
Date:   Tue Jan 27 14:42:36 2015 -0800

    Add UNPACK_ROW_LENGTH support to D3D11 renderer
    
    Change-Id: I31ccffddcb04a45f19d3c3eb9a396c30e794b218
    Reviewed-on: https://chromium-review.googlesource.com/243951
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Minmin Gong <mgong@microsoft.com>

commit 1d57ad40439cd30e43a4b245caaed7f191137b46
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Feb 2 16:57:06 2015 -0500

    Add some missing disallow macros.
    
    DISALLOW_COPY_AND_ASSIGN was missing from CompilerImpl,
    FramebufferImpl and DefaultAttachmentImpl.
    
    BUG=angle:904
    
    Change-Id: I2e57078cd5b40baf6962f19869c2f3b67ad6dc6e
    Reviewed-on: https://chromium-review.googlesource.com/245514
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 9236b4185de6d22f9ef51b9a77b55997b6bfb86e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Feb 2 16:51:52 2015 -0500

    Add generic Impl casting helper methods.
    
    GetAs and GetImplAs are template helpers that can replace all of our
    custom "makeTextureD3D", etc methods. This will help save code across
    different back-ends.
    
    Change-Id: Ib3215c005bfac5a819c5d8f7d60a73a725241332
    Reviewed-on: https://chromium-review.googlesource.com/245390
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 310184861bab5e95139e0f34b1f8e88fe8c677b8
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Fri Jan 30 13:06:52 2015 -0800

    Resubmit "Compile the D3D11 VS and PS on separate threads at GL link time"
    
    The original change caused a Chromium build break due to
    "__uncaught_exception" not being defined in concrt.h. This is because Chromium
    defines "_HAS_EXCEPTIONS=0" in its GYP, but ANGLE doesn't do this.
    
    This change defines "_HAS_EXCEPTIONS=0" in ANGLE's GYP to match Chromium,
    and refines it in ProgramD3D.cpp before including <future>.
    
    Change-Id: Ic324702569bac8f4ae1381f308c4f3f11f190f9e
    Reviewed-on: https://chromium-review.googlesource.com/244860
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 592ab9dd91e653f5c2d4f7395267046d229e20c1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Feb 2 10:56:12 2015 -0500

    Fix indentation in entry_points_gles_3_0.cpp.
    
    Change-Id: Iba3d8d51f5fb04958c5f917d56dbc01df70da041
    Reviewed-on: https://chromium-review.googlesource.com/245323
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 1528f5f1273d5ffbb8d0aceb990b83d4a14f47ff
Author: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
Date:   Wed Jan 28 16:07:05 2015 +0000

    Fix the calculation of the D3D stream output offset in the D3D11 backend
    
    Also add an extra check in BindBufferBase/Range that XFB is not active.
    
    BUG=angle:898
    
    Change-Id: I0d61ebaa0674b0a375cc35efa614b021a6901eac
    Reviewed-on: https://chromium-review.googlesource.com/243892
    Tested-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit f685991dc8e6d1091fba8c08a3b9a9e09b2be331
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jan 30 17:05:35 2015 -0500

    Fix ANGLETest::getPlatformRenderer.
    
    Was mistakenly returning a boolean instead of EGLint.
    
    BUG=angle:850
    
    Change-Id: I07f0995d66783f62124d37f5ea8e595f516cc84f
    Reviewed-on: https://chromium-review.googlesource.com/244844
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>

commit 198e9e39b2a9e63992687f18b10e836a67a93664
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jan 30 15:24:25 2015 -0500

    Fix parity bug in egl::Error::createMessageString.
    
    The check should be "==" instead of "!=". This gave a crash any time
    we would generate an Error with a message.
    
    Change-Id: I7c5d57e30053591b4713d8c829e89fd1c0703da0
    Reviewed-on: https://chromium-review.googlesource.com/244820
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit b82e1a9cd6f78acd50affa8c92680b5fc9d43971
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jan 30 15:20:09 2015 -0500

    Fix parity bug in Error::createMessageString.
    
    The check should be "==" instead of "!=". This gave a crash any time
    we would generate an Error with a message.
    
    Change-Id: I9217e6237ee8a2d3a4d6caa799b8508edbf4e774
    Reviewed-on: https://chromium-review.googlesource.com/244754
    Reviewed-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 846ca84301a81e82fd033899c11aea55d7fb2eb3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jan 29 10:29:54 2015 -0500

    Fix 2D tex array buffer unpacking.
    
    In some cases, when an unpack buffer is enabled, we would use the
    incorrect layer offset, because we would think the pixel pointer
    was NULL. Use a new parameter instead of the double "null" meaning
    to fix this.
    
    This fixes several tests in the dEQP texture specification group.
    (EG: dEQP-GLES3.functional.texture.specification.teximage3d_pbo)
    
    BUG=angle:899
    
    Change-Id: If96bba6987a04653301efc348d32de372a237aa1
    Reviewed-on: https://chromium-review.googlesource.com/244092
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit 9d294c33f2b2f641b858233e226dff49835b4948
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jan 30 19:58:39 2015 +0000

    Revert "Compile the D3D11 VS and PS on separate threads at GL link time"
    
    Failing compile on Chromium bots:
    
    FAILED: ninja -t msvc -e environment.x86 -- C:\b\build\goma/gomacc "C:\b\depot_tools\win_toolchain\vs2013_files\VC\bin\amd64_x86\cl.exe" /nologo /showIncludes /FC @obj\third_party\angle\src\libANGLE\renderer\d3d\libANGLE.ProgramD3D.obj.rsp /c ..\..\third_party\angle\src\libANGLE\renderer\d3d\ProgramD3D.cpp /Foobj\third_party\angle\src\libANGLE\renderer\d3d\libANGLE.ProgramD3D.obj /Fdobj\third_party\angle\src\libANGLE.cc.pdb
    c:\b\depot_tools\win_toolchain\vs2013_files\vc\include\concrt.h(4774) : error C3861: '__uncaught_exception': identifier not found
    ninja: build stopped: subcommand failed.
    
    
    This reverts commit 6d51f2629a8118f7afd450ea832c93143a84c330.
    
    Change-Id: Iebb2843dfbc3795290fbb33e1a111ddad59c3126
    Reviewed-on: https://chromium-review.googlesource.com/244792
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 6d51f2629a8118f7afd450ea832c93143a84c330
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Mon Jan 26 16:34:48 2015 -0800

    Compile the D3D11 VS and PS on separate threads at GL link time
    
    BUG=angle:900
    
    Change-Id: Iad5dbbcc676e2a2b6dfc3d7bc6ab5957154de33e
    Reviewed-on: https://chromium-review.googlesource.com/240490
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Austin Kinross <aukinros@microsoft.com>

commit c3b9b26ad1390c44c4a464389e618d3cb35cac68
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jan 30 14:00:51 2015 -0500

    Skip failing Texture tests on Intel D3D11.
    
    There are currently some failures on the Chromium GPU FYI bots. The
    failing machine is using an Intel HD 3000, and the group of failing
    tests are the TextureTest.CopySubImageFloat_* group. I'm unable
    to repro these failures, but disable the tests until we can fix them.
    
    Also clean up our method of determining Renderer properties in
    ANGLETest.
    
    BUG=angle:850
    
    Change-Id: I444b9d3497ea635fbd8957ac243b16c822c19d06
    Reviewed-on: https://chromium-review.googlesource.com/244781
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>

commit 254f3683cad805e24773f4fd3ff283eba0ee9fad
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jan 29 16:33:07 2015 -0500

    Complete EGL 1.5 entry point stubs.
    
    We were missing the entries in the def file, and we were missing two
    new entry point functions from the new header. This fixes linking
    against dEQP.
    
    BUG=angle:901
    
    Change-Id: I56d35bb6e8f3bd9e26943eaec196034605e154fc
    Reviewed-on: https://chromium-review.googlesource.com/244444
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit cae611655e181cb3744c1f2211ebc81a564160fb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jan 29 15:53:08 2015 -0500

    Update egl.h from khronos source.
    
    Our header was out-of-date with some EGL 1.5 Image-related stuff.
    This fixes the new dEQP compile which relies on the entry points
    being defined.
    
    BUG=angle:901
    
    Change-Id: Ic6ecf45c9e626e4b8e5f715f5301a9fbba295f3e
    Reviewed-on: https://chromium-review.googlesource.com/244443
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit d8e62a3940b4f82d2a782448f31bc115205901f3
Author: Cooper Partin <coopp@microsoft.com>
Date:   Thu Jan 29 15:21:25 2015 -0800

    Added required casts to fix 64-bit compilation errors
    
    Change-Id: I5ec9090e0129c778de8fcdc6cf70ea0fe460a19d
    Reviewed-on: https://chromium-review.googlesource.com/244510
    Tested-by: Cooper Partin <coopp@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit bc393df9cd8ae893da686533644da29a8c4911ae
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jan 29 13:46:07 2015 -0500

    Allow 32-bit float formats in ES2 CopyTexSubImage.
    
    These corner case formats can come about from using floating
    point textures and trying to copy between them. There currently
    isn't a good alternative in WebGL 1 for copies.
    
    BUG=angle:850
    
    Change-Id: I3dc29e42b5ec7dcf071185bc09c6b3e9e3cb3207
    Reviewed-on: https://chromium-review.googlesource.com/241048
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 88fe1ad782c1f12fe2273dedde539604663343fa
Author: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
Date:   Mon Jan 19 15:09:26 2015 +0000

    Update the texture storage after generateMipmaps and setStorage.
    
    Also adds a few assert in SetData and various places to ensure that
    images are not dirty before modifying the storage.
    
    BUG=angle:873
    
    Change-Id: I7cc922b33da0d79a1b5aefe216e9ccfaaf86a306
    Reviewed-on: https://chromium-review.googlesource.com/241880
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>

commit b9266276739ded2f1c78be2659dabb97681ab8aa
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jan 29 13:25:14 2015 +0000

    Update texture size information on egl[Bind|Release]TexImage.
    
    BUG=450257
    
    Change-Id: I7609131d78f255bf9f79b42f39b02303a5c14b60
    Reviewed-on: https://chromium-review.googlesource.com/243915
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit b2d298dbd0053fc0cc0259281c940395664930d6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jan 29 10:29:51 2015 -0500

    Fix TextureStorage11::setData for 3D textures.
    
    Currently this method doesn't handle partial offsets.
    Fixes dEQP tests in the texture specification group.
    
    BUG=angle:899
    
    Change-Id: I20160e49a46957b4f6cf96f529ab4ea7ddf7b343
    Reviewed-on: https://chromium-review.googlesource.com/244091
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 3799714507c7e1c8c6c8d298f342017370a20e75
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jan 28 10:06:34 2015 -0500

    Defer dependent HLSL global var inits.
    
    Some global initializers depend on other globals, for instance a
    varying or attribute value. Since we use a static proxy variable for
    these varyings, we need to initialize the global static after we
    initialize the proxy in the shader preamble. This fixes a long-
    standing compiler bug.
    
    We should also add a WebGL test for this.
    
    BUG=angle:878
    
    Change-Id: I71db103a6b8c24fb862e0d8b32293da9bc2e8103
    Reviewed-on: https://chromium-review.googlesource.com/243581
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 448d3db58c4a2a107bc2a1ffa5698e3e1ee8e3d7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jan 28 16:51:10 2015 -0500

    Fix 'getDepth' in Texture::isLevelComplete.
    
    Was mistakenly inserted as getWidth in 691e58cd84360f.
    
    BUG=angle:681
    
    Change-Id: Ibccf056dcb47c8711422efb8bd40fb6f64ff57d9
    Reviewed-on: https://chromium-review.googlesource.com/244090
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit b633dc61438af358b6c581e0b9a12b55ac16cc29
Author: Scott Graham <scottmg@chromium.org>
Date:   Wed Jan 28 12:29:53 2015 -0800

    Avoid double copy of d3dcompiler_47.dll
    
    ninja expects the output of an action to update the timestamp, however
    a plain copy does not do this. So on a second run, ninja sees the
    timestamp of the copy .bat is newer than the dll (original publish date)
    so it re-copies. To avoid this, `touch` the dll on copy.
    
    BUG=453037
    Change-Id: Icb849d2b0faaceeccfc33e2eda509c835c9cdc93
    Reviewed-on: https://chromium-review.googlesource.com/244040
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Scott Graham <scottmg@chromium.org>

commit 19d438d4a6b27d94c7bdd4dd138ad24cb0f24f2e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jan 19 13:42:12 2015 -0500

    Fix checks for base and max level in Texture.
    
    The dEQP unpack buffer tests were failing because they use a max and
    base level of zero with mipmapping enabled. Update our sampler
    completeness checks to account for min and max level.
    
    We'll have to dig in to our code to find corner cases in D3D with
    base and max level.
    
    Change-Id: I74357c6dc2e1908d0463d2e5cbc8ee91b61a3b7f
    Reviewed-on: https://chromium-review.googlesource.com/240763
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 967ed7b4a368ac4fe77ece317000b60c81b1c749
Author: Minmin Gong <mgong@microsoft.com>
Date:   Tue Jan 27 14:42:09 2015 -0800

    Add Minmin to CONTRIBUTORS.
    
    Change-Id: I15598e42fa708861c0803acd6df4aa0b9d423ab5
    Reviewed-on: https://chromium-review.googlesource.com/243950
    Tested-by: Minmin Gong <mgong@microsoft.com>
    Reviewed-by: Cooper Partin <coopp@microsoft.com>
    Reviewed-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 32aab01d18a18be97b12833e9ecf7157d6320abd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jan 27 14:12:26 2015 -0500

    Use a stack for OutputHLSL info log output.
    
    Previously we would always reference mBody in several intermediate
    output methods. This made using these traversals from within the
    header, or for utility methods, very difficult. Instead, use a stack
    where we write to the top InfoLog, and can push/pop from the stack.
    This gives us more flexibility.
    
    BUG=angle:878
    
    Change-Id: I8a6c0382bad18b44d75158274c701db13d4d4e65
    Reviewed-on: https://chromium-review.googlesource.com/243580
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit 167036a902316e57fdba3085588f04069fb136b3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jan 27 15:05:30 2015 -0500

    Update WebGL expected failures.
    
    A new test 'sampler-struct-function-arg' fails with ToT WebGL.
    
    Change-Id: Ie62208364ceacd4b980cb16f5de31cc4b5c62fa1
    Reviewed-on: https://chromium-review.googlesource.com/243594
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit eac70a3168786cb1b847727c38fee69a777e82c0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 9 14:13:48 2014 -0400

    Use JSON as startup parameters to BufferSubData test.
    
    BUG=angle:744
    
    Change-Id: I60287f3c612011f505f1bc20632efc4dd17001d3
    Reviewed-on: https://chromium-review.googlesource.com/221375
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit 4b3a29e2c817d87019817a7dff03118ea77adb16
Author: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
Date:   Fri Jan 23 15:46:22 2015 +0000

    Resize buffer storage on getLatestBufferStorage if needed.
    
    BUG=angle:897
    
    Change-Id: I3d6079b718bb5dd61cbd3098694204aae9bbc932
    Reviewed-on: https://chromium-review.googlesource.com/243152
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>

commit 3ae6465f03660f5d93a7ee01715b54948caa8858
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Mon Jan 26 15:51:39 2015 -0800

    Fix lots of variable shadowing in ANGLE
    
    BUG=angle:877
    
    Change-Id: I3df0fffb19f5ecbe439fbc2a8d6d239a5dc6b638
    Reviewed-on: https://chromium-review.googlesource.com/243334
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 1be8870bd29ba8d848f65031104cef3b8c8b3374
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Jan 19 16:56:44 2015 +0200

    Avoid precision emulation overhead on unused values
    
    Avoid rounding intermediate values when the intermediate value is not
    consumed. For example, this avoids rounding the return value of
    assignment, so "b = a;" becomes "b = frm(a);" instead of "frm(b =
    frm(a))".
    
    BUG=angle:874
    TEST=compiler_tests
    
    Change-Id: Ifcdb53fb1d07a2cf24e429cc237c2d0262dc32f8
    Reviewed-on: https://chromium-review.googlesource.com/241852
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit c51113d04c89d63df8a9157b69f0b5d53ff32428
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jan 6 10:28:47 2015 -0500

    Generate egl configs from the DisplayImpl.
    
    Still do the actual generation in the Renderer9/11 for now but route it
    through the DisplayImpl.
    
    BUG=angle:658
    
    Change-Id: Ib976fbd1b9e349146dc068bbdd4e6a3d2a5ddc69
    Reviewed-on: https://chromium-review.googlesource.com/238860
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit b931e72173dd22e5538c19910c2b1de47e9a73c4
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Dec 11 13:49:13 2014 -0500

    Check for EGL extension existance during validation.
    
    BUG=angle:658
    
    Change-Id: I078d7f9ab4ab42bd7d3cd3865572ead8ed1f0b29
    Reviewed-on: https://chromium-review.googlesource.com/234763
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 1b7654565cacc4782d44764882b60fd17786d758
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Dec 11 11:58:39 2014 -0500

    Move display extension initialization to DisplayImpl.
    
    BUG=angle:658
    
    Change-Id: I44d95fad4e1be5cc76f443d724defd37da4a268f
    Reviewed-on: https://chromium-review.googlesource.com/234762
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 74cafab17d9e1c987855faa65c6198099d4a5c2c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jan 23 23:17:32 2015 +0000

    Revert "Fix lots of variable shadowing in ANGLE"
    
    Caused WebGL CTS failures on the texture-npot test:
    https://www.khronos.org/registry/webgl/sdk/tests/conformance/textures/texture-npot.html
    
    This reverts commit c67e6e9fade44ef8938724e82db11db725e9c8e5.
    
    Change-Id: I089e99859231e0d657084ac3647257c650a9da92
    Reviewed-on: https://chromium-review.googlesource.com/243041
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit c67e6e9fade44ef8938724e82db11db725e9c8e5
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Wed Jan 21 16:01:07 2015 -0800

    Fix lots of variable shadowing in ANGLE
    
    BUG=angle:877
    
    Change-Id: I15168ae32605b26aee08274464ffe68adb5a7e87
    Reviewed-on: https://chromium-review.googlesource.com/242351
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Austin Kinross <aukinros@microsoft.com>

commit 3b2f9f64dc6edca63479cdab750f1424824fbf5d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jan 23 16:09:06 2015 -0500

    Disable MipMapTests on all renderers.
    
    Change-Id: Ic229ced16f667882521536db5bd483c76b24d600
    Reviewed-on: https://chromium-review.googlesource.com/242905
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 2bdcbb9a3717c94fd09510ef3f11885a8ad01710
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Fri Jan 16 11:12:15 2015 -0800

    Enable Windows Phone 8.1 project generation
    
    Change-Id: Iab44f6d634bdcd01348aa49de28b96c3b6086df7
    Reviewed-on: https://chromium-review.googlesource.com/241945
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Austin Kinross <aukinros@microsoft.com>

commit cd83a2f21084065eee991c89af6ec864a3572a4f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jan 23 12:50:20 2015 -0500

    Disable the MipMapTests on D3D11 FL 9.3.
    
    Change-Id: Ibcb72f7b1aabcd98c4bebd91c3a57f5ba57eac3a
    Reviewed-on: https://chromium-review.googlesource.com/242850
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 62815bf47d7f0eafa299cc016845b7f2910dc63c
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Thu Jan 15 16:32:36 2015 -0800

    Improve D3D11 FL9_3 zero-LOD workaround (e.g. TextureCubes)
    
    D3D11 Feature Level 9_3 can't disable mipmaps on a mipmapped
    texture, and sample from level zero of it. A previous commit
    added a workaround for this in ANGLE to Texture2Ds. This
    commit fixes some minor issues in that commit, and extends
    the workaround to apply to TextureCubes too.
    
    Change-Id: Ic97321af6f8bbf7ad5d96e58655c342db3978a6a
    Reviewed-on: https://chromium-review.googlesource.com/241944
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 398c5a2a5beaff62f8982218d89959253653baf9
Author: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
Date:   Fri Jan 16 17:17:47 2015 +0000

    Support for 3D texture transfers with a non-null z offset.
    
    Also fixes the unpack buffer offset which must be in pixel instead of
    bytes in the shader parameter.
    
    BUG=angle:508
    
    Change-Id: I908460a76c300d96054a02206e1f2e3ad2b8e9d0
    Reviewed-on: https://chromium-review.googlesource.com/241440
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>

commit bc23446163e5ba36c76486ca02d3e9b79ad0b10d
Author: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
Date:   Fri Jan 16 16:09:39 2015 +0000

    Use a special flag to mark D3D11 shaders as dirty instead of NULL.
    
    Also remove mCurPointGeometryShader and instead pass the program to
    drawArrays.
    
    BUG=angle:872
    
    Change-Id: If55517e81d9234705eabcc0e5be7b5b492858e08
    Reviewed-on: https://chromium-review.googlesource.com/241421
    Tested-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 993b6f6cbd8d31554dc34494682bb00803fa7c7c
Author: Cooper Partin <coopp@microsoft.com>
Date:   Tue Jan 20 08:42:08 2015 -0800

    Removed Samples and Tests project generation from Windows Store builds.
    
    Change-Id: Ic9a9f498888dba0c1986faa309f78bc71711c751
    Reviewed-on: https://chromium-review.googlesource.com/241943
    Tested-by: Cooper Partin <coopp@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 051dbc7988df485ae045fcadc7479b9fbd2a2ad1
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jan 5 15:48:58 2015 -0500

    Create a formatutilsD3D and move some functions from formatutils.
    
    BUG=angle:681
    
    Change-Id: I694073c50dccd05c3117761e446eba0d15c03293
    Reviewed-on: https://chromium-review.googlesource.com/238480
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit e50bf15f604cda1312ae90068c49b4ce891af53b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jan 20 16:04:41 2015 -0500

    Disable HugeSetDataShouldNotCrash test.
    
    This test flakes out on some Chromium bot configurations. It could
    be that we need to redesign it to use mocks or something similar
    to test reliably.
    
    Change-Id: Ib323940d52db052e18d2352e45e029bbb1b64af0
    Reviewed-on: https://chromium-review.googlesource.com/242023
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit fab29759523758c19feb1c7486248f252a408823
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jan 20 13:57:23 2015 -0500

    Reduce D3D9 error spam in renderer9 utils.
    
    CheckDeviceFormat with a depth stencil format gives a spurious error
    when called with a non-depth-stencil format. We can check the number
    of format bits before we call to reduce the error spam.
    
    Change-Id: Ia2a6e6d756c84e13effe298240f33c8c83379267
    Reviewed-on: https://chromium-review.googlesource.com/242030
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit e6664f06415d498896e0c94c6e88e4be5fd847cb
Author: Cooper Partin <coopp@microsoft.com>
Date:   Fri Jan 9 16:22:24 2015 -0800

    Added PointSprites Support for renderers that do not support Geometry Shaders
    
    Change-Id: Iae9ac5f8fbba68dba5e49ccda7bb7eebb05c8e9a
    Reviewed-on: https://chromium-review.googlesource.com/240450
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 31b5fc624ac6cc24df7944dac7f2298fc6cdff9c
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Jan 16 12:13:36 2015 +0200

    Add support for bitwise operations in ESSL3
    
    Add support for <<, >>, &, |, ^, and their compound assignment variants
    <<=, >>=, &=, |=, ^=. Also add support for bitwise not (~).
    
    BUG=angle:870
    
    Change-Id: I5e6a835409589556d5d58d58078fdf505cfd8da5
    Reviewed-on: https://chromium-review.googlesource.com/241850
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 3940a453440ee3b5e22d229d9f45498b8b2486d8
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Wed Jan 14 17:26:32 2015 -0800

    Only call std::string constructor in gl::Error when necessary
    
    std::string's constructor is very expensive in debug builds.
    In some applications we have seen it use 10% of the CPU.
    This change makes (e)gl::Error store a pointer to an std::string,
    and only create a string when necessary.
    
    Change-Id: I78bfbda86568944681517fe32df9d1556e4ebee7
    Reviewed-on: https://chromium-review.googlesource.com/240495
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 7700ff65c9e31a78b9256e4e201c7c0ba311a3c5
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Jan 15 12:16:29 2015 +0200

    Add basic support for ESSL3 vec2 (un)pack functions
    
    The functions are emulated on HLSL, and use the native functions on
    OpenGL 4.2+ and GLES3.0. Emulation for OpenGL versions <= 4.1 is not yet
    implemented.
    
    BUG=angle:865
    
    Change-Id: I6803a1767dacdb3dca12f13924651fd38fcacb75
    Reviewed-on: https://chromium-review.googlesource.com/240961
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 958db2b6c5c0b583a8b6408d8450f15259a55b73
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jan 16 13:40:01 2015 -0500

    Add rapidjson library to DEPS.
    
    RapidJSON gives us the ability to use JSON in our performance
    tests to specific the input. The license is very permissive
    and according to the author the performance is excellent.
    
    Chromium's JSON library unfortunately seems quite tied to the
    "base" project.
    
    BUG=angle:744
    
    Change-Id: I64e72aad1ed6fa954acd851607032cb48a461348
    Reviewed-on: https://chromium-review.googlesource.com/221374
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 41ebb80833fe952c32859d7b9ec681e163534ca8
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jan 5 15:11:18 2015 -0500

    Move imageformats to the d3d folder.
    
    BUG=angle:681
    
    Change-Id: I83f0e5aaca4aaa84e5868afcde4f27eba011d5f1
    Reviewed-on: https://chromium-review.googlesource.com/238479
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit c2ca196e8fffe9eb30ff30c311467ddc4af01404
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jan 5 15:02:18 2015 -0500

    Move loadimage to the d3d folder.
    
    BUG=angle:681
    
    Change-Id: Id901d9ae66207ac5e7d2844b8cd1f6a58c4492f6
    Reviewed-on: https://chromium-review.googlesource.com/238478
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 04185ac79ec84858edabe2c08222127fbf22a3df
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jan 5 14:58:09 2015 -0500

    Move GenerateMip to the D3D folder.
    
    BUG=angle:681
    
    Change-Id: Icdffe7eb8f975ee0966e9fb241835ac541eb39f0
    Reviewed-on: https://chromium-review.googlesource.com/238477
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 34cc136a689711ee7f64f90b2de9b07cfb9a9f17
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jan 5 14:55:44 2015 -0500

    Move copyvertex to the d3d11 folder.
    
    BUG=angle:681
    
    Change-Id: Id37ed1ca617f1d2b6c1bd4a86fc8fcd28b933e8f
    Reviewed-on: https://chromium-review.googlesource.com/238476
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 59c4debef38f7f85a8bc8099bbdeb6b341bdfb9a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jan 5 14:49:56 2015 -0500

    Move copyimage to the D3D folder.
    
    BUG=angle:681
    
    Change-Id: I2ce237281cc75fdae11b5ddb4eca52058c395e7a
    Reviewed-on: https://chromium-review.googlesource.com/238475
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 6f5dc074b2d3c40866ef4a757468dd469090711c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jan 5 14:46:20 2015 -0500

    Move vertexconversion.h to the d3d9 folder.
    
    BUG=angle:681
    
    Change-Id: I87ef6856040978a9a6045d1df20fe3117def35a3
    Reviewed-on: https://chromium-review.googlesource.com/238474
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 359ef2694fdaa08b641a3ee71757b146f9da1121
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jan 5 14:42:29 2015 -0500

    Rename ShaderExecutable to ShaderExecutableD3D and move it to the D3D folder.
    
    BUG=angle:681
    
    Change-Id: I097d6591be4e873c9a6f210cc91e3f4eb60f036b
    Reviewed-on: https://chromium-review.googlesource.com/238473
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 2dc4639ff0cdb9493e213ada88c6e0142a159a22
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jan 5 14:33:58 2015 -0500

    Rename SwapChain to SwapChainD3D and move it to the D3D folder.
    
    BUG=angle:681
    
    Change-Id: Idcf24556e590e07cc0b6cf640d4701353a0cda5e
    Reviewed-on: https://chromium-review.googlesource.com/238472
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit c2e75afa2ccfc9d9ed1a66f4e2f4385f363b2f9d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jan 5 14:26:24 2015 -0500

    Rename RenderTarget to RenderTargetD3D and move it into the d3d folder.
    
    BUG=angle:681
    
    Change-Id: I1946e01ce09d99405c318723c254fe300cc5ac53
    Reviewed-on: https://chromium-review.googlesource.com/238471
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit b4dedf3e80e8e89577ef8ea45625d88536f4bf6f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jan 5 14:08:53 2015 -0500

    Merge the Image class into ImageD3D.
    
    BUG=angle:681
    
    Change-Id: I0c0d41fb3ff9592b08ede58a8c2ec2bd2d94a0b2
    Reviewed-on: https://chromium-review.googlesource.com/238470
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 909b90ce8071dd1e7bab4fcc724aa6294e791454
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jan 12 14:07:26 2015 -0500

    Use the ImageIndex class for indexing the Texture size information.
    
    BUG=angle:681
    
    Change-Id: I0c8d1c04ca8eefb9b618ee6635c0643d162c0cc1
    Reviewed-on: https://chromium-review.googlesource.com/240241
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit abf6dadd4983531c5cb8e28c0e3efbda3d283f0e
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Jan 14 14:45:16 2015 +0200

    Implement matrix inverse built-in
    
    Inverse is emulated in HLSL by calculating the cofactor matrix and
    dividing that with the determinant. This results in the transpose of the
    inverse as is required. Better performing options might exist especially
    for 4x4 matrices, but this is enough for a working implementation.
    
    BUG=angle:859
    
    Change-Id: I5185797cc1ed86865f5f4342707abdc2977a186b
    Reviewed-on: https://chromium-review.googlesource.com/240331
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d68157fc4b0dddf56f7d11a230a96e898cdb4750
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Jan 16 12:24:17 2015 +0200

    Fix issues related to modulus operator
    
    Make sure that "scalar %= vector" is not approved by the compiler, and
    that % and %= are only exposed on GLES3.
    
    BUG=angle:854
    
    Change-Id: I3ac7eb607bd86a6caa905d2bef5d397688ad3fd3
    Reviewed-on: https://chromium-review.googlesource.com/241410
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 5f7a717b825fc98bc76e973a049918907ee8f28f
Author: Gregoire Payen de La Garanderie <Gregoire.Payen@imgtec.com>
Date:   Mon Jan 12 10:50:33 2015 +0000

    Fixing EVENT message of gl::RenderbufferStorage.
    
    Change-Id: Iaf151d7521e67e8fe8bca331dabdf44d72e77ca1
    Reviewed-on: https://chromium-review.googlesource.com/241420
    Tested-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit e8c86274c3bc0602ea8c72c3822e97a36438c93b
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Thu Jan 15 18:55:36 2015 -0800

    MipmapTestES3's SetUp() doesn't conform to standards
    
    Change-Id: I57dba132cd08bb1b3db2cda2fe0c31b97746e1a4
    Reviewed-on: https://chromium-review.googlesource.com/241380
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Nico Weber <thakis@chromium.org>

commit 773c5180509e3187f2e60eb2dfdf79328a090b90
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Thu Jan 15 12:31:29 2015 -0800

    Fix WinRT build break. angle_common needs the WinRT flags.
    
    Change-Id: I409527becc9d8d2d91766a4cc5a24f96fd2b7505
    Reviewed-on: https://chromium-review.googlesource.com/241070
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Austin Kinross <aukinros@microsoft.com>

commit 155610b9a4e5cbde31af4fa23388fe23bdce294f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jan 15 16:37:17 2015 -0500

    Fix off-by-one max mip levels in getSRV.
    
    We would try to create SRVs with zero mip levels, when we should
    be asking for a single mip level. This would happen when the base
    level is equal to the max level. See the dEQP test:
    
    texture.mipmap.2d.max_level.linear_nearest
    
    Change-Id: I3f231f159dbdecbf7c2e61b373bfc3545875f36e
    Reviewed-on: https://chromium-review.googlesource.com/240762
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 3c9db122ebae5d3c7121b4b486f4676163ad40cb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jan 15 16:36:55 2015 -0500

    Fix pixel unpack buffers for some formats.
    
    The renderability test got flipped in 6cf8e1b906ebfc.
    
    See dEQP test:
    texture.specification.teximage2d_pbo.rgba8_snorm_2d
    
    Note: this test still fails due to a bug in isMipmapComplete, which
    has a fix in a subsequent patch.
    
    Change-Id: Ied8ad7712bbb844132b6ac37426716780c9801c9
    Reviewed-on: https://chromium-review.googlesource.com/240761
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 276171b46dcb569d0f3a3188bd6de46b7a37138f
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Thu Jan 15 13:16:18 2015 -0800

    Disable MipmapTest::ThreeLevelsInitData test due to failure on D3D11
    
    Change-Id: I5d1ee78fceb91c05f3925e753888b10cc81ec2b8
    Reviewed-on: https://chromium-review.googlesource.com/241080
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 2a30ccefd0c47608380a1621a983bf46685e5ad9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jan 15 11:36:13 2015 -0500

    Remove usage of std::copy_n from the entry points.
    
    This method is c++11 only and caused a build breakage on Mac.
    
    BUG=angle:773
    
    Change-Id: Ib362b8d577aa85b9d6d2b8b87840ec5197240cf2
    Reviewed-on: https://chromium-review.googlesource.com/241010
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 215b37a631ef8f0dcf386c1eb5431d9ee7e41b5b
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Mon Dec 22 12:56:07 2014 -0800

    Work around zero-LOD mipmap issue on D3D11 Feature Level 9_3
    
    In OpenGL ES, it is possible to sample from level 0 of a mipmapped
    texture by setting GL_TEXTURE_MIN_FILTER to GL_NEAREST.
    
    This is possible in D3D9 and D3D11 Feature Level 10_0+ via various
    methods. It's not possible in D3D11 Feature Level 9_3, though.
    This change works around this restriction by creating two copies of
    each texture on 9_3. The textures are identical, except one has
    mipmaps and one doesn't.
    
    The D3D11 renderer figures out which texture to use at the right
    time, and keeps the textures in sync with each other as necessary.
    Note: each texture is only created when it's needed. It's possible
    that only one (or even neither) D3D texture will be created for a
    given GL texture.
    
    Change-Id: I3c17137b4f63b9158b3abf067ad8e5d5c49d2191
    Reviewed-on: https://chromium-review.googlesource.com/234522
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit be0facc69cd74dfe45ba04090f26668b14a865f8
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Wed Jan 7 16:22:29 2015 -0800

    Reduce calls to ID3D11DeviceContext::Map() in VertexBuffer11.cpp
    
    This change moves VertexBuffer11::storeVertexAttributes()'s call to
    Map() outside a for-loop, eliminating unnecessary calls to Map(). Since
    Map() is a relatively expensive operation (even when using NO_OVERWRITE)
    this change gives a noticeable performance boost in some scenarios.
    
    Change-Id: I320111b32f2bb9eed92efbd240206e12aaa9964e
    Reviewed-on: https://chromium-review.googlesource.com/240181
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Austin Kinross <aukinros@microsoft.com>

commit 691e58cd84360fa3ea49098076ae89ca90567f6e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Dec 19 17:03:25 2014 -0500

    Merge all gl::Texture* classes.
    
    The validation for sampler completeness had a lot of duplicated code.
    The special cases have been merged into the base class by checking mTarget.
    
    BUG=angle:681
    
    Change-Id: I11d94c1432f8fc70a1edaaf8228bbc43c3c8fff3
    Reviewed-on: https://chromium-review.googlesource.com/236932
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 562e81bbccd0d6c079810434dd57afa549e0f360
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jan 14 14:31:02 2015 -0500

    Fix Linux build, and update BUILD.gn.
    
    Re-re-land with fixes for Linux and Android.
    
    We were getting multiply defined symbol errors on Linux for some
    stuff in the common sources. Switch to using a static lib target
    for the common sources, and also sync BUILD.gn with the latest gyp.
    
    BUG=angle:773
    
    Change-Id: Ia2d52978a167c532e5e76cb711de589855eff44e
    Reviewed-on: https://chromium-review.googlesource.com/240553
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit dd806c2b58aac61f010c7b1c6831f9541209f490
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jan 14 14:26:35 2015 -0500

    Use emmintrin.h for SSE includes.
    
    This header should work on all available platforms, instead of
    the platform-specific intrin.h or x86intrin.h.
    
    BUG=angle:773
    
    Change-Id: Ia012053064838f9893aa647d872e136a47cfad1a
    Reviewed-on: https://chromium-review.googlesource.com/240552
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit ffe38e1c2b2a959ff2faa2da06cc584f37975e0d
Author: Cooper Partin <coopp@microsoft.com>
Date:   Wed Jan 14 08:32:19 2015 -0800

    Fixed WinRT ARM build break.  ARM cannot use SSE.
    
    Change-Id: I9a55d37db148f82b255e2c7ff414e79259e2c4e1
    Reviewed-on: https://chromium-review.googlesource.com/240476
    Tested-by: Cooper Partin <coopp@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 129753afc638441bd734cd56e3c5a7788b4695fd
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jan 9 16:52:09 2015 -0500

    Split the flush and finish commands into separate methods.
    
    Improves the readability of the implementations and more closely mirrors
    the GL commands.
    
    Change-Id: Ifa7bc55751d50271eb01fd87e4efdc69f00c2c48
    Reviewed-on: https://chromium-review.googlesource.com/239845
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 7c973eaa7f4fbdaffa49c443cd3d7c7bec911970
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Dec 19 15:58:28 2014 -0500

    Move egl texture binding to the base texture class.
    
    It's still only valid to bind a 2D texture but the validation layer
    verifies that.
    
    BUG=angle:681
    
    Change-Id: I744dc32f9bd0f69b1e1235b8feef7e796167d033
    Reviewed-on: https://chromium-review.googlesource.com/236931
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit d03e10e2d26efe65c58b745c217b444fcd8a2bd8
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Dec 18 17:46:58 2014 -0500

    Remove references to the Image class from gl::Texture and rx::TextureImpl.
    
    BUG=angle:681
    
    Change-Id: I83659f47cbe9f22ff5ad0cf54471544bd14775aa
    Reviewed-on: https://chromium-review.googlesource.com/236690
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit a9be0dc63fb5977be92b52e9ab374af7960fb9ba
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Dec 17 12:34:40 2014 -0500

    Refactor Texture to track image information for size and format queries.
    
    BUG=angle:681
    
    Change-Id: Ifb3f52d6348e4479181e66f1c39578f49e9dcf76
    Reviewed-on: https://chromium-review.googlesource.com/235613
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 24d5811b5e6410ce42cb90dd6da1c5ff5052ff1a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jan 13 15:07:11 2015 -0500

    Add Gregoire to CONTRIBUTORS.
    
    Change-Id: I3e2a1f627de891c13964501f78314f84794cbded
    Reviewed-on: https://chromium-review.googlesource.com/240422
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 80a5a6c6465795f63a58ee7f0be8aaee74645356
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Jan 12 15:35:27 2015 +0200

    Clean up BuiltInFunctionEmulator public interface
    
    This removes all language-specific bits from BuiltInFunctionEmulator
    parent class, and makes the public interface of BuiltInFunctionEmulator
    minimal.
    
    Writing comments around emulated function definitions is removed from
    OutputHLSL, they are not necessary as the emulated function definitions
    are just another part of the shader header.
    
    Change-Id: I9abf57d86f4e37b0674d7dfafe653298f205dd27
    Reviewed-on: https://chromium-review.googlesource.com/240230
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit e39706d0b6eebef7c17a98af1596338b49a04b07
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Dec 30 16:40:36 2014 +0200

    Implement simple ESSL3 matrix functions
    
    Add support for built-in functions outerProduct, determinant, transpose
    and the variations of matrixCompMult that were previously unsupported.
    
    BUG=angle:859
    
    Change-Id: Ie2b9cf83cd80c5a886c6d4eb190c7ce25a32d0a4
    Reviewed-on: https://chromium-review.googlesource.com/239873
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit e17e3197df7caeb91b4379888c3b9068df3f27e1
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Jan 2 12:47:59 2015 +0200

    Use BuiltInFunctionEmulatorHLSL for all emulated functions
    
    Implementation of missing built-in functions is a separate concern from
    outputting the intermediate tree itself as HLSL, so it makes sense to
    have all of the built-in emulation in a class that is separate from
    OutputHLSL. Being able to reuse the same logic for different emulated
    functions also makes the code more compact.
    
    Change-Id: Id503dc3a5c5e743ec65722add56d6ba216a03a7f
    Reviewed-on: https://chromium-review.googlesource.com/239872
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 2aafa18b7e877ad809a003bc3a72057876bb9c60
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Jan 8 19:04:48 2015 +0200

    Fix null check after addUnaryMath is called for a built-in function
    
    The intermTypedNode pointer null check should be done before the pointer
    is used, not after. In practice the pointer should never be null if
    IntermUnary::promote() is consistent with the built-in function table,
    but it's useful to have the null check as a fail-safe when developing.
    
    Change-Id: I24e0d7399ef9d628f474e99fbca08dbd67fdd8c3
    Reviewed-on: https://chromium-review.googlesource.com/240411
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 433c85d3c06fe22474f437c201800c5a4db2801c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jan 13 22:52:17 2015 +0000

    Revert "Fix Linux build, and update BUILD.gn."
    
    Still more build failures, different ones this time.
    
    This reverts commit 9f8a57c6419f64965fd97fcc0df8e138677febaf.
    
    Change-Id: I7bea8e24403d92ca4ecb2ee0f24f9e065db5366d
    Reviewed-on: https://chromium-review.googlesource.com/240550
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 9f8a57c6419f64965fd97fcc0df8e138677febaf
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jan 13 11:13:56 2015 -0500

    Fix Linux build, and update BUILD.gn.
    
    Re-land with fixes for Android.
    
    We were getting multiply defined symbol errors on Linux for some
    stuff in the common sources. Switch to using a static lib target
    for the common sources, and also sync BUILD.gn with the latest gyp.
    
    BUG=angle:773
    
    Change-Id: Id3edecc633b1c4be205558137c91baf87f256156
    Reviewed-on: https://chromium-review.googlesource.com/240145
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 9e0478f62fbc2f24d4ec233ef655d50b9dc0b812
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jan 13 11:13:54 2015 -0500

    Move the block layout code to translator.
    
    This code is easily accessible from the translator, with the proper
    export calls. This facilitates adding a common static library, since
    this code calls some methods in translator.
    
    BUG=angle:773
    
    Change-Id: I0c50098ec3f67c2df7749b3c2518be0a9fd939e2
    Reviewed-on: https://chromium-review.googlesource.com/240093
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 2c7ea0582c6197cef1e2caba21e613c0302ebfcb
Author: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
Date:   Wed Jan 7 12:47:35 2015 +0000

    Implement support for ES 3.0 instanced arrays
    
    BUG=angle:863
    
    Change-Id: I3918c478b33b26b2b179a7f8dd6e4210ecb0cf5c
    Reviewed-on: https://chromium-review.googlesource.com/239170
    Tested-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 3285568812f6aa34444c983271b1285e4f935ab0
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Dec 4 15:34:57 2014 +0200

    Add more options to translator sample
    
    Adds precision emulation and WebGL 2 and GLES3 specs as options. The
    example command line is also fixed.
    
    Change-Id: Ia45eca1815724a63b26662ee0cadecf9dfea51f9
    Reviewed-on: https://chromium-review.googlesource.com/236793
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit f6bdb312f3799c55587b2d00d7d7d303f8d06236
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Jan 9 15:21:38 2015 +0200

    Refactor defining emulated functions in BuiltInFunctionEmulator
    
    This removes the fixed enumeration of emulated functions in favor of a
    dynamic map. This makes the code more compact and flexible. The main
    benefit is that maintaining the list emulated functions is a lot simpler
    now.
    
    Change-Id: Ic9951a496b9f021c76ad5b4c3daccd89af5ac093
    Reviewed-on: https://chromium-review.googlesource.com/239871
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>

commit 0875f85d47614a64edb4325f68895a7822317452
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jan 12 16:27:11 2015 -0500

    Don't use SSE functions on Android.
    
    These methods are unavailable on ARM platforms.
    
    Also fix a sequencing bug that caused us to incorrectly define the
    Android platform as Linux.
    
    BUG=angle:773
    
    Change-Id: Id2b47acdd5b574c618ac86641a1a8238fbb4a2c3
    Reviewed-on: https://chromium-review.googlesource.com/240095
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit ce4c00011bbd85655257dbd38d53cbd527d308a3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jan 12 14:46:11 2015 -0500

    Don't use std::is_fundamental on Android.
    
    This method is unavailable due to being c++11.
    
    BUG=angle:773
    
    Change-Id: I995e03c26b5d3103fab963d8fb1eddc5050cf5b5
    Reviewed-on: https://chromium-review.googlesource.com/240096
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 5864ac2634f5e16989af31a5c92aad6da63cfa95
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jan 12 14:43:07 2015 -0500

    Avoid using std::map::at.
    
    This c++11 method call is unavailable on Android.
    
    BUG=angle:773
    
    Change-Id: I08064c3f18e387a2ed2496a3fb2912486546843f
    Reviewed-on: https://chromium-review.googlesource.com/240094
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 6fdb4ffd3994710a0f9cc9169cae1152801d9bb3
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Sat Jan 10 22:23:44 2015 -0500

    Adds microbenchmark for resizing vs. creating new textures
    
    Change-Id: I21a20250492b6b19181386890afd5e1a911ee055
    Reviewed-on: https://chromium-review.googlesource.com/240091
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 1c394f40633b56adcfe237c0586913ae85b19260
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Mon Jan 5 17:45:49 2015 -0500

    Adds a sample to demonstrate TRIANGLE_FAN vs TRIANGLES performance.
    
    Change-Id: Ic8f3d3e66904638cfdeab71aa6c19188f2a1b286
    Reviewed-on: https://chromium-review.googlesource.com/238520
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit b44631481d31624df8b46a8c10e5854c78f1d4c5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Dec 19 14:56:54 2014 -0500

    Allow zero output variable ES3 shaders.
    
    We were assuming at least one variable, when some shaders could
    legitimately use zero. This was causing assertions in the
    dEQP shader.function tests.
    
    BUG=angle:855
    
    Change-Id: I7e4aa52a1c6ba98d4a396f4c642816ff95115fd5
    Reviewed-on: https://chromium-review.googlesource.com/240144
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>

commit 5c9cd3d1f2ac248d40f2e174f8701e025dbc0a30
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Dec 18 13:04:25 2014 +0200

    Implement hyperbolic function support for ESSL 3.00
    
    Emulating arc hyperbolic functions is required on HLSL, where they do
    not exist natively. For this, BuiltInFunctionEmulator is split into GLSL
    and HLSL subclasses. The GLSL subclass handles the pre-existing built-in
    emulation implemented for working around OSX bugs, and the HLSL subclass
    handles emulating asinh, acosh and atanh on HLSL.
    
    BUG=angle:855
    
    Change-Id: I0dfeffb862ac27ba7f9ecf5492ec31d9d952b273
    Reviewed-on: https://chromium-review.googlesource.com/236861
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit d4b55a00d07eb32a6f08e12502bf1be315496bb9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jan 9 14:21:49 2015 -0500

    Fix "start" vertex being applied for instanced buffers.
    
    In GLES, the start vertex only applies to non-instanced vertex
    attributes.
    
    BUG=angle:864
    BUG=447140
    
    Change-Id: Idd2afbfbd4c2e76e06b2704cc002fae26b353109
    Reviewed-on: https://chromium-review.googlesource.com/239843
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit ab549dadd4a49a5c96a0d600a6c1b133034afac9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jan 9 14:50:29 2015 -0500

    Update WebGL expecations.
    
    Change-Id: Ic318a929f43a48f0e957add5fab4bc3362be47b0
    Reviewed-on: https://chromium-review.googlesource.com/239954
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 04184fb0465ea2692b90cf0fa8b203df6c31cebf
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jan 9 16:51:16 2015 +0000

    Revert "Fix Linux build, and update BUILD.gn."
    
    This reverts commit ed409f938b4fd8db89d8551d2bf7fc6a6b9ad9b7.
    
    Change-Id: I208a2c43c73e99ae95988c6d81ed64691bd8a99f
    Reviewed-on: https://chromium-review.googlesource.com/239900
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 8fed1f719e2185465f74da9ed699ad1677ca437d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jan 9 11:09:33 2015 -0500

    Fix signed/unsigned missmatch on 32-bit builds.
    
    BUG=angle:681
    
    Change-Id: I6144359acd1611a13b0a582d3a31019138bb941c
    Reviewed-on: https://chromium-review.googlesource.com/239844
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit ed409f938b4fd8db89d8551d2bf7fc6a6b9ad9b7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jan 7 13:22:02 2015 -0500

    Fix Linux build, and update BUILD.gn.
    
    We were getting multiply defined symbol errors on Linux for some
    stuff in the common sources. Switch to using a static lib target
    for the common sources, and also sync BUILD.gn with the latest gyp.
    
    BUG=angle:773
    
    Change-Id: I212284cfa90cd117a784a5f17057f47dd08900d1
    Reviewed-on: https://chromium-review.googlesource.com/239193
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 0a4f1e27e55c88868476e4218ca8c2dbe5fbd4b4
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Dec 17 12:33:26 2014 -0500

    Merge the Texture set*Image methods and use objects for sizes and offsets.
    
    BUG=angle:681
    
    Change-Id: If2e981c522ca5ba3eab4484594cb41aa23800ec4
    Reviewed-on: https://chromium-review.googlesource.com/236261
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit ea878cb95829ace3c7fae473b4632857a32cb56e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jan 8 11:32:31 2015 -0500

    Use typed tests for the gles conformance tests.
    
    BUG=angle:497
    
    Change-Id: I396411cc7c07047ef2fab70605de39287aaea879
    Reviewed-on: https://chromium-review.googlesource.com/239515
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit cf5d48fa32b326b19b6d359d3a563e3095c4baa3
Author: Cooper Partin <coopp@microsoft.com>
Date:   Tue Jan 6 15:02:14 2015 -0800

    Fixed WinRT compilation to use non static C runtime because of Windows Store requirements.
    
    Change-Id: I310e4909aaa94c90eecd610e6c7cbbde3c19b777
    Reviewed-on: https://chromium-review.googlesource.com/238532
    Tested-by: Cooper Partin <coopp@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 7318b7cb8effeca45e8b335d6e6b6fbbe21005bc
Author: Cooper Partin <coopp@microsoft.com>
Date:   Thu Jan 8 09:15:35 2015 -0800

    Fixed failed compilation for WinRT to use  OutputDebugStringA for non wide strings.
    
    Change-Id: If012660d4b895399fe5e3226dea25a8c7f78c8ac
    Reviewed-on: https://chromium-review.googlesource.com/239504
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Cooper Partin <coopp@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 40856813c35d788a156297c1e57e3845968e09f0
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Dec 11 11:37:35 2014 -0500

    Add EGL extensions structs.
    
    BUG=angle:658
    
    Change-Id: Iffb26caf16416313abc114ba779e6311f2c00848
    Reviewed-on: https://chromium-review.googlesource.com/234760
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit e8d2c072bc6cc3bf64a82e023474c2ceba167987
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Jan 8 16:33:54 2015 +0200

    Implement float-integer conversions for ESSL 3.00
    
    The implementation uses asint, asuint and asfloat in the HLSL output.
    
    BUG=angle:865
    
    Change-Id: I6b48298e18c7b3b0bdeac522b375ebc4eab7cf4e
    Reviewed-on: https://chromium-review.googlesource.com/239520
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit d2cf3ad3ae90d33d69caad0253e1c754e4d6aebe
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Wed Jan 7 14:00:30 2015 -0800

    Fix multisample framebuffer validation ASSERT
    
    Change-Id: I1b02ed7209f30549c17f46aeb3726ba1254df3ea
    Reviewed-on: https://chromium-review.googlesource.com/239270
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit cf4432c3e9e9ea3bb464d3f7185e5baffa3bf9c9
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Wed Jan 7 14:05:47 2015 -0800

    Disable some extensions on D3D11 Feature Level 9_3 which aren't supported
    
    BUG=angle:858
    
    Change-Id: Ib2b2b2b54ba25654ea80b5cb1c59b74ed0379b68
    Reviewed-on: https://chromium-review.googlesource.com/239271
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit ab9898911ee610350aba9051b14b9c5d7930bb4d
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Wed Jan 7 14:15:18 2015 -0800

    Disable shared texture support on D3D11 FL9_3
    
    BUG=angle:858
    
    Change-Id: I0fe3baf811d561584f7d24f6da665c6934e32b2a
    Reviewed-on: https://chromium-review.googlesource.com/239272
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit ce5d66e8bcbf8db37a2d1e2b30a6e2661ebef0c2
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jan 7 14:06:12 2015 -0500

    Remove an unused mRenderer member from Program and initialize TF members.
    
    BUG=angle:731
    
    Change-Id: Ie11c80ce1f3a8c3d08145dfb4a075ac0e022ae38
    Reviewed-on: https://chromium-review.googlesource.com/239218
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 5879598bc333a5045113d474a654f4a8aca9ca5a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jan 7 14:25:10 2015 -0500

    Add a test for rendering to cube map faces.
    
    BUG=angle:849
    
    Change-Id: I9986e45256da6f4cdbd375dad95037464fbcf299
    Reviewed-on: https://chromium-review.googlesource.com/239219
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 14aa40f0213a9dbff02ab7200f058ad6bfa6f231
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jan 7 15:12:47 2015 -0500

    Print ERR() errors to the debug output on Windows.
    
    We can switch this on for Debug only. This will help developers
    catch bugs more easily, and will only show up for internal
    errors and major performance caveats. Currently it's far too easy
    to miss these messages - it requires manually modifying debug.h,
    looking at a text file and potentially also running Chromium with
    an special flag.
    
    BUG=angle:663
    
    Change-Id: I75b3bd05fbc75d21607b9957134db8e8990c77b1
    Reviewed-on: https://chromium-review.googlesource.com/239191
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 054369e3c6c07e36e0ec4828a7f2efb93af5a2d1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jan 7 10:57:08 2015 -0500

    Allow the special format BGR5_A1 in CopyTexImage.
    
    We use this format as a backbuffer texture for the EGL surface in
    some configs. Thus, the app needs to be able to use it, since they
    don't know when they are secretly using BGRA instead of RGBA,
    similar to our existing logic which allows BGRA in CopyTexImage.
    
    BUG=angle:811
    
    Change-Id: I3748d38b3b085aa4ccaae67ce88711b13eb2c98e
    Reviewed-on: https://chromium-review.googlesource.com/239192
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit f4134d20e9b58b607c8d03849e781f39ce6c950e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Dec 15 10:29:47 2014 -0500

    Use gl::Data as a parameter to Texture::isSamplerComplete.
    
    BUG=angle:861
    
    Change-Id: I3fadf954e6d28dd82e361ceac4ba1967dbd7e8bf
    Reviewed-on: https://chromium-review.googlesource.com/235612
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit d8a2258c3e552fc3aefc7d5342970f0c33cea12d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Dec 17 15:28:23 2014 -0500

    Remove all uses of "actual" formats.
    
    BUG=angle:861
    
    Change-Id: I7cd2d1a56772fdf18bcf926456399322d13e7a4f
    Reviewed-on: https://chromium-review.googlesource.com/236305
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 4f89e3dd5f9804c682864541a5188d021eb0f106
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jan 7 13:40:14 2015 -0500

    Add missing test files to angle_end2end_tests_sources.
    
    Change-Id: I97217f4b4f42d9b9811185706587e2eb55270888
    Reviewed-on: https://chromium-review.googlesource.com/239226
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 8cb85c44f9e69c65297cbd1fe828a59cff35cb17
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jan 7 13:23:26 2015 -0500

    Fix missing "!" in cube map render target serial check.
    
    BUG=angle:849
    
    Change-Id: I9e4cb31bdc82a1c556908571355387a9698c7528
    Reviewed-on: https://chromium-review.googlesource.com/239230
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 2676fac984e672925eae1ecc546b7bfb23d152f6
Author: Cooper Partin <coopp@microsoft.com>
Date:   Tue Jan 6 15:03:47 2015 -0800

    Fixed invalid IsWindow( ) call for WinRT Windows Store applications.
    
    Change-Id: Ic5f2aca0100a842be193cec9e89872187742f2c6
    Reviewed-on: https://chromium-review.googlesource.com/238821
    Tested-by: Cooper Partin <coopp@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit cd1db9e6c937a69f8efb5f73a3fcad14a737c436
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jan 5 16:09:05 2015 -0500

    Avoid using std::unordered_map on OSX.
    
    This c++11 standard library class isn't available on Chromium/OSX.
    For now we can replace it with std::map.
    
    BUG=angle:773
    
    Change-Id: I0b8ab0de5192a23408755d03df2b9f738f28d762
    Reviewed-on: https://chromium-review.googlesource.com/238445
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit b78b42dd7688f6cc7f5437bae80066418f00cee5
Author: Maks Naumov <12maksqwe@gmail.com>
Date:   Wed Jan 7 15:47:42 2015 +0200

    Remove "mDeviceLost" member from Renderer9 and Renderer11
    
    These classes has base RendererD3D which already have "mDeviceLost".
    This can lead to errors because this variable is used in the methods
    from RendererD3D and his derived classes
    
    Change-Id: Ie0814bd1fd604a2f26693a705d127345ba8f77b5
    Reviewed-on: https://chromium-review.googlesource.com/239171
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit e17285495490b6582c19f63d4bb832c8f35e714f
Author: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
Date:   Wed Jan 7 11:31:54 2015 +0000

    Unwritten shader output variables should not crash.
    
    BUG=angle:862
    
    Change-Id: I8e7fa9b0d00bb1b2a32a8d60d8ceda998cea8e8c
    Reviewed-on: https://chromium-review.googlesource.com/239160
    Tested-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit edd84e41482cd398307cda95ce4b9e71c4222784
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Mon Jan 5 15:50:47 2015 -0800

    Fix assertion in D3D11 Feature Level 9_3 instancing implementation
    
    BUG=angle:858
    
    Change-Id: I6197d0f86536cb4613aa1aeb2d73a8173b4e4631
    Reviewed-on: https://chromium-review.googlesource.com/238530
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 01675d806497cfe34c45f0d257b33f59d5d282f6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jan 5 16:09:08 2015 -0500

    Use correct SSE header on OSX.
    
    This fixes the compile errors in loadImageSSE2.cpp.
    
    BUG=angle:773
    
    This reverts commit a93192369eb448e932bcdd1e08ae791aacfbe0c4.
    
    Change-Id: I31bc419cd3930ae129903b935f49a3c9b27fc887
    Reviewed-on: https://chromium-review.googlesource.com/238448
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 3b9bb72bf4cedd16b159830b543de882162da1b1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jan 5 16:17:02 2015 -0500

    Add a cross-platform rotl implementation.
    
    The _rotl method is unavailable on any platform but Windows,
    so we can implement the method ourselves.
    
    BUG=angle:773
    
    Change-Id: I1342f4cf8a996daf11a36553c3bf7a01a2b182b3
    Reviewed-on: https://chromium-review.googlesource.com/238500
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit dff563378117afed08ee6311f2174245f5b76841
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jan 5 16:17:00 2015 -0500

    Ensure all source files end in a newline.
    
    This fixes compile errors on OSX.
    
    BUG=angle:773
    
    Change-Id: I11ce9fd470a54b08656a62afc50586e5d2f987d8
    Reviewed-on: https://chromium-review.googlesource.com/238446
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 72468834ee2bb2141fe654ece8555dbb8eb01448
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jan 5 15:03:18 2015 -0500

    Move getData from the D3D to the Impl.
    
    We will need this functionality for index validation, so we likely
    can assume an implemenation will need to support such a call. We
    might redesign this requirement, but for now we can't call though
    to BufferD3D on OSX.
    
    BUG=angle:773
    
    Change-Id: I16187c78ff62471fdf7221a11b9956560e617a14
    Reviewed-on: https://chromium-review.googlesource.com/238450
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit c34d53e42ff08906f364cb58a12653483c1b04a8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jan 5 14:34:23 2015 -0500

    Fix standalone OSX build.
    
    We were missing one warning diable flag, for bison compatiblity,
    and were missing the appropriate flag to enable c++11 support.
    
    BUG=angle:773
    
    Change-Id: I717ead6e1726920a6c28559503cb98e94dc29c16
    Reviewed-on: https://chromium-review.googlesource.com/238449
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 5ffa95da3f38c5de7783601553419da9742f1e78
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jan 5 13:15:20 2015 -0500

    Don't call std::is_fundamental on OSX.
    
    We can't use this method on OSX due to missing c++11 STL support.
    Instead use a helper function to replace it.
    
    BUG=angle:773
    
    Change-Id: Iddcd2705792217e6356f51e4bb9dce248d7c3be2
    Reviewed-on: https://chromium-review.googlesource.com/238447
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 5fd0b2d9032f978b41d9977df1a00527c5eeae2c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jan 5 13:38:44 2015 -0500

    Fix iterator comparison in Context.cpp.
    
    In deleteTransformFeedback, we were using a const iterator, in a
    non-const method. Fix the comparison by using auto, which delegates
    more work to the compiler's static type checking.
    
    BUG=angle:773
    
    Change-Id: Ibc362fe49629331811a5302df1b68269dfa128a6
    Reviewed-on: https://chromium-review.googlesource.com/238444
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 3b141a6c6373958a458d091324c9c1720f0157bb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jan 5 13:15:16 2015 -0500

    Add OSX cases to EGL headers.
    
    These changes we'll have to upstream at a later time.
    
    BUG=angle:773
    
    Change-Id: I18feb84ae58cb16e3e555c9ab65b6925ba35048e
    Reviewed-on: https://chromium-review.googlesource.com/238443
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 3897cd1746cc81ac4952a7c748fdc44d0ef58ce8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jan 5 13:15:15 2015 -0500

    Don't use std::tuple in IndexRangeCache.
    
    std::tuple currently isn't available on Chromium/OSX.
    
    BUG=angle:773
    
    Change-Id: I9f9efc88dcfe904e98a76df8b04086b88f724424
    Reviewed-on: https://chromium-review.googlesource.com/238442
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 47e156c05bdd6358449f259eac4999ddfbc3e6d3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jan 5 13:15:13 2015 -0500

    Use #include <stdint.h> instead of <cstdint>.
    
    This fixes the compile on OSX.
    
    BUG=angle:773
    
    Change-Id: I68111e178986bb78b73006a1559ba26120275599
    Reviewed-on: https://chromium-review.googlesource.com/238441
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 2bd2a42d48b9a361e46b76e26e504566e8f1b03e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jan 5 13:26:05 2015 -0500

    Don't assume c++11 std::map::erase in invalidateRange.
    
    We were using the c++11 iterator return value from std::map::erase.
    Instead use the post-increment operator to keep a valid iterator
    after the call to erase, even on older stl.
    
    BUG=angle:773
    
    Change-Id: Ieaa21a2b5a3fcd5ca229a31d40bdf9b8f3283a3c
    Reviewed-on: https://chromium-review.googlesource.com/238440
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 22bcf7cfc505761912fb84404df043f705b8b6f2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Dec 30 16:02:46 2014 -0500

    Implement KHR_create_context.
    
    We need the functionality of this extension to support dEQP. Likely
    we only needed the minor version enum to not generate an error, but
    we can take the time to implement the few cases for the other enums
    as well.
    
    We don't support any debug context functionality currently, but we
    may want to support it in the future.
    
    BUG=angle:501
    
    Change-Id: Ib74cd2e4581e054f8153bb358824d9296b9f8a1c
    Reviewed-on: https://chromium-review.googlesource.com/238083
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 2445143a6b60444aa8c20d18f117119ef2866eef
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Dec 30 14:53:16 2014 -0500

    Advertise EGL_EXT_platform_base.
    
    We were not advertising the extension, though we require it for
    ANGLE_platform_angle. This was blocking dEQP functionality.
    
    Change-Id: I8781867e772b4b1af62f1387faa863f8ce21de76
    Reviewed-on: https://chromium-review.googlesource.com/238082
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit e65d145b0126140daf45a5667e80ff800670ec51
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Dec 30 15:35:39 2014 -0500

    Accept no attributes in GetPlatformDisplayEXT.
    
    It is quite valid for the app to pass in NULL for the attribs list.
    In this case we currently crash. We could trigger this error using
    dEQP.
    
    Change-Id: I64aba1077f9095bd099c6b60f789ec076cb3d385
    Reviewed-on: https://chromium-review.googlesource.com/238081
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 049743a99cebdfd8999285b3d309ed71fcbc108c
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Tue Dec 23 13:05:11 2014 -0800

    Restrict depth buffer formats on D3D11 Feature Level 9_3
    
    *_TYPELESS formats weren't supported in D3D10Level9 until
    Windows 8. Some Win8 D3D9 drivers don't support them either.
    To workaround this, we avoid _TYPELESS formats on D3D11 FL9_3.
    
    BUG=angle:856
    BUG=435726
    
    Change-Id: I280dc7f87e3a2c737c14284ebb744188e7f10616
    Reviewed-on: https://chromium-review.googlesource.com/237292
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 4fd18b1b815ae9ecb39684448a6c0cdb02f3fc65
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Mon Dec 22 12:32:05 2014 -0800

    Emulate large and negative viewports on D3D11 Feature Level 9_3
    
    Like D3D9, D3D11 Feature Level 9_3 doesn't support large or negative
    viewports. We have to emulate these in the vertex shader.
    
    BUG=angle:858
    
    Change-Id: I2bd53e3921dc3590cc7193164d73596deafca9ea
    Reviewed-on: https://chromium-review.googlesource.com/236040
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 324bcc460a3caf8f62ae7cbf3c7635e85061cfcb
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Mon Dec 22 13:43:02 2014 -0800

    Fix instancing on D3D11 9_3, by ensuring slot zero contains non-instanced data
    
    D3D11 Feature Level 9_3 supports instancing, but slot 0 in the input
    layout must not be instanced. D3D9 has a similar restriction, where
    stream 0 must not be instanced. This restriction can be worked around
    by remapping any non-instanced slot to slot 0. This works because
    HLSL uses shader semantics to match the vertex inputs to the elements
    in the input layout, rather than the slots.
    
    BUG=angle:858
    
    Change-Id: I67b2be9095afc206a4b9f107ed61356820551afe
    Reviewed-on: https://chromium-review.googlesource.com/237270
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit ce8bb2fa5827323fbf3107d81907dcbcbbdbd93f
Author: Nico Weber <thakis@chromium.org>
Date:   Tue Dec 30 13:32:25 2014 -0800

    Improve standards conformance of ANGLE's testing code.
    
    ANGLE's testing code recently got enabled in Chromium's builds. While it
    builds fine with cl.exe, it isn't quite standards-conformant and doesn't
    build with clang. Fix this.
    
    There were three issues:
    
    1. ANGLE_TYPED_TEST_CASE() is a variadic macro that tries to use
       __VA_ARGS__ as argument to a variadic template and then pass
       that template to another macro. However, [cpp.replace] describes
       that ANGLE_TYPED_TEST_CASE(Test, int, float) should be expanded
       to TYPED_TEST_CASE(Test, ::testing::Types<int, float>) which
       should be interpreted as a "call" of TYPED_TEST_CASE with the
       3 macro arguments `Test`, `::testing::Types<int`, and `float>`.
       As a fix, use a typedef for the variadic template and refer to
       it through the typedef in the macro call.
    
    2. `#version` was used on its own line in a substitution of the
       SHADER_SOURCE macro. [cpp]p1 says that every line starting with
       a `#` is a preprocessing directive, and [cpp.replace]p11 says
       "If there are sequences of preprocessing tokens within the list
       of arguments that would otherwise act as preprocessing directives,
       the behavior is undefined" (with a footnote that this includes
       non-directives -- # followed by unknown text). As a fix, merge the
       `#version` line with the previous line. Now the line doesn't start
       with `#` and things are fine.
    
    3. Unqualified lookup usually doesn't look into dependent bases. If
       this is desired, one usually has to make the call qualified, a
       good explanation for this is at
       http://eli.thegreenplace.net/2012/02/06/dependent-name-lookup-for-c-templates
       cl.exe doesn't implement this rule, and clang tries to emulate
       cl.exe's behavior to a certain extend when in Microsoft mode.
       However, that seems to not work for member templates with explicit
       types (filed http://llvm.org/PR22066 for this, but since it's not
       needed to parse Microsoft headers and not standards-conformant,
       I'm not sure if we'll fix that). As a fix, don't provide an explicit
       type, the inferred type is the same. This is also consistent with
       all the other tests in this file. (We might clean up -Wmicrosoft
       warnings in the future; if so I'll add the explicit this->s that
       are missing in this file when we do.)
    
    BUG=chromium:445406
    
    Change-Id: I77a2f3ab9601a1f0f39b56ed3d05217f123155b8
    Reviewed-on: https://chromium-review.googlesource.com/238090
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 5b072780f88fad95d6a1461b9bd2c374923a05f1
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Dec 11 13:52:38 2014 -0500

    Fix DisplayD3D not initializing mRenderer.
    
    BUG=angle:658
    
    Change-Id: If865910d52154f574f4d488d4c45fcac9a87b050
    Reviewed-on: https://chromium-review.googlesource.com/234761
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 932b465b2fd27e4eb004ffe375fd09b56fcb9c29
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Dec 17 15:25:31 2014 -0500

    Add format size information for DXGI_FORMATs.
    
    Change-Id: I14d0b8ebd631e5c9c3c3b63c047c9ef7c11bf310
    Reviewed-on: https://chromium-review.googlesource.com/236304
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit eca8561e66dd5721129e47e0b6840c51da8c3a6d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Dec 17 15:24:38 2014 -0500

    Add format size information for D3DFORMATs.
    
    Change-Id: Id8d884df31726546e871d75a719bc419dd767d6b
    Reviewed-on: https://chromium-review.googlesource.com/236303
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 21c1e4566726c9397a840dc5331e40a8d0ca9511
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Dec 29 11:33:41 2014 -0500

    Fix a translator crash with index expressions.
    
    This crash happened with certain bad shaders which used temporary
    values as array (or other) index expresisons.
    
    Fixes the crash covered in the WebGL test
    "conformance/bugs/undefined-index-should-not-crash"
    
    BUG=angle:857
    
    Change-Id: I13e2ba6d5f1ab0846ac902021bc0b57cbb37d759
    Reviewed-on: https://chromium-review.googlesource.com/237460
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 97399235335ef0e6cd5b058816a33e635c993694
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Dec 23 12:31:15 2014 -0500

    Enable conditional InfoLog for HLSL link failures.
    
    We don't always have an InfoLog available for dynamic shaders, but we
    can still capture data in some cases for default shaders.
    
    Change-Id: Iccd022f24d5c2b8922e9254580705675cd4e405f
    Reviewed-on: https://chromium-review.googlesource.com/237328
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit be954a23874e48d993383ae4a3d068c6da6d757c
Author: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
Date:   Tue Dec 23 00:05:28 2014 +0000

    Implement support for the binary operator '%' in the translator.
    
    BUG=angle:854
    
    Change-Id: If116de132dc83d93255749b54c1919a75abcb65c
    Reviewed-on: https://chromium-review.googlesource.com/236330
    Tested-by: Gregoire Payen de La Garanderie <Gregory.Payen@imgtec.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit be12fa2238d2e3e57b84fe25517e2cd7c62054b5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Dec 23 13:09:42 2014 -0500

    Update WebGL expectations.
    
    Change-Id: I69795b97ef032838cd43e889119405aaee66fa4f
    Reviewed-on: https://chromium-review.googlesource.com/237329
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit 48825bea29c08ea031b6931284fac922ab44f4b0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Dec 23 12:12:01 2014 -0500

    Disable FL9_3 tests because of Windows 7 failures.
    
    These tests were failing on SwapChain11 with errors relating to
    the Depth Stencil backbuffer.
    
    BUG=angle:856
    BUG=435726
    
    Change-Id: Idd371a380e9b302d7d5e40437e9d76589872b750
    Reviewed-on: https://chromium-review.googlesource.com/237450
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit 185de88429efca497844239d61c752fb6dff016b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Dec 22 15:17:52 2014 -0500

    Update ANGLE's translator to Bison 3.
    
    BUG=angle:462
    
    Change-Id: I2c1c18027dee1c3b4efb87374caaadbf58367841
    Reviewed-on: https://chromium-review.googlesource.com/236930
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit d5663b1cd027ce2113df7797c47fa7823c8e5f40
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Mon Dec 22 12:24:06 2014 -0800

    Support remaining vertex attrib formats on D3D11 9_3
    
    Change-Id: Id0d3ad6ec7764ed84ec504ad92eca81dff29aac8
    Reviewed-on: https://chromium-review.googlesource.com/236043
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Austin Kinross <aukinros@microsoft.com>

commit 366db7cd617d2e516083cf7cad6cadf93dc7323a
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Tue Dec 16 13:15:14 2014 -0800

    Prevent usage of GSSetConstantBuffers on D3D11 Feature Level 9_3
    
    Calling GSSetConstantBuffers with real data causes a device removed
    error on 9_3. We therefore ensure that ANGLE doesn't call it on 9_3.
    
    Change-Id: I151a74ee7ea81fc4b795d8bf10d5e5c42bfe7c86
    Reviewed-on: https://chromium-review.googlesource.com/236042
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 2609bf4ca44972379ff82bcda370ad6f13b817cc
Author: Kenneth Russell <kbr@chromium.org>
Date:   Thu Dec 18 13:55:08 2014 -0800

    Refactored test targets into angle_unittests and angle_end2end_tests.
    
    angle_unittests subsumes the previous:
      angle_compiler_tests
      angle_preprocessor_tests
    and will subsume angle_implementation_unit_tests in a follow-on CL.
    
    angle_end2end_tests subsumes the previous:
      angle_tests
      angle_standalone_tests
      angle_implementation_unit_tests
    
    The bulk of these two targets have been factored into their own
    .gypi files, so that a different main.cpp can be trivially
    plugged in for the gtest harness. This refactoring has been
    tested both in ANGLE standalone builds, and builds within
    Chromium.
    
    BUG=chromium:435726
    
    Change-Id: I231a3c1989c17e188cc469dcf80fe78b052afe78
    Reviewed-on: https://chromium-review.googlesource.com/236681
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Kenneth Russell <kbr@chromium.org>

commit 54bd5a4613f33d9cb230a876f8040cba9eb623f8
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Dec 1 12:51:04 2014 -0500

    Move blit to the Framebuffer object and Impl.
    
    BUG=angle:841
    
    Change-Id: I482e53a90606d9d6b105c7006234215d51ab1a6b
    Reviewed-on: https://chromium-review.googlesource.com/232692
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit bce529e4c7f632b908ce553c62b2e59832442b08
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Dec 1 12:48:41 2014 -0500

    Move ReadPixels to the Framebuffer object and Impl.
    
    BUG=angle:841
    
    Change-Id: I71deac9e755b5dfa010596cd1f8a213c24d895bf
    Reviewed-on: https://chromium-review.googlesource.com/232691
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit b04dc82e4df421d535199b5398631fc6ba640ef3
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Dec 1 12:02:02 2014 -0500

    Move Framebuffer clearing from Renderer to the Framebuffer object.
    
    BUG=angle:841
    
    Change-Id: I95c9cbdc2d1c99731e19c48e18117358d22b9e94
    Reviewed-on: https://chromium-review.googlesource.com/232690
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit c9878cb13a73b8bed7a6195453c8b9866bb64d93
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Thu Dec 11 10:43:48 2014 -0800

    Fix normalized GL_BYTE vertex attributes on D3D11 9_3
    
    Feature Level 9_3 doesn't support as many formats for Input Layouts
    as 10_0+. On 9_3, we have to make sure that GL vertex attributes are
    converted into formats that 9_3 supports.
    
    Change-Id: I27b9a85a6eb21a37bd36e60bf011b83fce743fd0
    Reviewed-on: https://chromium-review.googlesource.com/234523
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 44b422c168f38339b4a8dd495c77198ed80a3f71
Author: Dongseong Hwang <dongseong.hwang@intel.com>
Date:   Tue Dec 9 15:42:01 2014 +0200

    Unify duplicated code for both depth and stencil buffer in ValidateBlitFramebufferParameters()
    
    Tested with angle_*_tests and WebGL CTS in Chrome Canary on Windows. Passed with no regressions.
    
    Change-Id: Ied0a32ea75565ef19b8e87bed8bdd555b74edee3
    Reviewed-on: https://chromium-review.googlesource.com/234110
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Dongseong Hwang <dongseong.hwang@intel.com>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit 4ed1c450b223e01c6459bb5f7faf5f1a749f8c1b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Dec 12 10:44:33 2014 -0500

    Link libANGLE against translator_static.
    
    If there are multiple users of translator.dll then one could ShFinalize
    and destroy the memory of all the others.  libANGLE needs it's own copies
    of the global pool allocator to make sure this doesn't happen.
    
    There should be no functional changes for non-component builds.
    
    BUG=angle:823
    
    Change-Id: Id6f7d50e86d8950834399b16a7ab14e6e3198d12
    Reviewed-on: https://chromium-review.googlesource.com/234594
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 588434c4d869e0591db758b1ceb447e2308b09d1
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Wed Dec 10 10:41:45 2014 -0800

    Prevent D3D11 Feature Level 9_3 from sampling from SV_Position in Pixel Shaders
    
    D3D11 FL9_3, like Shader Model 2.0 in D3D9, doesn't support reading from SV_Position in the pixel shader. We have to reconstruct gl_FragCoord using dx_ViewCoords instead.
    
    Change-Id: I7e898038d210d73a9d224dcc18b033e5cd4a56f5
    Reviewed-on: https://chromium-review.googlesource.com/234277
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 492a7e43ebdd2c40e8b6e7b5cd961065069a2cff
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Nov 5 13:27:06 2014 -0500

    Encapulate the ESSL compiler into a GL object that is per-context.
    
     * Allows for multiple contexts have to have different client versions, caps
       and extensions without causing shader compilation failures.
    
    BUG=angle:823
    
    Change-Id: I523679e90be031b0b7fa385d46d6839b1cf3029f
    Reviewed-on: https://chromium-review.googlesource.com/227710
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 797ff4c0ecf1b4950f6948175ea38ccbe888de7f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Dec 11 12:01:45 2014 -0500

    Move some structs and enums from Renderer.h to RendererD3D.h
    
    Change-Id: Ib334d2506031466a73f1a233ee68c1658841a882
    Reviewed-on: https://chromium-review.googlesource.com/234720
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 62588f5b972a09231cb647275a7682e10ad3ce11
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Wed Dec 10 10:27:35 2014 -0800

    Remove D3D11_BIND_STREAM_OUTPUT usage on D3D11 Feature Level 9_3
    
    Change-Id: Ib9d2d155a6e062488ff5bb5ce578036b6187ca70
    Reviewed-on: https://chromium-review.googlesource.com/234276
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 53c1a456a1886d9020d0cea81e0059f7e8caeb66
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Fri Dec 5 13:24:42 2014 -0800

    In Clear11, use ID3D11DeviceContext1::ClearView when appropriate
    
    Change-Id: I8d9054b5582cfe78beaff07146adc73b4716eaf9
    Reviewed-on: https://chromium-review.googlesource.com/233680
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit eb32a2e90fccb64df80e4f484005fb9112ed1b8f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Dec 10 14:27:53 2014 -0500

    Fix cube map rendertargets.
    
    We were using the entire level parameter of the cube map, instead
    of using the helper functions for cube map ImageIndexes, which
    set the layer corresponding to the cube map face.
    
    BUG=angle:849
    BUG=440701
    
    Change-Id: Id78db5c8281b6b644392bb961d69a7f869755a34
    Reviewed-on: https://chromium-review.googlesource.com/234380
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit b1237ed70eabe079e1db411865b0977269266c0f
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Mon Dec 8 09:37:42 2014 -0800

    On D3D11 Feature Level 9, use IDXGIAdapter2::GetDesc2.
    
    On Feature Level 9_3, GetDesc() returns "Software Adapter" in the hardware
    description string, instead of a description of the actual GPU. As a
    result, glGetString(GL_RENDERER) on 9_3 wouldn't return any useful info
    about the current hardware.
    
    Change-Id: Ie4d329a08a03ee044fc0b594308aaf0bf235c74e
    Reviewed-on: https://chromium-review.googlesource.com/233663
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Austin Kinross <aukinros@microsoft.com>

commit 0dbda057edb88718d98afa1fd62476ba5d095a3d
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Thu Dec 4 18:13:04 2014 -0800

    Add basic D3D11 Feature Level 9.3 support
    
    Change-Id: I660c74791ddb9917bd4796bb652eefab2a3e4863
    Reviewed-on: https://chromium-review.googlesource.com/233660
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Austin Kinross <aukinros@microsoft.com>

commit 748f74ef60b23a9873640ae7d12e56e2c0a5c304
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Dec 1 11:25:34 2014 -0500

    Rename Framebuffer::completeness to checkStatus and add an Impl method.
    
    BUG=angle:841
    
    Change-Id: I04b4ffd086424569a15aa21447dd552e0a898928
    Reviewed-on: https://chromium-review.googlesource.com/232394
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 9dd958088d760320b53d4106f597b790302af8d9
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Dec 1 11:12:59 2014 -0500

    Add set*Attachment methods to FramebufferImpl.
    
    BUG=angle:841
    
    Change-Id: Ie819c253a900d105d768aee168a6a2de89754ccc
    Reviewed-on: https://chromium-review.googlesource.com/232393
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit f1b85f314f493c1925ef21982442b41fc12cb116
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Dec 8 14:14:13 2014 -0500

    Update generated D3D shaders.
    
    We neglected to regenerate with our switch to the 8.1 SDK.
    
    Change-Id: Idd67dce1147ad0acec9bf933a0fd01f421c784ef
    Reviewed-on: https://chromium-review.googlesource.com/233844
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 16545669136028420f67ac496c45c2e9a32ed5a9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Dec 5 15:02:08 2014 -0500

    Move libEGL to compile on all platforms.
    
    BUG=angle:773
    
    Change-Id: I377c6df9b1f10e2756b7f000099847dc910c965c
    Reviewed-on: https://chromium-review.googlesource.com/232793
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 1a05ce9305f471a83f39630923607a5bd1e553c8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Dec 5 15:02:07 2014 -0500

    Allow implementation tests to compile on all platforms.
    
    BUG=angle:773
    
    Change-Id: I9fb56c1d8332b1529460eb3962bae1b756f58e91
    Reviewed-on: https://chromium-review.googlesource.com/232791
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit 62a4be24619a717b537a0b094a93e00ddba46a98
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Dec 5 15:02:06 2014 -0500

    Move the Image::copy implementation to ImageD3D.
    
    This method uses rx::RenderTarget, which is D3D-only.
    
    BUG=angle:773
    
    Change-Id: I2cb523fa98bda96661260d37a8c69c2ed8e7aa84
    Reviewed-on: https://chromium-review.googlesource.com/233441
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit b5d8f23e92dc855ec818787130433831799a911a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Dec 4 15:43:01 2014 -0500

    Move GetAttachmentRenderTarget and GetAttachmentSerial to FramebufferD3D.h.
    
    BUG=angle:841
    
    Change-Id: Ic341239e848f1daf7cf38f233d79a58f221780f4
    Reviewed-on: https://chromium-review.googlesource.com/232969
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 437d2662edf69e7143000a967acca5c479c8bd89
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Dec 5 14:23:35 2014 -0500

    Move some D3D-specific stuff into ProgramD3D.
    
    BUG=angle:773
    
    Change-Id: I48b42e7a3e82a43d3dde16a8d1016d28280eae39
    Reviewed-on: https://chromium-review.googlesource.com/232968
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 8e7c8a13791d5e0cb503898d5a7d1f38471deb69
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Dec 4 16:16:32 2014 -0500

    Fix texture format support queries on AMD-D3D9.
    
    We were allowing calls to the device to check support for D3DFMT_NULL,
    which AMD reports as a usable texture type. This was causing crashes
    with the WebGL CTS and angle_end2end_tests, when the user tries to use
    an sRGB or other type, which we incorrectly reported as available.
    
    BUG=angle:839
    
    Change-Id: I4941baac6a2b14a09c0ad2c924f29189ccfc6a07
    Reviewed-on: https://chromium-review.googlesource.com/232728
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 130e6e8fa7fa77d80f38ad5400cbfcf5aa224476
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Dec 5 12:17:40 2014 -0500

    Mark the exported entry points as stdcall.
    
    Because they may be returned as stdcall from eglGetProc address, the entry
    point functions must be stdcall.
    
    Fixes issues on 32-bit builds.
    
    BUG=angle:733
    
    Change-Id: Ia20046a67fdc28c702837ec59b8299c6bb722006
    Reviewed-on: https://chromium-review.googlesource.com/233471
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit babd8cafb50e086ab4c37cb81eafd1939b983bfe
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Dec 5 11:36:40 2014 -0500

    Have libGLESv2 compile tls.cpp.
    
    BUG=angle:733
    
    Change-Id: Ief3ddabdc441eb7e46581337a511cec2a90ede48
    Reviewed-on: https://chromium-review.googlesource.com/233431
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 8300538f163c9098b495821328fb739684510a7e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Dec 3 14:50:26 2014 -0500

    Use the static CRT.
    
    Remove a test that expects a crash, it has become flaky.
    
    BUG=angle:733
    
    Change-Id: Ia1d4e0b3dd09fa755f678b97b8deceee3ef0a35b
    Reviewed-on: https://chromium-review.googlesource.com/232963
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit e7c6e43c2cb9595ba455df3ff343b691ce223416
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Dec 3 14:48:07 2014 -0500

    Implement all entry points in libGLES and have libEGL act as a shim.
    
    This allows libANGLE to only be included in libGLESv2 and moves all TLS
    data to libGLESv2.dll.
    
    BUG=angle:733
    
    Change-Id: I34f0b47987a5efbe906c290d3ca656142e69ea9a
    Reviewed-on: https://chromium-review.googlesource.com/232962
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 6c85047a140177ea534feba7fe2d70b3f4ae774d
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Dec 2 16:23:17 2014 +0200

    Reject compound assignments of the type scalar op= vector/matrix
    
    scalar op vector/matrix produces a vector/matrix, which can't be
    assigned to a scalar. Handle this correctly for addition, subtraction and
    division. Multiplication was already handled correctly as a special case.
    
    BUG=angle:832
    TEST=WebGL conformance tests
    
    Change-Id: I318cae8bf353a5c58c588876ce3f29d18389263c
    Reviewed-on: https://chromium-review.googlesource.com/232601
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 2c43325dd4f0f570649dacd3704bbac6e9b70ae5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Dec 3 12:36:54 2014 -0500

    Fix double delete with invariant varyings.
    
    The compiler would leave some TString variables lying around
    after the pool gets released, leading to a potential crash.
    
    BUG=angle:846
    
    Change-Id: I484ed9b14bba9bf653f6ed4001ae79f87791b0dd
    Reviewed-on: https://chromium-review.googlesource.com/232780
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit 68439854bdfc3843f52f12de589af92862426849
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Dec 4 14:40:16 2014 -0500

    Fix ASSERT not covering full range of drawbuffer counts.
    
    BUG=angle:841
    
    Change-Id: I59cc281e4848572010cbba3d45382a98063e8db2
    Reviewed-on: https://chromium-review.googlesource.com/233210
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 9ad4bda0d888d9ba294f950ae299655d92d38aae
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Dec 1 11:03:09 2014 -0500

    Move Framebuffer invalidation into the impl.
    
    BUG=angle:841
    
    Change-Id: Ibcf58c4f676491f3b2582198c6cf9fd4a7a38b42
    Reviewed-on: https://chromium-review.googlesource.com/232392
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 164d54eb2a7daf54f38fe980d7cd0240401a0aed
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Dec 1 10:55:33 2014 -0500

    Set all the drawbuffer state at once instead of one buffer per call.
    
    BUG=angle:841
    
    Change-Id: I988c7c0cd45317c78b8fd16df8324028ff1cb25d
    Reviewed-on: https://chromium-review.googlesource.com/232391
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 05a49f68075efa7e442d67c3ade2304f61a8dd87
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Dec 4 13:48:47 2014 -0500

    Fix doubly defined variables in libANGLE and libGLESv2.
    
    We can get by with only including these in libANGLE, since libGLESv2
    pulls in libANGLE.
    
    BUG=angle:773
    
    Change-Id: Iccbdb968b3c55528e2a7e1dd55f4f1280a70bfe9
    Reviewed-on: https://chromium-review.googlesource.com/232967
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit 3011c25b58e8df6fb3d7c9066f016b29f2ef8f45
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Dec 4 13:48:46 2014 -0500

    Fix event tracer linking on Linux.
    
    We were including the cpp in multiple targets, which was causing a
    multiply defined error.
    
    BUG=angle:773
    
    Change-Id: I1e31756faee2d7734f1fc6cfb086d0e7ec6519bc
    Reviewed-on: https://chromium-review.googlesource.com/232966
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 4eae6dfa62f7049239f67d79fa16621ff3b1cf37
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Dec 4 13:48:45 2014 -0500

    Move native display check to the DisplayImpl.
    
    This fixes another Linux compile error in the EGL layer.
    
    BUG=angle:773
    
    Change-Id: Iba643a72fb7b0d5994fe69e46184256e07aa3aad
    Reviewed-on: https://chromium-review.googlesource.com/232945
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 0ecf9af613897edcdf4dc6f93ef54f6515630ffe
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Dec 4 13:48:41 2014 -0500

    Update WebGL CTS expectations.
    
    Change-Id: I04f232b560dda470d589f8afbe8601d5cf7abeef
    Reviewed-on: https://chromium-review.googlesource.com/232965
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 8e1936c750b23d2b6e26fec9cd112275a0b52d87
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Dec 3 15:20:12 2014 -0500

    Skip BlitStencil test on Intel D3D9.
    
    We seem to fail this config. It could be driver bug or other
    problem in ANGLE. Disable the test until we can find an answer.
    
    BUG=angle:809
    
    Change-Id: I90d773d2047569d71fa8a25c8919a8e46b5676b1
    Reviewed-on: https://chromium-review.googlesource.com/232980
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit dae55f649e854df527534191e15ffb12229cf802
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Dec 4 11:36:30 2014 -0500

    Remove polymorphism of egl::Display.
    
    This was causing a warning on GCC, and is no longer necessary.
    
    BUG=angle:773
    
    Change-Id: I6cb09e79bff9035e3e38966dcad2cc7ba74701a1
    Reviewed-on: https://chromium-review.googlesource.com/232944
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit 5d94a2b16a1647b57eb0e0d355da9589b9136461
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Dec 4 11:16:00 2014 -0500

    Move native window check to the DisplayImpl.
    
    This hides the D3D-specific methods from the EGL side of things.
    
    BUG=angle:773
    
    Change-Id: I5a1c2bbff865e02bc1a07b3295347469ef9792e3
    Reviewed-on: https://chromium-review.googlesource.com/232943
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit a0c18434dd71d299682a5b9c814a57026cec7cb2
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Dec 4 10:27:25 2014 -0500

    Fix stray ANGLE_EXPORT.
    
    BUG=angle:733
    
    Change-Id: Ia4a84bea483ac11a2326d2402649affe10d661c9
    Reviewed-on: https://chromium-review.googlesource.com/232942
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 9d9132dff2ef8bd834ab945d66977fdcae691e04
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Dec 3 14:46:48 2014 -0500

    Remove support for compiling libANGLE as a dynamic library.
    
    BUG=angle:733
    
    Change-Id: Iacef45b89f234091eb5df505437adabece1e564b
    Reviewed-on: https://chromium-review.googlesource.com/232961
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 2ec386bbec5918114a11e6fa574a353c954c1017
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Dec 3 14:44:38 2014 -0500

    Rename IsSampler to IsSamplerType.
    
    BUG=angle:733
    
    Change-Id: I62aece16c11aefdbf13c0b5faf83040fdb8555e6
    Reviewed-on: https://chromium-review.googlesource.com/232960
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 597235416e1ab2196eb166ad1db6e9d71d8bb615
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Nov 26 15:30:16 2014 -0500

    Disable support for shader model 2 in Renderer9.
    
    Change-Id: I2fc6e1b440cbdd72c99971d355637819a13951be
    Reviewed-on: https://chromium-review.googlesource.com/232091
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 528ce3c16d30ea2e661fd81b1b8265df46ed0473
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Dec 1 10:44:07 2014 -0500

    Merge some special cases of the default framebuffer into the Framebuffer class.
    
    BUG=angle:841
    
    Change-Id: Id4b5ac38926bc90fa015584d966aaef3a7101849
    Reviewed-on: https://chromium-review.googlesource.com/232390
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 2212b3d5b1e69230e5305d62776731e8383e9937
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Dec 3 10:59:00 2014 -0500

    Only generate shader debug info on Windows.
    
    This was messing up the Linux build with some recent changes.
    
    BUG=angle:773
    
    Change-Id: I9ca201f08ddde0a36224872b2c78d1d666cf458d
    Reviewed-on: https://chromium-review.googlesource.com/232792
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 36e86234c824b9d7de4bbfd4c275b25a7e797a51
Author: Bruce Dawson <brucedawson@google.com>
Date:   Mon Dec 1 16:48:23 2014 -0500

    Improve image update perf by re-using a MemoryBuffer.
    
    Instead of allocating a new MemoryBuffer every frame, we can store
    one scratch buffer in the Renderer, and occasionally re-create it
    to ensure we aren't stuck using the maximum amount of memory.
    
    BUG=angle:842
    
    Change-Id: Id7c1912921ed8f84b151413453c3268d853352db
    Reviewed-on: https://chromium-review.googlesource.com/230861
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Bruce Dawson <brucedawson@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 9d59a04491436252bbe550a4249663f700fddc30
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Dec 3 10:58:59 2014 -0500

    Ignore GCC's always inline warnings in MurmurHash.
    
    These were benign and treated as errors. The always inline attribute
    may still have some value, so I left it in.
    
    BUG=angle:773
    
    Change-Id: I78c5f792485e8f8d890123ee861cfecf2a5649be
    Reviewed-on: https://chromium-review.googlesource.com/232790
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit 0540e5d5d2eed0891324c99ce3109bdb305aa8b9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Dec 3 10:58:58 2014 -0500

    Move the SystemInfo helpers to Win32 only.
    
    BUG=angle:773
    
    Change-Id: I53938837d925b14d8fc86c94a38d23bb86d82de5
    Reviewed-on: https://chromium-review.googlesource.com/232699
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit 2347de1aa9a52e710e2b91823ad264e341e87fbc
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Dec 3 10:58:57 2014 -0500

    Remove src/libANGLE from default includes.
    
    This is unnecessary, and was breaking Linux builds because of
    a conflict with features.h.
    
    BUG=angle:773
    
    Change-Id: Ic704ac24a0e8f5781f67cadca396bef779495efe
    Reviewed-on: https://chromium-review.googlesource.com/232698
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit e7cfb3dd2029c1bfe5c175ad994c03cac221ad4d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Dec 3 10:58:56 2014 -0500

    Do not use std::strlen.
    
    GCC doesn't use the std:: namespace for these methods.
    
    BUG=angle:773
    
    Change-Id: I0d887f103298cdd184b3f7825c5e44363edb9b92
    Reviewed-on: https://chromium-review.googlesource.com/232697
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit 2db1fbbc7e8481cf36897c1921ac9823e027c26a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Dec 3 10:58:55 2014 -0500

    Make compile optimization level hidden outside D3D.
    
    BUG=angle:773
    
    Change-Id: Ia6f16d2e4644c02d94cf99b73f70d05486886925
    Reviewed-on: https://chromium-review.googlesource.com/232696
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit 27839c6d708f4189bc3b33397a8bfefe4aefa5af
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Dec 3 10:58:53 2014 -0500

    Remove unrefed texture validation variables.
    
    These were causing unused variable warnings in Linux GCC builds.
    
    BUG=angle:773
    
    Change-Id: I860d425a1caef07a58f6ff1b6c113ad7b63283dc
    Reviewed-on: https://chromium-review.googlesource.com/231856
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit e69a3f2811972544cd4f5bb5d456e95f7f8aee45
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Dec 3 10:58:53 2014 -0500

    Add missing cstring include to Uniform.cpp.
    
    This file was missing on GCC builds.
    
    BUG=angle:773
    
    Change-Id: I6222b5ee563d64967d878c422abd464c8c92e646
    Reviewed-on: https://chromium-review.googlesource.com/231855
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit 639db12edfb2c624117cf4fa596e1123d9de86f1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Dec 3 11:36:43 2014 -0500

    Use memset to zero out ClearParameters.
    
    Using the C struct initialization syntax was giving errors on
    Linux.
    
    BUG=angle:773
    
    Change-Id: I298c851df7246eeb1772837c5678f3c578483b63
    Reviewed-on: https://chromium-review.googlesource.com/231854
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit d98bbc39b7edb871800cb91c606af37b85a40679
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Dec 3 11:36:42 2014 -0500

    Remove RendererD3D header from Renderbuffer.cpp.
    
    BUG=angle:773
    
    Change-Id: Idb9f840c0a83550bd9a58c3c4599c65ee916fa3c
    Reviewed-on: https://chromium-review.googlesource.com/231853
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit 352beffc10f16f89f5484dca9152f0f4f1d06ab7
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Wed Nov 19 13:45:55 2014 +0200

    Remove RemoveAllTreeNodes, since it was a no-op
    
    IntermNode operator delete() or any of the IntermNode destructors don't
    do anything, since all the AST memory is allocated on the PoolAllocator.
    Because of this, RemoveAllTreeNodes was simply a no-op, and redundant
    with the PoolAllocator deallocation procedure, and could confuse people
    reading the code to think that IntermNodes should be deleted
    individually, when in fact this is not the case.
    
    BUG=angle:831
    
    Change-Id: Ie1ccaa51986aabf267280d92a8e76ca9f97a19e5
    Reviewed-on: https://chromium-review.googlesource.com/230730
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit ea7a21219bd211e0f37dd1b74e06cd667c3a812d
Author: Erik Dahlström <ed@opera.com>
Date:   Mon Nov 17 16:15:57 2014 +0100

    Add GLSL/ESSL validator/translator support for GL_EXT_shader_framebuffer_fetch.
    
    BUG=angle:834
    
    Change-Id: I2d4e25909a8e1266b9bb7f1d4421324143157c8a
    Reviewed-on: https://chromium-review.googlesource.com/231032
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Erik Dahlström <ed@opera.com>

commit 870352a1daf0465bf024452848e265b74c49e826
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Dec 1 11:01:17 2014 -0500

    MANGLE egl::Display.
    
    BUG=angle:794
    
    Change-Id: Id131f3119100030d6ee630e357a8d28396a6a813
    Reviewed-on: https://chromium-review.googlesource.com/231852
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 7dd2e10da0ca97d0d558ce7dc682a73f7bdd1aa0
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Nov 10 15:19:26 2014 -0500

    Merge the ProgramBinary class into Program.
    
    BUG=angle:731
    
    Change-Id: I2ee97155841dc62f04bb71c1f2035d210fd3883c
    Reviewed-on: https://chromium-review.googlesource.com/232694
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 213294141273e016a67176d2e98162381a9cd26c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Dec 2 20:50:30 2014 +0000

    Revert "Merge the ProgramBinary class into Program."
    
    Issues appeared on the FYI waterfall, content_gl_tests hangs.
    
    This reverts commit 2195a6d6032883ed05468d5ecd019e7cb9a27bce.
    
    Change-Id: I9fe1a53cf40887ae5a98fd77b4872f41085fcea7
    Reviewed-on: https://chromium-review.googlesource.com/232386
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 2195a6d6032883ed05468d5ecd019e7cb9a27bce
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Nov 10 15:19:26 2014 -0500

    Merge the ProgramBinary class into Program.
    
    BUG=angle:731
    
    Change-Id: Ia0a356c0684f3a3576c71dfd04b00874318dd084
    Reviewed-on: https://chromium-review.googlesource.com/228701
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit da88adda2c727b9ebc38ad7080f3e3d86ffb7e54
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Dec 1 10:22:01 2014 -0500

    Create stubs for the FramebufferImpl class.
    
    BUG=angle:841
    
    Change-Id: I089409981604abe9c65c3019765d8d9eeffe38f5
    Reviewed-on: https://chromium-review.googlesource.com/232381
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit f626df96900ca131a58886e3341cfa225adef4dc
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Dec 1 11:01:15 2014 -0500

    Remove Display::recreateSwapChains.
    
    This method was unused and dead code.
    
    BUG=angle:794
    
    Change-Id: I1348f5ffc62ff57f3c6503c6842cc68bcbefb550
    Reviewed-on: https://chromium-review.googlesource.com/231851
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit 4052af43f929f3bb0fb92cb90a010c64ef9819ee
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Dec 1 14:45:20 2014 -0500

    Fix override keyword in Renderer9.h.
    
    BUG=angle:773
    
    Change-Id: I1d69b79ed8f85a2e9238cee1ffada11ee362cffb
    Reviewed-on: https://chromium-review.googlesource.com/232395
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit ac59273c5ac0db631ec048f157e1123e7b405d43
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Dec 1 11:01:14 2014 -0500

    Clean up Adapter LUID queries.
    
    We might need to revisit this when we implement other GL
    back-ends.
    
    BUG=angle:773
    
    Change-Id: I6e742254bd0df8cc899ea02a523992b4d66dfd68
    Reviewed-on: https://chromium-review.googlesource.com/229061
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit 8bc361e144444d6a9e8dfdd129c897cacf505ddf
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Nov 20 16:23:31 2014 -0500

    Support compiling libANGLE as a static or shared library.
    
    BUG=angle:733
    
    Change-Id: If27d3330534bce0f5b691010ea7d97bcb7579122
    Reviewed-on: https://chromium-review.googlesource.com/231052
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 4f4207f72807bf1235e12a0bcce6190be15f8879
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Dec 1 10:07:56 2014 -0500

    Make some FramebufferAttachment methods const.
    
    BUG=angle:841
    
    Change-Id: I4670e417c1976ebd2198ea4c8927a00fff7bb15c
    Reviewed-on: https://chromium-review.googlesource.com/232380
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 43b65311abab1e620a7e9fbd33a3724a29040ae1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Nov 21 11:37:41 2014 -0500

    Make getAdapterIdentifier D3D-only.
    
    We only use this Renderer method in ProgramD3D, so we can hide it
    from the GL-side API.
    
    BUG=angle:773
    
    Change-Id: I7a8092a7e3bceb1498f4e4022f84486e0295759d
    Reviewed-on: https://chromium-review.googlesource.com/229060
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 0954b3403355db398a45ce29b03c9e04b50338f1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 27 22:11:19 2014 +0000

    Revert "Do not check format caps for D3DFMT_NULL."
    
    Seems to be causing problems on the AMD Release GPU FYI bot.
    
    http://build.chromium.org/p/chromium.gpu.fyi/builders/Win7%20Release%20%28ATI%29/builds/6378
    
    This reverts commit 533f0a1d6a9510c3380dc791457883274fbdc997.
    
    Change-Id: I94ae0f72303ad5bc6e84e56c35a683d01844309a
    Reviewed-on: https://chromium-review.googlesource.com/232192
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit fb0580a676c3c4e373dd6969fb7dec959b9d9526
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 27 14:03:52 2014 -0500

    MANGLE egl::Surface.
    
    This class has its fingers in a lot of other classes. In particular,
    we will likely need to revisit the context lost handling methods when
    we implement the robustness extensions on top of desktop GL. For now,
    we can leave them tied pretty tightly to the D3D implementation.
    
    BUG=angle:795
    
    Change-Id: I9b3ac90dfd393f52c5b49bc2bd6b97fb5536ed91
    Reviewed-on: https://chromium-review.googlesource.com/228916
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 533f0a1d6a9510c3380dc791457883274fbdc997
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 26 13:23:04 2014 -0500

    Do not check format caps for D3DFMT_NULL.
    
    On AMD systems the driver was reporting these textures as usable.
    This was causing crashes in the sRGB extension tests.
    
    BUG=angle:839
    
    Change-Id: I8e9924ed44f82a2a6bc891d1df76c0f9a19084ad
    Reviewed-on: https://chromium-review.googlesource.com/232062
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit ce260bb4980eb3ded5c8c30311c207f8c3d69c0d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 27 13:39:16 2014 -0500

    Add Fence implementation tests back to project.
    
    Somehow they had been neglected.
    
    Change-Id: Ibe8b063758be8e99978fdd2723192be7bcea6d04
    Reviewed-on: https://chromium-review.googlesource.com/232220
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 50832442042001e0585f7a90e5e4d83fc82cf813
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 27 11:06:19 2014 -0500

    Update WebGL expected failures.
    
    Change-Id: I8d90f9189340b6a8f8535bab595fd1e8f65fe9ff
    Reviewed-on: https://chromium-review.googlesource.com/231965
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit d3404ffd58cac8ac58ec4a4a04b3cebd99b937d9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 27 11:06:20 2014 -0500

    Optimize LoadL8ToRGBA8.
    
    We can save some work by re-using the color value in a temporary.
    
    BUG=angle:842
    
    Change-Id: Ib64b34ca7bc77c73368e159527ad84419079f958
    Reviewed-on: https://chromium-review.googlesource.com/231997
    Reviewed-by: Bruce Dawson <brucedawson@google.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 149257f5656c24713280102d1ac6e3cba56d4a35
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Nov 26 14:14:31 2014 -0500

    Disable EXT_depth_textures on AMD D3D9 devices.
    
    BUG=angle:839
    
    Change-Id: Ia8c24db98a31141994e22b25efbdfddaa4eced49
    Reviewed-on: https://chromium-review.googlesource.com/231996
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 60305f140897f549a9b7b9f32ae762209e396bc6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 18 13:25:26 2014 -0500

    Fix error in dumping direct struct indexes.
    
    The parser would become confused over the purported array size
    of struct indexes. In reality they were always a single direct
    index into a struct, but it would take the object size of the
    represented type (EG, a vec4 would have size 4) and deference
    out-of-bounds memory.
    
    BUG=434033
    
    Change-Id: I92349aa04e6faadc766cb28c04e28d5f19c4e1ec
    Reviewed-on: https://chromium-review.googlesource.com/230530
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>

commit 53a1f4a0aa1580475e8f66d4d3f0b2faafed89b2
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Nov 19 16:35:45 2014 -0500

    Remove the libGLESv2_static target.
    
    BUG=angle:733
    
    Change-Id: Ia33a67d8422c6c31a1f07f2a8778537e023b2dd2
    Reviewed-on: https://chromium-review.googlesource.com/230781
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 853dc1abd3ba5f43fdf6b34784795b1d0857d2fc
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Nov 6 17:25:48 2014 +0200

    Add mediump and lowp precision emulation support for GLSL output
    
    This implements the rounding as specified in WEBGL_debug_shader_precision
    extension proposal for desktop GLSL and ESSL output. The bulk of the new
    functionality is added in the form of a new EmulatePrecision AST
    traverser, which inserts calls to the rounding routines angle_frm and
    angle_frl in the appropriate places, and writes the rounding routines
    themselves to the shader.
    
    Compound assignments which are subject to emulation are transformed from
    "x op= y" to "angle_compound_op_frm(x, y)", a call to a function which
    does the appropriate rounding and places the result of the operation to
    x.
    
    The angle_ prefixed names should not clash with user-defined names if
    name hashing is on. If name hashing is not on, the precision emulation
    can only be used if the angle_ prefix is reserved for use by ANGLE.
    
    To support the rounding routines in output, a new operator type is added
    for internal helper function calls, which are not subject to name
    hashing.
    
    In ESSL output, all variables are forced to highp when precision
    emulation is on to ensure consistency with how precision emulation
    performs on desktop.
    
    Comprehensive tests for the added code generation are included.
    
    BUG=angle:787
    
    Change-Id: I0d0ad9327888f803a32e79b64b08763c654c913b
    Reviewed-on: https://chromium-review.googlesource.com/229631
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 1c9ecfd7cd439039487dff8c0d6d7c410b8f95d3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 25 11:50:58 2014 -0500

    Add querySurfacePointerANGLE method to Surface.
    
    This method will more closely match the desktop GL implementation.
    
    BUG=angle:795
    
    Change-Id: I796b46bb6e8e895dad8d9824e8405edcc12e8a4f
    Reviewed-on: https://chromium-review.googlesource.com/228915
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 55573e1326a594e1a93dc1b441187eb1c2d3e4c9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 25 11:21:13 2014 -0500

    Use cross-platform enum for Vendor ID.
    
    BUG=angle:795
    
    Change-Id: Ibe9bbb79b92730ba80ca7275528c8b61d5d44c59
    Reviewed-on: https://chromium-review.googlesource.com/228914
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 2207213ba50c844ccd029ed65be395d9167d37c7
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Nov 20 15:15:01 2014 -0500

    Move as many files as possible from common to libANGLE.
    
    BUG=angle:733
    
    Change-Id: If01c91cd52ac5c2102276a9fdc4b68ebc13e47f9
    Reviewed-on: https://chromium-review.googlesource.com/231850
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 5ce48e2148961fe8ff8cb161eb547807c77ea3ac
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Nov 24 11:38:54 2014 -0500

    Use EGLClientBuffer in place of HANDLE in EGL.
    
    BUG=angle:795
    
    Change-Id: I7af47e9306e0e12b980cfd3f061bbbe0951ac4e4
    Reviewed-on: https://chromium-review.googlesource.com/228913
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 4349ab855de9f7b8c8d3521c22504c95fdd82d7b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Nov 25 15:53:34 2014 +0000

    Revert "Move as many files as possible from common to libANGLE."
    
    Chromium directly includes our common/version.h and couldn't build after this change.
    
    This reverts commit f0a2c7727f9863c38a435a16a69d513c481fbbdd.
    
    Change-Id: Iafc41b1a3973f609518fe3588fdb64cecc285332
    Reviewed-on: https://chromium-review.googlesource.com/231840
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit f0a2c7727f9863c38a435a16a69d513c481fbbdd
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Nov 20 15:15:01 2014 -0500

    Move as many files as possible from common to libANGLE.
    
    BUG=angle:733
    
    Change-Id: I40cee6e2e305ac493acbc8649f858785c0569aed
    Reviewed-on: https://chromium-review.googlesource.com/231051
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit f03c4da0330b6b60de6d49b5fb000c52baeacfc8
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Mon Nov 24 20:07:07 2014 +0000

    Revert "In Clear11, use ID3D11DeviceContext1::ClearView when appropriate"
    
    Causing failures on GPU Windows bots
    
    This reverts commit 3b23162968cdb7fb76aef74e979d8ea1fd256a8d.
    
    Change-Id: Ie1806db36b13f8b03dc1a1ae10f237260c99de7b
    Reviewed-on: https://chromium-review.googlesource.com/231701
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit f60fab6d154f4c9bf599e92976cd8cee7f8633e0
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Nov 24 11:21:20 2014 -0500

    Fix handling of shader source with fixed length.
    
    BUG=angle:837
    
    Change-Id: Ie9c3059ad2973b0733be92b7548525ee694bb1fa
    Reviewed-on: https://chromium-review.googlesource.com/231612
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 3b23162968cdb7fb76aef74e979d8ea1fd256a8d
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Fri Nov 7 15:39:35 2014 -0800

    In Clear11, use ID3D11DeviceContext1::ClearView when appropriate
    
    Change-Id: I81fe722973aa3c89ea03501543ab74d92e26b02b
    Reviewed-on: https://chromium-review.googlesource.com/228620
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 0a73dd85e48b7e9729f99e50dc5683691b98b219
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Nov 19 16:18:08 2014 -0500

    Fix include guards.
    
    BUG=angle:733
    
    Change-Id: I08b2c11c4831f1161c178c1842b10e807185aced
    Reviewed-on: https://chromium-review.googlesource.com/230831
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit edcc6bc5267c6409ea78d1c857cfa141cf4cb24b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Nov 24 11:38:53 2014 -0500

    Make device lost flag a RendererD3D member.
    
    This flag we used in both D3D renderers, and hence we can move it
    to the base class to share a bit of common code.
    
    BUG=angle:795
    
    Change-Id: I8bd60796bfeb9590bdf798f9d044f8e20c7ad779
    Reviewed-on: https://chromium-review.googlesource.com/228912
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 4c76feac2e376c2c7143ce71667e8f4d818b744a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Nov 24 11:38:52 2014 -0500

    Remove notify parameter from testDeviceLost.
    
    We can get rid of this parameter now that we call notify
    directly on the display in cases where we need to.
    
    BUG=angle:795
    
    Change-Id: I2024b70d0d725e755f7aa742ba221c2d0179d8b6
    Reviewed-on: https://chromium-review.googlesource.com/228911
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 9dd0cf0a910d6f106fb2755a7f8412d557e80932
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Nov 24 11:38:51 2014 -0500

    Do not use notify feature of testDeviceLost.
    
    This is part one of a simplification of testDeviceLost. This
    patch changes the instances where we would use the notify
    parameter to notify the Display directly. We can do this
    by using the Display attached to the Renderer in some cases.
    
    BUG=angle:795
    
    Change-Id: I24fd827989d47b0b2cefef7afb99fa62581ddc1b
    Reviewed-on: https://chromium-review.googlesource.com/228910
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit b23deb26bbe56def669a3b52e941f9a996c7e21e
Author: Kenneth Russell <kbr@chromium.org>
Date:   Fri Nov 21 14:53:56 2014 -0800

    Fixed Mac and Linux build breakage.
    
    Introduced in 1edac3b1bdcc54a4b0f0449cb727bda84ab3ee53 .
    
    BUG=none
    
    Change-Id: Ia5c5e38b794e9c991ec8624de34681dcf13a651f
    Reviewed-on: https://chromium-review.googlesource.com/231441
    Tested-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit 7bff24c1557c41f263a19ee50a587a26403e7095
Author: Kenneth Russell <kbr@chromium.org>
Date:   Thu Nov 20 17:37:47 2014 -0800

    Rename and slightly reorganize test targets.
    
    Use "angle_" prefix for all targets to disambiguate them from any
    potential Chromium-side targets.
    
    Combine compiler and preprocessor tests into angle_compiler_tests.
    (Chromium's "angle_unittests" target contains both.) Deleted
    preprocessor_test_main.cpp.
    
    BUG=angleproject:833
    
    Change-Id: I7acc5a76f49c15d0064c16d2ace256f9cc86e9e8
    Reviewed-on: https://chromium-review.googlesource.com/231185
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Kenneth Russell <kbr@chromium.org>

commit 1edac3b1bdcc54a4b0f0449cb727bda84ab3ee53
Author: Cooper Partin <coopp@microsoft.com>
Date:   Thu Nov 20 13:49:27 2014 -0800

    Fixed Visual Studio 2013 Update 4 build failures for WinRT
    
    Change-Id: I393e9800d1c2e902f60728e1f7d0debca66b76a0
    Reviewed-on: https://chromium-review.googlesource.com/231140
    Tested-by: Cooper Partin <coopp@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit af224bf0fc793565bd518b1af8a9ba018bdb5bbe
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Nov 21 14:57:42 2014 -0500

    Update the README to match the one on the google code page.
    
    Change-Id: I05b61d9a7c80a6e53df1b12a99b0c107b570496c
    Reviewed-on: https://chromium-review.googlesource.com/231223
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit e371f1d7e8a6a6a137c84a6a7a62d35312bd8764
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Nov 21 11:25:22 2014 -0500

    Update the DISALLOW_COPY_AND_ASSIGN macro to use c++ operator deletion.
    
    Also remove the TSymbol copy constructor which is not used.
    
    BUG=angle:836
    
    Change-Id: I4f35f554c90d01dc2132d244a1974d9a8dc89bbd
    Reviewed-on: https://chromium-review.googlesource.com/231231
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit cc4cd2925b9a4f1142a86df131345a861c9d7cd9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Nov 21 14:49:40 2014 -0500

    Fix releasing textures after we kill D3D11.
    
    This bug was crashing the IncompleteTextureTest in Release mode.
    Fix this by releasing the textures before we free the D3D11
    libraries.
    
    BUG=angle:838
    
    Change-Id: I771e4cc6876e3529c5d26f36711dea9181e631f0
    Reviewed-on: https://chromium-review.googlesource.com/231247
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 2b5420c07f9f3fa453f3376db9f04b0a8776cda3
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Nov 19 14:20:15 2014 -0500

    Merge libGLESv2 and libEGL classes into libANGLE.
    
    BUG=angle:733
    
    Change-Id: Ic491c971411fe82c56cd97c5c8325ac14ec218df
    Reviewed-on: https://chromium-review.googlesource.com/230830
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 746d0ea79208b514e95e626310bec513fa666ca4
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Nov 21 11:28:33 2014 -0500

    Disallow copying of the MemoryBuffer class.
    
    BUG=angle:836
    
    Change-Id: Ie3f674ef6c321770209a37b1af06ea21d788f476
    Reviewed-on: https://chromium-review.googlesource.com/231232
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit aad0cd7ffe8d20d84b334a2f71e7354339f1744c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Nov 21 11:07:36 2014 -0500

    Fix leaked ID3D11Resource object.
    
    BUG=427245
    
    Change-Id: If4833df5dc405a2a8d87a577bbd47b954613e321
    Reviewed-on: https://chromium-review.googlesource.com/231246
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 1027aa6264e066216409d6d5c8df5a419dbaed4e
Author: Kenneth Russell <kbr@chromium.org>
Date:   Thu Nov 20 10:10:26 2014 -0800

    Refactor gmock and gtest dependencies for ANGLE's tests.
    
    This change allows these targets to be referenced from Chromium's
    build projects.
    
    BUG=angleproject:833
    
    Change-Id: I14694f610921d28ddcd8664887086ca30375b7a2
    Reviewed-on: https://chromium-review.googlesource.com/231072
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Kenneth Russell <kbr@chromium.org>

commit f8fccb39b6f7bb3865cb195fdf2377396972f6c0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 12 15:05:26 2014 -0500

    Fix bugs in 2D Array Texture support.
    
    This fixes assertion failures and other errors, reproducible
    by running the dEQP Texture Format tests.
    
    BUG=angle:813
    
    Change-Id: I3b97f89323f9656b45f617211fb4579a24013951
    Reviewed-on: https://chromium-review.googlesource.com/229351
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit e5685e083f8f1d1f90f3bd4ec6af56e093c3ed5d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 12 15:37:41 2014 -0500

    Fix failure initting 2D Array textures.
    
    Our code currently failed in retrieving a NULL Image internally,
    when we relied on getting texture dimensions on an unitialized
    texture.
    
    BUG=angle:813
    
    Change-Id: Iaf6791ee291e45daae9c80d6452c4d9154227fdb
    Reviewed-on: https://chromium-review.googlesource.com/229350
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 970d2613e4aa678d8ba57aeef0086809b0b990b7
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Tue Nov 18 18:05:29 2014 -0500

    Adds a file to track known failures in the WebGL CTS
    
    Because ANGLE does not have a framework for testing directly against
    the WebGL CTS, we're unable to suppress failing tests at runtime. Instead,
    we'll document them in the repository for the reference of contributors.
    
    Change-Id: Ieea68a9aaa0b7bfebda2900265e3c4a857a0ce64
    Reviewed-on: https://chromium-review.googlesource.com/230582
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 0c219b81d41e8b3f13c92582ade267a748deb2fe
Author: Kenneth Russell <kbr@chromium.org>
Date:   Wed Nov 19 11:17:03 2014 -0800

    Trivial change to allow translator to be compiled via Emscripten.
    
    BUG=none
    
    Change-Id: Ifdb02d4b7c061f403f50d2e1fbea4ab117462475
    Reviewed-on: https://chromium-review.googlesource.com/230813
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Kenneth Russell <kbr@chromium.org>

commit 5312b5d8bb5305cf4e5750abe1c7ce6c73223912
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Nov 11 15:54:24 2014 -0500

    Remove pre-generated projects.
    
    BUG=angle:829
    
    Change-Id: I220ffb0929cf20f2834e7e0ea163105b45a9e03b
    Reviewed-on: https://chromium-review.googlesource.com/229065
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit acf5d5bea68453fae938440c70d9afe1f3df5435
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Nov 19 11:48:40 2014 -0500

    Remove includes of libGLESv2/main.h.
    
    It was mostly being included for gl::error or the debug.h include.
    
    BUG=angle:733
    
    Change-Id: If40d511c5422ac9265fbd809f647a91bcc802d41
    Reviewed-on: https://chromium-review.googlesource.com/230551
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 9c308c8d2322ede85449d18c544917921082850c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Nov 19 12:38:25 2014 -0500

    Remove includes of libEGL/main.h.
    
    It was mostly being included for querying the current state and EGL includes.
    
    BUG=angle:733
    
    Change-Id: Ia985dbc9de5739f6ea7fa5bb6eb2e187cc1d60f3
    Reviewed-on: https://chromium-review.googlesource.com/230780
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 6a1e6b97f24d09c2f07f8008a66ae5cd15982192
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Nov 6 10:42:45 2014 -0500

    Create a DefaultAttachment type and an implementation for it.
    
    This allows for dynamically sized default attachments instead of calling
    Context::makeCurrent each time the surface changes size.
    
    BUG=angle:824
    
    Change-Id: Ic39c0d7dc4269db53a34c01c4d915cb1a3cfbd08
    Reviewed-on: https://chromium-review.googlesource.com/228180
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 44f4d74c0f07fa2329dd651364c9f4616b19acfa
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Tue Nov 11 13:37:00 2014 -0800

    Fix memory leak when default framebuffer has 0 depth bits and 0 stencil bits
    
    Change-Id: If9dbcfc7eac3295b2523dd41dc87198d1b1e2d76
    Reviewed-on: https://chromium-review.googlesource.com/229022
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Austin Kinross <aukinros@microsoft.com>

commit aed9f94ea3e6355a249e523461945c5bf5249ecd
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Thu Oct 23 14:31:03 2014 -0700

    Limit D3D11 Feature Level 9 to GL ES 2.0, and say it's not conformant
    
    Change-Id: I2ce88217c9b78e83bac6df5975d9edfbbf90e557
    Reviewed-on: https://chromium-review.googlesource.com/225251
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit e0902644ef22a0af3d6f619c7d594357f8c311de
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Tue Nov 4 12:32:15 2014 -0800

    Change the component type of STENCIL_INDEX8 to UNSIGNED_NORMALIZED
    
    That way RenderbufferStorageMultisample accepts STENCIL_INDEX8 as
    an internal format for a multisampled buffer (samples > 0) as it
    isn't concerned by the restriction on integer component types anymore.
    This is consistent with the component type returned by the NVIDIA driver.
    
    BUG=angle:812
    
    Change-Id: Ic03f502ffa082b1011e8127213a5c1df0617ef43
    Reviewed-on: https://chromium-review.googlesource.com/227470
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit ea0c84d1779b3e0408aa03efd8167d9e1c40cc3a
Author: John Abd-El-Malek <jam@chromium.org>
Date:   Tue Nov 11 10:16:40 2014 -0800

    Copy the D3D compiler dll in the GN build.
    
    Change-Id: I773a411d07991d9ae160267eba8325c327146554
    Reviewed-on: https://chromium-review.googlesource.com/229007
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: John Abd-El-Malek <jam@chromium.org>

commit ac6ff93802e3b29b75678a65591548848e902dd5
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Wed Nov 12 06:16:53 2014 -0800

    Unset SRVs which resource are being bound to an RTV
    
    This is the extension of a previously debug-only workaround for
    D3D doing the unsetting by itself (with a warning). It made our
    state tracking of the bound SRVs out of sync with D3D's and caused
    some rendering to not take place.
    
    BUG=427245
    
    Change-Id: Id378030b64fddafbb3d406872a7dfd2c84793221
    Reviewed-on: https://chromium-review.googlesource.com/229066
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 7e81c9d5fbab719f764b98afb966f8acd91287b5
Author: Scott Graham <scottmg@chromium.org>
Date:   Sat Nov 15 02:23:08 2014 +0000

    Revert "Revert "Switch to 8.1 SDK and d3dcompiler_47.dll""
    
    This reverts commit 3cbdc34d4e90f6b51d5612e6f1d3ae632da47234.
    
    This reverts back to using 8.1 and d3dcompiler_47, as chrome is now rolled forward.
    
    Change-Id: I7ef4ebdbc32146b9ba6f551e376ac03ac71131ba
    Reviewed-on: https://chromium-review.googlesource.com/229990
    Reviewed-by: John Abd-El-Malek <jam@chromium.org>
    Reviewed-by: Scott Graham <scottmg@chromium.org>
    Commit-Queue: Scott Graham <scottmg@chromium.org>
    Tested-by: Scott Graham <scottmg@chromium.org>

commit 3cbdc34d4e90f6b51d5612e6f1d3ae632da47234
Author: Scott Graham <scottmg@chromium.org>
Date:   Fri Nov 14 18:25:26 2014 +0000

    Revert "Switch to 8.1 SDK and d3dcompiler_47.dll"
    
    This reverts commit e1425d95ba0ab095c5d64536bbeb3f78adcbf79f.
    
    This is to keep the GPU fyi bots green until the chrome side is landed. Chrome will be rolling to e1425d95...
    
    Change-Id: Iff1c60eeb7143fb72afa8525b31f8f0de9385897
    Reviewed-on: https://chromium-review.googlesource.com/229497
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit e1425d95ba0ab095c5d64536bbeb3f78adcbf79f
Author: Scott Graham <scottmg@chromium.org>
Date:   Thu Nov 13 11:28:30 2014 -0800

    Switch to 8.1 SDK and d3dcompiler_47.dll
    
    Change-Id: If43c7861ab7f47448fd726fd0b5c35f3a6eeb362
    Reviewed-on: https://chromium-review.googlesource.com/229616
    Commit-Queue: Scott Graham <scottmg@chromium.org>
    Tested-by: Scott Graham <scottmg@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit e9bdeb25850a3aae6b6e32da13224125975bcc17
Author: Cooper Partin <coopp@microsoft.com>
Date:   Tue Nov 4 16:49:40 2014 -0800

    Added Trim support for Windows Store application certification requirement
    
    Change-Id: Iff58863bf4af756d77521aadb1ccbaa977f0b78a
    Reviewed-on: https://chromium-review.googlesource.com/227530
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 21203702dfed17bd72535e4bf6faf42abf299d28
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Thu Nov 13 16:16:21 2014 +0200

    Fix precision tracking of constructor return values
    
    Precision should be set for constructor return values if they are of a
    built-in type. Structs should not be precision qualified.
    
    BUG=angle:787
    
    Change-Id: Ie5efd5be25a788ff6f01c5b989254572c00231eb
    Reviewed-on: https://chromium-review.googlesource.com/229560
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit 30d6c255d238c3064980a22f66fecf0ef9bb58d0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 13 10:03:33 2014 -0500

    Remove redundant rx:: scoping prefixes.
    
    In many places we can get rid of this scoping operator.
    
    BUG=angle:789
    
    Change-Id: If6c40c435a97473d2fd9d6f1fb5a2c709393eb00
    Reviewed-on: https://chromium-review.googlesource.com/225566
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit b38f2e5d5f9929c1ac58afb05971bfc422281fc2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 13 10:03:31 2014 -0500

    Remove the unused Renderer client version methods.
    
    Previous patches enable us to get rid of this workaround. We should
    in subsequent patches also try to clean up code that uses the
    internal Renderer-only version of the context caps.
    
    BUG=angle:789
    
    Change-Id: Ic054090303cdc3f7ee8e45e4577c157559955472
    Reviewed-on: https://chromium-review.googlesource.com/227714
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 245d360221c2c601e03e3a9d7c43cfe7c4a84abc
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 13 10:03:30 2014 -0500

    Pass GL context data into shader creation.
    
    This allows us to remove the hack where we store the current GL
    client version in the Renderer.
    
    BUG=angle:789
    
    Change-Id: I6526f11eaa922325a9a41df0df48b2152e022e26
    Reviewed-on: https://chromium-review.googlesource.com/227713
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 80bacde5e628ab1e64cdb22e10e4eb64e9ac09ca
Author: Corentin Wallez <cwallez@chromium.org>
Date:   Mon Nov 10 12:07:37 2014 -0800

    Use the [[flatten]] attribute only when a loop is present.
    
    Flattening branch-heavy shaders that contained no loops caused regressions.
    As a temporary workaround we only flatten ifs when there exists a loop.
    
    BUG=395048
    
    Change-Id: I95c40f0249643b98c62304a0f2a4563561d1fbbc
    Reviewed-on: https://chromium-review.googlesource.com/228722
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Corentin Wallez <cwallez@chromium.org>

commit 560eef1627abdef65f71021b906e57dc609f47fa
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Nov 11 15:06:39 2014 -0500

    Fix ProgramBinary being disabled when it should be enabled.
    
    Change-Id: I6a21bca32ae5bf1e0e638c0cf46102bd964cd066
    Reviewed-on: https://chromium-review.googlesource.com/229064
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit ab75a05607ddf9a99b53d7a8dc962900e5b032b9
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Oct 15 12:56:37 2014 -0400

    Refactor Framebuffer attachment application.
    
    Instead of passing texture and renderbufer IDs which requires a call to
    gl::getNonLostContext to resolve the objects, pass the Texture and Renderbuffer
    objects directly.
    
    BUG=angleproject:733
    
    Change-Id: Ia500a781643e43a17c8e9cea9f95847a7ff7b25d
    Reviewed-on: https://chromium-review.googlesource.com/228280
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit de8892b46bf3820c44dbf317cc0202d33db20776
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 11 13:00:22 2014 -0500

    Pass GL caps and version to compiler.
    
    This allows us to get rid of some of the reliance on storing the
    current context client version in the Renderer. A subsequent
    patch will allow us to remove the client version ugly hack.
    
    BUG=angle:789
    
    Change-Id: I139e0f66e1d39e5cd41a484c841a7101b1f29540
    Reviewed-on: https://chromium-review.googlesource.com/227712
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 87f6da1f2189fb8c9a655879ab0b51890dc5b002
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 11 13:00:20 2014 -0500

    Move the Context ReadPixels logic into RendererD3D.
    
    BUG=angle:789
    
    Change-Id: I0a678f8fe31a3e7ddd9a675a0e3cb0342299b0e3
    Reviewed-on: https://chromium-review.googlesource.com/226064
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit a93bef2e4c36b288a521b7a3b63fa741668ed36f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 11 13:00:19 2014 -0500

    Move BlitFramebuffer logic into RendererD3D.
    
    BUG=angle:789
    
    Change-Id: Ib3f830ba2f915a5fa4fa552dccc13c24575aa843
    Reviewed-on: https://chromium-review.googlesource.com/226063
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 1bd642c598dcb706b48534bc83aa9fd71cc67f4e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Nov 4 17:05:00 2014 -0500

    Split the RenderTarget classes based on if they are backing a SwapChain.
    
    bug=angle:824
    
    Change-Id: I89e475d4065102dbaa7fa1f1bfd02c7207def75c
    Reviewed-on: https://chromium-review.googlesource.com/227600
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit df8fafefa9c81d9b654f7e2ed89574c8ad1a6c89
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Nov 11 11:11:33 2014 -0500

    Fix compilation failure with Visual Studio 14.
    
    Change-Id: If009cec928318c90a2f6d445ea8b4b06c4e45209
    Reviewed-on: https://chromium-review.googlesource.com/228919
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 23419d56da1203546f5ee18a4d74017024cbdf68
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Nov 7 15:21:14 2014 -0500

    Pass 0 for the sample count to RenderTarget when there is no multisampling.
    
    BUG=angle:520
    
    Change-Id: Idc9a19ece620d107b87110dac8e1ef7a24f565cc
    Reviewed-on: https://chromium-review.googlesource.com/228551
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit a153d4b061d0b9f484f7fd1723ddec69ec46966e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 6 15:27:28 2014 -0500

    Move Clear logic into RendererD3D.
    
    BUG=angle:789
    
    Change-Id: I56d4398e4c49fe980f649327b105cdba9d944a00
    Reviewed-on: https://chromium-review.googlesource.com/226062
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit d9e5830340863660027b4641717ee66df2e01dc6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 6 15:27:26 2014 -0500

    Move Context draw call logic into RendererD3D.
    
    Also move a lot of supporting code.
    
    BUG=angle:789
    
    Change-Id: I098bf7d072ece1f414605783c32ec5354ba63e19
    Reviewed-on: https://chromium-review.googlesource.com/226061
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit 4de4fd6ee7f66d9f8cb341422f410cd965f0310c
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Fri Nov 7 16:22:02 2014 -0500

    Fixes a bug in program ID validation for GetUniform* calls.
    
    BUG=angle:571
    
    Change-Id: I7080f0f7ea0def29d1b67c9d954ee5d9d41fb348
    Reviewed-on: https://chromium-review.googlesource.com/228560
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 93e13fbf66943bb3a83966cb295b3d97810282ab
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 6 15:27:25 2014 -0500

    MANGLE the ANGLE Renderer class.
    
    BUG=angle:789
    
    Change-Id: Ib6d9d47a9353ea3c1a931b793baba85a2698b659
    Reviewed-on: https://chromium-review.googlesource.com/225472
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit e6382c3b8ec492598f32c0cf54b4dff4f96e2104
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Nov 7 15:05:26 2014 -0500

    Fix zero texture application.
    
    Patch https://chromium-review.googlesource.com/#/c/227711/ would
    allow NULL Textures sometimes from State::getSamplerTexture. Fix
    this by always setting the zero "Default" textures instead of NULL
    in the State.
    
    This was breaking the ES2-CTS test 'framebuffer_objects' on Windows.
    
    BUG=angle:826
    
    Change-Id: Ie08a89cff0555f21c769759e0c0ed73456a2f91c
    Reviewed-on: https://chromium-review.googlesource.com/228275
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit b28126ef9f3063dd90a1e960ab5a3262a0203b99
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Oct 3 15:51:38 2014 -0400

    Remove the gl::error function.
    
    BUG=angle:520
    
    Change-Id: Iefd4345aa347041143d5452cc2fcf48c071d494b
    Reviewed-on: https://chromium-review.googlesource.com/222839
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit bafefdf345a698679981eca1ed4f415f02374a17
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Oct 10 14:26:35 2014 -0400

    Add error handling to RenderTarget creation.
    
     * RenderTarget9/11 don't create any resources themselves anymore.
     * Pass the real internal format to RenderTarget creation so that it is
       not lost by converting to D3D formats and back.
    
    BUG=angle:520
    
    Change-Id: If420970d42f0bf6ce392d64f9cb7efa4df0b8f8e
    Reviewed-on: https://chromium-review.googlesource.com/222838
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 468d7a1ed35defac29d55e463f59de6f80aedf3a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Nov 7 11:19:11 2014 -0500

    Regenerate projects.
    
    Disabled warnings were reordered.
    
    Change-Id: I29772c1522e7428c3e66607fda82d14d2b182702
    Reviewed-on: https://chromium-review.googlesource.com/228273
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 981afd7f49e237293dec5fa4253604bf3aa741b1
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Nov 5 16:30:36 2014 -0500

    Fix possible crash when the info log length is zero.
    
    BUG=angle:822
    
    Change-Id: I01cb590cc9c1ba05f4d63dd088eef7e176a09d2f
    Reviewed-on: https://chromium-review.googlesource.com/227264
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Corentin Wallez <cwallez@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit ad65a13cd1933086672b9644c23afb6d9d003c4c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 6 15:27:23 2014 -0500

    Add RendererD3D as a layer between GL and Renderer9/11.
    
    BUG=angle:789
    
    Change-Id: I6107e6cbdeb5e3466f96a4bdf98181b8e5a25467
    Reviewed-on: https://chromium-review.googlesource.com/225471
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 48faf80abe30016ff637fbccdab0d68851ebf857
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 6 15:27:22 2014 -0500

    Use Context caps in Framebuffer completeness check.
    
    This frees the Framebuffer from any dependency on the Renderer.
    
    BUG=angle:789
    
    Change-Id: I0e9ae0edf93674e32ae4f6538a934cddbdc804d5
    Reviewed-on: https://chromium-review.googlesource.com/225470
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 1e9ae079e811ae239eda889eae35c8b3fb5ff3a4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 6 15:27:21 2014 -0500

    Add a base for GL essential data.
    
    The data holds the GL state, caps, extensions, texture caps, and
    current client version.
    
    BUG=angle:789
    
    Change-Id: Icd15d806e14490f39041dea663ab2461a6a76090
    Reviewed-on: https://chromium-review.googlesource.com/226060
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit dedd7b952639fb7ce01bc45076c86a4885740ce7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 5 16:30:36 2014 -0500

    Merge zero textures into the state texture map.
    
    We can treat these textures the same as the rest, saving a bit of
    code and complexity cost.
    
    BUG=angle:789
    
    Change-Id: I14b426c817cbe3c5bb737410378b6a80e274689b
    Reviewed-on: https://chromium-review.googlesource.com/227711
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit d46275f9edb66f0afe9ea72888d32dbe67cef678
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Nov 6 13:54:53 2014 -0500

    Fix platform if defined build error on Linux.
    
    Using #if instead of #if defined() was giving an error when
    ANGLE_PLATFORM_WINDOWS was undefined. Instead of defining it as
    zero for all platforms, use #if defined() to ensure our legacy
    usage of #ifdef doesn't get messed up by #define <value> 0.
    
    BUG=angle:825
    
    Change-Id: Ibad51c45c4337a30feb68561b6cf54ed5dc05d9d
    Reviewed-on: https://chromium-review.googlesource.com/228270
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 0bdc0f3ef9ba1b75d56a36778cfc1fe83bd12e65
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Tue Nov 4 15:26:10 2014 -0800

    Switch to new APIs in samples/translator/translator.cpp
    
    Also, fix a few issuse for ninja build "all" to finish.
    
    BUG=angle:775
    TEST=translator.cc compiles OK
    
    Change-Id: I6507e9143882a628a7737dd139efb6d8d358b0db
    Reviewed-on: https://chromium-review.googlesource.com/227490
    Tested-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 657cd684a615da648df6a851a916f11bb6f9a70e
Author: John Abd-El-Malek <jam@chromium.org>
Date:   Wed Nov 5 14:04:19 2014 -0800

    Fixes for Angle to build with Windows GN.
    
    Change-Id: Id38c4b11dba31b2779efa7beade481cd50f3d935
    Reviewed-on: https://chromium-review.googlesource.com/227692
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 9abdc2d82525c7413119cc8f175390c4f17b7cec
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 5 16:13:22 2014 -0500

    Fix fuzzy color check in ClearTest.
    
    This test was failing on some systems because of overly stringent
    color expectations.
    
    BUG=angle:809
    
    Change-Id: I817de315ff6de46fb87f8ed1c21e3bb62c133176
    Reviewed-on: https://chromium-review.googlesource.com/225262
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 330f0adedd29c63971e06d19b60c40e053d388f2
Author: John Abd-El-Malek <jam@chromium.org>
Date:   Wed Nov 5 13:14:01 2014 -0800

    Fixes for Angle to build with Windows GN.
    
    Change-Id: I5af7a1305e5a190de5367ad940186edd6baee5bc
    Reviewed-on: https://chromium-review.googlesource.com/227665
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 0af0b38e1988dd1baaaa9bb1e3f601bc746e72e8
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Nov 5 14:09:18 2014 -0500

    Use an ES3 shader spec for ES3 contexts.
    
    BUG=angle:823
    
    Change-Id: I377b4483b3835660e7fd45d923bf7f560cf2e5f6
    Reviewed-on: https://chromium-review.googlesource.com/227593
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>

commit a22cd47ea429d223b73a0250c51b937505f80885
Author: Jacek Caban <cjacek@gmail.com>
Date:   Wed Nov 5 11:20:45 2014 +0100

    Fixed a typo in generatePointSpriteHLSL.
    
    Change-Id: I104bbca6442835ab5e8e78580c6cbbb58d32a9b2
    Reviewed-on: https://chromium-review.googlesource.com/227570
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 76acee836dfd07a56fc6c9e0a45c24d3818fc903
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Nov 4 13:44:03 2014 +0200

    Name mangle function prototypes and print them in interm output
    
    This patch changes function prototype handling so that they get assigned
    the same kind of a mangled name as function definitions and function
    calls. This name is now also printed in interm output so that function
    prototypes can be accurately identified in the interm output.
    
    BUG=angle:821
    TEST=compiler_tests
    
    Change-Id: Ia150b8ac5b816b8096c964767cd8666bdee28539
    Reviewed-on: https://chromium-review.googlesource.com/227390
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Commit-Queue: Olli Etuaho <oetuaho@nvidia.com>

commit e2632d245cd8ff821f7b0b4840a7219010d220db
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Fri Oct 17 13:08:51 2014 -0400

    Changes gl::RenderbufferStorage to rx::RenderbufferImpl
    
    BUG=angle:782
    
    Also eliminates Colorbuffer/DepthStencilBuffer and related friends
    and adds the RenderbufferD3D implementation of RenderbufferImpl.
    
    This version fixes problems with the prior CL's handling of
    render target serial issuance.
    
    Change-Id: I7ddfbec1097723d7ea6ce93a9c034f941349108a
    Reviewed-on: https://chromium-review.googlesource.com/227195
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit bd7fd7f9058d9e165e7b8faec423fa0cc2f441a5
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Nov 4 10:06:55 2014 -0500

    Fix an incorrect iteration over EGL attributes.
    
    BUG=angle:490
    
    Change-Id: If7a86ee0a5226f2b45e26bbadf4a84f8f605d1c2
    Reviewed-on: https://chromium-review.googlesource.com/227231
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 980eb8f341e8adc2582abb3255ec80a94e3ad30d
Author: Cooper Partin <coopp@microsoft.com>
Date:   Wed Oct 22 07:42:59 2014 -0700

    Added ISwapChainPanel support
    
    Change-Id: I26faa32804ee47cb6ad8458c90abeb93a01dfbdf
    Reviewed-on: https://chromium-review.googlesource.com/224991
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 45b474d880af9d077eb0209fe060c138b84f6154
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Nov 3 17:07:58 2014 -0500

    Regenerate projects.
    
    BUG=angle:820
    
    Change-Id: Ifb392fbfc7399ee504fc20abbe63218668a0574b
    Reviewed-on: https://chromium-review.googlesource.com/227165
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 0d3683c4258e564b9605815c2d9d19b5e2d813e6
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Oct 23 11:08:16 2014 -0400

    Update ANGLE_platform_angle to allow requesting of Renderer versions.
    
    Added enums to allow users to request major and minor versions of the
    underlying API and if a WARP device is used.
    
    BUG=angle:490
    
    Change-Id: I0bfb2ac8d327da28a47cc8e6346300e47ab9538c
    Reviewed-on: https://chromium-review.googlesource.com/225081
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 6b0cf99612c571ad3e47e31fc44c2b21399038e3
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Oct 6 10:28:07 2014 -0400

    Added an egl::Error class and updated libEGL to use it.
    
    BUG=angle:520
    
    Change-Id: I792c8ddd8e8b76184f566294196d089bc9d1902a
    Reviewed-on: https://chromium-review.googlesource.com/223270
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 4de44cb67e9e36966fb1993c0be35659a47182ef
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Wed Oct 29 18:03:46 2014 -0700

    Change ShaderLang APIs from c style to c++ style.
    
    BUG=angle:816
    TEST=gpu_unittests,angle_unittests,webgl_conformance
    
    Change-Id: I0b46c11f6055a82511bb946a6dc491360835526e
    Reviewed-on: https://chromium-review.googlesource.com/226410
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Zhenyao Mo <zmo@chromium.org>

commit f108df24949d3118e45b4e90933449a5ca5a50c1
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Thu Oct 30 18:53:29 2014 +0000

    Revert "Changes gl::RenderbufferStorage to rx::RenderbufferImpl"
    
    This reverts commit 9fc51d90176dcf4273cd6689968e1ca5d1c9fe16.
    
    Change-Id: I4134ebe5ef6b8f509f4cc5cc22a2d526ec43ef6d
    Reviewed-on: https://chromium-review.googlesource.com/226374
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 2111670b73681b2a4330eb790da9ea0aa1b2b427
Author: Kenneth Russell <kbr@chromium.org>
Date:   Thu Oct 30 14:39:13 2014 -0700

    Fixed comments around choice of C runtime.
    
    BUG=angle:733
    
    Change-Id: Ia1add30d54c3a7d08effca6660f98c99cb3981c2
    Reviewed-on: https://chromium-review.googlesource.com/226377
    Tested-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 9ad558453d80680fb0fb909c5e23c186dce65876
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Thu Oct 30 11:38:55 2014 -0700

    Fix angle_unittests failures.
    
    BUG=angle:815
    TEST=angle_unittests
    
    Change-Id: I4d59f227b7c72f4f456d0a60d8507d097ef05dec
    Reviewed-on: https://chromium-review.googlesource.com/226463
    Tested-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 091540d31c6be35332e96178d58d2558db175bf2
Author: Brandon Jones <bajones@chromium.org>
Date:   Wed Oct 29 11:32:04 2014 -0700

    Changed feature macros to reduce accidental enabling/disabling
    
    Change-Id: Ieb1a0c55f412f2a1bb858522b2dfaa7a60aa7ddb
    Reviewed-on: https://chromium-review.googlesource.com/226304
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Brandon Jones <bajones@chromium.org>

commit db9b40b0d663a105c05889647931dc25b379d966
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Wed Oct 29 15:00:04 2014 -0700

    Reject shaders of a version that the compiler doesn't support.
    
    For example, WebGL 1.0 compiler should not compile WebGL 2.0 shaders.
    
    BUG=angle:
    TEST=815
    
    Change-Id: Iaec66fa5127426778aff6e3891e2c214048d7457
    Reviewed-on: https://chromium-review.googlesource.com/226380
    Tested-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 9fc51d90176dcf4273cd6689968e1ca5d1c9fe16
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Fri Oct 17 13:08:51 2014 -0400

    Changes gl::RenderbufferStorage to rx::RenderbufferImpl
    
    BUG=angle:782
    
    Also eliminates Colorbuffer/DepthStencilBuffer and related friends
    and adds the RenderbufferD3D implementation of RenderbufferImpl.
    
    Change-Id: Ibe72c9589b3c238b952744e7cfd70d97ec898eb9
    Reviewed-on: https://chromium-review.googlesource.com/222925
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit ede18442c25632073202aa817272f9b5fbd24687
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Sep 29 14:05:22 2014 -0400

    Updated Image9 to use gl::Errors for staging texture manipulation.
    
    BUG=angle:520
    
    Change-Id: I527a2bcadbf1abb05bd461d35ddbd7e28d487639
    Reviewed-on: https://chromium-review.googlesource.com/221396
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 922a9fb33629a1c41f90dd4f7a8609dea69e9505
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Tue Oct 21 14:26:33 2014 -0700

    Use D3D11 Debug Annotations when D3D9 is unavailable
    
    Change-Id: I37ac5fe7f0b2fe5e71bd7f0afca55e9894f3463c
    Reviewed-on: https://chromium-review.googlesource.com/224512
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 409078f1e7c4ec79a1cbc58e3d0b3c399831ac5b
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Tue Oct 28 13:23:18 2014 -0700

    Remove ShGetVariableInfo() and related code.
    
    BUG=angle:775
    TEST=chromium builds and runs fine
    
    Change-Id: Ic62d3a3c9a8f034880b77a96f7f1c6be2691985e
    Reviewed-on: https://chromium-review.googlesource.com/226004
    Tested-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 1a8a7e3b47ae18f5bdffaaf0f7c56a83e57f4d6d
Author: Brandon Jones <bajones@chromium.org>
Date:   Wed Oct 1 12:49:30 2014 -0700

    Moving Uniform handling into ProgramD3D.
    
    Moves the last references to HLSLBlockEncoder out of ProgramBinary. Only one reference to ShaderD3D remains.
    
    BUG=angle:731
    Change-Id: Ie23e24e09fbed4c8c5fab3bab814b7092a383c7f
    Reviewed-on: https://chromium-review.googlesource.com/220940
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Brandon Jones <bajones@chromium.org>

commit 8becd0cbd4764efcfdafb30e198182bda7ec55b7
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Sep 26 14:21:54 2014 -0400

    Updated Image11 to use gl::Errors for staging texture manipulation.
    
    BUG=angle:520
    
    Change-Id: I5792b139ddd69c2cabc3b901a7067438c1ee363b
    Reviewed-on: https://chromium-review.googlesource.com/221395
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 06ecf3ddf1838be5ed29e372a77ed0c75c395c54
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Sep 23 16:39:50 2014 -0400

    Updated mipmap generation to return Error objects.
    
    BUG=angle:520
    
    Change-Id: Ic4e57148d031d6c452b3054efad98f6e730c7691
    Reviewed-on: https://chromium-review.googlesource.com/221394
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 2a517272f07df229fb5f016ae81046f4fd9c9400
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Mon Oct 27 16:09:57 2014 -0700

    Fix an issue with separate invariant statement.
    
    Basically we end up with an extra "invariant xxx ;;" on GL backend.
    
    This is not handled correctly by Mac drivers and also out shader translator.
    
    BUG=angle:776
    TEST=webgl conformance on mac/windows
    
    Change-Id: If32867efba64ab0d3e6e690155790b90d736439f
    Reviewed-on: https://chromium-review.googlesource.com/225780
    Tested-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit fe14d455c240b756a66ea2cb20ad3e22f9a12cec
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Mon Oct 20 14:36:18 2014 -0700

    Add ANGLE_ENABLE_DEBUG_TRACE_TO_DEBUGGER, to output trace to debugger window
    
    Change-Id: I7be71c41b0ec3a77f508c90c2de3331c9522a11b
    Reviewed-on: https://chromium-review.googlesource.com/223592
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit f0360c600497de805722f178417ed2f1d4b7567c
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Mon Oct 20 14:26:13 2014 -0700

    Rename ANGLE_ENABLE_TRACE -> ANGLE_ENABLE_DEBUG_TRACE
    
    Change-Id: Ib70c456c8d01161e370b9165ff4daa2f0f90c840
    Reviewed-on: https://chromium-review.googlesource.com/223591
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 570e83cfe0628176583cd47a08de816694426e25
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Mon Oct 20 14:13:58 2014 -0700

    Rename ANGLE_ENABLE_PERF -> ANGLE_ENABLE_DEBUG_ANNOTATIONS
    
    Change-Id: I701cd5ee749797428171e9c58a46fce626b9a969
    Reviewed-on: https://chromium-review.googlesource.com/223590
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 73b8de78488cc86651683c90306d1b0cfad34b6a
Author: Cooper Partin <coopp@microsoft.com>
Date:   Tue Oct 28 08:34:30 2014 -0700

    Fixed D3DDisassemble function dynamic GetProcAddress failure on WinRT
    
    Change-Id: I32a345803c9183e0b9b77d529027711f8c8e1ad8
    Reviewed-on: https://chromium-review.googlesource.com/225847
    Tested-by: Cooper Partin <coopp@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 84bcabe3fa0b7f3bcafbe93b045f24a2fb094b50
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Oct 28 10:52:24 2014 -0400

    Fix build failure on WinRT due to missing Sleep definition.
    
    Change-Id: I9032484dde6e690fcd175d6d76192724e5bc0357
    Reviewed-on: https://chromium-review.googlesource.com/225893
    Reviewed-by: Cooper Partin <coopp@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit fc14391577d9fce52c3206461457de506f77d803
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Oct 27 11:16:31 2014 -0400

    Only use the Windows 8.1 SDK for WinRT configurations.
    
    BUG=angle:772
    BUG=395405
    
    Change-Id: If26a0ec34e6bfd0e22d20803a0bb3ac2000a8e34
    Reviewed-on: https://chromium-review.googlesource.com/225531
    Reviewed-by: Cooper Partin <coopp@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit d2a67b9621bcbbaf5792f8ea764bdd5b43e3653b
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Tue Oct 21 16:42:57 2014 +0300

    Fix precision tracking for built-in function return values
    
    Previously, the type of the return value of all function calls was set to
    the type of the return value in the function signature. This did not
    carry precision information.
    
    This patch changes this so that the return value precision is set
    correctly for built-in functions. For single-argument math functions, it
    mostly depends on that addUnaryMath sets the type of the return value to
    be the same as the type of the operand. The type is replaced but the
    precision information from the operand type is retained when needed. For
    multi-argument math functions, precision is determined based on all the
    nodes in the aggregate after the type has been set. For texture
    functions, the precision is set according the sampler type as per ESSL
    1.0 spec. For textureSize, the precision is always highp as per ESSL 3.0
    spec.
    
    BUG=angle:787
    
    Change-Id: I48448e3ffe38656b91177dee9b60dd07a03cd095
    Reviewed-on: https://chromium-review.googlesource.com/224951
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>

commit e2fecdd38ebdd757d7af2fa40a51af4b8cb622f5
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Oct 22 11:58:37 2014 -0400

    Fixed some configuration data not being added to 64-bit builds.
    
    The Debug and Release configurations are 32-bit only.  The Debug_Base and
    Release_Base configurations should be used in these cases.
    
    In the future we should not rely on defines being placed in these
    configurations because if ANGLE is included in another project, they may
    not have the same configuration names and the defines will not be added.
    To combat this, always make sure that there are appropriate #ifdef's in
    the headers and don't add defines that would result in poor performance if
    they do not exist.
    
    BUG=angle:772
    
    Change-Id: I2b26ffb934f8b3d5e6e556a1e87c1c5ee209c430
    Reviewed-on: https://chromium-review.googlesource.com/225051
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 9ae396bb1fff9ab7666188cae7462e18b0ed266e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Oct 21 17:46:30 2014 -0400

    Remove getData from BufferImpl.
    
    We only ever call this method inside the D3D Renderer, so we can
    downcast to BufferD3D and call getData on the D3D-specific type.
    
    Leave a FIXME for handling index range validation, which will
    need a CPU-side data cache.
    
    Change-Id: Iaf71bc8055869a8561777b6b36f67e376a1d0b81
    Reviewed-on: https://chromium-review.googlesource.com/224654
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit c751d1e574bdd477eaa2fc1bcb4e040990fb2f72
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Oct 21 17:46:29 2014 -0400

    Support compressed textures with unpack buffers.
    
    BUG=angle:792
    
    Change-Id: I32f32422232bd4cb04c8a70005cb51482224bf3e
    Reviewed-on: https://chromium-review.googlesource.com/224655
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 55d611e780b115e29fdb552bb1f4bbebb3ab8b7a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 24 16:28:14 2014 -0400

    Fix ASSERT failure in XFB test.
    
    With the invariant handling changes, we're also exporting gl_Position
    and other builtin variables from the translator where we were not
    previously. This was causing an assert in the XFB code, where we
    would inadvertently assign a register to gl_Position, and trip up
    logic further in the varying handling logic.
    
    BUG=angle:808
    
    Change-Id: I674902da75c572e969f9516033a85c7a7170d7d1
    Reviewed-on: https://chromium-review.googlesource.com/225261
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 39eab03ffb927a6f8154b5ee838bf1d6c0cac2ca
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Oct 22 16:57:15 2014 -0400

    Add robust D3D11 SRV state tracking.
    
    This will ensure our currently set pixel and vertex SRVs match with
    the underlying D3D state, and reduce the need for resetting them as
    often.
    
    BUG=angle:756
    BUG=417424
    
    Change-Id: I42e9e25182b279871ac4cdf8da5e2ab62c8cf71f
    Reviewed-on: https://chromium-review.googlesource.com/225052
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 2f1cd4a31c64889cf6dba1f4d469d147e1087ac5
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Sep 23 10:40:29 2014 -0400

    Defer the creation of textures in TextureStorage9 and use Error objects.
    
    BUG=angle:520
    
    Change-Id: I5db70189d95babef14d48548054af4c7ff2bfc47
    Reviewed-on: https://chromium-review.googlesource.com/219334
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 553c6bee81fa41e2c36512023f06c049fba98979
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Sep 22 15:21:39 2014 -0400

    Defer the creation of textures in TextureStorage11.
    
    BUG=angle:520
    
    Change-Id: If1c1f7519a84900f594701b6298b64ebf8798073
    Reviewed-on: https://chromium-review.googlesource.com/219333
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 5ca41055d838a0bb16a698076a7b7df6730fefde
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 23 13:02:55 2014 -0400

    Remove build_angle.gyp.
    
    This file is a duplicate of angle.gyp, and we can remove it now that
    Chrome and Blink are finished with it.
    
    BUG=angle:460
    
    Change-Id: Ida68c8343921ebe9a37b5bcd982e114c91febc3d
    Reviewed-on: https://chromium-review.googlesource.com/225053
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 2221f47bbee2384ac6311205d1b7703488c077e5
Author: Tibor den Ouden <tibordenouden@gmail.com>
Date:   Wed Oct 22 15:07:05 2014 +0200

    Compiler flags and macros added to shader debug report
    
    The list of D3D compiler flags and macros used if
    compilation of a shader succeeds is added to the
    shader debug output.
    
    BUG=angle:751
    
    Change-Id: Ie84a586010787fe8d9c0dedfe9208f881058a588
    Reviewed-on: https://chromium-review.googlesource.com/224970
    Tested-by: Tibor Ouden, den <tibordenouden@gmail.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 7fa245c0539ba82bf465ca9cc5e6134ca6ebb321
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Oct 21 13:41:08 2014 -0400

    Use a new class name for each window.
    
    If a previous window was not cleaned up properly due to a crash in a
    test, the subsequent windows can fail to be created because the class is
    not destroyed.  Work around this by always creating a unique class before
    creating the window.
    
    Change-Id: Ied6b2818ef03fa12b07111d8204c3c1a6a5bd5ac
    Reviewed-on: https://chromium-review.googlesource.com/225080
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit b5e17750c1992f4d3f9e4520c78396814cc63c4f
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Wed Oct 22 10:57:10 2014 -0700

    Get rid of use of "static const std::string".
    
    BUG=angle:807
    TEST=angle_unittests
    
    Change-Id: Ifa4d713deeb25d52a7aafc362a7e4630024fd511
    Reviewed-on: https://chromium-review.googlesource.com/225004
    Tested-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 30bc2ecdd8da5b4135de3f87fec67e1b7afecb4b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Oct 22 12:06:32 2014 -0400

    Regenerate public projects.
    
    Change-Id: Ifcff7cba0c16775fdc99812539416ad07d88bf5a
    Reviewed-on: https://chromium-review.googlesource.com/225050
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 0783efd873121a0e186c120086c547d26978cd25
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Tue Oct 21 15:51:59 2014 -0700

    Fix initialization sequence translation bug.
    
    BUG=angle:805
    TEST=https://www.khronos.org/registry/webgl/sdk/tests/conformance/glsl/misc/expression-list-in-declarator-initializer.html
    
    Change-Id: I94fbdd0824dbe73034f8bf022aa53627582ad48b
    Reviewed-on: https://chromium-review.googlesource.com/224813
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Zhenyao Mo <zmo@chromium.org>

commit 70a0b2a1bc765e8b94fc8c100d0c6ca375270fcf
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Oct 21 11:48:39 2014 -0400

    Fix varying interpolation parsing.
    
    This was broken sometime in the CollectVariables refactor.
    
    BUG=angle:803
    
    Change-Id: Iaa09449f02290c4547f87c1560465dc8998d957c
    Reviewed-on: https://chromium-review.googlesource.com/224104
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit fc532b9a9bbf6dd3607ffd32ab0b6fc6e55a4f02
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Oct 21 10:24:16 2014 -0400

    Delete the ShaderImpl on gl::Shader object destruction.
    
    BUG=angleproject:804
    
    Change-Id: I4d68f9283299e9fb6b907a6406c37f92f8b08dbe
    Reviewed-on: https://chromium-review.googlesource.com/224106
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 95fe0d1c33ac6c9c10c947f0c4689c2126c28412
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Oct 21 16:04:57 2014 -0400

    Change the C runtime from static to dynamic.
    
    BUG=angle:733
    
    Change-Id: Iab9a3fbc8aa1e05f4d969016ab28bac868089487
    Reviewed-on: https://chromium-review.googlesource.com/224482
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit c8d297a4bfcaecf7e135d9c6df07ab8f3d32c67f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Sep 19 11:09:08 2014 -0400

    Remove last uses of gl::error in the Buffer classes.
    
    BUG=angle:520
    
    Change-Id: Id18e93b440da64360a6845a42a2664ae531b06f9
    Reviewed-on: https://chromium-review.googlesource.com/218769
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit f900413159d10bcfa5bcc0a2db3c0f6c8a2388d3
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Mon Oct 20 18:26:48 2014 +0300

    Always include precision in interm output if it's available
    
    This helps with debugging precision propagation issues.
    
    BUG=angle:787
    
    Change-Id: Ia969481c8d933455cdafef4ae25c6ab3946bc1c2
    Reviewed-on: https://chromium-review.googlesource.com/224281
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit d2f756be4fd198d630b64dc6c3568184363e6d14
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Oct 21 17:24:11 2014 -0400

    Use windows_sdk_path for the 8.0 SDK path and windows_8_1_sdk_path for 8.1.
    
    Change-Id: I0cb4262552852ccbc772ca828a0faa7d3e63784b
    Reviewed-on: https://chromium-review.googlesource.com/224483
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 7c1cfd61549d50e3873ffc72d9a48998934180c8
Author: Kimmo Kinnunen <kkinnunen@nvidia.com>
Date:   Wed Oct 15 14:59:57 2014 +0300

    Make ShBuiltInResources comparable with memcmp
    
    Chromium builds a std::map with ShBuiltInResources as part of the key.
    Comparator for == and < are needed for the map implementation.
    
    Currently Chromium uses memcmp as the comparator. Padding
    in ShBuiltInResources causes uninitialized reads.
    
    Fix this by clearing the padding with memset during ShBuiltInResources
    initialization.
    
    Change-Id: I78aa3c59ce165503831aa2a67c96cf8af316c152
    Reviewed-on: https://chromium-review.googlesource.com/223431
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 710e57755132f5626f040548c69624d2a8d50f54
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 20 17:13:53 2014 -0400

    Make commitRegion a base method of TextureD3D.
    
    Use a helper method isValidIndex to preserve ASSERT checks.
    
    Refactoring patch only.
    
    BUG=angle:741
    
    Change-Id: Ie19fa21db51cd0239a3b391de362584a9fbab2df
    Reviewed-on: https://chromium-review.googlesource.com/222268
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit e76bdda242d8a95308f9b10af8bbc5da4ab75460
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 20 17:13:52 2014 -0400

    Restrict use of TexStorage more in CopyImage.
    
    We were being too permissive in some copyImage methods when checking
    if we can create a render target or not. This would lead us to trying
    to use an inconsistent TexStorage in some cases.
    
    Note that we do need to create inconsistent TexStorage in cases where
    we are doing a FBO copy *from* a mipmap-incomplete texture attachment.
    
    BUG=angle:780
    
    Change-Id: I5a849b5d8c53713e38cb5f5052a8bb88b3f56260
    Reviewed-on: https://chromium-review.googlesource.com/224480
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 4a20480ec894adcaab59dcdbab287147329a9921
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Oct 21 15:10:29 2014 -0400

    Fix missing include of common_defines.gypi.
    
    Change-Id: I308956a700df4d440573fbae89e67cab0f2cf482
    Reviewed-on: https://chromium-review.googlesource.com/224653
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 94ac7b786f2ae1e928ca872e58ca4399df96532a
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Wed Oct 15 18:22:08 2014 -0700

    Invariant related processing.
    
    * Fix a bug in PreProcessor for STDGL pragma.
    * Record all invariant settings and set them in ShaderVariable.
    * Write #pragma STDGL invariant(all) in GL
    
    BUG=angle:776
    TEST=https://www.khronos.org/registry/webgl/sdk/tests/conformance/glsl/misc/shaders-with-invariance.html
    
    Change-Id: Ie28b75480deed79f0c9f26e3b98f1778d1290182
    Reviewed-on: https://chromium-review.googlesource.com/223610
    Tested-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit f99b0cff3cde430d246b04a3c305df5170fca171
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 20 17:04:36 2014 -0400

    Remove getNativeTexture from TextureImpl.
    
    We can stop exposing this method on the GL-side, now that we only
    use it on the D3D back-end.
    
    BUG=angle:781
    
    Change-Id: I3a9ecc277dcd21147881b8780849782f68b3e62e
    Reviewed-on: https://chromium-review.googlesource.com/222924
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit dd3bf52efcf30601e5f17650697d24de1350108c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 20 17:04:35 2014 -0400

    Remove getSamplerStateWithNativeOffset.
    
    This method returned a sampler state as normal, with the base level
    automatically offset by the one or two levels we use in the D3D
    workaround for small compressed textures. Since this is D3D-only,
    we can move all of the logic into the D3D classes themselves.
    
    BUG=angle:781
    
    Change-Id: Ie0a60877efebb41f02f4e57625a44e5fb5cce074
    Reviewed-on: https://chromium-review.googlesource.com/222923
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit 10ef21560504ec0560f5cdedfebf17951b22ec04
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 20 17:04:34 2014 -0400

    Move Texture Serials to the base class.
    
    It's reasonable to use the serial logic on both the GL and all other
    translated Renderers, since we check the logic on the GL-side.
    Serials give us a way to identify Textures that aren't raw pointers
    and aren't "id". "id" has issues when Textures are deleted, then
    re-allocated with the same value.
    
    BUG=angle:781
    
    Change-Id: I1a2a8b6f4ea3db915574c957c143a81e0210ec7d
    Reviewed-on: https://chromium-review.googlesource.com/222922
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit 6948e3010adb633f6b87813f58c29e74320f5262
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 20 17:04:33 2014 -0400

    Use immutable level count in gl::Texture.
    
    Instead of storing a binary flag indicating if we've created
    immutable storage, store a level count. This indicates if or if
    not we've created immutable storage, as well as avoiding the
    call to the native storage to return the level count.
    
    BUG=angle:781
    
    Change-Id: I08a6bd086d00ddf3255262a7711628be5212b4b7
    Reviewed-on: https://chromium-review.googlesource.com/222921
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit 88d3b8cb737f3f4662e421bd2b1004a458fdf2a1
Author: Cooper Partin <coopp@microsoft.com>
Date:   Wed Oct 8 10:41:56 2014 -0700

    Added IInspectable EGLNativeWindowType and ICoreWindow support
    
    Change-Id: I6dd7fef72a73572d4a3deda7ce36a11da3a75c81
    Reviewed-on: https://chromium-review.googlesource.com/224366
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 63837d518b700a0d8dfd4038be7df6be972cc597
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Sep 18 13:23:18 2014 -0400

    Defer the creation of Blit9's geometry and return Errors if it fails.
    
    BUG=angle:520
    
    Change-Id: I5e51fec38c513419beea5ff612a6ec2fb0e81a26
    Reviewed-on: https://chromium-review.googlesource.com/218768
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit cbc7f050666931574a08ab4abb0b2a3c7df047c0
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Oct 15 13:17:00 2014 -0400

    Use a constant for the number of faces in a cube map.
    
    BUG=angle:520
    
    Change-Id: Ia35103059526aff2fc1b29a160d8471f4b5cbd42
    Reviewed-on: https://chromium-review.googlesource.com/223107
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 739f8ec31b78f69c87387bdb237558a534dbbc6d
Author: Tibor den Ouden <tibordenouden@gmail.com>
Date:   Fri Oct 17 21:04:53 2014 +0200

    Removed declaration of getAttachedShaders() without implementation.
    
    Found while working on BUG=angle:751
    
    BUG=angle:751
    
    Change-Id: I8a5c5383f88ecb379395d1a23e36148145ebe34d
    Reviewed-on: https://chromium-review.googlesource.com/224090
    Tested-by: Tibor Ouden, den <tibordenouden@gmail.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 64f23f6526a7c0d4a3f2b5ccdef362a19367075c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Sep 10 14:40:12 2014 -0400

    Update the getRenderTarget functions to return gl::Error objects.
    
    BUG=angle:520
    
    Change-Id: If1f4f71972b669704eff70b5f60927d8e6ac07b3
    Reviewed-on: https://chromium-review.googlesource.com/218767
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 433bfd3844337b171ed01b0dbacb4ee9b47093fb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 20 12:07:36 2014 -0400

    Merge the copyToStorage methods.
    
    BUG=angle:741
    
    Change-Id: I67380748ee875cc2dea61eb82a9b0d600144dc85
    Reviewed-on: https://chromium-review.googlesource.com/222267
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit e020bed5a79c211c15db2584cf1c0ca154a123e4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 20 16:16:46 2014 +0000

    Revert "Added IInspectable EGLNativeWindowType and ICoreWindow support"
    
    Causing regressions in the build: http://build.chromium.org/p/chromium.gpu.fyi/builders/GPU%20Mac%20Builder/builds/20182
    
    This reverts commit 756aebfc7afa6d0de14e96637ef396dd7b290c2d.
    
    Change-Id: I2f4bdb5aeb429c9bbc5e655a1761704f33737841
    Reviewed-on: https://chromium-review.googlesource.com/224221
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 756aebfc7afa6d0de14e96637ef396dd7b290c2d
Author: Cooper Partin <coopp@microsoft.com>
Date:   Wed Oct 8 10:41:56 2014 -0700

    Added IInspectable EGLNativeWindowType and ICoreWindow support
    
    Change-Id: I34e443b1e194800460e441ac6cee42cf68430564
    Reviewed-on: https://chromium-review.googlesource.com/224302
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit ec6de4ec53fbdc7e993870385d398b2f1efac1b8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 20 10:59:56 2014 -0400

    Fix TextureD3D::setData for depth-stencil textures.
    
    D3D11 requires us to NULL the update region parameter when updating
    depth stencil textures. For these textures, we can't always use the
    subdata workaround, so disable it entirely for these textures.
    
    BUG=angle:729
    BUG=365078
    
    Change-Id: I44258dd1b8937b1aebcb3a73de835698805537e0
    Reviewed-on: https://chromium-review.googlesource.com/222911
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 24e831926313725f5487ed09e8e1027af463f858
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 20 11:00:53 2014 -0400

    Fix CopyBufferSubData validation.
    
    We were checking readTarget twice, instead of both read and write.
    
    BUG=angle:800
    
    Change-Id: I4096a9c4e0fdec9c77bfc25250923c188d2b43db
    Reviewed-on: https://chromium-review.googlesource.com/224102
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 0661fce45e05bb9602ea28e4791ffbd2f713c735
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 3 09:47:14 2014 -0400

    Add c++0x flag to cflags on non-win platforms.
    
    Our previous change to use static_assert leads the new wave of c++11
    features.
    
    BUG=
    
    Change-Id: Id6d382475daa7029109dab1017a59b5ef07c18df
    Reviewed-on: https://chromium-review.googlesource.com/221267
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 8e92923010c568a445c0f22e1a36f462fcabc8f3
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Fri Oct 17 18:45:20 2014 -0400

    We managed to disable NPOT textures on AMD. Reenable them.
    
    BUG=angle:799
    
    Change-Id: Iaa8aee1f09c8c2ac3669d6709572f76f40f21847
    Reviewed-on: https://chromium-review.googlesource.com/224042
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 8858cf0a924b979ba9b24b0343d785fbc18389fe
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Fri Oct 17 20:53:32 2014 +0000

    Revert "Added IInspectable EGLNativeWindowType and ICoreWindow support" due to build failures on Chromium FYI bots.
    
    This reverts commit 406a3be91cc8175df95bd390425e35830778f2d5.
    
    Change-Id: Ica2abd2e557a4fd9852d85b7fc018e3d272b6edf
    Reviewed-on: https://chromium-review.googlesource.com/224051
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 406a3be91cc8175df95bd390425e35830778f2d5
Author: Cooper Partin <coopp@microsoft.com>
Date:   Wed Oct 8 10:41:56 2014 -0700

    Added IInspectable EGLNativeWindowType and ICoreWindow support
    
    Change-Id: I9ad82b7819bcca1c05e7aa60dc2baec4a7bc403c
    Reviewed-on: https://chromium-review.googlesource.com/222360
    Tested-by: Cooper Partin <coopp@microsoft.com>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 97049c6a6871c85018625d3178f3861aa85a4f22
Author: Tibor den Ouden <tibordenouden@gmail.com>
Date:   Mon Oct 6 21:39:16 2014 +0200

    Enhance shader debug output
    
    glGetTranslatedShaderSourceANGLE() returns the glsl code, the initial translated hlsl code,
    the final translated hlsl code and the disassembly of the generated binary with the compiler configuration.
    This enhancement is only available if the define ANGLE_GENERATE_SHADER_DEBUG_INFO exists.
    This define is set in the debug configurations for the Windows platform.
    
    BUG=angle:751
    
    Change-Id: I8b15e8b25fbb0c0575a73cc876bf8f1fa7ed142a
    Reviewed-on: https://chromium-review.googlesource.com/221059
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 5e0c80adc9d9e7b4a7f5c89c4fe21be192c51774
Author: Nicolas Capens <capn@chromium.org>
Date:   Fri Oct 10 10:11:54 2014 -0400

    Use attributes to avoid unrolling and flatten conditionals.
    
    [loop] and [flatten] help avoid unrolling make more shaders compile
    successfully. When unrolling has to happen, an error X3531 is generated
    so we have to try compiling again without these attributes.
    
    BUG=395048,395286
    
    Change-Id: I91ea8ac3a822ab1f1ac24907d42326e3c6c9d9af
    Reviewed-on: https://chromium-review.googlesource.com/222810
    Tested-by: Nicolas Capens <capn@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 24d4a3c181ea46a6106a050253e7e6076630ed96
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Oct 9 14:11:21 2014 -0400

    Update Renderer11::packPixels to return Error objects.
    
    BUG=angle:520
    BUG=394361
    
    Change-Id: I95f2f806210ac7aea8b0c57bece610eb22d018ed
    Reviewed-on: https://chromium-review.googlesource.com/222481
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 9d6d498c7fc62f72fde695e97f5307583b17371e
Author: Kenneth Russell <kbr@chromium.org>
Date:   Fri Oct 10 19:47:34 2014 -0700

    Refactor TLS management.
    
    Use cross-platform APIs and constants, and conditionally compile the
    Windows-specific DllMain.
    
    BUG=angleproject:783
    
    Change-Id: I8fd2708ab0925cb3207010eb0e759cfc055183ab
    Reviewed-on: https://chromium-review.googlesource.com/222955
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Kenneth Russell <kbr@chromium.org>

commit caa549c0fa41063712cad5a2681084c1f5837fea
Author: Kenneth Russell <kbr@chromium.org>
Date:   Fri Oct 10 17:52:59 2014 -0700

    Split FenceImpl into FenceNVImpl and FenceSyncImpl, and refactor.
    
    Move Windows-specific code out of Fence.cpp. Split FenceImpl
    based on suggestions on previous review
    https://chromium-review.googlesource.com/221805/ . Refactored
    further based on code review feedback and added first unit tests.
    
    BUG=angleproject:774
    
    Change-Id: I630034e1788e48ddb7722016ca22da474e785798
    Reviewed-on: https://chromium-review.googlesource.com/222954
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Kenneth Russell <kbr@chromium.org>

commit 7c9e2167b41b37ba811b15512971f7febd3f343d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Oct 15 13:21:04 2014 -0400

    Fix compile error on 32-bit builds.
    
    BUG=angle:520
    
    Change-Id: Ibd3f46ca565ddd96820ef52b140f7e99cf28a5c2
    Reviewed-on: https://chromium-review.googlesource.com/223168
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 5dce5e29355b8a44c88a0be9bab85d481d8da524
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Sep 10 11:37:17 2014 -0400

    Updated TextureStorage11 to use Error objects for D3D11 object creation.
    
    BUG=angle:520
    
    Change-Id: I2b4d3d2be99d4185ff1ff1c6521fbd66a1e771ae
    Reviewed-on: https://chromium-review.googlesource.com/217337
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit edbeae5f5b9a346153a3c46ec807d2bf7c3e0f30
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Sep 10 11:35:09 2014 -0400

    Update the TextureStorage calls to associate textures to use Errors objects.
    
    BUG=angle:520
    
    Change-Id: Ied81c25a04d7239985cc83bb20493ce0bfd372d3
    Reviewed-on: https://chromium-review.googlesource.com/217336
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 993d08d92017c44d4615a1dd373cd521becf90b2
Author: Brandon Jones <bajones@chromium.org>
Date:   Fri Oct 10 14:32:57 2014 -0700

    Added test to ensure ProgramBinary saving and loading works correctly
    
    Change-Id: I7fa88e7e3ecf812659967867e856cc1677b8359d
    Reviewed-on: https://chromium-review.googlesource.com/222931
    Tested-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 2a895637e0ac69cfbcec485fa2063f028f91e5be
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 10 13:02:17 2014 -0400

    Fix PBO missing unmap in some edge cases.
    
    We had missed a few unmap calls in NativeBuffer11::copyFromStoage.
    This method is only called when PBOs are used in conjunction with
    SubData updates or when drawing with PBOs.
    
    BUG=angle:667
    
    Change-Id: I04a2b78e830edb9439e25661a2676af374df439e
    Reviewed-on: https://chromium-review.googlesource.com/222920
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 964df49da5fe5e5d28bcffa92fad5943a826c92f
Author: Gus Fernandez <gusfernandez@chromium.org>
Date:   Mon Oct 13 11:54:39 2014 -0700

    Fix a crash with the WebGL conformance test suite.
    
    Undefined behavior caused by an overflowed enum was causing
    the translator symbol table stack to not get popped correctly
    when the compiler completed, causing dangling symbols who's storage
    was reclaimed and reused when the allocation pool was popped.
    The error occurred in the "shader-with-reserved-words" test, which
    passes when the compiler fails due to the use of reserved words as
    identifiers. As such, this test would pass even if the GPU process
    crashes but further tests in the test suite would fail.
    
    BUG=angle::785, 786
    
    Change-Id: I365cb55f962f8dfe409f40532effeb10b8189432
    Reviewed-on: https://chromium-review.googlesource.com/223093
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Tested-by: Gus Fernandez <gusfernandez@chromium.org>

commit 7865b70cb01d6b12ac66bd572fd750c39507d6eb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 10 11:13:00 2014 -0400

    Fix D3D11 Hazard warnings in Debug.
    
    BUG=angle:756
    BUG=417424
    
    Change-Id: I827f1db6bb0a3ba33f116e4cfbf8556da0e884d1
    Reviewed-on: https://chromium-review.googlesource.com/221220
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit de1e00e1e80eb9d5fd875415ae052b5dc8dcc601
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Thu Oct 9 16:55:32 2014 -0700

    Implement support of unary operator "+" in translator.
    
    BUG=angle:779
    TEST=conformance/glsl/misc/struct-unary-operators.html
    
    Change-Id: Ia827e07dcfc8ad3bbbc078e54336815be9027945
    Reviewed-on: https://chromium-review.googlesource.com/222720
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Zhenyao Mo <zmo@chromium.org>

commit 9ad2ab336b201774512c13893b3c62477e150584
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Sep 9 16:59:34 2014 -0400

    Improve the TextureStorage11 SRV cache.
    
     * Use a std::map instead of std::vector for logarithmic search time.
     * Reduce the number of structs and make them private instead of
       protected since they arn't used outside of the base class.
     * Fix the SRV cache member name.
    
    BUG=angle:520
    
    Change-Id: I5158c1d46523f46158c51cd68044f7c915a3de03
    Reviewed-on: https://chromium-review.googlesource.com/217335
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 1f8532bd904f2e8032f3cdc67b5b3d4b3bd389e7
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Sep 5 09:46:13 2014 -0400

    Refactor Texture::storage methods to use gl::Error objects.
    
    BUG=angle:520
    
    Change-Id: I33bc8479815a587749bddc722ac9fe5a85f554cb
    Reviewed-on: https://chromium-review.googlesource.com/216648
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit ef7b016a92a2b3c8d6acb15baae3977cd0ef6b3c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Sep 4 13:29:23 2014 -0400

    Refactor Texture::copy*Image methods to use gl::Error objects.
    
    BUG=angle:520
    
    Change-Id: I8b6bf5d50ee0d1f796eff52919ee65823fdee6cb
    Reviewed-on: https://chromium-review.googlesource.com/216647
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 4119ed3da1d8ce73235a7e05e5aa3c4477ea8d5e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Oct 1 10:41:40 2014 -0400

    Make OSWindow a non-static member of ANGLETest.
    
    BUG=angle:611
    
    Change-Id: I455e1dd0ad5582191621e316c4808a2d753e9aaa
    Reviewed-on: https://chromium-review.googlesource.com/219867
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 91f2911f70cef60d0338443cc47ee6544a0781db
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 9 12:55:32 2014 -0400

    Add workaround for Unicode compile error.
    
    Chromium builds define UNICODE, while we don't, which confuses
    the built-in IDC_ARROW macro.
    
    With this fix, and http://crbug.com/415983, we can build
    angle_perf_tests in Chromium.
    
    BUG=angle:744
    
    Change-Id: I268a7c11a5b5355cb2485bf10faf750972cf4e30
    Reviewed-on: https://chromium-review.googlesource.com/220363
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 2ff18fb6ae8d9bd449bafaf4d82a75e250879c49
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 9 12:55:30 2014 -0400

    Remove perf tests dependency on gtest.
    
    BUG=angle:744
    
    Change-Id: I9272e0009238680db1a87e6cb1c1c48b2ed48dd6
    Reviewed-on: https://chromium-review.googlesource.com/220362
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit fc63152a3b377661bcbb2a5b17acda90abc270ad
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 9 12:55:28 2014 -0400

    Use Chromium perf bot output style for perf test.
    
    The Chromium style output will allow the perf bots to collect data
    from our performance tests.
    
    BUG=angle:744
    
    Change-Id: I2ffdace688004edf2918ead2a3e2aa2a6c4daf95
    Reviewed-on: https://chromium-review.googlesource.com/220361
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 98f87eb284ed2e7502029f0fc128e5d11ef90bab
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 9 13:27:00 2014 -0400

    Import the testing/perf module from Chromium.
    
    We can use these perf routines to make our performance test output
    compatible with the Chromium perf bots.
    
    BUG=angle:744
    
    Change-Id: I75a44786d4521fc0c7d8226f10575fcfda0fa221
    Reviewed-on: https://chromium-review.googlesource.com/220360
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 67ea190d5506a3ef54668d81514ce4af0bd12528
Author: Kenneth Russell <kbr@chromium.org>
Date:   Mon Oct 6 16:44:50 2014 -0700

    Use GL_APIENTRY and EGLAPIENTRY instead of __stdcall directly.
    
    BUG=angleproject:773
    
    Change-Id: Iab098f787b966bf3999c22687af113cc9909593b
    Reviewed-on: https://chromium-review.googlesource.com/221796
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Kenneth Russell <kbr@chromium.org>

commit 1ce845d796f20f13f81e30b332375e028d6cdaa3
Author: Kenneth Russell <kbr@chromium.org>
Date:   Mon Oct 6 16:10:36 2014 -0700

    Refactor libGLESv2.gypi to allow libANGLE to be built on all platforms.
    
    Required pulling angle_enable_d3d{9,11} into angle.gypi and definition
    of angle_libangle_win_sources. Pull in those sources in BUILD.gn.
    
    Tested with local GYP build on Windows. Did not test GN build yet.
    
    BUG=angleproject:773
    
    Change-Id: Ia3703fe4fa2bc8a1682c1fa1667ca36268b36cc7
    Reviewed-on: https://chromium-review.googlesource.com/221785
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Kenneth Russell <kbr@chromium.org>

commit 2629856fe6f97fd3a2abcf81eb32955b7b6f167e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Oct 1 10:49:03 2014 -0400

    Updated Renderer::sync to return Error objects.
    
    BUG=angle:520
    
    Change-Id: I8f1f095977bab3848b9215cda1127a71982858b8
    Reviewed-on: https://chromium-review.googlesource.com/220800
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit fa41aa08490ed375f86c610c18a1c179d35b9495
Author: Nicolas Capens <capn@chromium.org>
Date:   Mon Oct 6 17:40:13 2014 -0400

    Perform short-circuit unfolding on separate declarations.
    
    BUG=415694
    
    Change-Id: I812abb21d2ab4af0b63631a23026d5860df61672
    Reviewed-on: https://chromium-review.googlesource.com/221945
    Tested-by: Nicolas Capens <capn@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit d974db43f4b3189c81e3d8012c3f5eb73c43ba24
Author: Nicolas Capens <capn@chromium.org>
Date:   Tue Oct 7 10:50:19 2014 -0400

    Split combined declarations into separate statements.
    
    BUG=415694
    
    Change-Id: I7afb08a8a5ed10bbc6f7d23638daca6982f7c88b
    Reviewed-on: https://chromium-review.googlesource.com/221455
    Tested-by: Nicolas Capens <capn@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 882033e7fd1d2740c16971bc036ecaa7d5b53308
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Sep 30 11:26:07 2014 -0400

    Updated the FenceSync and FenceNV objects to use Error objects.
    
    BUG=angle:520
    
    Change-Id: I1e49b35905d8916baadb129c8aa58a11bd721500
    Reviewed-on: https://chromium-review.googlesource.com/220781
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit ed13636ab93755d324d9366b2c41d343ecc5829c
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Fri Oct 3 13:23:01 2014 -0700

    Add type comparison, type retrieval, original name retrieval to ShaderVariable.
    
    This is needed to effectively use the new APIs to get shader variable info.
    
    BUG=angle::770
    TEST=ShaderVariableTest
    
    Change-Id: Ia591eb567868ebe898f4a7449c64167ad212f59b
    Reviewed-on: https://chromium-review.googlesource.com/221388
    Tested-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit e0a2d1c5a8e55f26f1bff6b514733605f20b9f82
Author: Kenneth Russell <kbr@chromium.org>
Date:   Mon Oct 6 17:45:59 2014 -0700

    Add needed static_casts to GLenum for compilation on Linux.
    
    BUG=angleproject:773
    
    Change-Id: I8b01a1f187456eb8997fc7a620b5ecdffb872c19
    Reviewed-on: https://chromium-review.googlesource.com/221810
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Kenneth Russell <kbr@chromium.org>

commit 9aca059ffc32b84c852dea9cb640615a7885b386
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 6 16:26:59 2014 -0400

    Enable TexSubImage workaround on D3D11.
    
    This workaround uses UpdateResource instead of staging buffers for
    texture data updates. It improves performance for highly dynamic
    textures, especially in some benchmarks, eg the turbulenz particle
    demo.
    
    Re-land, with fix to the issue with glGenerateMipmaps.
    
    BUG=angle:729
    BUG=365078
    
    Change-Id: I4c9398e0645176c296bf95e35eab97a44eae4319
    Reviewed-on: https://chromium-review.googlesource.com/221493
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 6b51c1a08c314d4fc665e6034234059af207aaae
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 6 16:31:21 2014 -0400

    Use ImageIndex in copyToStorage.
    
    Also change the image association methods in TexStorage to use
    ImageIndex, for consistency and compatibility.
    
    BUG=angle:729
    
    Change-Id: I05afa803735c9b93ae7d623fee5e6899c9ccec28
    Reviewed-on: https://chromium-review.googlesource.com/221722
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit c8d13843330acb2c6fa8434321f00da58e1f8edb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 6 16:32:39 2014 -0400

    Use mTopLevel in getSubresourceIndex.
    
    We need to include this in every call, so might as well handle it
    automatically.
    
    BUG=angle:729
    
    Change-Id: I5c230408a9eb80c8cfcc3f0d3a4ea531fa173aed
    Reviewed-on: https://chromium-review.googlesource.com/221760
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 1ea535091966a89eeb8e1b68fd86cdcc0c17c15f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 6 12:54:10 2014 -0400

    Fix image index iterator unit test.
    
    This test was checking out-of-bounds. The bug only showed up in
    Linux.
    
    BUG=angle:741
    
    Change-Id: I4cb45fc00dbb0bf9713f735a20fb6fd04bc95140
    Reviewed-on: https://chromium-review.googlesource.com/221057
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit ba6bc95ebe9f26023d270c982fb7e56ff37de77f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 6 10:56:22 2014 -0400

    Use ImageIndex as a parameter to TextureD3D::setImage.
    
    This will allow us to call the TexureStorage::setData easily.
    
    BUG=angle:729
    
    Change-Id: I16ada583894c8c427c78de5050f7f462c96d1fd1
    Reviewed-on: https://chromium-review.googlesource.com/221492
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit f8f18f05162221eb6ddd70ccb722b25838f5b807
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 2 10:44:17 2014 -0400

    Make blit extension check for internal format mismatch.
    
    The extension spec dictates a format mismatch generates invalid
    operation. Since we can't have the same internal format map to
    different actual/native formats, this check is more strict and
    we can replace the previous one.
    
    BUG=angle:769
    
    Change-Id: Ic1b5c335ba38a4f2feaffa1478a65e7fcf7f75ea
    Reviewed-on: https://chromium-review.googlesource.com/221065
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit dcd8f13dbc828626d8b58d274661ccc7412d6bd3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 3 19:54:50 2014 +0000

    Revert "Enable TexSubImage workaround on D3D11."
    
    Probably causing WebGL CTS failures:
    
    http://build.chromium.org/p/chromium.gpu.fyi/builders/Win8%20Release%20%28NVIDIA%29/builds/6148
    
    This reverts commit 2d337ce0503db5f91fcf0a11591cd436dfb32cd7.
    
    Change-Id: Ic032640f44adf337c4b3eedd4d7f3551d565a5cb
    Reviewed-on: https://chromium-review.googlesource.com/221397
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 2d337ce0503db5f91fcf0a11591cd436dfb32cd7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 3 11:50:56 2014 -0400

    Enable TexSubImage workaround on D3D11.
    
    This workaround uses UpdateResource instead of staging buffers for
    texture data updates. It improves performance for highly dynamic
    textures, especially in some benchmarks, eg the turbulenz particle
    demo.
    
    BUG=angle:729
    BUG=365078
    
    Change-Id: Idd82c27845a772199caef3695111c96735e8843e
    Reviewed-on: https://chromium-review.googlesource.com/219864
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 468b26bb1b6afea55d83528127fb4e9fa3d16eef
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 3 11:50:54 2014 -0400

    Use COM object dynamic cast for RT resource queries.
    
    BUG=angle:729
    
    Change-Id: I55af209211329a7a71728e3c6d55d87154cfb45e
    Reviewed-on: https://chromium-review.googlesource.com/221269
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 82bf0c5aaaff0952ee1815df9572b5b15212613b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 3 11:50:53 2014 -0400

    Use gl::Rectangle as a param to Image::copy.
    
    BUG=angle:729
    
    Change-Id: I13194760df35cb18db6ac43d567e6b393e838d56
    Reviewed-on: https://chromium-review.googlesource.com/221268
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 00e5452ab3afc3d04f591d0522722d0b415b666c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 2 10:44:17 2014 -0400

    Accept a second form of WARP Test renderer string.
    
    On our Renderer test, we would be overly restrictive in the forms
    of Renderer string we would accept for WARP. On this machine, it
    returns a different string than the one we had in the test. Expand
    the test to accept both.
    
    BUG=angle:769
    
    Change-Id: If27644d32d6d7d0eff77ff9cca81faee3b2be4e1
    Reviewed-on: https://chromium-review.googlesource.com/221066
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 94203b365646916a438dcbac57a8202301bcf016
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 2 10:44:16 2014 -0400

    Restrict the tests that use ClearBuffer to ES3.
    
    We had changed the configurations to run them in ES2 mode, while
    ClearBuffer is an ES3-only method.
    
    BUG=angle:769
    
    Change-Id: I63d92af4702a133aa8bbf52444dfef59a4f602b0
    Reviewed-on: https://chromium-review.googlesource.com/221064
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 448ac908d9746ba6544b55e371bba1a8d78f5e9e
Author: Tibor den Ouden <tibordenouden@gmail.com>
Date:   Thu Oct 2 22:33:08 2014 +0200

    Updated authorship and contributors for Borbitsoft/Tibor den Ouden
    
    Removed Borbitsoft from the AUTHORS file, added Tibor den Ouden.
    Removed Borbitsoft from CONTRIBUTORS file, company section.
    Moved Tibor den Ouden in CONTRIBUTORS file from company section to individual section
    
    Change-Id: I3ab47d637d0879fde8f9dc0f714e2cb44562c897
    Reviewed-on: https://chromium-review.googlesource.com/221054
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit b543afffb8a3e26d8a01099704561a8813c802c5
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Sep 30 14:52:54 2014 -0400

    Update Program, ProgramBinary and HLSLCompiler to use Error objects.
    
    BUG=angle:520
    
    Change-Id: Ibbe8c95780fecfb68f4558e99e3a761107da6aee
    Reviewed-on: https://chromium-review.googlesource.com/220790
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit e61209af1e51ab91a7ab60026df0db08441133cc
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Sep 26 12:01:17 2014 +0300

    Add option to support EXT_draw_buffers with NV_draw_buffers
    
    After this patch, it is possible to set a flag to change
    EXT_draw_buffers extension directives to NV_draw_buffers in ESSL.
    This enables users of ANGLE to emulate EXT_draw_buffers by using
    NV_draw_buffers in combination with GLES3.0.
    
    Change-Id: I5dacdbd6cd0d0362424ea3791557342c42efd4bd
    Reviewed-on: https://chromium-review.googlesource.com/219941
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Tested-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 955f5c0537ccb326fd2d576c47ef0250bfead3de
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 2 11:03:12 2014 -0400

    Add TextureStorage::setData.
    
    Usually we copy data from the Image classes into the Storage. This
    method, which will only apply to D3D11, is useful for our SubData
    performance workaround.
    
    BUG=angle:729
    
    Change-Id: I50ca8158ee9e0638f59f617b9e6170b508eaeb44
    Reviewed-on: https://chromium-review.googlesource.com/219837
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit e6b6da03ba404b1238304214235dea6f27eff5b3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 2 11:03:14 2014 -0400

    Use the virtual commitRegion in TextureD3D::subData.
    
    This allows us remove the duplicated code in the various typed
    methods that checks for an error before committing.
    
    BUG=angle:729
    
    Change-Id: Icd0ad2be55ac423baec3855e05c53f4b624b6764
    Reviewed-on: https://chromium-review.googlesource.com/220275
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 7cb2b9d7adbbb8b6a58da17791aeecfc9a01bd9c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 2 11:03:13 2014 -0400

    Introduce new method commitRegion to TextureD3D.
    
    Replacing commitRect with commitRegion, which takes generic
    parameter types, will allow us to call it directly from the
    base class TextureD3D. This will be useful in subsequent
    patches that introduce the SubData performance workaround.
    
    BUG=angle:729
    
    Change-Id: I37bf12f847b43f7c961b403321de19f547258b01
    Reviewed-on: https://chromium-review.googlesource.com/220274
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 86ffde570013d3205ea3d9fdb208a87847c52d72
Author: Olli Etuaho <oetuaho@nvidia.com>
Date:   Fri Oct 3 14:51:54 2014 +0300

    Fix building angleutils.cpp on Linux
    
    vsnprintf is defined in stdio.h according to the standard. It was not in
    the include chain of angleutils.cpp, which broke the build on Linux on
    some configurations. Seems like other toolchains include the function in
    some non-standard way.
    
    BUG=angle:761
    
    Change-Id: Idcd75776e8a9b83dad182d1b4bac0beac006c6ac
    Reviewed-on: https://chromium-review.googlesource.com/221053
    Reviewed-by: Olli Etuaho <oetuaho@nvidia.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit d8111bafe32298c0ceea79c51b64e996875dd166
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Fri Sep 26 18:59:13 2014 -0400

    Fix typos in caps generation method names.
    
    Change-Id: I7efa752b2276cb92b4ca12ffaf7aa37c514525f0
    Reviewed-on: https://chromium-review.googlesource.com/219807
    Tested-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 8299bb0fb25d69a35f91d3e1ae63996ecccaba44
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Fri Sep 26 18:55:43 2014 -0400

    Store XFB buffers in a vector in State.
    
    BUG=angle:685
    
    Change-Id: I4bff717f716ba21633c59244560fd56f41f587ed
    Reviewed-on: https://chromium-review.googlesource.com/219806
    Tested-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit f3acaf9e504dce00a3be13f7448ac4ac99fcf122
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Tue Sep 23 18:07:11 2014 -0400

    Use a caps-dependent sized vector to store Uniform Buffers
    
    BUG=angle:685
    
    Change-Id: I3f2e9fcccf27aebbb4ec5485286eec9828851887
    Reviewed-on: https://chromium-review.googlesource.com/219805
    Tested-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 23e0500dba6b299dc0f9261d036b5707f58e9625
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Mon Sep 22 19:07:27 2014 -0400

    Change mVertexAttribCurrentValues from fixed-size array to STL container.
    
    BUG=angle:685
    
    Change-Id: I42fc6c919f42cd6ab1c11531742f9a2c5ad0cd3d
    Reviewed-on: https://chromium-review.googlesource.com/219353
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 1a9654801a2e13474182ec2176b2a0f516994db3
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Mon Sep 22 18:00:32 2014 -0400

    Vertex management functions can take a State reference instead of pointers to attrib data.
    
    BUG=angle:685
    
    Change-Id: I0bfc26c53eb1358a023ac5d4ec20be06f9c90f4a
    Reviewed-on: https://chromium-review.googlesource.com/219352
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 2df6a601712f9ff7e1977c5ec284814f691e7326
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Fri Sep 26 16:12:07 2014 -0400

    Remove context pointer from State
    
    BUG=angle:685
    
    State needs only to track a few variables from Context's caps,
    so store those instead of a pointer to Context.
    
    Change-Id: I36d448dcaccf9780d6df2cfc82ef975b2ba0346f
    Reviewed-on: https://chromium-review.googlesource.com/219804
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit bee59e038a06e452c91973d2a166fec6f96c4a62
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 2 10:44:18 2014 -0400

    Disable broken D3D9 GLSL Varying tests.
    
    Not sure at the moment if we can only disable tests in D3D9/etc,
    but these tests are broken for D3D9 and hence we can disable them
    to return angle_tests to passing.
    
    BUG=angle:769
    
    Change-Id: I3c13f985fde99c3d885f825de60af841c8f3f0f1
    Reviewed-on: https://chromium-review.googlesource.com/221067
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 49f9dd45e9438ba1e381cf57660b7b96d5f4e040
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 2 10:44:15 2014 -0400

    Don't run the DrawBuffers tests in D3D9.
    
    We only support MRT on the D3D11 Renderer for now, so we can skip
    running these tests entirely on the D3D9 back-end.
    
    BUG=angle:769
    
    Change-Id: I442936fe987ae1749d5ee7626f6a4737e824ac6f
    Reviewed-on: https://chromium-review.googlesource.com/221063
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit aabecf8e41f18614e7220e69801e7e3bf812d179
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 2 10:44:14 2014 -0400

    Fix D3D9 varyings limits.
    
    We were off by one varying, since D3D9 treats PSIZE specially.
    
    BUG=angle:769
    
    Change-Id: Id5242d12c3ca42da3f3f528ff4a21445dba89701
    Reviewed-on: https://chromium-review.googlesource.com/221062
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 5ac124b17cd001ca6a5b436eea26ee4672f4027c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 2 10:44:13 2014 -0400

    Fix a bug in MaxTextureSizeTest.RenderToTexture.
    
    This bug only presented itself in our D3D9 Renderer. In D3D11 we
    would stretch the texture to fit -- this is behaviour correct in
    ES3 but not in the ANGLE spec draft.
    
    BUG=angle:769
    
    Change-Id: Iddb8551c9645aa6f0841e2dc9d96fbd196bc6788
    Reviewed-on: https://chromium-review.googlesource.com/221061
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 5a0c45e1fba009428187c8f89a25973481078ad3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 2 11:10:36 2014 -0400

    Accept RenderTargets as parameters to Image::copy.
    
    This gives us the flexibility to use copy internally for Textures
    as well as FBO attachments. This will be useful for the TexSubImage
    performance workaround.
    
    BUG=angle:729
    
    Change-Id: I4df8ef3a5a928d44ef84100cd96a5d35f12b47fa
    Reviewed-on: https://chromium-review.googlesource.com/219863
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 9a2e6ac98a10907b1241bd5709597912e08f63fb
Author: Cooper Partin <coopp@microsoft.com>
Date:   Wed Oct 1 12:26:18 2014 -0700

    Roll gyp dependency to 1987
    
    Change-Id: Id063785b1d0c2a4badc73d6ec828060b7893e58c
    Reviewed-on: https://chromium-review.googlesource.com/220843
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Cooper Partin <coopp@microsoft.com>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit a5521de22e4035741d1c217dcea36ee9a912f492
Author: Jacek Caban <cjacek@gmail.com>
Date:   Wed Oct 1 17:23:46 2014 +0200

    Fixed mingw compilation.
    
    Change-Id: I8ae33c752feb19e291e4a3b128d21a0ced883c90
    Reviewed-on: https://chromium-review.googlesource.com/220761
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit ac7556f652000dadc10d95c220dfb7ad4c9a12e5
Author: Tibor den Ouden <tibordenouden@gmail.com>
Date:   Thu Sep 25 17:15:11 2014 +0200

    Freed temporary info log buffer and removed explicit destruction of char[]
    
    BUG=angle:758
    
    Removed explicit destruction of char[] by using std::vector<char> object.
    
    Added Borbitsoft to AUTHORS and Tibor den Ouden to CONTRIBUTORS
    
    Change-Id: I9c4017eb81ce3fab8b7fb4a5b4ad52a758d14a2d
    Reviewed-on: https://chromium-review.googlesource.com/219940
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit ff39bd8759266e977f8ea61ae35e93c56ba6f2e2
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Oct 1 13:17:39 2014 -0400

    Add check for size before setting buffer data.
    
    If data is non-null and size is zero, the memory buffer may have a NULL
    pointer.
    
    BUG=angle:765
    
    Change-Id: I4cb8f54ec85fea886e37ee2d4469d26e651a916b
    Reviewed-on: https://chromium-review.googlesource.com/220801
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit b4fd0c96d21ff1534e1d6db40dcf142eeebda0d0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Oct 1 17:40:24 2014 -0400

    Replace usages of std::vector::data in most cases.
    
    In some parts of ANGLE code, we were using std::vector::data to get
    a pointer to the first element. Sadly, this is c++11 only, which
    isn't currently supported on Chromium. This was causing a breakage
    on Android. We should probably refrain from using data except on
    D3D-only code, which we know will be Visual Studio.
    
    BUG=angle:767
    
    Change-Id: Ibc10577368435a13f62d74d77c95076482cd8f82
    Reviewed-on: https://chromium-review.googlesource.com/220920
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 18b931d5e05e86301df508c6b400938e4a4d6a4b
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Mon Sep 29 12:58:31 2014 -0700

    Configure Google Tests to run against multiple renderers/GLES versions
    
    BUG=angle:611
    
    Change-Id: I7d43612171c439045038db9ae82fd8716c0b31c6
    Reviewed-on: https://chromium-review.googlesource.com/220400
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Austin Kinross <aukinros@microsoft.com>

commit 3269bcb4978bd9bd0c0547d832f85856f57c84e3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 30 16:33:52 2014 -0400

    More TextureD3D cleanups.
    
    The getLayers method was redundant, and the getBaseLevelImage method
    we can replace with a shared TextureD3D method rather than a
    specialized method for each type.
    
    BUG=angle:729
    
    Change-Id: I80c94a765dbc369fb0bb60ec8273e9e3ba6ffeed
    Reviewed-on: https://chromium-review.googlesource.com/219862
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 135570a4927944cf971f93eb050c6ba99b461839
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 30 16:33:51 2014 -0400

    Clean up ensureRenderTarget().
    
    We can use the same code for this method, with the only difference
    being in when we determine a texture image holds no pixels.
    
    BUG=angle:729
    
    Change-Id: I3356f5deb900c24b1a5c739ce8de99e9ce1371c0
    Reviewed-on: https://chromium-review.googlesource.com/219861
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 716915d7a35555304e4bc852a13d1bbc1c29cbfb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 30 16:33:50 2014 -0400

    Fix d3d9 copyToStorage dirty flag.
    
    This flag wasn't being set in the 2D version of this method. The bug
    would only cause a performance penalty on Windows XP machines.
    
    BUG=angle:729
    
    Change-Id: I516206740becc90438d613ae9abb3ac550733aed
    Reviewed-on: https://chromium-review.googlesource.com/219860
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 98553e374aa20f4d8019b5bcc98faab97fd4fd62
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 30 16:33:50 2014 -0400

    Remove copyToRenderTarget methods.
    
    These Renderer methods can be replaced with virtual TextureStorage
    methods, now that we do not have TextureStorageInterface to
    complicate matters. This reduces the number of stubs in Renderer
    as well as allowing cleaner code re-use.
    
    BUG=angle:729
    
    Change-Id: I6d2004d4f1abdb1041420144cee1c173e5ab199e
    Reviewed-on: https://chromium-review.googlesource.com/219839
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 3a612876d602eb841abc9632bcc9dc38ab12d46b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Sep 29 11:08:17 2014 -0400

    Moved the responsibility for releasing the dest surface out of copyToSurface.
    
    BUG=angle:520
    
    Change-Id: I4c6c39462b43eeb0a202f731c4a54007ef16445c
    Reviewed-on: https://chromium-review.googlesource.com/219866
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit b53483311f7f565567deb5afd8263481310159f6
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Sep 2 13:16:34 2014 -0400

    Refactor Texture::compressed*Image methods to use gl::Error objects.
    
    BUG=angle:520
    
    Change-Id: I8fd7ebf3edb3edef06e77b79776c363672931a61
    Reviewed-on: https://chromium-review.googlesource.com/216646
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 8376ceaea721d79f1ee94cd94871a4328843e354
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Sep 2 11:47:07 2014 -0400

    Merge the various TextureCube::setImage* methods.
    
    BUG=angle:520
    
    Change-Id: I4e8191dd827744ef380348a31dce7181d99fbf30
    Reviewed-on: https://chromium-review.googlesource.com/216645
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 1ba6b8db362d9ebdf37a1b873eb6bd96ae8c2805
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Aug 28 10:57:31 2014 -0400

    Refactor Texture::setImage and subImage to use gl::Error objects.
    
    BUG=angle:520
    
    Change-Id: Ib43ace0fbdab59086ae4314cce139636d9045e65
    Reviewed-on: https://chromium-review.googlesource.com/216644
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit b60fe31f0bc6b5fc9e2af3e08cd6cd86b43ae0cf
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Sep 26 14:56:41 2014 -0400

    Fix the ANGLE_ENABLE_TRACE build.
    
    We needed to include angleutils.cpp in libtranslator for this to
    compile. Also allow the event helpers to record API calls even
    if ANGLE_ENABLE_PERF is off.
    
    BUG=angle:513
    
    Change-Id: I2646d5ebeae536a4a7f1cd7ecaf0ce019ce5ff76
    Reviewed-on: https://chromium-review.googlesource.com/219756
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit ae5122c44d33ba90360d071b39fee3bd1b08e866
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Aug 27 14:08:43 2014 -0400

    Updated the PixelTransfer class to use Error objects.
    
    BUG=angle:520
    
    Change-Id: I7e21acbfd5726607ea62c8fcf64d76bbf5877860
    Reviewed-on: https://chromium-review.googlesource.com/216643
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 7acae0a13677d053939492aa48031de9ca1aa563
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 24 17:10:51 2014 -0400

    Add a centralized workarounds module.
    
    This is a temporary home for the various workarounds we use
    for performance or to solve driver issues. Eventually we will
    want a standalone library we can use as part of Chromium or
    in ANGLE standalone.
    
    Re-land with member variable initialized.
    
    BUG=angle:729
    
    Change-Id: If7f8f9596a39b2855366d9a67caebf6dd4197b55
    Reviewed-on: https://chromium-review.googlesource.com/219868
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 57f20894aee71ca9f78803f5a7545a86fd880ddb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Sep 29 23:05:36 2014 +0000

    Revert "Add a centralized workarounds module."
    
    Was missing an initialization in Renderer.cpp.
    
    This reverts commit 815a1dc3710c48ecc84539b7ffb15860f6738f6c.
    
    Change-Id: Ia4666911c2ff58660e0ab5c7cec4431b1c30a1e1
    Reviewed-on: https://chromium-review.googlesource.com/220420
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 815a1dc3710c48ecc84539b7ffb15860f6738f6c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 24 17:10:51 2014 -0400

    Add a centralized workarounds module.
    
    This is a temporary home for the various workarounds we use
    for performance or to solve driver issues. Eventually we will
    want a standalone library we can use as part of Chromium or
    in ANGLE standalone.
    
    BUG=angle:729
    
    Change-Id: Ib0254262cad9f8fb779886dacb967be646ea96ae
    Reviewed-on: https://chromium-review.googlesource.com/219838
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 4aa79e1121f882f6248139fd1f023b5a5432d329
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Sep 29 10:46:14 2014 -0400

    Reduce code duplication in generateMipmap.
    
    Using the newly introduced image index struct, we can simplify
    our code somewhat in TextureStorage.
    
    BUG=angle:729
    
    Change-Id: Iff274fd1df7a0dc36dd34e0cb31ad42831b4f5d5
    Reviewed-on: https://chromium-review.googlesource.com/219836
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit cb83dc16cf3939892b15cef6fd450f48a0b9cb99
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Sep 29 10:46:12 2014 -0400

    Add TextureD3D::getIndex.
    
    This is a simple virtual method which gives an ImageIndex at a
    particular level and layer. It's useful for handling all the texture
    types uniformly, which all treat levels and layers differently.
    
    BUG=angle:729
    
    Change-Id: I72db560287272c195b1ff8555f99ab2258ac7e6d
    Reviewed-on: https://chromium-review.googlesource.com/219835
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit ef4ac5b1dfd802061be2e4a7fb2e2a43d36dfb2f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Sep 29 10:46:11 2014 -0400

    Add ImageIndexIterator.
    
    We can use image index iterators to iterate over all images in a
    Texture. This allows us to do some operations in TextureD3D rather
    than in the typed subclasses and save on some repeated code.
    
    BUG=angle:729
    
    Change-Id: I3ba47b2eebad2cfca313117fd501ff76d5107044
    Reviewed-on: https://chromium-review.googlesource.com/219834
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit e611b064f73827c0b66188782cde9325ac9fbe96
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Sep 29 10:26:14 2014 -0400

    Fix gyp linux build.
    
    ANGLE implementation unit tests was enabled by mistake on Linux.
    
    BUG=angle:761
    
    Change-Id: Ibdca214466a6177aa50bdb3a3f55031dc0957b90
    Reviewed-on: https://chromium-review.googlesource.com/220272
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit a1a7492b75f031f8a2ee3560fa63fa16a317f7d6
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Sep 29 10:11:01 2014 -0400

    Remove include of util.gyp from all.gyp.
    
    Since util.gyp doesn't have any executables, there isn't any need to
    include it from all.gyp.  It should only be included by targets that
    depend upon it.
    
    BUG=angle:761
    
    Change-Id: Iabad2da7bca0f161d092c044ab0021568f9b6f59
    Reviewed-on: https://chromium-review.googlesource.com/219759
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit eb99436eaf9d6884ebc736b5cf0ccb7709319520
Author: Brandon Jones <bajones@chromium.org>
Date:   Wed Sep 24 10:27:28 2014 -0700

    Moving Shader Executables into ProgramD3D
    
    BUG=angle:731
    Change-Id: I677fc9773914307184bcdd9ab7ac564956d77f6a
    Reviewed-on: https://chromium-review.googlesource.com/219814
    Tested-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit eeb1f537933d5b9ea8fb26634dc820fc70a5a9c0
Author: Cooper Partin <coopp@microsoft.com>
Date:   Tue Sep 23 10:25:02 2014 -0700

    Added SurfaceHost to enable additional hosts and abstract access for EGLNativeWindowType.
    
    Change-Id: I590b52925c6b9127d08eaf0e5ba2a0bde30505c3
    Reviewed-on: https://chromium-review.googlesource.com/219488
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 9e3f24f6b8f298f4e11f27bac5c0ec9ec4f27ac6
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Aug 27 12:06:04 2014 -0400

    Update Renderer::copyToRenderTarget to return Error objects.
    
    BUG=angle:520
    
    Change-Id: Ieab2d031d638056676e07d80aa024b6c6f12f3d6
    Reviewed-on: https://chromium-review.googlesource.com/216642
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 431cbc8ecdb942ebbfddcb56015c86bba5a28c9a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 24 10:38:50 2014 -0400

    Benchmark point sprites test with several varyings.
    
    A potential performance slowdown could be our geometry shader using
    extra logic in packing varyings. Test this by adding a variable
    number of varyings to the point sprites benchmark.
    
    Initial tests show it could slow down the test by about 30-40% or so,
    stil not catastrophic compared to D3D9.
    
    BUG=angle:705
    
    Change-Id: Ia815f0ee28e2af2d3dc4d9f5675c27bbeb4cb119
    Reviewed-on: https://chromium-review.googlesource.com/216468
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit ea0e8733132ce9004f4ecd9cdbe72a2b6690affe
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 24 10:26:49 2014 -0400

    Add a point sprite benchmark.
    
    This benchmark will attempt to reproduce the slowdown we see
    in D3D11 on the turbulenz GPU particles demo.
    
    BUG=angle:705
    
    Change-Id: I9c4c2f09d4282feae30f448fd374cdbb6bceae9b
    Reviewed-on: https://chromium-review.googlesource.com/216467
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit e8356bb0d84a43bb49626cafbda98086ee722bc9
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Aug 26 17:13:21 2014 -0400

    Update Renderer::copyImage to return Error objects.
    
    BUG=angle:520
    
    Change-Id: I1bb7a53bc75ebb8bf324935b673ea636bdff6931
    Reviewed-on: https://chromium-review.googlesource.com/216641
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 648391555f5b2bb4cf1f304153bbc8298389f5e7
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Aug 26 16:23:25 2014 -0400

    Update blit calls to return Error objects instead of calling gl::error.
    
    BUG=angle:520
    
    Change-Id: I94c3ad327433cf275744e98be6cb2ba91be49c0f
    Reviewed-on: https://chromium-review.googlesource.com/216640
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit f7ed7054a552d11d152fb17d6ce6e31cf0e92466
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Sep 23 13:39:31 2014 -0400

    Move the code that writes the temporary shader file to the shader compiler.
    
    BUG=angle:755
    
    Change-Id: I5fdc3ae112ea3f59694a22da6199b99a568ed0a1
    Reviewed-on: https://chromium-review.googlesource.com/219530
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 3935e51de5945768f3d26d8b460c0bd59f66430a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Sep 23 13:15:19 2014 -0400

    Refactor HLSLCompiler to use stl objects and encapulate workarounds.
    
     * Pass std::strings for the source and profile.
     * Create a wrapper struct for storing the compile configurations and pass
       them to the compiler with an std::vector.
     * Remove function typedefs, they're available from the platform.h header.
    
    BUG=angle:755
    
    Change-Id: I19dd2be1655a12f76fc5718450db974a7ec324ec
    Reviewed-on: https://chromium-review.googlesource.com/219287
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 18bd4100ed3fca2a9e1ae6c2f8c4a6f09d506482
Author: Brandon Jones <bajones@chromium.org>
Date:   Mon Sep 22 14:21:44 2014 -0700

    Removed the last references to Renderer from ProgramBinary.
    
    BUG=angle:731
    Change-Id: I8829a434e59279b1b9c37e9a1922ae05d467b376
    Reviewed-on: https://chromium-review.googlesource.com/219421
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Brandon Jones <bajones@chromium.org>

commit 10ac404330ddbec70f9a71d36240cade087bf9d2
Author: Brett Wilson <brettw@chromium.org>
Date:   Wed Sep 24 10:20:56 2014 -0700

    Rename GN public variables.
    
    forward_dependent_configs_from => public_deps
    direct_dependent_configs => public_configs
    
    Change-Id: I93beca2109181a2aac8d5793c3464b3af8b6ab9b
    Reviewed-on: https://chromium-review.googlesource.com/219695
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Brett Wilson <brettw@chromium.org>

commit 44151a97f9915252ddf8815112a3b3d4f54caf54
Author: Brandon Jones <bajones@chromium.org>
Date:   Wed Sep 10 11:32:25 2014 -0700

    Removed the last references to DynamicHLSL from ProgramBinary.
    
    Migrated several more non-generic values from ProgramBinary the D3D impl.
    
    BUG=angle:731
    Change-Id: Ic043dd75328cffbc6bef6556da801c382b4138bc
    Reviewed-on: https://chromium-review.googlesource.com/219390
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Brandon Jones <bajones@chromium.org>

commit abce762061418a6590a9a9332118e8f03b8e8d0a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Sep 19 16:13:00 2014 -0400

    Fix some texture support queries ORing extensions instead of ANDing.
    
    A couple of formats that required two extensions would OR the checks
    together when they should have ANDed them and allowed the validation to be
    too permissive.
    
    Fixed the checks and added a new one that needs to OR the extension checks
    together to verify GL_DEPTH24_STENCIL8_OES support.
    
    BUG=angle:752
    
    Change-Id: I2e1e12fd428358e975cd22eb685b9a8fb797161f
    Reviewed-on: https://chromium-review.googlesource.com/219094
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit d87878e32e7cb4f08cf53159dbd69757a3245f25
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Sep 19 15:42:59 2014 -0400

    Remove the requirement that a format must be texturable to be renderable.
    
    Previously, to determine if a texture format was renderable, the
    texturable and renderable fields had to be and-ed together.  This caused
    issues for formats such as D24S8 which can be renderable but not
    texturable depending on available extensions.
    
    Made the renderable flag a complete check that may be different than the
    textureable flag and removed assumptions that a format is texturable if
    renderable from the code.
    
    GL_DEPTH24_STENCIL8 now checks for ANGLE_depth_textures for texturability
    and ANGLE_depth_textures or OES_packed_depth_stencil for renderability.
    
    BUG=angle:752
    
    Change-Id: I6d197cee72cc249e5996fa395303bdf43d246a87
    Reviewed-on: https://chromium-review.googlesource.com/219093
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit c77e8c39c8b4495ceb759ab6ea3c7a725b1d0679
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Sep 8 16:28:24 2014 -0400

    Update the draw calls to return Error objects.
    
    BUG=angle:520
    
    Change-Id: I3330ba2dbe095fc9460789822a938420a80a149f
    Reviewed-on: https://chromium-review.googlesource.com/213823
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 3110ffdcb851c645479fdd2a18f89911329fc7c9
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Sep 8 16:25:50 2014 -0400

    Updated the swizzle generation functions to use Error objects.
    
    BUG=angle:520
    
    Change-Id: I01b3cdb7d6719582fa8a57f21218705f6743a7b0
    Reviewed-on: https://chromium-review.googlesource.com/217103
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 950cb606dfed4c6a85765422c011a074a2a20aac
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Thu Sep 18 10:01:56 2014 -0400

    Create test configuration include guards
    
    BUG=angle:501
    
    Change-Id: I0281cf6de4fbf8ddd142b7af4ea2917f0a0a1569
    Reviewed-on: https://chromium-review.googlesource.com/218840
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit df647a2a354d5dc9affdd6a982fccb6b95d361b0
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Sep 19 13:13:40 2014 -0400

    Use a D24S8 format to back GL_DEPTH_COMPONENT32_OES in D3D9.
    
    Looks like the D3D9 D32 format isn't available on most GPUs (and doesn't
    exist in D3D11) so back GL_DEPTH_COMPONENT32_OES with D24S8 instead to
    match D3D11.
    
    BUG=angle:750
    
    Change-Id: I0f7a124544c1c14ba21db20fbf6765d07e244966
    Reviewed-on: https://chromium-review.googlesource.com/219080
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit ee009b8ee5f35dc6cca44a30d4d6c9c65cfdb0a7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Sep 19 13:17:51 2014 -0400

    Fix a NULL dereference on buffer initialization.
    
    In some cases, where the user would create a buffer with NULL (empty)
    data, we would attempt to dereference NULL when drawing with the
    buffer as a vertex attribute.
    
    BUG=angle:749
    
    Change-Id: Ied5ecbab4608c85890cdf7cc32a8dae46989e33b
    Reviewed-on: https://chromium-review.googlesource.com/219090
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 2f06dbfb3f4bd815a3fe5b52638b091c1e356a04
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 18 15:08:50 2014 -0400

    Remove rx::TextureStorageInterface entirely.
    
    This class provides no added benefit now that we've scrapped the
    type-specialized classes. We can squash it's functionality into
    TextureStorage instead.
    
    BUG=angle:741
    
    Change-Id: I04984806719a01f299986265fe09b3cccf04dca5
    Reviewed-on: https://chromium-review.googlesource.com/218316
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 856d9d4b6c3ddf302a988037151a2d98334fa2dd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 18 15:08:49 2014 -0400

    Squash the TextureStorageInterface heirarchy.
    
    Since there are no longer any significant differences in the child
    classes of TextureStorageInterface, we can scrap the different
    implementations. This involves changing the function names of some
    Renderer functions which relied on overloading.
    
    BUG=angle:741
    
    Change-Id: I074797e4ac0bf3ecf8fe4bddf84eaed28b1a2c23
    Reviewed-on: https://chromium-review.googlesource.com/218315
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 5e48c034daedc48a998fa5eca094d0a0ed247725
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 18 15:08:47 2014 -0400

    Move generateMipmap to storage interface base class.
    
    Using a little bit more of code repetition allows us to move the
    implementation of the mipmaps to a simple virtual interface in
    TextureStorage.
    
    BUG=angle:741
    
    Change-Id: I7661d0cc3bdb02b646da0802cba285650d7832b2
    Reviewed-on: https://chromium-review.googlesource.com/218314
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit c483326b7164e1c96a714db86167647c41e8f65b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 18 16:18:26 2014 -0400

    Use ImageIndex in getRenderTargetSerial.
    
    Also move getRenderTargetSerial to the TextureStorageInterface
    base class, since it shares a common interface.
    
    BUG=angle:741
    
    Change-Id: I1bc1cfac6426e241ac91d373884a7dd8a1c5b188
    Reviewed-on: https://chromium-review.googlesource.com/218313
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit f7100b981f0856b238252e6052509eecf8e5aded
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Sep 8 16:17:08 2014 -0400

    Updated the vertex buffer classes to use Error objects.
    
    BUG=angle:520
    
    Change-Id: Id003e66b2acbf37dbbe66aaca2fa336c3c884be2
    Reviewed-on: https://chromium-review.googlesource.com/217102
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit d5a796caeedbc1e6c8d483019f1da0cb676e118a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 18 15:30:16 2014 -0400

    Fix Renderer11 signed/unsigned warning in 32-bit.
    
    Change-Id: I1e11f54b0ae245cdd7e090ab0748821738ad6314
    Reviewed-on: https://chromium-review.googlesource.com/218761
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 76b10c9a9735c27627065d9fe68f78374ef48934
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Sep 5 16:28:14 2014 -0400

    Use dynamically sized containers for texture and sampler bindings.
    
    BUG=angle:685
    
    Change-Id: I7af97a95deee69fbdebca2b57403244f45516e67
    Reviewed-on: https://chromium-review.googlesource.com/216564
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit ac7579c2bd0cc9afdf5892a766e6967bf3a341f0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 17 16:59:33 2014 -0400

    Use ImageIndex in getRenderTarget.
    
    Also change ImageIndex to allow invalid indexes for layer. In 3D
    indexes, sometimes the layer parameter is invalid, indicating we
    index an entire mip level instead of a layer of a mip level.
    
    BUG=angle:741
    
    Change-Id: I7b410f9aaf568f215bb93ae063934669a8fa09bd
    Reviewed-on: https://chromium-review.googlesource.com/218312
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 02f18b883992598ffc22c2747720f17da65a330e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Sep 17 11:42:17 2014 -0400

    Don't skip draw calls on zero-sized viewports.
    
    If transform feedback is active, primitives still need to be rendered even
    if no pixels are written to the framebuffer.
    
    Instead of checking for active transform feedback, simply remove the draw
    call skipping optimization since it is most likely an application mistake to
    draw with a zero sized viewport and we shouldn't optimize for this case.
    
    This change doesn't affect the clear calls because the viewport is set to the
    framebuffer size which is non-zero.
    
    BUG=angle:743
    
    Change-Id: I04af9d6de5aad3040e3c6b3c24990e107e21ad36
    Reviewed-on: https://chromium-review.googlesource.com/218508
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit af875527dd30df822016ff90307de938195176c3
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Mon Aug 25 21:06:07 2014 -0700

    Improve D3D11 varying packing when there are more varyings than registers.
    
    BUG=angle:738
    
    Change-Id: I0599840fc79d571230acf26105d512322bcffdcd
    Reviewed-on: https://chromium-review.googlesource.com/214108
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit bdee2d598faa19040784e4dffb649df623c3314c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Sep 17 11:02:51 2014 -0400

    Fix incorrect error check.
    
    The registers variable became a pointer but this error check was not
    updated.
    
    BUG=angle:743
    
    Change-Id: Id2cd7b5ba39180281a3bbc408cd7c31bc663500c
    Reviewed-on: https://chromium-review.googlesource.com/218507
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit be4fdb3f5a1c2a3250a4b8351e3b09cc639a0672
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Sep 16 14:11:40 2014 -0400

    Merge the sampler uniform application into ProgramBinary::setUniform.
    
     * Fixes incorrect dirty checks for the dirty sampler mappings flag.
     * Fixes WebGL tests:
       * conformance_canvas_texture_bindings_unaffected_on_resize
       * conformance_reading_read_pixels_test
       * conformance_uniforms_uniform_default_values
    
    BUG=414450
    
    Change-Id: I132dbc301a236aef153fb6da4c6b64c36b0ba3f3
    Reviewed-on: https://chromium-review.googlesource.com/218501
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit ee85d1bb2f9988644654299a87f476357a5ac79d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 17 10:35:23 2014 -0400

    Fix enum in FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE query.
    
    We were using DEPTH_STENCIL instead of DEPTH_STENCIL_ATTACHMENT.
    
    BUG=angle:739
    
    Change-Id: I0c746c374577dca2b965dfd7ccfac793f7075efb
    Reviewed-on: https://chromium-review.googlesource.com/218592
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit feda4d294070333234b64a837eae2ba166f153a1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 17 13:03:29 2014 -0400

    Accept ImageIndex in TextureD3D::subImage and getImage.
    
    This paves the way for setting data on the TextureStorage directly
    instead of working through the Image objects.
    
    BUG=angle:741
    
    Change-Id: I3be3d5f9b2e45707c1630b74ad3f4789e034c3fd
    Reviewed-on: https://chromium-review.googlesource.com/218311
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit e6256f87c3f3b754f2bbe19cc817b1140cecc4fc
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 17 10:31:15 2014 -0400

    Fix the varying sort comparator in ShaderD3D.
    
    The comparator was actually a <= operator, while sort requires a
    strict < operator. This was causing a potential assertion failure.
    
    Bug report from Kerim Borchaev.
    
    BUG=angle:742
    
    Change-Id: I37c2925ab0b85e70ee1b2be3c72c6ddc062e8d28
    Reviewed-on: https://chromium-review.googlesource.com/218506
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 87a93308da237626325d13339565d7136125ed0d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Sep 16 13:29:43 2014 -0400

    Move validation of ANGLE_instanced_arrays to the validation layer.
    
    BUG=angle:520
    
    Change-Id: Idb3c50235a7029e72c58bc202aba0cfab735202a
    Reviewed-on: https://chromium-review.googlesource.com/218510
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 61f541802f0aecd106f8feaf4ef6dd003cc4aee9
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Sep 16 14:10:02 2014 -0400

    Don't modify the function parameters in ProgramBinary::setUniform.
    
    BUG=414450
    
    Change-Id: Ib5ebf18e57af671b8694ffcfc3cb152557f7f002
    Reviewed-on: https://chromium-review.googlesource.com/218500
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 08a59f85d2b9788381a1095d231a6c3fe46a1373
Author: Andrew Knight <andrew.knight@digia.com>
Date:   Tue Sep 16 23:19:39 2014 +0300

    Add several missing header guard comments
    
    These were causing build failures under GCC.
    
    Change-Id: Iba19ed166f909fe559d19731f31849770619f412
    Reviewed-on: https://chromium-review.googlesource.com/218580
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit f8a16d7b9d999cda6e5a05cae2b4ec3425c3c418
Author: Cem Kocagil <ckocagil@chromium.org>
Date:   Tue Sep 16 21:35:39 2014 +0300

    gn: Fix source paths
    
    Change-Id: Idf0c746d7e4e9f03b176744e8ff027be2d5f25ad
    Reviewed-on: https://chromium-review.googlesource.com/218520
    Reviewed-by: Brett Wilson <brettw@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Commit-Queue: Cem Kocagil <ckocagil@chromium.org>
    Tested-by: Cem Kocagil <ckocagil@chromium.org>

commit 5aad96735332d3c033a8212d96899173631653c5
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Sep 8 11:10:42 2014 -0400

    Update Queries to return Error objects instead of calling gl::error.
    
    BUG=angle:520
    
    Change-Id: If8f2bb1c4de7b9cc30861a06aab1d89c97305b26
    Reviewed-on: https://chromium-review.googlesource.com/216699
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 22502d52956364879e2bd2feb8516a983714eb45
Author: Brandon Jones <bajones@chromium.org>
Date:   Fri Aug 29 16:58:36 2014 -0700

    Moving more D3D-only logic into ProgramBinaryD3D
    
    BUG=angle:731
    
    Change-Id: Ia62ec9a912c8bd63fcee51ca206d52688dd999da
    Reviewed-on: https://chromium-review.googlesource.com/217495
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Brandon Jones <bajones@chromium.org>

commit e1f0d00c753ecdd6f0ac397fd944bf1fd7fee3dd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Sep 12 13:26:56 2014 -0400

    Remove dead RenderbufferStorage::getDepthBuffer.
    
    This code was unused.
    
    BUG=angle:732
    
    Change-Id: I764d7c5624bdb81650e05a22c4ef0431c2002b18
    Reviewed-on: https://chromium-review.googlesource.com/217331
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 612e2e4490ac8baac7da12de599e94d21a62538a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Sep 12 13:26:55 2014 -0400

    Add a helper to replace FBO attachment's getSerial.
    
    Ideally we could store a render target serial in the render target
    itself. For now, this helper function allows us to finally stop
    exposing rx::RenderTarget from gl::Texture.
    
    BUG=angle:732
    
    Change-Id: I4ffc5e0af6f0542212ad4e74adced21ebbd89462
    Reviewed-on: https://chromium-review.googlesource.com/217330
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 9f0b42a6ab87ae2b2f065cf022497ac6deabf3fd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Sep 12 10:25:27 2014 -0400

    Add an attachment helper to replace getRenderTarget.
    
    We would like to stop exposing rx::RenderTarget to any GL-layer
    code, like the Context, or Framebuffer. Then we can pull any
    necessary information inside the Renderer back-ends.
    
    BUG=angle:732
    
    Change-Id: Ifa35218f097c528e616d732bda4bcd8e5f1c3843
    Reviewed-on: https://chromium-review.googlesource.com/217029
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 231943bf21c099bf666c2faaffd0b2a4b5eae565
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Wed Sep 10 14:41:45 2014 -0400

    Fix signed-unsigned mismatch
    
    Change-Id: Ie7fba8a0fd0475a395205139c4f7169cc94e61b7
    Reviewed-on: https://chromium-review.googlesource.com/217510
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit c9e69b1941522095a3878d9e1501511ab4722139
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Sep 8 16:06:25 2014 -0400

    Updated the index buffer classes to use Error objects.
    
    BUG=angle:520
    
    Change-Id: Ifc249058a3ed3ffffe163a9e3ec21d6fc8c75bd0
    Reviewed-on: https://chromium-review.googlesource.com/217101
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 1c134e6c1fe515b44afd7edf40cc19eceb54de5f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Sep 8 15:32:18 2014 -0400

    Only allocate the streaming index buffers when they are first needed.
    
    BUG=angle:520
    
    Change-Id: I111e4fd830ad19f6a4ff50749ba891fc14f9154b
    Reviewed-on: https://chromium-review.googlesource.com/217100
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 23ba30e4b0028998ca2a53f0553e2002bf755d74
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Sep 8 15:28:20 2014 -0400

    Move the counting IB from IndexDataManager to Renderer9.
    
    BUG=angle:520
    
    Change-Id: Ice0a04b296af6c0a61a604f629b08603e594bb0b
    Reviewed-on: https://chromium-review.googlesource.com/216919
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 157f9374e8e2d4b94569a6b2b496faddedca70ed
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Sep 8 15:16:28 2014 -0400

    Update the RenderStateCache to use Error objects.
    
    BUG=angle:520
    
    Change-Id: I14e2a84c6d2e6f98a50395b63ac206e32bc10f8b
    Reviewed-on: https://chromium-review.googlesource.com/216918
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 5b5d1244d9089bb4a9e74cc34265a524b84ec258
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 9 15:15:36 2014 -0400

    Add queries for attachment targets.
    
    Queries for the FBO attachment Textures and Renderbuffers allow us
    more options than specific methods for querying the texture
    storage or texture serial.
    
    BUG=angle:732
    
    Change-Id: Ieb4ddca3955fcf716dbf54331524d0c1e25fe946
    Reviewed-on: https://chromium-review.googlesource.com/217028
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit bbffd5562e33a6cf6f6f1bb5be6cfa30df8f36ec
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 10 10:12:49 2014 -0400

    Add a TexSubImage benchmark.
    
    Currently we are about 2x as slow on this micro-benchmark in D3D11.
    Preliminary testing suggests using CopySubresourceRegion gives
    improved performance across the board, but testing could disprove
    this hypothesis.
    
    Modified from a sample from bajones.
    
    BUG=angle:705
    
    Change-Id: Iedf36a4e7b9b9bbed308302fd2bf3912acacbd2c
    Reviewed-on: https://chromium-review.googlesource.com/216272
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 9e16d40de399d1a99958b4a22f72b325a7d3403b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Sep 8 17:36:33 2014 -0400

    Fix Win32Window::resize breaking angle_tests.
    
    We were messing up the client rect on resize, which caused the
    ReadPixels checks to mess up around the window edges. Disabling
    the window styles on the test windows masked this bug. Fix this
    by using a style-less child window inside the parent window.
    This gives us access to window styles for the samples project,
    along with the ability to use tiny 1x1 windows for testing.
    
    BUG=angle:730
    
    Change-Id: Ic6dd931df7b4e32fbbcacbb004d3bbc49917f658
    Reviewed-on: https://chromium-review.googlesource.com/217024
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit dd8488d3ca5ebdb43e5a3f04e5018fc5305d97d1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 3 15:07:21 2014 -0400

    Get stencil buffer clear parameters format directly.
    
    The state layer should not be querying render targets directly,
    since they are not a GL concept.
    
    BUG=angle:732
    
    Change-Id: I5ee96ae54cced8a32c5082ddd9f8796a975e2591
    Reviewed-on: https://chromium-review.googlesource.com/213971
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 82cceb2de7958c7706768f21052a2e3409511fb8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 9 13:21:33 2014 -0400

    Only use direct buffers for static data in D3D11.
    
    For highly dynamic data, which gets updated every frame, or almost
    every frame, we're better off using our existing dynamic buffer
    path. We could further optimize the dynamic buffer path by only
    uploading changed data every frame.
    
    BUG=angle:705
    
    Change-Id: Icbb357b889be789b30f73067f75b13664c806929
    Reviewed-on: https://chromium-review.googlesource.com/217280
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit c9610c51e9c02ba67c735ff449a70164cda12a60
Author: Brandon Jones <bajones@chromium.org>
Date:   Mon Aug 25 17:02:59 2014 -0700

    Starting refactor of ProgramBinary
    
    This is gonna take a while...
    
    BUG=angle:731
    Change-Id: Ief72c3361b6429f3f6e0bc2d2ea0810d523ff178
    Reviewed-on: https://chromium-review.googlesource.com/215661
    Tested-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit eeb7b0e9038b0fc57ead6a491541548159855dc2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 3 15:07:20 2014 -0400

    Squash the Texture attachment classes into one.
    
    BUG=angle:732
    
    Change-Id: Ib6b26fe1351bc09e729178f6ec8b8d2ec1f7ff58
    Reviewed-on: https://chromium-review.googlesource.com/213970
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit cc00239d926022f4dc5c9557acddb33430cfb3a0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 9 10:21:56 2014 -0400

    Revert "Optimize dynamic buffers."
    
    This reverts commit 3e3813f787ee5e8bb7808eed539a606a4e2e3fd3.
    
    Conflicts:
            src/libGLESv2/renderer/d3d/d3d11/Buffer11.cpp
    
    Change-Id: I6470059672d3b377ce0fafbc8b637318a91f62c8
    Reviewed-on: https://chromium-review.googlesource.com/217106
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 5ac5ae8636968a822cd07ae02b7345989befa7bb
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Sep 9 10:14:17 2014 -0400

    Move assertion into if-block.
    
    Since the loop always goes up to MAX_VERTEX_ATTRIBS, the ASSERTION may be
    triggered even though no more attributes are enabled.
    
    BUG=angle:740
    
    Change-Id: I2bb30d7e9f426ae1a0b8250e65c1fd02107973ac
    Reviewed-on: https://chromium-review.googlesource.com/217027
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 63d2fc7f40d626342a0f9a82457b3fe0a81efca7
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jul 25 14:51:41 2014 -0400

    Update the ReadPixels calls to return Error objects instead of calling gl::error.
    
    BUG=angle:520
    
    Change-Id: I2ead221e7d1f02cf088b60d0e98376fcd68dde8e
    Reviewed-on: https://chromium-review.googlesource.com/211441
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit cc79b8c6b3c713904fa6d0613018b3e2f7fd8eac
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jul 25 13:48:02 2014 -0400

    Update clear calls to return Error objects instead of calling gl::error.
    
    BUG=angle:520
    
    Change-Id: I474a6ed29b882963f7f3425515e7d65f8f69b3e4
    Reviewed-on: https://chromium-review.googlesource.com/211440
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 2a1c15a1ab1852ab11fb8d12822c98aac11619ae
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jul 25 11:43:00 2014 -0400

    Update Buffers to return Error objects instead of calling gl::error.
    
    BUG=angle:520
    
    Change-Id: I4b6af8e2d4fae97639518e2acd26e2d4be93c925
    Reviewed-on: https://chromium-review.googlesource.com/209881
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 1d743d3dd706f6055ca6bc3ad0a4afcde0b7461d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 3 15:07:18 2014 -0400

    Eliminate typed render target Texture attachment method.
    
    More convergance to the base TextureAttachment class.
    
    BUG=angle:732
    
    Change-Id: I9aae1a49ab3908a4eb4cec4bce201b88a7d93926
    Reviewed-on: https://chromium-review.googlesource.com/213859
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit de3ed7043b930b54a4441e83d7ba53fac6d45fd4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 3 15:07:17 2014 -0400

    Use ImageIndex to return Texture attachment properties.
    
    This and subsequent patches will eliminate the need for typed
    attachments.
    
    BUG=angle:732
    
    Change-Id: Ia1cfa672855b577f7a2ce219e6ed8ca1e3e16cc1
    Reviewed-on: https://chromium-review.googlesource.com/213858
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit f6be8d7cbd3abf50ca848cb3a975b86e74c37c2d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Sep 5 10:38:07 2014 -0400

    Fix typo in "PixelShaderOuputVariable".
    
    Change-Id: I2b223c9b80faa3ff2a0f94bd52ca73edf3d67cf7
    Reviewed-on: https://chromium-review.googlesource.com/216273
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit f9479effa6c976dba1b1243c6257107791d03656
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Sep 5 10:38:05 2014 -0400

    Drop support for the old "full multiplexed" MRT shaders.
    
    This will simplify the code somewhat. It should no longer be
    necessary now that we have the nVidia workaround.
    
    BUG=angle:705
    
    Change-Id: I1abe1abd9f03472341ce4315975a76c56b252bb4
    Reviewed-on: https://chromium-review.googlesource.com/216111
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 3f2e61dea6c447ed7b98483fa0ce9ccc3cb5cc3c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Sep 5 10:38:05 2014 -0400

    Enable MRT pixel shader rewriting.
    
    Writing to all 8 pixel outputs was causing performance problems on
    Intel and AMD. Enabling Geoff's work to rewrite our pixel shaders
    solves the regression.
    
    This patch also includes a workaround to the nVidia driver bug
    where it would ignore NULL RT values in OMSetRenderTargets, by
    compacting the RT list to skip NULL values.
    
    BUG=angle:705
    BUG=365078
    
    Change-Id: Ia68af6f0ccd5f10c484d6f76297a0bec694948f0
    Reviewed-on: https://chromium-review.googlesource.com/214852
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit aef95dec1cb82857fbe0dd88ad92eb3451e482f2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Sep 5 10:12:41 2014 -0400

    Use attachment binding points for dynamic PS key.
    
    Because our output signature is only dependent on the arrangment
    of the attachments, not the attachment type, use the output
    layout key for now. If we need to, we could store both, in the
    future.
    
    BUG=angle:705
    
    Change-Id: I3b99954d30b91a4741fdd6f48f8ffcf88c0bea7a
    Reviewed-on: https://chromium-review.googlesource.com/215846
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit b33b4777b00e3bbff0d9cef374efad54d49885ec
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 4 10:48:28 2014 -0400

    Declare commit_id a gyp 'hard_dependency'.
    
    Hard dependencies are marked for static library targets, unlike
    normal soft dependencies which the static libraries ignore. This
    change ensures we run the commit_id script before compiling any
    static libraries that depend on it.
    
    Change-Id: Ic29652012883273810c2863132d6f49bd6ada4b8
    Reviewed-on: https://chromium-review.googlesource.com/216461
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 58f794225dd8d2b50153bc2a406977f51743f9be
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 4 10:38:30 2014 -0400

    Fix MSVC librarian warning about no target machine.
    
    We had the appropriate setting in our linker settings, but were
    missing the entry in our librarian settings. The new static lib
    target exposed the error.
    
    Change-Id: I689ccb3cd6dbf2218c869b33500aaef43b8a421f
    Reviewed-on: https://chromium-review.googlesource.com/216460
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 3592a3384b7fcfda33e2ba5ec633081f49e9f911
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 3 15:07:15 2014 -0400

    Add a new TextureAttachment class to simplify FBO attachments.
    
    This single class will eventually replace the four child classes.
    
    BUG=angle:732
    
    Change-Id: Ie2862b4458c8b1302ff4fc5fbe0e4ded3b81894d
    Reviewed-on: https://chromium-review.googlesource.com/213857
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 945f7329f01aa6b1888ba373f447b6048f27efec
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 3 15:07:14 2014 -0400

    Add an ImageIndex helper struct to index into tex levels.
    
    This encapsulates the three values needed to index into the image
    array. It will simplify the logic for querying texture images from
    the base calss.
    
    BUG=angle:732
    
    Change-Id: I31c55b3f972fd4d96ab540ec8498ef4b9b2ba16b
    Reviewed-on: https://chromium-review.googlesource.com/213856
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 6d70826335924f25877d8d5bdb1202a1315131a3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 3 15:07:13 2014 -0400

    Refactor Framebuffer::invalidateSub.
    
    Use our new helper methods to simplify this method.
    
    BUG=angle:732
    
    Change-Id: I56b837678d5efbc60de6de4bdb01447ca811e71d
    Reviewed-on: https://chromium-review.googlesource.com/213855
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 04994ec4b2ab831bdbdf645f1e334d8811a7008c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Aug 28 11:31:36 2014 -0400

    Use libANGLE to reduce duplicated ANGLE source compiles.
    
    libGLESv2_static and libGLESv2 can re-use the same object files.
    
    BUG=angle:733
    
    Change-Id: I894f4b5b6fbc1fc47812609d9e996691daf9f318
    Reviewed-on: https://chromium-review.googlesource.com/214188
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit ce20c7f143fcd724c2da0294c552bbe7594dd84d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 3 11:56:29 2014 -0400

    Retrieve render colorbuffers as a single vector.
    
    Making all our render methods query FBO attachments for rendering
    in one place will allow us to easily control the MRT peformance
    workaround, and simplify the implementation.
    
    BUG=angle:705
    
    Change-Id: I6c476d45b81228d6ffe8831347443994237e3593
    Reviewed-on: https://chromium-review.googlesource.com/215843
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit 04668675302d0ca0249dd6d84e34eb449758909a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 3 09:40:49 2014 -0400

    Mark shared and std140 UBOs as always active.
    
    This aligns ANGLE with the GL spec. With this fix, we pass
    all of the dEQP conformance tests in Functional / Uniform
    Buffer Object that don't rely on single buffers.
    
    BUG=angle:507
    
    Change-Id: I6063a416e3f7ee6d5327d96850e3d0cc8521c817
    Reviewed-on: https://chromium-review.googlesource.com/213506
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit a2fbb84095e91eec3957d0a1707dc740f0e62c50
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 3 09:40:47 2014 -0400

    Move CollectVariables to sh namespace.
    
    BUG=angle:466
    
    Change-Id: I903ea840e333dfeb44f242a1759aed39974d0510
    Reviewed-on: https://chromium-review.googlesource.com/213505
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 54ad4f8174593fe4854a9ef5952d4b02f1a82e35
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 3 09:40:46 2014 -0400

    Use the CollectVariables path on the HLSL translator.
    
    This approach consolidates our two methods, and lets us reuse the
    same code for both methods of variable collection.
    
    BUG=angle:466
    
    Change-Id: Ie92f76ff0b6d0d0dbfd211a234d0ab86290fa798
    Reviewed-on: https://chromium-review.googlesource.com/213504
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>

commit 2ad1dc48ed14cb53f7de6d9dea34d88851e1bb2e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 3 09:40:45 2014 -0400

    Compact the D3D shader specializations into one.
    
    BUG=angle:731
    
    Change-Id: I4f35a05aeea130f9011ec62cfe931ed23e2681c9
    Reviewed-on: https://chromium-review.googlesource.com/214871
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit d15250e62703537195df41ea6c2412d92aee120a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 3 09:40:44 2014 -0400

    Move shader variables into the base impl.
    
    These variable types apply across shader types. Either we'll want a
    way to cache them after we query them, or we'll do a pre-parse pass
    similar to our current Chromium GLSL to GLSL pre-pass where we store
    the variables in ANGLE. In either case, they're shared across GL
    implementations so make sense as queries from gl::Shader.
    
    BUG=angle:731
    
    Change-Id: I23f5541423abb4af87a2bc2fc1e9f4047fd2ff90
    Reviewed-on: https://chromium-review.googlesource.com/214870
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit ab56c6aeff8ea52a8927a947ec20d19eb4564fc9
Author: Sudarsana Nagineni <sudarsana.nagineni@intel.com>
Date:   Mon Sep 1 14:36:35 2014 +0300

    Fix memory leaks in angle_unittests.
    
    Call ShDestruct() to destroy the compiler objects to
    avoid memory leaks.
    
    BUG=angle:737
    
    Change-Id: I71a8ddfe67c9d8c7b4e5b5683c69dd578fc38c66
    Reviewed-on: https://chromium-review.googlesource.com/215860
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Sudarsana Nagineni <sudarsana.nagineni@intel.com>

commit 2d96b9ebeac93aae8b5ae425c9902ca8823fd415
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 29 15:46:47 2014 -0400

    Use GL-like methods for InvalidateFramebuffer calls.
    
    This will faciliate the MANGLE implementation.
    
    BUG=angle:732
    
    Change-Id: I0e4d569667e03305c9cca8d7c23154c70fb71eeb
    Reviewed-on: https://chromium-review.googlesource.com/213854
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 400a44188a51008af0748e6910d992dfc20871f8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 29 15:46:45 2014 -0400

    Move logic of InvalidateFramebuffer to Framebuffer.cpp.
    
    This method will translate to an implementation call.
    
    BUG=angle:732
    
    Change-Id: Ida1e3c9cccd94f7d166cc9a785708c12bfc52da5
    Reviewed-on: https://chromium-review.googlesource.com/213853
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 8e7d7a30b496a726c72329e74d054f5b859b0d9e
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Tue Sep 2 17:09:08 2014 -0400

    Fix use of references with va_start
    
    BUG=angle:736
    
    va_start behavior is undefined if the second parameter is a
    function, array, or reference type. clang produces a warning
    for this, while MSVC does not.
    
    Change-Id: I0bc2805e312e3542aac816f10a257e2f1cfad128
    Reviewed-on: https://chromium-review.googlesource.com/216010
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nico Weber <thakis@chromium.org>
    Tested-by: Nico Weber <thakis@chromium.org>

commit 685dd27a259cfa0127b20a32f223d00a7c020ef1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 29 15:46:43 2014 -0400

    Replace getDepthStencil with getRenderTarget.
    
    In all places where we called this method, we treated a NULL return
    value as an internal error. This implies to me that we don't need the
    two getRenderTarget and getDepthStencil methods, since we aren't using
    them to check if a surface is depth or stencil.
    
    BUG=angle:732
    
    Change-Id: I4d1dc148abf3383b1b101bbff4f4d22de27ad03e
    Reviewed-on: https://chromium-review.googlesource.com/213852
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 97d65b79212d64974d03c8d5e9017ce93717a874
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Tue Aug 5 18:04:22 2014 -0400

    Clean up Query classes.
    
    BUG=angle:717
    
    Change-Id: I8f29f24964a9661d9f0bea5dca48cebddbf9b0b2
    Reviewed-on: https://chromium-review.googlesource.com/211136
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 2d8c879fb1e0429d57966195ba75b413d3f43474
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 29 15:15:02 2014 -0400

    Expand the SubData benchmark.
    
    BUG=angle:705
    
    Change-Id: I9bd29bb35ad6c240bf141b9449bb613d2e00f828
    Reviewed-on: https://chromium-review.googlesource.com/213811
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 33ea2f977647e5e3a71cd0d6af6c9eef82afe9e3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 29 15:15:01 2014 -0400

    Added BufferSubData benchmark.
    
    BUG=angle:705
    
    Change-Id: I65d557f35e4c9f1d94853a775330a92b7d428847
    Reviewed-on: https://chromium-review.googlesource.com/213810
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 0bab342bb6f0d4b8a532d1c11e724a3ea055e589
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 29 11:49:36 2014 -0400

    Fix 64-bit use of Win32Window.
    
    An incorrect call to SetWindowLongPtr was crashing the 64-bit test.
    
    BUG=angle:705
    
    Change-Id: I3815bb0a1308f5e66e74faead37c0ae09f975a10
    Reviewed-on: https://chromium-review.googlesource.com/214883
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 43a53e2434f4fe042bee061fc369a93314b710de
Author: Brandon Jones <bajones@chromium.org>
Date:   Thu Aug 28 16:23:22 2014 -0700

    Converted ProgramBinary to use Context caps instead of Renderer
    
    BUG=angle:731
    Change-Id: I9bbce69cabf767fb5fb2c94f437a9950bc79d1aa
    Reviewed-on: https://chromium-review.googlesource.com/215370
    Tested-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit a502c749b249df6460326c4e5354f0549cc698d8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Aug 28 17:19:13 2014 -0400

    Use the specified Program instead of current in GetUniform.
    
    This bug slipped in with the GetUniform validation refactor.
    
    BUG=angle:571
    
    Change-Id: I2b87e6fe98224ba99c5b21a71d66b197fd618741
    Reviewed-on: https://chromium-review.googlesource.com/214872
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit b119668772ee960d8fc9e3846617c59530b90d5f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jul 23 13:47:29 2014 -0400

    Update validation functions to use new error mechanisms.
    
    BUG=angle:520
    
    Change-Id: I1c64af2e57cf2d89138bd23da2b07d5873742e4e
    Reviewed-on: https://chromium-review.googlesource.com/209880
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 05881a0f2ac8830b61e3bf85e08115258e52178a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jul 10 14:05:30 2014 -0400

    Add caps for transform feedback limits from table 6.34.
    
    BUG=angle:658
    
    Change-Id: Ifd8c620080c8de486ffb7c8f9e985be1aba516c1
    Reviewed-on: https://chromium-review.googlesource.com/207376
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 3a61c321e7ea779f23a4da72db977286897b1168
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jul 10 13:01:54 2014 -0400

    Add caps for the aggregate shader limits from table 6.33.
    
    BUG=angle:658
    
    Change-Id: I59d0cd131114fcb925f01d83d218a657f4498a2a
    Reviewed-on: https://chromium-review.googlesource.com/207375
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit a59b8ba4b53ca9e79fd7f3bafd8e7ec0ae385844
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Aug 27 11:47:14 2014 -0400

    Add a README file for the ANGLE github page.
    
    Change-Id: I8f1dfe43521f9a7a8f8d0a388e1b70f2e70a6e24
    Reviewed-on: https://chromium-review.googlesource.com/214482
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit ffcc2e624763712ff9495bc4b343f40713bcc5a3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 26 13:16:40 2014 -0400

    Add a performance tests target.
    
    Include a preliminary implementation of a simple benchmark app.
    
    BUG=angle:705
    
    Change-Id: I627450f6fdf01ed2054a50bd2327b7b9128c86f5
    Reviewed-on: https://chromium-review.googlesource.com/214230
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 0b7eef7c469bf717f7e1b57c6273f00d88e8b1d9
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jun 12 14:10:47 2014 -0400

    Removed common_includes.h reordered includes.
    
    Since we are not using precompiled headers anymore, remove common_includes.h
    so that fewer files are included in cpp files.
    
    Reordered includes to be in the following order:
     1) Local ANGLE project headers, ordered by directory in descending depth
     2) GL headers
     3) STL headers
    This helps enforce the include-what-you-use principal by reducing the
    number of STL headers unexpectedly shared between files.
    
    This include order conflicts with some of the Google c++ style guide
    which states that STL includes should be first but this helps us catch
    more issues.
    
    Change-Id: I8f7785f4ad574e253dd3c7b4fb1e54d3ce3b99fc
    Reviewed-on: https://chromium-review.googlesource.com/214850
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 4477109981592428f4d45c74af9e468f07f2a7a0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Aug 28 09:21:35 2014 -0400

    Make OSWindow destructor virtual.
    
    BUG=angle:734
    
    Change-Id: I6deb639abc26a314dd890189613e0a3a2e1be1d2
    Reviewed-on: https://chromium-review.googlesource.com/214714
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit d8d72434e51896c79b117229624ffed341da89a6
Author: Brandon Jones <bajones@chromium.org>
Date:   Fri Aug 22 15:11:23 2014 -0700

    Moved DynamicHLSL into renderer/d3d
    
    Obviously D3D-only class is obvious. :)
    
    BUG=angle:731
    
    Change-Id: Ide54e76a8b9bacb9b6834e2cb0a801140eecfe46
    Reviewed-on: https://chromium-review.googlesource.com/213862
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Brandon Jones <bajones@chromium.org>

commit 7162096ee6cfcb0fa797eb3503154f39ec53ef09
Author: Brandon Jones <bajones@chromium.org>
Date:   Wed Aug 20 14:04:59 2014 -0700

    More shader refactor cleanup
    
    Removed VertexShader and FragmentShader in favor of using a single Shader object
    Used VertexShaderD3D and FragmentShaderD3D directly when appropriate.
    
    BUG=angle:731
    Change-Id: Ib1ffdf85ee0bfa7c88bb9ddb1029ccbd63a9dbe1
    Reviewed-on: https://chromium-review.googlesource.com/213840
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Brandon Jones <bajones@chromium.org>

commit e3929050250c2aba21ffd2a98023a2209f5a0a97
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Aug 28 16:02:27 2014 +0000

    Revert "Fixes a compilation error when ANGLE_DEFAULT_D3D11 is defined."
    
    The condition would always evaluate to true, since we define ANGLE_DEFAULT_D3D11 as zero.
    
    This reverts commit 10f05630a9a65514e74ec235a129104a5101d582.
    
    Change-Id: I39304398be149d09a8f65a6cf44400b3672ed730
    Reviewed-on: https://chromium-review.googlesource.com/214715
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit b1319f62c0ade0fab02ec3af6fdc2c619bc72025
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Aug 28 10:55:25 2014 -0400

    Fix a compilation error for the ES3 CTS in 64bit.
    
    The generated obj file was too large, it required an extra MSVC flag for
    this particular project.
    
    BUG=angle:497
    
    Change-Id: I833a78611da78b0ac5a308547d11a911428ea04c
    Reviewed-on: https://chromium-review.googlesource.com/214684
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit ea24759ffcbd798022ed80dfeef76cc8c7bbdb54
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Aug 28 10:37:08 2014 -0400

    Remove remnants of old PCH code.
    
    Remove the precompiled.cpp file which was producing a build warning,
    and rename the header to make it clear we no longer support PCH.
    
    BUG=angle:
    
    Change-Id: I944081ae477b1478ca9c18924fb02bb920d420a7
    Reviewed-on: https://chromium-review.googlesource.com/214187
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit a6f267f99e5c49e136511d787e69dd9dcc492be7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Aug 27 11:44:15 2014 -0400

    Fix row-major layout tracking in interface blocks.
    
    Some block field types, such as nested structs, were bugged. This
    only affects our "CollectVariables" path, not our current HLSL
    UBO path.
    
    BUG=angle:466
    
    Change-Id: I2b8daf58aa7ec1ad06a80d38f57e76087eacccdc
    Reviewed-on: https://chromium-review.googlesource.com/213503
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>

commit f05cdee4ce4adc73e79adb1d01ba76e742b3f892
Author: Brandon Jones <bajones@chromium.org>
Date:   Wed Aug 27 15:24:07 2014 -0700

    Refactoring Shader objects (Take 2)
    
    This change refactors shaders to no longer be dependent on D3D-only concepts.
    
    BUG=angle:731
    Change-Id: I1006112f1d31b7e41bd14bd3225ea157b7d6c6c9
    Reviewed-on: https://chromium-review.googlesource.com/214467
    Tested-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit e54be46a42fbbad374839a85a62d5d5ce05c1a5a
Author: Brandon Jones <bajones@chromium.org>
Date:   Wed Aug 27 22:21:45 2014 +0000

    Revert "Refactoring Shader objects"
    
    This reverts commit 537dfde52a33d621ab1198c949a81b09a1269b2e.
    
    Change-Id: I5eb8923ac8f78877e6e77a8cd897021e56ee004a
    Reviewed-on: https://chromium-review.googlesource.com/214466
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Brandon Jones <bajones@chromium.org>

commit 537dfde52a33d621ab1198c949a81b09a1269b2e
Author: Brandon Jones <bajones@chromium.org>
Date:   Wed Aug 20 14:04:59 2014 -0700

    Refactoring Shader objects
    
    This change refactors shaders to no longer be dependent on D3D-only concepts.
    
    BUG=angle:731
    Change-Id: I4fc1efeba9df4f873b3d7c8ba6f67f00b6532b9c
    Reviewed-on: https://chromium-review.googlesource.com/213803
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Brandon Jones <bajones@chromium.org>

commit 549c7fdf998599a105c17c5e2456554dd3e142bb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 25 15:47:56 2014 -0400

    Fix GetUniform validation.
    
    We were missing a check for an out-of-bounds Uniform, which could
    cause us to miss an error and also give assertion failures.
    
    BUG=angle:571
    
    Change-Id: I844658a82ce13ea179a2358a202733c54bc2c0c7
    Reviewed-on: https://chromium-review.googlesource.com/212934
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 78f4180564b36fbb3ab21f298b12e2a1c8b18fcf
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 25 15:47:55 2014 -0400

    Refactor GetUniform validator helpers.
    
    BUG=angle:571
    
    Change-Id: I7b36c7af38b102a24dc0e5d5d87fc042533e90af
    Reviewed-on: https://chromium-review.googlesource.com/212933
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 99a1e985196cab0ab309209fe8319f6bdbe1dd20
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 25 15:47:54 2014 -0400

    Move GetUniform size validation to top layer.
    
    BUG=angle:571
    
    Change-Id: Ie7064cf85f6a125ccd6cdf1bff89443520e2a06d
    Reviewed-on: https://chromium-review.googlesource.com/212932
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 5599c8f6ffa7239c40069288461e015f9e545ff4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 26 13:16:39 2014 -0400

    Use shared compile helpers in the ANGLE tests.
    
    BUG=angle:730
    
    Change-Id: Ib3bd646c73355449105e6cf79bdcf0a14b391fd2
    Reviewed-on: https://chromium-review.googlesource.com/213550
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 5704d6e886d06de02d3c49b9f7d01c4e383e12a6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 26 13:16:38 2014 -0400

    Add some shared utility methods to the utils project.
    
    BUG=angle:730
    
    Change-Id: I268c7f76ee9a14ab82f646ae8ebf4eed100bf86d
    Reviewed-on: https://chromium-review.googlesource.com/213509
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 62af54670da9dc85044f1347f555b659e0ca00f9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 26 13:16:37 2014 -0400

    Use EGLWindow in ANGLETests.
    
    This completes the refactor to use the same code for EGL and OS
    Window creation for samples and tests.
    
    BUG=angle:730
    TEST=angle_tests
    
    Change-Id: Ib6de89f5bf83c0730a66f662cd1f87351f36a5f7
    Reviewed-on: https://chromium-review.googlesource.com/213297
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 0063c51742659230ce535eb270acc0f06921d754
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 25 15:47:53 2014 -0400

    Move GetUniform validation to the validation layer.
    
    BUG=angle:571
    
    Change-Id: Id1b7afb22d8bd52dbf7f95f4e8cac3fc8f798596
    Reviewed-on: https://chromium-review.googlesource.com/212931
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 10f05630a9a65514e74ec235a129104a5101d582
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Mon Aug 25 19:36:20 2014 -0400

    Fixes a compilation error when ANGLE_DEFAULT_D3D11 is defined.
    
    Change-Id: I09853b4565d5458ce4c318611a6495ec265fa8de
    Reviewed-on: https://chromium-review.googlesource.com/213899
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 3757a5ae0074658a940e285a6041255ec1102b0c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 26 13:16:36 2014 -0400

    Allow app to specify EGL Window extra parameters.
    
    Extra parameters include pixel bit sizes, swap interval
    and if we want multisampling. This gives parity between
    the tests and samples EGL creation options.
    
    BUG=angle:730
    
    Change-Id: I68d619c2ea141794f0089456bb6bba3d3b1c2a07
    Reviewed-on: https://chromium-review.googlesource.com/213296
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 8add0eb77c316ddc5fcf75129a717ae8eab93aa9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 26 13:16:35 2014 -0400

    Use OSWindow with angle_tests for Window management.
    
    BUG=angle:730
    
    Change-Id: I409fd4f4e00eb0d8d964b0ac199fa6f675a36df8
    Reviewed-on: https://chromium-review.googlesource.com/213295
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit b547ddf5eca27c9ef4a4aedf4a396b4d36f7529f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 25 16:20:46 2014 -0400

    Fix interface block static use tracking.
    
    The current code couldn't handle some uses of interface blocks,
    such as blocks with instance names.
    
    BUG=angle:466
    
    Change-Id: I0a3746f277af0538cede30232532c6788412da1c
    Reviewed-on: https://chromium-review.googlesource.com/213502
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>

commit 42bcf32e9d61f877b8e6bd089ab86382a3b7c9fd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 25 16:20:46 2014 -0400

    Refactor ShaderVariables to store fields in the base.
    
    Instead of only storing structure information in Varyings, Uniforms
    and Interface Block Fields, store it in the base class. Also only
    store base variable information for struct fields, instead of fully
    typed information. This works because stuff like interpolation type,
    invariance, and other properties are for the entire variable, not
    individual fields.
    
    Also add new fields for interface block instance name, varying
    invariance and structure name for all struct types.
    
    BUG=angle:466
    
    Change-Id: If03fc071e6becb7aad6dea5093989bba7daee69e
    Reviewed-on: https://chromium-review.googlesource.com/213501
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>

commit 6982260b26e4d1c54b5fcea1679ecea4fee80321
Author: Austin Kinross <aukinros@microsoft.com>
Date:   Tue Aug 12 15:51:37 2014 -0700

    Reduce CPU texture usage in D3D11 where possible
    
    Change-Id: I3186d78fa0a5c676611806c6f553c5c7ad06f56a
    Reviewed-on: https://chromium-review.googlesource.com/212118
    Tested-by: Austin Kinross <aukinros@microsoft.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 71117e2c977d6839020b5fa64a358db76e906559
Author: Peter Kasting <pkasting@google.com>
Date:   Mon Aug 25 16:22:51 2014 -0700

    Fix some MSVC warnings about possible truncation of int -> char.
    
    BUG=81439
    TEST=none
    
    Change-Id: Iedf02bf374e4992fc4c8ee050eff76f4f05708ac
    Reviewed-on: https://chromium-review.googlesource.com/214065
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Peter Kasting <pkasting@chromium.org>

commit db8ae16b8bbf6999a4f07dc65b0918938d78394c
Author: Kenneth Russell <kbr@chromium.org>
Date:   Mon Aug 25 19:02:35 2014 -0700

    Refactored TransformFeedback for multi-platform ANGLE and added tests.
    
    Added angle_implementation_unit_tests target designed for testing the
    cross-platform code in libGLESv2, and libGLESv2_static target as a
    dependency. The goal is to incorporate these tests into Chromium's
    angle_unittests target on all platforms; however, more work is needed
    to make libGLESv2's common code compile on non-Windows platforms, so
    this is an intermediate step.
    
    BUG=angle:719
    
    Change-Id: Ifc44a779352294e857d6e913d9b997a60674c443
    Reviewed-on: https://chromium-review.googlesource.com/214105
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Kenneth Russell <kbr@chromium.org>

commit 6d113802df067ab4f9d8a501a544de8ba2fc1560
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 25 15:47:52 2014 -0400

    Move some methods of VertexDataManager to helper methods.
    
    Refactoring patch only.
    
    BUG=angle:571
    
    Change-Id: Ic318b4c4366e33b8d33f6003dd39f660f40d354a
    Reviewed-on: https://chromium-review.googlesource.com/210649
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit ae3000b451de62a605415a5bebce2a9798e07399
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 25 15:47:51 2014 -0400

    Move validation from IndexDataManager to the API.
    
    This validates all necessary buffer sizes for element array
    buffers in the validation layer, before we start the draw.
    
    BUG=angle:571
    
    Change-Id: I602744ca1ea493e9f0f7e1ccbeb85fc4ae5c9f5a
    Reviewed-on: https://chromium-review.googlesource.com/210648
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 83da0ec52f330f7e1972929654ea6e98ab450521
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 22 14:50:42 2014 -0400

    Add OSWindow::setVisible.
    
    BUG=angle:730
    
    Change-Id: I9c9e2f3b694ba57df359906cd8517ede60af632d
    Reviewed-on: https://chromium-review.googlesource.com/213294
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 25f0e5e389b782a102182f216b92861898a2dc11
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 22 14:50:41 2014 -0400

    Add a Resize method to OSWindow.
    
    BUG=angle:730
    
    Change-Id: I64106f05eb4188305eb34bbabe7d1cde037e1948
    Reviewed-on: https://chromium-review.googlesource.com/213293
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 2b97681b9ac01909bc60f5c6caecef3599b2acf9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 25 15:47:49 2014 -0400

    Extract validation from VertexDataManager.cpp to the API.
    
    We can check for buffer overflow at draw validation time, before
    processing any vertex data.
    
    BUG=angle:571
    
    Change-Id: I4f49629b98c17ca28e25baed74cad4ae5341b20f
    Reviewed-on: https://chromium-review.googlesource.com/210647
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 1fecbc85ad7a0f52b4db0763c7f6c481a69eadf7
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Aug 25 16:26:14 2014 -0400

    Hard-limit the number of uniform vectors in D3D11.
    
    Before the Caps were added, the maximum fragment and vertex shader uniform
    vectors were hard-limited to 1024.  When increasing them to the D3D11
    maximums, the WebGL test uniforms/gl-uniform-arrays would time out.
    Reverting the limit until the test can succeed with higher limits.
    
    BUG=407309
    
    Change-Id: Ifb7015bdeb3d32d7dcd124cfedbea5f7e2c25a5e
    Reviewed-on: https://chromium-review.googlesource.com/213824
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 3b5c2dae61d95932349f2bf82b1f990739730292
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 19 15:23:32 2014 -0400

    Add a new invariant declaration operator.
    
    BUG=angle:711
    
    Change-Id: I54a48b636a68c317b8d44ee2d578847b80095289
    Reviewed-on: https://chromium-review.googlesource.com/213500
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 268b6bcd5d415e2169228f4f082e546ac05aa899
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jul 9 16:22:55 2014 -0400

    Clean up copyimage.h
    
    Change-Id: Ie4b81bb37dbbe6a9584dfc6a6c92670a9b73cda5
    Reviewed-on: https://chromium-review.googlesource.com/207374
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 70d457d8de69d8ec87bb324909c6d00649f6ee25
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Fri Aug 15 18:35:33 2014 -0400

    Adds a required EGL_BAD_MATCH case to eglMakeCurrent
    
    BUG=angle:723
    
    Change-Id: I12bb763acc70cb0737adf460226242023357b368
    Reviewed-on: https://chromium-review.googlesource.com/212701
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 3e3813f787ee5e8bb7808eed539a606a4e2e3fd3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 25 13:58:16 2014 -0400

    Optimize dynamic buffers.
    
    In D3D11, we would previously always use a staging buffer to proxy
    data to the GPU. This change allows users which specify DYNAMIC_DRAW
    to skip the staging buffer as long as they only write to index or
    vertex buffers.
    
    This improves performance on all tested GPU vendors, but in D3D11
    on AMD and Intel our SubData calls are still significantly slower
    than in D3D9.
    
    BUG=angle:705
    BUG=365078
    
    Change-Id: I4f83164176d67ff00119bdd0a6a80d7c84fd0f03
    Reviewed-on: https://chromium-review.googlesource.com/213813
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit dbd74a098ec3f8f05e396d03dff483f1a7104f86
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 25 13:58:15 2014 -0400

    Add BufferStorage11::setData.
    
    This helper method will be useful for implementing dynamic buffers.
    
    BUG=angle:705
    
    Change-Id: I8461a59724fb8866b36059c9ef5b838f072cc63a
    Reviewed-on: https://chromium-review.googlesource.com/213812
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 45965b102fbff399c3e39aeeabf55f146c75caab
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jul 9 15:54:46 2014 -0400

    Clean up copyvertex.h
    
     * Move "private" functions into copyvertex.inl.
     * Capitalize global function names give them more descriptive names.
     * Use size_t for all dimensions.
     * Use uint8_t pointers instead of unsigned char pointers.
    
    Change-Id: I408cf7ebb28655c5811ad18979a20f4273d278cd
    Reviewed-on: https://chromium-review.googlesource.com/207373
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 301d161d7e8459a3985281a32824bb733b11d778
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jul 9 10:34:37 2014 -0400

    Add caps for vertex and fragment shader limits from tables 6.31 and 6.32.
    
    BUG=angle:658
    
    Change-Id: I98509aa16caf74c3e4e28852e8b59aedd903f03a
    Reviewed-on: https://chromium-review.googlesource.com/207372
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 900013cd6b1d0ed2cdc5ee5ca0f4210624b0d8ef
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jul 7 11:32:19 2014 -0400

    Add caps from the 6.29 table.
    
    BUG=angle:658
    
    Change-Id: I392f581b1aea445d60f507c1fa897c4348c1a137
    Reviewed-on: https://chromium-review.googlesource.com/207371
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 0f796ace75e069679520a0b80bf965b4c991a7f4
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Aug 25 10:33:24 2014 -0400

    Fix compilation error due to bad merge.
    
    Change-Id: I54b3e0423e41b86b28d93fdce8d4d2d3304d56cf
    Reviewed-on: https://chromium-review.googlesource.com/213822
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 40f93a244a0d0928ef4cf39ddaab45a73d12b046
Author: Cooper Partin <coopp@microsoft.com>
Date:   Wed Aug 6 13:39:58 2014 -0700

    Added check to avoid accessing possible NULL renderer pointer.
    
    Change-Id: I38524e7d3c74656902151e004d3aa47555531fd5
    Reviewed-on: https://chromium-review.googlesource.com/211203
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 75c42f45e51cbabecf21a5f0065ebec18f7306b6
Author: Cooper Partin <coopp@microsoft.com>
Date:   Mon Aug 11 10:16:44 2014 -0700

    Fixed memory leak in  Renderbuffer class. Offscreen objects backbuffer texture /shader resource view, depth stencil texture/shader resource views were leaking during swapchain resize operations.
    
    Change-Id: Iee83a14d043eecc465e6ffb8e21a6449def38e9b
    Reviewed-on: https://chromium-review.googlesource.com/211834
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit da5777cf9f131dbafcf91c88026624545db2cc87
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jul 11 09:52:58 2014 -0400

    Create an Error object to represent GL errors.
    
    BUG=angle:520
    
    Change-Id: I1a54e6f308b5b0f310c725a7771af737a77ecd42
    Reviewed-on: https://chromium-review.googlesource.com/209619
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit ef9d63ec5a38ac6d41c0a3ba0ee9bde42090da54
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 4 10:48:02 2014 -0400

    Move the index range cache to gl::Buffer.
    
    Because we want to move all validation to the API layer, we need to
    move the index validation to the API layer. This means exposing the
    index cache to the validation layer.
    
    In the future we will probably want a way to skip index validation
    when it's not necessary, or the chosen back-end handles index
    validation on its own.
    
    BUG=angle:571
    
    Change-Id: Iee1618e669bc28abf7e0709ca4a03b4727b1383e
    Reviewed-on: https://chromium-review.googlesource.com/210646
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 33a74bde980324ae51083551079bd854d21c39db
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 18 15:47:59 2014 -0400

    Fix std140 UBO layouts.
    
    A call to "prePadding" instaed of "prePaddingString" was confusing
    the HLSL output engine.
    
    A separate bug was causing HLSL errors because HLSL puts all cbuffer
    members in a flattened namespace, which caused our internal padding
    variables to overlap.
    
    BUG=angle:725
    
    Change-Id: I69a01fefa430a83e433385c64a532a69e6851ae8
    Reviewed-on: https://chromium-review.googlesource.com/212930
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>

commit ffd7387a8c40f6920e39a5d192d063306a77f400
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Thu Aug 21 13:49:16 2014 -0400

    Prevent accessing more arguments than provided.
    
    BUG=390111
    
    Change-Id: Iecc2ac2354a82cca937a823e5c588c662264e36c
    Reviewed-on: https://chromium-review.googlesource.com/213551
    Tested-by: Nicolas Capens <capn@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 39b434637523ef3a8f6b3e984979022af8379d10
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 18 16:39:50 2014 -0400

    Use Range type for index ranges.
    
    This compacts a lot of parameter passing. Refactoring patch only.
    
    BUG=angle:571
    
    Change-Id: Ic918478d0c6b81093bfea6154ce0f6bf1d2b5be2
    Reviewed-on: https://chromium-review.googlesource.com/210645
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit f41522b6201e2ca58f839562cbf44b95c9c8ffbc
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 18 16:39:49 2014 -0400

    Split vertex translation into helper methods.
    
    Refactoring patch only.
    
    BUG=angle:571
    
    Change-Id: I17e8c1eb80bdf7c3ec7cc4bad4e70e81590e4a89
    Reviewed-on: https://chromium-review.googlesource.com/210644
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 39e7bc0578b96f8e1906e1994b6a04b21e63e981
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Aug 21 10:04:07 2014 -0400

    Fix "Reize" to "Re*s*izeWindow".
    
    BUG=angle:730
    
    Change-Id: I7d4e5a36cec2b3a5c61ae768ec4c816553031baf
    Reviewed-on: https://chromium-review.googlesource.com/213292
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit db74f18ea8f75480d33e885da226f175d4fd0665
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Aug 21 10:04:06 2014 -0400

    Make the EGLDisplay a non-static member of ANGLETest.
    
    We would create and destroy the display with every test, as it
    was not part of the environment.
    
    BUG=angle:730
    
    Change-Id: Iae003f13c8e975ae57d3af2d74f9f058a560046f
    Reviewed-on: https://chromium-review.googlesource.com/213291
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 586666ceaade6228801cf9218504b1742a919f98
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Aug 21 10:04:05 2014 -0400

    Make the sample app own the OS Window object.
    
    This allows us to use OS Windows and EGL contexts differently
    for different implementations - eg, tests and samples.
    
    BUG=angle:730
    
    Change-Id: I65e69fd829c3dbf2f1b406d90045bc296798ebb6
    Reviewed-on: https://chromium-review.googlesource.com/213290
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 1cfaaf8a3ba7c0ca6cb1a8dff7c1037467555bdd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Aug 21 10:04:04 2014 -0400

    Add a util project to share between samples and tests.
    
    This code shares the Window and EGL logic between the two
    projects.
    
    BUG=angle:730
    
    Change-Id: I8940371226a8f7b02579c332f51679c4a5d0e2a5
    Reviewed-on: https://chromium-review.googlesource.com/212799
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 5f438061701edd9147fe200f690fda2895cdbda9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Aug 20 16:38:34 2014 -0400

    Only set declaration operator if not already set.
    
    This allows us to return different operators from single
    declarations, which will be useful for treating invariant
    declarations as different operators.
    
    BUG=angle:711
    
    Change-Id: Id278b91854bbefe8e635380d7b27198198236fef
    Reviewed-on: https://chromium-review.googlesource.com/212939
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>

commit 47e3ec08994f87d92cf9fa0526cbf81fcd7002e7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Aug 20 16:38:33 2014 -0400

    Add a helper method to parse invariant declarations.
    
    This pulls out more functionality from the grammar into simple
    c++ source files.
    
    BUG=angle:711
    
    Change-Id: I19121d710dc1543585361cb53a0deb2ea0479db9
    Reviewed-on: https://chromium-review.googlesource.com/212938
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>

commit 5c09702f4550e9c5d52eff305e411da06aa11c78
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Aug 20 16:38:32 2014 -0400

    Add a getNamedVariable helper method to TParseContext.
    
    This method will be useful in more than one place, since we need
    to get a TType from an indentifier when parsing invariant
    declarations.
    
    BUG=angle:711
    
    Change-Id: I1c1befbdcc93ea626428fb4e313b8c6326c158f6
    Reviewed-on: https://chromium-review.googlesource.com/212937
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>

commit 6053a52e8d529c1bc7d35a8f92430bf8d93938b2
Author: Brandon Jones <bajones@chromium.org>
Date:   Fri Jul 25 16:22:09 2014 -0700

    Moved some validation back to Texture, unified all TextureImpl variants
    
    BUG=angle:688
    Change-Id: Ie2df18277c84345fceaa31d4f63f5cbbb47540c6
    Reviewed-on: https://chromium-review.googlesource.com/211387
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Brandon Jones <bajones@chromium.org>

commit b9b5c105799bac1a4738c7589538fab523e3a43d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Aug 20 17:28:54 2014 -0400

    Rename intermediate.h to Intermediate.h.
    
    This was breaking the Linux build.
    
    Change-Id: I8f63527cfa37ee774ea5d1e6eb0043a4c7ccc734
    Reviewed-on: https://chromium-review.googlesource.com/213300
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit cfa33e62dd7eb0fa43f129b9c996e10c03dddfd2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 19 15:30:41 2014 -0400

    Call addRef when creating a new Fence Sync object.
    
    BUG=angle:728
    
    Change-Id: Iafd838c3ceb1a88afd4d3b0994e8d841945df499
    Reviewed-on: https://chromium-review.googlesource.com/213142
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit b1a85f48a6cb63c32e884a9dea86b1ca7275bf7c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Aug 19 15:23:24 2014 -0400

    Rename compiler intermediate source files.
    
    This prevents confusion between "TIntermediate" and "TIntermNode".
    
    BUG=angle:711
    
    Change-Id: Ib7a086382a479db3f77bf2ab06ce321aa7b35d13
    Reviewed-on: https://chromium-review.googlesource.com/212936
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>

commit 4f2bf3a57ec71e15ce2a6b33ed9f96528d2f93ba
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Aug 20 16:03:52 2014 -0400

    Fix reversed shift in the huge SetData test.
    
    BUG=angle:716
    
    Change-Id: I1b621668b78373e0566f6eab6034993ec09aa4b9
    Reviewed-on: https://chromium-review.googlesource.com/213221
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 299fcf29431a4777868da1f8c1d3cd796d14e570
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Aug 6 16:46:54 2014 -0400

    Fix swizzle formats being assigned incorrectly.
    
    * Non-4 component formats cannot be used as swizzle formats.
    * Unsized formats should not have swizzle formats.
    
    BUG=angle:721
    
    Change-Id: Ic4e2642f5dc4c9811768961fbab00f6edd200ce1
    Reviewed-on: https://chromium-review.googlesource.com/211241
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 592dbb8e8f3b42ab6ccb19e409312183f564957d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Aug 5 13:26:38 2014 -0400

    Remove the gclient file, it should be generated now.
    
    BUG=angle:713
    
    Change-Id: Icd3e9c5212baf4c1dc781df6fef68c078b054e1a
    Reviewed-on: https://chromium-review.googlesource.com/210883
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 8def9aac0e28bdbc9e05264eb90e0455526fcb76
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Aug 5 11:39:15 2014 -0400

    Simplify the creation of OS-specific windows and timers in the samples.
    
    BUG=angle:521
    
    Change-Id: I9550269e9cd67fc24246853bec3c1f67cb16da2a
    Reviewed-on: https://chromium-review.googlesource.com/211130
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit b8c0a83246888832a4fffb83fa2fc78bdfed8865
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Fri Aug 15 16:41:12 2014 -0400

    Amend comment about nameless structs & layout qualifiers
    
    Change-Id: I1177c808bffd2beba7d52bd8f8869125a1624698
    Reviewed-on: https://chromium-review.googlesource.com/212700
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 3b579e36984d34a1b29d2062ca233630f5840ac5
Author: Brandon Jones <bajones@chromium.org>
Date:   Fri Aug 8 10:54:25 2014 -0700

    Minor cleanup to Query constructor to normalize it with other interfaces
    
    Change-Id: I562245cf6323edc7a127480e8de6ac16c6f97c03
    Reviewed-on: https://chromium-review.googlesource.com/211641
    Tested-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 20ba154c0944635e4b9eb41c3afdfc076c78e88e
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Mon Aug 11 17:14:44 2014 -0400

    Initialize TranslatedAttributes
    
    BUG=398337
    
    Uninitialized TranslatedAttributes were causing false positives
    in checks for nonzero attrib divisor.
    
    Change-Id: I44655d3fbe4f5478ca3757e05db38799d014e4c7
    Reviewed-on: https://chromium-review.googlesource.com/211931
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 09cf736b548787e9c766ac65b6366f9de2a690ae
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Fri Aug 8 15:41:01 2014 -0400

    Fix application of vertex divisor for non-instanced draws in D3D9
    
    BUG=398337
    
    *Re-land*
    
    ANGLE_instanced_arrays defines the behavior of the non-instanced
    draw calls (glDrawArrays, glDrawElements) such that they behave as
    single-instance draws, so the vertex divisor should still apply. We
    were handling this correctly in D3D11, but not D3D9.
    
    This fixes a new WebGL conformance test:
    https://www.khronos.org/registry/webgl/sdk/tests/conformance/extensions/angle-instanced-arrays.html
    
    Change-Id: I5ed09d41229c8996a78a3b55893c6a655a423644
    Reviewed-on: https://chromium-review.googlesource.com/211930
    Tested-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit bc75f36b04c8bab99bcecf8cdca16ecee3ac58ee
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Mon Aug 11 14:08:19 2014 -0400

    Fix nameless struct handling.
    
    BUG=401296
    
    The addition of layout qualifier handling in es3 development inadvertently
    broke handling of nameless structs.
    
    Change-Id: I805bab7a981d1f7f6227ae043720296fc3454662
    Reviewed-on: https://chromium-review.googlesource.com/211860
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 6f4423af235da5e1e5e03a602edf36cff5caeee0
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Sun Aug 10 13:54:45 2014 +0000

    Revert "Fix application of vertex divisor for non-instanced draws in D3D9"
    
    Other issues turn up on the FYI bots with this patch applied; reverting until this is investigated further.
    
    This reverts commit 9f6907bfdd4cf95d20408831b1776a6efd221ab3.
    
    Change-Id: Ib30c51b2c905e87973c73b06baa4b8ebba31d210
    Reviewed-on: https://chromium-review.googlesource.com/211683
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 9f6907bfdd4cf95d20408831b1776a6efd221ab3
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Fri Aug 8 15:41:01 2014 -0400

    Fix application of vertex divisor for non-instanced draws in D3D9
    
    BUG=398337
    
    ANGLE_instanced_arrays defines the behavior of the non-instanced
    draw calls (glDrawArrays, glDrawElements) such that they behave as
    single-instance draws, so the vertex divisor should still apply. We
    were handling this correctly in D3D11, but not D3D9.
    
    This fixes a new WebGL conformance test:
    https://www.khronos.org/registry/webgl/sdk/tests/conformance/extensions/angle-instanced-arrays.html
    
    Change-Id: Ib50e189d866d6dc97612e46460db4ca1723b3662
    Reviewed-on: https://chromium-review.googlesource.com/211445
    Tested-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit baa34bea381cb769693bbc7b28aa1cb60fc9e163
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Fri Aug 8 11:32:10 2014 -0400

    Regenerate default projects for recently added shader translator changes.
    
    Change-Id: Ic9b8758477d334a0dcd564f5f2548b5a64584fc7
    Reviewed-on: https://chromium-review.googlesource.com/211444
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit daf565720b9e26a004e8716a3f52d4a63b988217
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Wed Aug 6 16:18:30 2014 -0700

    For SCALARIZE_VEC_AND_MAT_CONSTRUCTOR_ARGS, assign precision to temp variables.
    
    Otherwise on Windows or other platforms with GLES backend, using this workaround
    will trigger shader compile failure.
    
    For the moment, to simplify the workaround, for any missing precisions in float,
    we always assign the highest available precion to it.
    
    BUG=angle:695
    TEST=webgl conformance tests
    
    Change-Id: I810579442bc7fc61d6a52b76aff31a779046fa22
    Reviewed-on: https://chromium-review.googlesource.com/211253
    Tested-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit cef06ff2352700d2842f961c22371064836ad689
Author: Brandon Jones <bajones@chromium.org>
Date:   Tue Aug 5 13:27:48 2014 -0700

    Unifying the various texture interfaces where possible
    
    Also fixed diamond inheritance pattern that was causing trouble
    on Windows 8
    
    BUG=angle:688, angle:720
    Change-Id: I678826bd4f3927c68ca1eb2e018dbb5aad33a8cc
    Reviewed-on: https://chromium-review.googlesource.com/211037
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit e5c97abd327c1f12ed93373a964c8d9a1c82731c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Aug 7 12:31:38 2014 -0400

    Fix GN build with missing ShaderVars.cpp.
    
    Change-Id: I29be6cdda643f83a40a6adc9b76153667aafcc51
    Reviewed-on: https://chromium-review.googlesource.com/211400
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit e740addbc2ab1a7928775814115771c96848ac18
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Fri Jul 18 17:01:01 2014 -0700

    Add compiler option SH_REGENERATE_STRUCT_NAMES.
    
    BUG=angle:701
    TEST=webgl conformance tests
    
    Change-Id: I13b35900956e7d840d5891a5bab90a400347cd6f
    Reviewed-on: https://chromium-review.googlesource.com/209229
    Tested-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>

commit a2ad4e8a3ed78c13f3ddb0c26d20777af2927b86
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 17 14:16:32 2014 -0400

    Export shader variables from the translator DLL.
    
    This will allow us to use these methods when compiling the translator
    as a DLL.
    
    BUG=angle:466,697
    
    Change-Id: Ic9169fb7c69fe0bf5f98addfc128a30ee6b2159d
    Reviewed-on: https://chromium-review.googlesource.com/208752
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit d9ba4f7318979e927c7a3320c5746c25381eae90
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 4 10:47:59 2014 -0400

    Move implementation of hasMappedBuffer to State.
    
    Refactoring patch only.
    
    BUG=angle:571
    
    Change-Id: Ib9f3145eaa457d94e488fd42eb4c4b9133768996
    Reviewed-on: https://chromium-review.googlesource.com/210643
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit baadf23a37aff145aa04bf254fd8c6d4a5446ea8
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Aug 4 13:58:02 2014 -0400

    Fix incorrect validation of ES3 internal format/format/type combinations.
    
    * Fix wrong internal format being passed to ValidateTexImageFormatCombination.
    * Fix ValidateTexImageFormatCombination validating the format instead of
      internal format for general support.
    * Fix support checks for format and type comparing with wrong format and
      type fields.
    * Add an early-out in format and type check loop to reduce iterations.
    
    BUG=angle:658
    
    Change-Id: I05e1b9f58b2e5ac4b5e1c0fa5a45cf37fb6a4ccd
    Reviewed-on: https://chromium-review.googlesource.com/210884
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit eb10f1c808b317f7ee9040cc950dd6601480f9f7
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Aug 4 11:15:34 2014 -0400

    Generate VS2013 public projects.
    
    Allows us to support 64 bit builds in the packaged project files.
    
    BUG=angle:714
    
    Change-Id: I7e2f57ec87d1c46b348a4821821d1e21be671e49
    Reviewed-on: https://chromium-review.googlesource.com/210825
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 366ac1e3f26284b8451424b66542bee5ec3039bd
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jul 7 14:37:57 2014 -0400

    Remove the unusused Renderer::getSRGBSupport method.
    
    BUG=angle:658
    
    Change-Id: I3c8331dfc9c1046b528e9c4a7da3411d84f8ae3c
    Reviewed-on: https://chromium-review.googlesource.com/207120
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit f049e8040983ba2dc45561101045a8786a638792
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 4 13:10:27 2014 -0400

    Fix wrong comparison in Buffer ASSERT.
    
    We were using >1 instead of <=1. Caused false errors in Debug.
    
    BUG=angle:716
    
    Change-Id: I7072df99f208bd2e0a687143faeef6c9be79728e
    Reviewed-on: https://chromium-review.googlesource.com/210990
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 18afd77ec32eceb6463542a641d0893399da5c06
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 4 13:22:22 2014 -0400

    Make the HugeSetDataTest more robust.
    
    By starting from a near-maximum size, and trying until we reach a
    a valid allocatable size, we can guarantee the test can run.
    Previously the allocation could fail under some systems and
    succeded in others, leading to flakiness.
    
    BUG=angle:716
    
    Change-Id: If1690349f7028c4e6a88f20649fb255ea2dd2587
    Reviewed-on: https://chromium-review.googlesource.com/210992
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 91fa9ce47649057c5b15113ea31c5ed4b7bd8fce
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jul 4 17:30:27 2014 -0400

    Simplify formatutils9 by exposing the internal structures.
    
    BUG=angle:658
    
    Change-Id: I8134cde4d72796c51613594e15aded86e83c4af7
    Reviewed-on: https://chromium-review.googlesource.com/206837
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 6ba451ba9b49b506a79411713434937fc6eb9909
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 4 11:59:23 2014 -0400

    Fix single buffer copies.
    
    In D3D11, the device doesn't allow overlapped buffer copies unless
    the D3D11_FEATURE_DATA_D3D11_OPTIONS::CopyWithOverlap feature is
    enabled. This isn't technically available until D3D11.1.
    
    Get around the restriction by using a different storage buffer as
    the source of the copy.
    
    Fixes funcional.buffer.copy.single_buffer.* in dEQP.
    
    BUG=angle:715
    
    Change-Id: I03fea8a1c6180a29e07e05022e3454524e320803
    Reviewed-on: https://chromium-review.googlesource.com/210902
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>

commit 778d5279b964230b3d2821ad5e7aa55897fc9e89
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 4 13:13:25 2014 -0400

    Fix a stray quote that snuck into GLSLTest.cpp.
    
    This was causing a test failure in TwoElseIfRewriting.
    
    BUG=angle:716
    
    Change-Id: I75e21ff586cdef10f0c35985a97fbb7c4783d2fe
    Reviewed-on: https://chromium-review.googlesource.com/210991
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 2c976a4497e451f260943bb15688fdcc6810fd7b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 4 11:37:53 2014 -0400

    Prettify HLSL compile retry error messages.
    
    We were inserting excess newlines in several places.
    
    Change-Id: I746334d3696e9e3be585ab02074384ae63535ea5
    Reviewed-on: https://chromium-review.googlesource.com/210823
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>

commit 9aa00bbc5303cf7817d02d04860b044b3d29804d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jul 7 12:33:25 2014 -0400

    Simplify formatutils11 by exposing the internal structures.
    
    BUG=angle:658
    
    Change-Id: I8a4ce5f45054a1fa829a9647a94cf2bd0ba93bc0
    Reviewed-on: https://chromium-review.googlesource.com/206836
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 1c28e1f069264b8702db779ace2b9a1c727f00fd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 4 11:37:54 2014 -0400

    Fix shaders with invariant keyword.
    
    We would trigger assertion failures in Debug mode, and fail to
    parse and translate correctly in Release.
    
    BUG=angle:711
    
    Change-Id: Ibb7f33b288376617598578f48c7bbdbdec044279
    Reviewed-on: https://chromium-review.googlesource.com/210822
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>

commit f4e39bfdcb6a9eeff9a94de81eafb31a158356f7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 1 17:22:17 2014 -0400

    Fix non-square matrix-to-matrix constructors.
    
    This fixes some broken tests in dEQP:
    functional.shaders.conversions.matrix_to_matrix
    
    BUG=angle:712
    
    Change-Id: I0538595f2913a2c1d4f0da901d65d608a6580d19
    Reviewed-on: https://chromium-review.googlesource.com/210882
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>

commit cf3af0bdbc5772fc638b1ba1111650105f0a315d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 1 17:22:16 2014 -0400

    Fix non-square scalar-to-matrix constructors.
    
    This fixes some broken tests in dEQP:
    functional.shaders.conversions.scalar_to_matrix
    
    BUG=angle:712
    
    Change-Id: Ia01d720307ea6ca70da266b2085a878eaaab2412
    Reviewed-on: https://chromium-review.googlesource.com/210881
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>

commit e744834a17ff9951d708ef0dc5aaf10f5222d80c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Aug 4 11:12:07 2014 -0400

    Allow gyp to generate 64 bit project files for VS2012.
    
    Visual Studio 2010 express was the last version to not support 64 bit
    configurations.
    
    BUG=angle:714
    
    Change-Id: Ie4383a437a98cecfc82702e766a460ade96062f8
    Reviewed-on: https://chromium-review.googlesource.com/210824
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit aff8084bbbfe5ed7060c61e2016145bb37700ca1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 4 10:47:56 2014 -0400

    Fix VertexBuffer11::getSpaceRequired for instanced attribs.
    
    The computation could copy more data than needed. Although benign
    it could cause performance degredation compared to the D3D9 back
    end.
    
    Change-Id: I3cf1dc79085c33d44040fd55153e63a4e5e63cb1
    Reviewed-on: https://chromium-review.googlesource.com/210640
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>

commit 5d601382b51c29d1670b58c01360416bd929842d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jul 22 15:14:06 2014 -0400

    Simplify formatutils.h by exposing the info structures.
    
    Removed all the separate query functions and simply expose the internal
    info structures.  This reduces the number of std::map/std::set operations
    that were hidden behind the API.
    
    Moved the validation tables for ES3 format combinations and effective
    internal formats into validationES3.cpp so that formatutils.h only has
    generic GL format queries.
    
    BUG=angle:658
    
    Change-Id: Ieb60d42b8eafcdb4f21dcbec130b39478ce5f7c5
    Reviewed-on: https://chromium-review.googlesource.com/206835
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 5c1e58d044616ba1b083dd44a2db3c3edb9890eb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 4 10:47:58 2014 -0400

    Add missing cache clears to D3D buffer classes.
    
    BUG=angle:709
    
    Change-Id: I93f92b916a0da26975cd459399cc2873cb4ab9f0
    Reviewed-on: https://chromium-review.googlesource.com/210642
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>

commit cfaaf72fbd4b791c6eed6932e3e1e8741fd25d91
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 31 10:47:54 2014 -0400

    Fix CopyBufferSubData.
    
    We were passing the arguments from the gl::Buffer stub to the
    implementation class, which was breaking the call.
    
    Also clean up a few comments.
    
    BUG=angle:709
    
    Change-Id: Ib92a36d1c52d60d8929f567d0daf54e9d6a2d127
    Reviewed-on: https://chromium-review.googlesource.com/210641
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>

commit 7bf0c8670ac46356ccc8d40fb0ab6af5def1f4be
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 1 10:04:09 2014 -0400

    Fix GN build for libEGL.
    
    Our build in GN differed slightly from our gyp build, causing the
    linker to complain about inconsistent linkage. Also remove some
    stray definitions of EGLAPI from our headers.
    
    Change-Id: I5d3a09ccb0cec528ead33944ce0996cceed32d86
    Reviewed-on: https://chromium-review.googlesource.com/210821
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 58c55c1373bed0df279fd5ce0b579def738f6ed3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 31 17:34:30 2014 -0400

    Fix GN build for libGLESv2.dll.
    
    In a previous fix to a Clang build error, we had neglected to update
    the GN build. Broken in commit 07d49ef535.
    
    BUG=angle:707
    
    Change-Id: Ic11aa907d591540e915bec60f3bafaea471689d5
    Reviewed-on: https://chromium-review.googlesource.com/210652
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brett Wilson <brettw@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit e294bb8741ec02fdb814ef3a3999c2d61c1e798f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 17 14:16:26 2014 -0400

    Add new shader inspection APIs.
    
    Each new entry point corresponds to one of the variable types:
    varyings, attributes, uniforms, output variables, and interface
    blocks. They return a pointer to the vector with all of the
    parsed variables, which then the app can copy to its own memory.
    
    Currently we do not support the staticUse field in the HLSL
    translator.
    
    BUG=angle:466
    
    Change-Id: I7dc09e761ab070feef5360ad27740110c44853b3
    Reviewed-on: https://chromium-review.googlesource.com/208750
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>

commit 13cfd276d32eec0cf180a96e51c027cce6e9f5f8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 17 14:16:28 2014 -0400

    Move shader variables header to include folder.
    
    This allows the API to query for clear type introspection into the
    parsed GL types from the translator. The returned types are not
    expanded and have properly nested fields.
    
    This patch uses the types from ShaderVars.h to return GL type
    information. The app must include this header to get access to
    the types structs.
    
    BUG=angle:466
    
    Change-Id: I28ad0d6f11a964804dd234ef0d00651f665d1ae3
    Reviewed-on: https://chromium-review.googlesource.com/208751
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit 6a72979fe011b47db336bb5c9c3b7dafbd8a8a16
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jul 18 10:33:14 2014 -0400

    Move shadervars constructors to cpp files.
    
    This avoid unnecessary binary bloat from STL default constructors
    and assignment operators.
    
    BUG=angle:466,697
    
    Change-Id: I679e524d3e3dbd0d3866fc30a5a01967d8769249
    Reviewed-on: https://chromium-review.googlesource.com/208356
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: bratell at Opera <bratell@opera.com>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit a3fe2b4e1fce3d0637e2626c6154d19707313a85
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jul 18 10:33:13 2014 -0400

    Update non-default constructors in shadervars.h.
    
    Most of these constructors are unused. Remove the unused ones,
    and change the usage of existing constructors to be consistent.
    
    BUG=angle:466,697
    
    Change-Id: I455dd314036e1dfcb8c4690bab577b81dd0e060c
    Reviewed-on: https://chromium-review.googlesource.com/208355
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>

commit f8bdfebc5eefb90dc973366e711f1295a6026b77
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 31 18:31:28 2014 +0000

    Revert "Unifying the various texture interfaces where possible"
    
    This reverts commit 8c9038d6f57a4b53c97c4fb803259e7a50ab4cea.
    
    Change-Id: I29c25121870e6f8d12144d235029f46fff90be7c
    Reviewed-on: https://chromium-review.googlesource.com/210651
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 8c9038d6f57a4b53c97c4fb803259e7a50ab4cea
Author: Brandon Jones <bajones@chromium.org>
Date:   Mon Jul 21 09:43:22 2014 -0700

    Unifying the various texture interfaces where possible
    
    BUG=angle:688
    Change-Id: I43be738e0a42f7a7e1448e1d9300b30d4bc54125
    Reviewed-on: https://chromium-review.googlesource.com/209343
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Brandon Jones <bajones@chromium.org>

commit 4fbd36ec50ff9e15887b948cc075526dd72d1415
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 29 15:20:48 2014 -0400

    Add a test for multisampled PBOs.
    
    We don't allow ReadPixels from multisampled targets in GL.
    
    Also update the assertions in Buffer11 to reflect our expectations.
    
    BUG=angle:511
    
    Change-Id: Ia3d5f796f5405fbae1187f3d45b0080d7f24b6d9
    Reviewed-on: https://chromium-review.googlesource.com/210053
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>

commit 8e8bf555467c5d2b4bae3c32dcf5c0818ffc4e15
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jul 3 13:50:40 2014 -0400

    Remove the MajorShaderModel member from Context.
    
    BUG=angle:658
    
    Change-Id: Iab7906309f6603d5364d891bb332af8c3bf457fe
    Reviewed-on: https://chromium-review.googlesource.com/206834
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 5f4c46363bf8e7eb6852c3af42a2e57157e72113
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jul 3 13:46:52 2014 -0400

    Use the FormatCaps for multisample validation and queries.
    
    BUG=angle:658
    
    Change-Id: Ic9fa53fb62d7eff62f07b68d7ddada461ecad859
    Reviewed-on: https://chromium-review.googlesource.com/206832
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 8d62bcc4e282daff5d19966c8d7c9b1286f7607c
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Fri Jul 25 15:08:21 2014 -0400

    Avoid D3D11 primitive restart index using 32-bit indices
    
    D3D11 interprets an index value of 0xFFFF in a 16-bit index buffer as a
    primitive restart marker. This behavior can't be toggled off.
    http://msdn.microsoft.com/en-us/library/windows/desktop/bb205124(v=vs.85).aspx
    We work around it by converting to 32-bit indices.
    
    BUG=angle:708
    
    Change-Id: Ibc92d6ba98e5f11a98d76cae14f90ca050a19964
    Reviewed-on: https://chromium-review.googlesource.com/209883
    Tested-by: Nicolas Capens <capn@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 34b66f32554dad3a44bfd1a16d804bf02d8f99f5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jul 23 15:09:50 2014 -0400

    Use D3D11 Renderer for ANGLE Tests.
    
    Many of our tests rely on extensions and ES3 support. Until we
    have the ability to switch between Renderers for specific tests,
    the D3D11 Renderer should enable many failing tests to pass.
    
    Also fix a double-delete crash in the test cleanup routine.
    
    BUG=angle:702
    
    Change-Id: I5e615ca1a35bd109d9f7bcbb5fa90b88e09157bd
    Reviewed-on: https://chromium-review.googlesource.com/209102
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit 6b19b002ebf398898e2c8d31ace9b145ee2d1bf3
Author: Brandon Jones <bajones@chromium.org>
Date:   Wed Jul 16 14:32:05 2014 -0700

    Removing D3D-isms from gl::Texture
    
    BUG=angle:688
    Change-Id: I0cdc758000993f2d54240c69a84f5ae149306d9e
    Reviewed-on: https://chromium-review.googlesource.com/209332
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Brandon Jones <bajones@chromium.org>

commit 07d49ef5350a95cfd6321226c178d22cc73aebc9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jul 25 11:52:38 2014 -0400

    Fix Clang warning with preloaded D3DCompiler string.
    
    Clang was complaining that we were casting a char* to a wchar_t*.
    
    BUG=angle:707
    
    Change-Id: I063165e9add4e9b57d131181da30c05e5abbc1c2
    Reviewed-on: https://chromium-review.googlesource.com/209618
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit a09403c0058c3030a434910d2192293a8cbfda38
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 21 10:03:36 2014 -0400

    Fix masked ClearBuffer.
    
    We were not properly setting the masked channels for these APIs.
    Since we use a std::vector for tracking the render targets for
    a particular ClearBuffer call, we lose the indexing into the
    clear parameters. Fix this by storing the information in the
    std::vector along with the Render Target.
    
    BUG=angle:702
    
    Change-Id: Ie3b1e870aa04054411c4f155682b86a340ec00cf
    Reviewed-on: https://chromium-review.googlesource.com/209103
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit bfdea66b45dd1b98a565e767533361ef728731ce
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jul 23 14:16:32 2014 -0400

    Remove try-catch blocks from entry points.
    
    BUG=angle:700
    
    Change-Id: I036901c397053a75677923304d7e1ed697c82aa2
    Reviewed-on: https://chromium-review.googlesource.com/209570
    Reviewed-by: <ehsan@mozilla.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit cafa2102cdcfec9b8e80fb031735c59a8d98da7a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jul 23 16:43:22 2014 -0400

    Fix Clang warnings.
    
    MSVC's more permissing validator missed a dependent typename, and
    deleting a void pointer.
    
    BUG=angle:703,704
    
    Change-Id: I227b94c9c1590973d7b11b0ed0bfda32f2a71cec
    Reviewed-on: https://chromium-review.googlesource.com/209613
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 5063f55a823348ef6ac774a10e12f410c98af7c8
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jul 23 16:27:31 2014 -0400

    Add a MemoryBuffer type to safely allocate large user data buffers.
    
    MemoryBuffer has a similar interface to std::vector but returns a bool on
    resize to do error checking.
    
    BUG=angle:700
    
    Change-Id: Ib201eeb91b07f5b7f970e153f5d1e110f9b2fa55
    Reviewed-on: https://chromium-review.googlesource.com/209612
    Reviewed-by: Nico Weber <thakis@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 142ec4265cec061f5a695e949fa136b2cda636d8
Author: Brandon Jones <bajones@chromium.org>
Date:   Wed Jul 16 10:31:30 2014 -0700

    Refactored Texture2DArray, separated out D3D logic
    
    BUG=angle:688
    Change-Id: Ie3e5ac2bedcffb816ef1537575f09afb3f5e7a35
    Reviewed-on: https://chromium-review.googlesource.com/208381
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Brandon Jones <bajones@chromium.org>

commit 2f5469c2d6559c7580f8ffbb47b16920a4e16660
Author: Brett Wilson <brettw@chromium.org>
Date:   Tue Jul 22 17:00:17 2014 -0700

    Export include directories to dependents in GN.
    
    Translator headers that are included by dependent code
    (example: ShaderLang.h) expect to be able to include files from
    "includes" (example: "KHR/khrplatform.h"). This automatically
    applies this include path to dependent targets.
    
    Change-Id: I6990f66132562f142a6cdf8b8c434d2dbaad1c98
    Reviewed-on: https://chromium-review.googlesource.com/209452
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Brett Wilson <brettw@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 493daf5a3b71164126f4d2e889ab6a45f6d35823
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jul 3 13:38:44 2014 -0400

    Update the format table to check support for filtering and rendering.
    
    Since filerability and renderability may depend on separate extensions,
    use functions to determine their support.  Context now uses these
    functions to fill it's own TextureFormatCaps.
    
    BUG=angle:658
    
    Change-Id: Ib4dc877ba7c24f84a3823fd5aa2e01a3b3621705
    Reviewed-on: https://chromium-review.googlesource.com/206831
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 4836d22aa9d99157009f09e95ee5dd78d228b3f4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 24 06:55:51 2014 -0400

    Fix ASSERT when rewriting else-if blocks with no else.
    
    The code assumed an else-if would end in an else. We can also save a
    few allocations in the cases where there is no else.
    
    BUG=angle:699
    
    Change-Id: I550857366775b4a34aea97e117ef732297d3f448
    Reviewed-on: https://chromium-review.googlesource.com/208681
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>

commit 048c4fe74a08b1139635cdeb50e0bb0b8324cd71
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jul 23 15:28:33 2014 -0400

    Fix buffer tests.
    
    The names of the tests were not properly capitalized, and the huge
    buffer test could fail unexpectedly when it was run after several
    prior tests which allocated large amounts of memory.
    
    Change-Id: Ied5d1b6f56354e748f0df9d52658d14de9a559ac
    Reviewed-on: https://chromium-review.googlesource.com/209611
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit e04a5b7bd6b4d2f934f4556b52977d28b77ce4a0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jul 18 10:33:12 2014 -0400

    Remove sh::InterfaceBlock member info.
    
    We can compute the interface block member info entirely on the
    API side. This will allow us to get rid of some un-necessary
    code in the compiler.
    
    BUG=angle:466
    
    Change-Id: I664ffc82de5f2723156e51f4e9ffc07e4de162aa
    Reviewed-on: https://chromium-review.googlesource.com/207781
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>

commit 28f70c3a28eb2b26315d42c6109fd5801928f58a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jul 18 10:33:10 2014 -0400

    Remove sh::Uniform::registerIndex and elementIndex.
    
    With the previous cleanups, these fields aren't needed any longer.
    We can also clean up some unused methods and simplify existing code.
    
    BUG=angle:466
    
    Change-Id: I96df8d152324bda5e6868b5eccdf52bdc09155e9
    Reviewed-on: https://chromium-review.googlesource.com/207256
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>

commit bf9cce2e2bc354c07eed0f768e1f3e03278e5da4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jul 18 10:33:09 2014 -0400

    Use the block encoder class to store uniform offsets.
    
    This will allow us to use the same code path for assigning register
    information in all places. Because of this it fixes some long-broken
    dEQP struct uniform tests.
    
    BUG=angle:466
    BUG=angle:505
    
    Change-Id: I4161a388503aa09bbe2d21ff47bfb3352ec93881
    Reviewed-on: https://chromium-review.googlesource.com/207255
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>

commit 9fe25e9eaafd8de2e4890cfb926c678ab6e4abb8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jul 18 10:33:08 2014 -0400

    Add a uniform register query to the translator.
    
    This returns the uniform index that we assigned for default uniforms.
    All the dependent structure offsets can be determined from the base
    register, so we won't have to store uniform information in the shader
    variable.
    
    BUG=angle:466
    
    Change-Id: I0dd05251e8dba00c20d09fd865dfb150de56738e
    Reviewed-on: https://chromium-review.googlesource.com/207254
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>

commit 18fe4294aff47dce74a4015025c6793f06369e67
Author: Brandon Jones <bajones@chromium.org>
Date:   Tue Jul 22 13:03:06 2014 -0700

    Added virtual destructors to VertexArrayImpl and BufferImpl
    
    Change-Id: Ib9d8b2fc85b63f0cd52a2b19129a88ba7acbc017
    Reviewed-on: https://chromium-review.googlesource.com/209380
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Nico Weber <thakis@chromium.org>
    Tested-by: Nico Weber <thakis@chromium.org>

commit 6cf8e1b906ebfcda10f0f1cc673df6688c81e0e0
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jul 3 13:03:57 2014 -0400

    Reduce the number of TextureFormatCaps members.
    
    Since GL has no notion of texture formats that can be used for different
    types of textures, merge the TextureFormatCaps texture support members.
    
    Also merge the various renderability members since the texture type is
    enough to determine what type of renderable a format is.
    
    BUG=angle:658
    
    Change-Id: I7cba50b147fcca8f3880d65c06c57df9c65ed19c
    Reviewed-on: https://chromium-review.googlesource.com/206830
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit ad8636ee810e0865cd3a7cbb45372546d36cc870
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jul 9 12:10:03 2014 -0400

    Fix missing EGL extension function exports.
    
    BUG=angle:490
    
    Change-Id: Ie4e7b0075f60676aa5f9fb51a0d6fb8f84b9ed90
    Reviewed-on: https://chromium-review.googlesource.com/207140
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit f0955f1585d2f28acb11664f2d9eb3a1aa684577
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jun 20 16:07:07 2014 -0400

    Update the samples and tests to use eglGetPlatformDisplayEXT.
    
    BUG=angle:490
    
    Change-Id: I5a685e42089377b5c600cd1f7ca8bd9a6654b3ba
    Reviewed-on: https://chromium-review.googlesource.com/204939
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 591e6afe5a73c9ced13dfef2c2e18fd5531e1d8e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jun 18 18:08:57 2014 -0400

    Add support for ANGLE_platform_angle.
    
    BUG=angle:490
    
    Change-Id: If3c897a9ae3d27b96e4b9bf9475a9ac23a1090ba
    Reviewed-on: https://chromium-review.googlesource.com/185396
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 78b1acdb117a4c209a2479951b6831ee4d288269
Author: Brandon Jones <bajones@chromium.org>
Date:   Tue Jul 15 15:33:07 2014 -0700

    Refactored Texture3D, separated out D3D logic
    
    BUG=angle:688
    Change-Id: I6cda73c2e4c8a026b8c5222bc40cea93ad4e0ba3
    Reviewed-on: https://chromium-review.googlesource.com/208102
    Tested-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 0511e808f82a93da95b5b94755f50426b362a2b4
Author: Brandon Jones <bajones@chromium.org>
Date:   Mon Jul 14 16:27:26 2014 -0700

    Refactored TextureCubeMap, separated out D3D logic
    
    BUG=angle:688
    Change-Id: I2300aaad4fab25df484e0bc3613ac3b176addc93
    Reviewed-on: https://chromium-review.googlesource.com/208191
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Brandon Jones <bajones@chromium.org>

commit 11c26b9c1182c9872693bab0b1fbf0fac148ab73
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jul 18 14:21:22 2014 -0400

    Refresh generated projects.
    
    Change-Id: I46845edcd6e8334ca56b411ecb8677dfaebf8a07
    Reviewed-on: https://chromium-review.googlesource.com/208861
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit 04bac60c69e4d48abe44d60b3c2efa28edc470aa
Author: Brett Wilson <brettw@chromium.org>
Date:   Wed Jul 16 14:19:18 2014 -0700

    Explicitly list files for the build.
    
    Removes shelling out to enumerate_files for the main targets (tests
    and examples are currently unchanged) in favor of explicitly listing
    out the files in the build.
    
    There are a number of reasons. My immediate reason is that doing this
    allows the file lists to be shared with the GN build so the GYP and GN
    builds of angle should mostly automatically stay in sync now. In
    addition, I don't think we should be enumerating files in GYP. No
    other Chrome sub-projects do this, and Chrome engineers expect files
    to be listed in .gyp* files. It's also slower to shell out a bunch of
    times to get the file lists (this matters more in the GN build which
    runs very quickly).
    
    Updates the GN build to share these file lists. This unbreaks the
    Windows GN Angle build.
    
    BUG=angle:698
    
    Change-Id: Iab8829628aeb7232bb64f4c247c35c6485bba3ee
    Reviewed-on: https://chromium-review.googlesource.com/208461
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Brett Wilson <brettw@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit e40d1e9c70f1d1d5d0d92f24f8868fcf0b610639
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Wed Jul 16 17:40:36 2014 -0700

    Fix style violations.
    
    BUG=angle:650
    TEST=no behavior change
    
    Change-Id: I3096615a181b1ec2c18ce60566c3d6249975b84e
    Reviewed-on: https://chromium-review.googlesource.com/208569
    Tested-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit b759a748730b4a0b169ebb588046feb63dc164b5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 17 10:40:49 2014 -0400

    Fix test class names to reflect their class-ness.
    
    Style guide dictates a camel case scheme for classes. Since the tests
    are actually classes, update their names to reflect that.
    
    Change-Id: Ib7422b6d8c5de8414765439704fc103eae8b2d63
    Reviewed-on: https://chromium-review.googlesource.com/208680
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit 75ec7c5bda0d57d216527500ff431429cde9f3ba
Author: Andrew Knight <andrew.knight@digia.com>
Date:   Thu Jul 17 15:00:38 2014 +0300

    Fix "error: extra qualification 'rx::ImageD3D::' on member 'makeImageD3D'"
    
    As reported by GCC 4.8.1/MinGW.
    
    Change-Id: If62d234074a0a9180f1f3c3619dbb2dd8047d0f3
    Reviewed-on: https://chromium-review.googlesource.com/208670
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Tested-by: Andrew Knight <andrew.knight@digia.com>

commit 5b130dcc0f273a7a5ce8c17172bd4d1ce7e0d1be
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jul 11 17:02:05 2014 -0400

    Do not create dummy variables when linking uniforms.
    
    This cleanup prepares us for removing the uniform register info
    from the shader translator types.
    
    BUG=angle:466
    
    Change-Id: I86f47970b793135f410a5ef698fc96d44219ee96
    Reviewed-on: https://chromium-review.googlesource.com/207253
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit 66d43d24c7560d5812e1adc3491578a783379c9f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jul 11 17:02:03 2014 -0400

    Refactor ProgramBinary uniform linking code.
    
    This prepares us for moving most of the register assignment to the
    ProgramBinary class itself, and cleans up the various methods.
    
    BUG=angle:466
    
    Change-Id: Ie2965ed41ac50617584fd7a6d7b0ec2784e7dfaf
    Reviewed-on: https://chromium-review.googlesource.com/207252
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>

commit cd68fe7989afb5e5a9b1ae92ae1dae1478a9d1f6
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Fri Jul 11 10:45:44 2014 -0700

    Add a compiler option to rewrite vec/mat constructors
    
    If one of the parameters is a vec/mat, expand it into scalars.
    
    This is to work around Linux NVIDIA/AMD and Mac NVIDIA driver bugs.
    
    BUG=angle:695
    TEST=webgl conformance test
    
    Change-Id: I35e1e25167d99f873dcb03bfb57a30e84b1aeed5
    Reviewed-on: https://chromium-review.googlesource.com/207479
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Zhenyao Mo <zmo@chromium.org>

commit fc43d273cbbbed105fa05c71741b479403d2290c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jul 11 17:02:02 2014 -0400

    Remove the sh::InterfaceBlock::dataSize member.
    
    We can replace this by doing the same calculation in the HLSL-side
    code.
    
    BUG=angle:466
    
    Change-Id: Iecae4a92e9037e851419ce73e6267094ee8071a2
    Reviewed-on: https://chromium-review.googlesource.com/207251
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit d4116ff357cdc7cae5cd343df26a0cd4da5228a2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jul 11 17:02:01 2014 -0400

    Remove sh::InterfaceBlock::registerIndex.
    
    This value is HLSL-only and we can use the new query API to hide it
    from GLSL programs.
    
    BUG=angle:466
    
    Change-Id: I75dc2fbbf1b29b1f6d561568174a15dea1f5b130
    Reviewed-on: https://chromium-review.googlesource.com/207250
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit f47bebc401c034519a805fcdb28e7e456776115c
Author: Brandon Jones <bajones@chromium.org>
Date:   Wed Jul 9 14:28:42 2014 -0700

    Refactored Texture2D, separated out D3D logic
    
    BUG=angle:688
    Change-Id: I93c2ff0b125278234d61324844b79cc58135d4d8
    Reviewed-on: https://chromium-review.googlesource.com/207675
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Brandon Jones <bajones@chromium.org>

commit 53a94a8238621e36e437975e7a17a91cf995aed9
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Tue Jun 24 15:20:36 2014 -0400

    Refactors State to be a fully-qualified class
    
    BUG=angle:685
    
    Change-Id: I36cff2da985a12c7180fe2850ccd471f4cebbaad
    Reviewed-on: https://chromium-review.googlesource.com/206634
    Tested-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 1da3cf639e59990084b0079ffd290676e37e6753
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Fri Jun 27 15:32:23 2014 -0400

    Removes sub-entry-point Framebuffer validations
    
    BUG=angle:685
    
    Change-Id: I2d630396a5971972f858cca9c39ceb6509492aa4
    Reviewed-on: https://chromium-review.googlesource.com/205836
    Tested-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit aa2ab7d8c9112231b623ea3ebb85e3f28c26e526
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Tue Jun 24 17:51:51 2014 -0400

    Cache bound FBO and VAO objects themselves in State
    
    BUG=angle:685
    
    Change-Id: I19ae6752d1a7490122dd9ca076efb08564e1901d
    Reviewed-on: https://chromium-review.googlesource.com/205835
    Tested-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit a1851e8fbb596b5cd8da1ba585ce69641f7f3337
Author: Peter Kasting <pkasting@google.com>
Date:   Thu Jul 10 17:09:12 2014 -0700

    Fixes for re-enabling more MSVC level 4 warnings: angle/ edition
    
    This contains fixes for the following sorts of issues:
    * Signedness mismatch
    
    BUG=81439
    TEST=none
    
    Change-Id: Ief116d4b79b63479641259119246bb1465bbfd1f
    Reviewed-on: https://chromium-review.googlesource.com/207418
    Reviewed-by: Alok Priyadarshi <alokp@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 6518fe2466f816f9da9f72d7be6ed7962226bdf9
Author: Brandon Jones <bajones@chromium.org>
Date:   Tue Jul 8 15:16:52 2014 -0700

    Moved TextureStorage and Image into d3d
    
    BUG=angle:688
    Change-Id: I98ffa1082340a829a77fe5082958898b9c6ab1a2
    Reviewed-on: https://chromium-review.googlesource.com/207054
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Brandon Jones <bajones@chromium.org>

commit d4cfa57df4df85546a969f66ec50d364f6e6d4fe
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 8 10:00:32 2014 -0400

    Move more draw call validation to the API.
    
    The GL expects us to reject invalid draw calls before we start
    doing any work, so we can prevent internal unnecessary state
    changes.
    
    Also update the program binary's cached sampler data when we
    validate. The previous patch was breaking draw calls in Google
    Earth WebGL.
    
    BUG=angle:571
    BUG=390412
    
    Change-Id: I1c4e204ae2467afc36b76af975a3a49e26349639
    Reviewed-on: https://chromium-review.googlesource.com/206482
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit f6d38b05cefbfb31f80fca675034e12544608391
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 14 11:54:41 2014 -0400

    Fix CollectVariablesTest GCC/Clang compile errors.
    
    BUG=angle:696
    
    Change-Id: I193f6771d85f2b777e84dc4d650b50fb31875489
    Reviewed-on: https://chromium-review.googlesource.com/207770
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>

commit 4e1fd41255ab4ce8b2cd745033f385c3e8bd9e7a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 10 17:50:10 2014 -0400

    Store a map of interface block registers.
    
    The shader translator can return the assigned register for a
    block via a new API. This will let us delete the member variable
    in interface blocks for the register -- a nice thing for GLSL.
    
    BUG=angle:466
    
    Change-Id: I9bc38e0cd031e32f90787be42c2324fc7c79dbf9
    Reviewed-on: https://chromium-review.googlesource.com/206828
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 829e89ef9063553f5f092c2be92016bc43cd7b2f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 10 17:50:09 2014 -0400

    Add a default constructor to sh::ShaderVariable.
    
    This cleans up a few repeated lines of code in shadervars.h.
    
    BUG=angle:466
    
    Change-Id: Ie77130e8420d28df790bf9bc036d52fd053b3ce9
    Reviewed-on: https://chromium-review.googlesource.com/206827
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit d5512cd42b4b663876f697a3ebca7636d360ec8d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 10 17:50:08 2014 -0400

    Collect shader outputs and interface block information.
    
    This paves the way for returning ES3-specific info from the shader
    translator with the new query methods.
    
    BUG=angle:466
    
    Change-Id: Ib13cdb604854cdf11e9dc00dd94f18eadc946561
    Reviewed-on: https://chromium-review.googlesource.com/206770
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit 0b7e5d8c8fdb624dce4a01669200d93c914683f6
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jul 11 16:33:09 2014 -0400

    Fix 64-bit warnings.
    
    BUG=angle:631
    
    Change-Id: I76439ca2549916d594a54a4a9a35387d80b023ba
    Reviewed-on: https://chromium-review.googlesource.com/207441
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit c0b9ef4bce04077046ca57b9bc249f26e42d07ca
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jul 2 10:02:37 2014 -0400

    Split Caps into Caps, Extensions and TextureFormatCaps.
    
    Context now holds it's own Caps, Extensions and TextureFormat caps so that it
    can modify them based on client version or work-arounds.
    
    BUG=angle:658
    
    Change-Id: Id71b6c89b7aa36e1f3dc42b0e4720eaed1851fb9
    Reviewed-on: https://chromium-review.googlesource.com/206480
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 57f9b6d56bec5e2040909b9dc0c68ddb7ac4a978
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jun 4 16:46:37 2014 -0400

    Clean up generatemip.h.
    
    * Move "private" functions into generatemip.inl.
    * Use size_t for all dimensions.
    * Use uint8_t pointers instead of unsigned char pointers.
    
    BUG=angle:666
    
    Change-Id: I8a1324802e4d670c042e0961c2b6f6fd53f4ebc7
    Reviewed-on: https://chromium-review.googlesource.com/202503
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 86846e242e61e16d19e7a07492c081ee29a59694
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jun 3 15:48:54 2014 -0400

    Clean up the functions in loadimage.h/cpp.
    
    * Capitalize the function names to fit the style guide.
    * Use explicit sizes in the function names to avoid any confusion about
      input or output sizes.
    * Use explicit sized types in the functions to avoid potential issues on
      new platforms since a lot of bit-twiddling is used.
    * Use size_t for all sizes.
    * Use uint8_t for all binary data for input and output data so that pointer
      arithmetic is much easier.
    * Move templated function definitions into an .inl file so that
      loadimage.h looks as clean as possible.
    
    BUG=angle:665
    
    Change-Id: Id7173ed66d9e1b7ee3261eea11e77d838cbd2951
    Reviewed-on: https://chromium-review.googlesource.com/202590
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 2a6564eb7314c6da27d8d21c5a068034d251d028
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jul 11 09:53:19 2014 -0400

    Fix build errors in validationES.cpp.
    
    This was caused by a bad auto-merge with the Caps patch.
    
    BUG=angle:694
    
    Change-Id: I589d4dafb7ed890d7c340c9ae98080dff945c69a
    Reviewed-on: https://chromium-review.googlesource.com/207540
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit e92a3546da271f33110714508529fef7306c4656
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 3 10:38:58 2014 -0400

    Remove redundant FBO query methods.
    
    Several query methods simply wrapped a NULL check with a default
    return value. Most of these safety checks were unnecessary.
    
    BUG=angle:660
    
    Change-Id: I0ac6897f06be082c8efab8721920d1b51ba999ee
    Reviewed-on: https://chromium-review.googlesource.com/205606
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 55ec3b111464887e6e3ab1df848cf73509cde418
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 3 10:38:57 2014 -0400

    Refactor common attachment validation to base method.
    
    Split the validation of FBO attachment binding to common methods
    and separate logic for layers and for 2D attachments.
    
    BUG=angle:571
    
    Change-Id: I9a59055cca60dd853311751be355440ad1e5ead0
    Reviewed-on: https://chromium-review.googlesource.com/205605
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 23a8a433529d9db23882c702a29d5e594841563d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jul 9 13:27:42 2014 -0400

    Store compact and expanded shader variables.
    
    The current shader API ShGetVariableInfo relies on an expanded
    list of shader variables. That means that struct, or user-defined
    variables, are expanded into separate entries for the app to
    easily query struct members. The new API will preserve the struct
    layout, so we can store both to support both the old and new
    queries.
    
    BUG=angle:466
    
    Change-Id: Id30a1d7d1bb49c7e745510e0d699f94ad3184b9c
    Reviewed-on: https://chromium-review.googlesource.com/206569
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>

commit aae65a4e53fae703cc0ea92adc649247367917fd
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon May 26 12:43:44 2014 -0400

    Add caps for texture size limits and other caps in the 6.28 table.
    
    BUG=angle:658
    
    Change-Id: Ia265fe1d3713db7701b41e8430d6d186f352ab4a
    Reviewed-on: https://chromium-review.googlesource.com/201363
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 77f7485340e0a4c29a44b719c40e0ff50efbc001
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 8 15:02:34 2014 -0400

    Add a GetVariableInfo helper method.
    
    This method replaces the similar logic in storing uniforms,
    varyings, and interface blocks when collecting variable info.
    We can also re-use this method for both GLSL and HLSL programs.
    
    BUG=angle:466
    
    Change-Id: Ie6c13abe0f09f38b2f9b36e117caae4833eaccbf
    Reviewed-on: https://chromium-review.googlesource.com/206566
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>

commit 93455ebee5caa2f1648f6aa7f80fc230f7e14bfa
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 8 15:22:50 2014 -0400

    Add missing limits include to angleutils.h
    
    This missing include was breaking the build on Linux.
    
    BUG=angle:692
    
    Change-Id: Id502f477d6e3373519b011e75c144782e9101944
    Reviewed-on: https://chromium-review.googlesource.com/206633
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 4667c4540b35916181446bbd4bb8b46e6125d8d7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 8 15:02:36 2014 -0400

    Refactor style in VariableInfo.cpp.
    
    This patch simplifies the functionality change in a subsequent patch.
    
    BUG=angle:466
    
    Change-Id: Ib1c360438fad74fb15cd6cbf983240229c0eee76
    Reviewed-on: https://chromium-review.googlesource.com/206568
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 53cb14dce7b1f43e3f6afc852634bca1c52cb841
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jul 8 15:02:35 2014 -0400

    Share ArrayString and Str helper methods.
    
    Placing these string helper methods allows us to re-use them in
    the relevant place of the shader translator.
    
    BUG=angle:466
    
    Change-Id: Idd638542027d3b1035bc79fc941e80bf436c82af
    Reviewed-on: https://chromium-review.googlesource.com/206567
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit b23375fe97ffe313596dee86f6dad3be5c619c20
Author: Brandon Jones <bajones@chromium.org>
Date:   Tue Jul 8 10:49:39 2014 -0700

    Fixed an issue with Streaming Vertex data overflowing it's buffer.
    
    Bug=angle:689
    Change-Id: Ia0ee6f951822901560888ea300a3889601fa1d89
    Reviewed-on: https://chromium-review.googlesource.com/207010
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Brandon Jones <bajones@chromium.org>

commit aa7e166091b7aa779191ed6f60e4b1e51d029afd
Author: Ehsan Akhgari <ehsan@mozilla.com>
Date:   Sat Jul 5 21:13:11 2014 -0400

    Improve the const correctness.
    
    This improvement to the const correctness makes ProgramBinary::save
    compile with clang-cl as well, which is more strict than MSVC.
    
    Change-Id: Iae091643fa1df7f094b89dbe7529c4e173f04a6d
    Reviewed-on: https://chromium-review.googlesource.com/206714
    Tested-by: <ehsan@mozilla.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit b4472275a0c686fe2ba062e796d80375c4593708
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 3 10:38:55 2014 -0400

    Add a ValidateAttachmentTarget helper method.
    
    This helper returns the appropriate error with the user specifies
    an attachment that is invalid or out-of-range (for indexed color
    attachments).
    
    BUG=angle:571
    
    Change-Id: I80ed347e3540579110e40e742fbacb0467cb85fd
    Reviewed-on: https://chromium-review.googlesource.com/205604
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 570f7c84a7d353c99f7c001af3b7b73e21b316fb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 3 10:38:54 2014 -0400

    Add helper methods for FBO attachment validation.
    
    Subsequent refactoring will eliminate duplicate code.
    
    BUG=angle:571
    
    Change-Id: I086320beb5c432c326d29d047931575e6f2a1d64
    Reviewed-on: https://chromium-review.googlesource.com/205603
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit a328d5698ad6668352187e15a6226cef08640eec
Author: Brandon Jones <bajones@chromium.org>
Date:   Tue Jul 1 13:52:40 2014 -0700

    Removed sampler state getters and setters from gl::Texture
    
    BUG=angle:688
    Change-Id: I3f203e4d10059c12a0c00e967ad6c7d3b3a18074
    Reviewed-on: https://chromium-review.googlesource.com/206335
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Brandon Jones <bajones@chromium.org>

commit 787fc03f15a0c4440d023659f267175fa3979808
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 7 12:49:45 2014 -0400

    Fix HLSL compiler error with else-rewriting in functions.
    
    In functions with return types where we would use if-else rewriting,
    we would potentially generate a spurious HLSL error that warned of
    branches with no return value in the function.
    
    This was causing a maps regression where overlays would not draw
    in Earth mode.
    
    BUG=346463
    BUG=391697
    
    Change-Id: I9f4fa959057a3a2dab6cdd98f8381b5871cabf03
    Reviewed-on: https://chromium-review.googlesource.com/206824
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 4cfb1e890ac39201145316ad8f3196d456283389
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jul 7 12:49:23 2014 -0400

    Add a new TIntermRaw node type to translator.
    
    This raw node stores text strings that we directly copy to the
    output. This allows for more tricky substitutions that don't fit
    in to the HLSL/GLSL shared parsing model.
    
    BUG=346463
    BUG=391697
    
    Change-Id: Ibbde6db4fc98ef6d892f219631ca1a258a902a86
    Reviewed-on: https://chromium-review.googlesource.com/206823
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit ed3eef1ff134043b8fb49bd2fceff5d0c8a03c3e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Feb 26 09:47:11 2014 -0500

    Fix not rewriting else-if blocks.
    
    We would miss expanding the else-if clauses in a chain
    of selection statements.
    
    BUG=346463
    BUG=391697
    
    Change-Id: Iee644b875cf68d0ed3dc0b73542efc49ecb23242
    Reviewed-on: https://chromium-review.googlesource.com/206822
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 10530c34b1d822b1f8f3f9fe8d7aafa79ece9a9f
Author: Ehsan Akhgari <ehsan@mozilla.com>
Date:   Wed Jul 2 20:37:53 2014 -0400

    Add ANGLE_NO_EXCEPTIONS macro
    
    This macro allows us to hide angle's usage of try/catch so that we can
    properly hide them from compilers that do not support exceptions
    properly (such as clang-cl and gcc/clang with -fno-exceptions).
    
    Change-Id: I75f466a5322e5840e007711ea851f444bd6ca299
    Reviewed-on: https://chromium-review.googlesource.com/206562
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: <ehsan@mozilla.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit c1cc4c46406f2dbd182cf98b63efdef06952aa32
Author: Ehsan Akhgari <ehsan.akhgari@gmail.com>
Date:   Wed Jul 2 13:09:07 2014 -0400

    Support building angle with clang-cl
    
    This works around http://llvm.org/PR20013.
    
    Change-Id: Ibbd8ab4678cf1caf39b329ea304bdbdc21075ddf
    Reviewed-on: https://chromium-review.googlesource.com/206481
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: <ehsan@mozilla.com>

commit 47cdb2aaf20ff698a70a1dede976187dfc62fe00
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 3 16:05:38 2014 -0400

    Allow ConvertPrecision to return undefined.
    
    The overly-restrictive check would fail on sampler types or other
    GL types with no defined precision.
    
    This fixes failures on the Debug GPU FYI bots.
    
    BUG=angle:691
    
    Change-Id: I443b7038a7b7a05675898b9b21e6112b1ac4c5ca
    Reviewed-on: https://chromium-review.googlesource.com/206552
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 1da63af4678cb4b76ffc18e8711b702171d0bfa3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 3 15:00:53 2014 -0400

    Fix ConvertPrecision.
    
    This method had never been fully implemented, and was returning
    "highp" for every case value.
    
    This should fix problems with the GPU FYI bots.
    
    BUG=angle:691
    
    Change-Id: Ie6ffa80cf2c063e506df06fb25d622227edeffa3
    Reviewed-on: https://chromium-review.googlesource.com/206565
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 5079c8805e902325652433566cab78cc57f8ea15
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jul 3 14:13:58 2014 -0400

    Fix GCC warning about initialization order.
    
    Shifting these fields was breaking the build in Linux GCC.
    
    BUG=angle:690
    
    Change-Id: I34286753f7ab636900f25f880187dbb297e9c040
    Reviewed-on: https://chromium-review.googlesource.com/206632
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit ed27c7296c9bc4e9d9901943a8a0147513d11fc6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jul 2 15:31:23 2014 -0400

    Consolidate shader variable storage in Compiler.
    
    The Compiler base class now stores all the shader variables and
    interface block information, instead of duplicating the information
    in the HLSL translator.
    
    BUG=angle:466
    
    Change-Id: Ia69079fde64fbd6b0cbfc66defd5e37d99ee3e6e
    Reviewed-on: https://chromium-review.googlesource.com/206020
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit a718c1e00264edf434aeddf7beb14f4fae0f07a0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jul 2 15:31:22 2014 -0400

    Use shader variable types for variable collection.
    
    Retire the old TVariableInfoList structure, and use the new
    objects which we will expose more directly through the API.
    
    BUG=angle:466
    
    Change-Id: I999a97369bfb67cf73cd659c4fe885b41429d304
    Reviewed-on: https://chromium-review.googlesource.com/205839
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>

commit 47149b1305f8ebb32ab223f96ece5a9094b340e7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jul 2 15:31:21 2014 -0400

    Add GLES 3 types to the VariablePacker test.
    
    These include the new sampler types, non-square matices, and
    unsigned int vectors.
    
    BUG=angle:466
    
    Change-Id: I0d88fadfc3f81a2d9be604ee1dffefd5a4a343c5
    Reviewed-on: https://chromium-review.googlesource.com/205838
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>

commit 865d14510e7ac3504f5fef9cc55d952322e4fdd7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jul 2 15:31:20 2014 -0400

    Consolidate varying packing sort order methods.
    
    We were using the same list in the shader varying sorting
    as well as in the varying packing validation in the
    translator.
    
    BUG=angle:466
    
    Change-Id: Ic11758288e7a522d7c18a293de9e137e487e3978
    Reviewed-on: https://chromium-review.googlesource.com/205595
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit aa72d782074e8ea2e74304ca12b372c5e36e758f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jul 2 15:31:19 2014 -0400

    Remove duplicate SH and GL functions.
    
    In several places we were using variable query methods that
    were duplicated between the old SH enums and the corresponding
    GL enums. We can use the common GL enum versions now.
    
    BUG=angle:466
    
    Change-Id: Ib8797fe6bc75828e05aed37b1f5fbd4b9ba03d22
    Reviewed-on: https://chromium-review.googlesource.com/205594
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>

commit 183bde5527317fa2208401e5e6b803ef51a0fdcb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jul 2 15:31:19 2014 -0400

    Return shader variable information using GLenum values.
    
    Instead of duplicating GL header define values, explictly return
    GLenum for variable queries in the shader inspection API. This
    reduces the duplicate defines in the shader compiler header.
    
    BUG=angle:466
    
    Change-Id: Iddaaff597b188251fa2e546f352bf77ab3ac43bc
    Reviewed-on: https://chromium-review.googlesource.com/205860
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Nicolas Capens <capn@chromium.org>

commit 2b5f3b3653d8cb82d6f1ab60ee79b6e5284fc53a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jun 18 18:07:49 2014 -0400

    Add support for EGL_EXT_client_extensions.
    
    BUG=angle:490
    
    Change-Id: Iafc476cef7a3d11b3bb3640e673c28c6df3cf2a1
    Reviewed-on: https://chromium-review.googlesource.com/204566
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 8747afeeca00bb253d70eaf7c4bc1e8782d9c4e1
Author: Vincent Scheib <scheib@chromium.org>
Date:   Tue Jul 1 13:32:11 2014 -0700

    Fix d3dcompiler_46.dll case to be consistent, unblocks swarming.
    
    src/copy_compiler_dll.bat defines the case of the file
    copied to the build output directory. It is then referenced
    by build systems. The case must be consistent with the uses,
    in isolate files, and the .gypi file defining output.
    
    BUG=390210
    
    Change-Id: I90c305a0c3663d46d2448e0adfa3103d0ce457d1
    Reviewed-on: https://chromium-review.googlesource.com/206305
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit e8cda37186d82aea05e67fd9a595a59c2ab7ec18
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Tue Jul 1 16:13:18 2014 -0400

    Revert "Move more draw call validation to the API."
    
    BUG=390412
    
    This reverts commit 9efa581d0e8f251b88f5a2f432ddb20655036c77.
    
    Conflicts:
            src/libGLESv2/validationES.cpp
    
    Change-Id: I78457e1dfec8b75fecef8dc40c549adbde680a2a
    Reviewed-on: https://chromium-review.googlesource.com/206340
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit ce505553756bbebfa1e267bd1a4d6af8a96b9550
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jun 26 14:56:33 2014 -0400

    Revert "Return variable type queries using GLenum values."
    
    Breaks the FYI bots until we get Chromium patched.
    
    BUG=angle:466
    
    This reverts commit 53221f5a0382887155d90f7f286e41190d4f5bfb.
    
    Change-Id: Ib28548df5c10a6f76f46e4cf8f2013dca5cf0ee2
    Reviewed-on: https://chromium-review.googlesource.com/205850
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 53221f5a0382887155d90f7f286e41190d4f5bfb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 25 16:04:59 2014 -0400

    Return variable type queries using GLenum values.
    
    Instead of duplicating GL header define values, explictly return
    GLenum for variable queries in the shader inspection API. This
    reduces the duplicate defines in the shader compiler header.
    
    BUG=angle:466
    
    Change-Id: If631b20ce68747297a946e1371def7709027a613
    Reviewed-on: https://chromium-review.googlesource.com/204937
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit 6dc7f360577000743f7314569991a7ef092a1cea
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Wed Jun 25 21:12:02 2014 -0400

    Fix null pointer dereference in glGetBufferPointerv
    
    BUG=angle:687
    
    Change-Id: If8f215d4a86332b9e6e791263bdeeb44b23a42a2
    Reviewed-on: https://chromium-review.googlesource.com/205711
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 28bedaf892e4ca63aeae98a76b65744fe0191202
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jun 26 13:17:22 2014 -0400

    Fix double delete in Framebuffer.cpp.
    
    Depth-stencil buffers were using the same pointer for both
    attachments, which was causing a double-delete in the
    Framebuffer destructor.
    
    BUG=angle:686
    
    Change-Id: I8b263e5a084c33b495ce18ef2a2a810918ef6540
    Reviewed-on: https://chromium-review.googlesource.com/205639
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit d38f926ad0a14e8927db2468df840a3ecf330924
Author: Brandon Jones <bajones@chromium.org>
Date:   Wed Jun 18 16:26:45 2014 -0700

    Refactoring Buffers
    
    BUG=angle:681
    Change-Id: I6c3809e0b9468dfe38465c55759c2572c21485da
    Reviewed-on: https://chromium-review.googlesource.com/204896
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit e4a492be45f39dffaea53c3523064844ee56e41b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jun 19 14:14:41 2014 -0400

    Remove the clientVersion parameter from the format utils.
    
    clientVersion was only useful for intitial validation of formats and not
    required for queries.  Only use the client version and caps structure to
    validate if a format is available and then trust that it is supported past
    the validation layer.
    
    Fixed some inconsistancies between tables such as missing formats or
    incorrect load functions in the ES3 tables.
    
    BUG=angle:659
    
    Change-Id: I8d33c902156ee6fb41efe937d93b0586191726e5
    Reviewed-on: https://chromium-review.googlesource.com/201167
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 72f5b5eee751f8b9b0f92456dcf7b58c19602505
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 23 15:13:02 2014 -0400

    Add the BUILD.gn file to the ANGLE source.
    
    The script currently lives in Chromium's build/secondary.
    
    BUG=angle:683
    
    Change-Id: I3ce11913fd27e0a01a1763d6ed973b250cf101d8
    Reviewed-on: https://chromium-review.googlesource.com/205244
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit f51639a4d10c6b31a813a8154ed2c489cc7e55f3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 25 16:04:57 2014 -0400

    Use a common include for GL headers.
    
    A common place to define required GL includes gives us a nice
    point to centralize GL customizations. In the header currently
    are the basic GLES headers with extensions, and a define
    carried over from desktop GL.
    
    BUG=angle:466
    
    Change-Id: I6fc61947b4514654ec21355a786904eac04656c0
    Reviewed-on: https://chromium-review.googlesource.com/204936
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>

commit d4a3a3171ce8b72123e4eaa85a3c5d2b3130878c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 25 16:04:56 2014 -0400

    Rename ShHandle.h to Compiler.h.
    
    Since the above source file matches Compiler.cpp, more closely
    follow our standard naming convention.
    
    BUG=angle:466
    
    Change-Id: Ib1422f87f16097f91f2bcdad550ec5bd940ce711
    Reviewed-on: https://chromium-review.googlesource.com/204681
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit f257598999faf907a50d8a9f9eff28dad0ff2628
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 25 16:04:54 2014 -0400

    Use the sh namespace for shader variables.
    
    Since these types originate from the translator, use an appropriate
    namespace. Also rename some of the gl helper functions to be more
    specific to their functionality.
    
    BUG=angle:466
    
    Change-Id: Idc29987b2053b3c40748dd46b581f3dbd8a6fd61
    Reviewed-on: https://chromium-review.googlesource.com/204680
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit bb94f341d22734ab581d718513de0ce30a03440f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 23 15:23:02 2014 -0400

    Remove gl::IsInternalTextureTarget.
    
    This function was a duplicate of ValidTexture2DDestinationTarget.
    Also clean up a bit of the code in Framebuffer::completeness.
    
    BUG=angle:660
    
    Change-Id: Iee8d011274bfb2e426346e3ccdde7342fbb7ef44
    Reviewed-on: https://chromium-review.googlesource.com/202595
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit e261b44af7631c31ddca8601490e7445af5a3341
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 25 12:42:21 2014 -0400

    Remove obsolete Renderbuffer types.
    
    RenderbufferProxySet and FramebufferTextureBindingPointer aren't
    necessary any more with our refactored renderbuffer classes and
    ownership of attachments by the Framebuffer.
    
    We can also consolidate the FramebufferAttachment and implementation
    to a single class, and no longer need to store ref counted objects
    in the Framebuffer class directly.
    
    BUG=angle:660
    
    Change-Id: Idcc06dfb42b47242b33494e797a0ba06d6669511
    Reviewed-on: https://chromium-review.googlesource.com/201838
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit c7a4104957aa1f6fa36e4e9cf65d36b699eb05bd
Author: Brandon Jones <bajones@chromium.org>
Date:   Mon Jun 23 12:03:25 2014 -0700

    Moved D3D specific files and folders under the D3D folder.
    
    Change-Id: I8afd67e08ee558fe94532c377d079673357a7192
    Reviewed-on: https://chromium-review.googlesource.com/205229
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 4fd75c1c991e86ed1d1c1e43ef0220c5491605b1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 23 10:53:54 2014 -0400

    Fix npot Texture level 0 validation.
    
    We were rejecting npot textures for level 0, even though it is
    valid in GLES 2 for non-mipped textures to have npot size.
    
    BUG=381495
    
    Change-Id: Iacc3ab50d6487ecba804fd8963aa0a2ada2f1cae
    Reviewed-on: https://chromium-review.googlesource.com/205220
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>

commit e26c307a45ac76424c900a24cb1267ca273e1d40
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Mon Jun 23 12:32:57 2014 -0400

    Regenerate project files
    
    Change-Id: I6d3cc10335686922c028f5fba4525f62c71c3e59
    Reviewed-on: https://chromium-review.googlesource.com/204951
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 2b31af295dd94c0f4318fce76a14a4d46c2a5c76
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri May 23 14:45:40 2014 -0400

    Remove the ES version check for buffer to texture copies in D3D11.
    
    With PBOs being exposed through an extension in ES2 now, this check is
    uneccessary.
    
    Change-Id: I609a4bcd944194d104e0774e5f6ea34e072c8d9c
    Reviewed-on: https://chromium-review.googlesource.com/201320
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 13f7d7dc0b09fd7e508172c7d804ce65219b2bb5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 20 13:21:27 2014 -0400

    Move FBO check from applyRenderTarget to the API.
    
    We would traverse the applyRenderTarget path from several entry
    points, which could then trigger a GL error. In-line with our
    validation refactoring, move all error checks prior to executing
    any state logic.
    
    BUG=angle:571
    
    Change-Id: I51f5bcfa41be7cdba7771eb87d5a831fa622f984
    Reviewed-on: https://chromium-review.googlesource.com/203772
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 1aeb13146c83054917705635ac381500da22b85c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 20 13:21:25 2014 -0400

    Move draw call primitive type check to the API.
    
    A part of a larger refactoring to clean up the draw call
    validation.
    
    BUG=angle:571
    
    Change-Id: I0b220d68c04524a81ca11dc58e10c90e458cabde
    Reviewed-on: https://chromium-review.googlesource.com/203771
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 9efa581d0e8f251b88f5a2f432ddb20655036c77
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 20 13:21:24 2014 -0400

    Move more draw call validation to the API.
    
    The GL expects us to reject invalid draw calls before we start
    doing any work, so we can prevent internal unnecessary state
    changes.
    
    BUG=angle:571
    
    Change-Id: Ic71218b3c2d5dc310280d3738bb1387753a10e03
    Reviewed-on: https://chromium-review.googlesource.com/203770
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit ac528015b35c121df09be7d3e048cd94564f99d4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 20 13:21:23 2014 -0400

    Move stencil mask validation to before the draw.
    
    ANGLE (and WebGL) restrict the back and front stencil masks
    on draw, due to D3D restrictions. We would previously only
    validate this if the stencil was enabled in D3D9. In D3D11
    we would validate the stencil masks even if the stencil is
    disabled, which is the behaviour the spec suggests.
    
    Moving the error check to before the draw also prevents any
    issue with interrupting a draw call mid-way through.
    
    BUG=angle:571
    BUG=378754
    
    Change-Id: If7651c2be559eef64a872082e144dafa3b2c524b
    Reviewed-on: https://chromium-review.googlesource.com/203299
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 21c0553233139ede529fac5ae797cb8c03af18f0
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jun 18 11:50:49 2014 -0400

    Clean up libEGL.def.
    
    BUG=angle:490
    
    Change-Id: I6f0f707862066c9906aa38601aa6839b78a5cc39
    Reviewed-on: https://chromium-review.googlesource.com/204565
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 42a73ad04c61c3d408b5ae273e003ed377a0ca46
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jun 18 11:12:06 2014 -0400

    Update to the latest EGL headers.
    
    BUG=angle:490
    
    Change-Id: I205e680a40af18f2657096d4219bdac0f613fb11
    Reviewed-on: https://chromium-review.googlesource.com/204563
    Reviewed-by: Brandon Jones <bajones@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit febb7adcb0c269d29596ae2f8a2466e26e0fc5ee
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 18 13:50:51 2014 -0400

    Refactor and unify HLSL varying signatures.
    
    We would use different code for all of our input and ouput stages
    in HLSL (vertex output, GS input, GS output, PS input). This was
    causing an HLSL error and some bugs in certain transform feedback
    instances.
    
    Fix this by using a helper method to use compatible code for each
    of the stages.
    
    BUG=angle:667
    
    Change-Id: Idada969a775eccb5788723e0c7fa3ade9cb2d9ec
    Reviewed-on: https://chromium-review.googlesource.com/203778
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>

commit 961d5e9878ddb892b650b6e14f2362b26ce34b40
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 20 15:23:34 2014 -0400

    Use a const_iterator in structsHeader().
    
    This was breaking the build for some compilers (GCC on android).
    
    Change-Id: Ibfe5603710961497b6c15aa2d9cb568096ca1dd4
    Reviewed-on: https://chromium-review.googlesource.com/204897
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 9e5317f405e587e6131d4c3b3e38c43659616560
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 20 14:56:37 2014 -0400

    Add end-of-file newline to StructureHLSL.cpp.
    
    BUG=angle:680
    
    Change-Id: I37aee0d136021a1ce1c3c398d680cdbc4820e6d0
    Reviewed-on: https://chromium-review.googlesource.com/204905
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 4ace423c2c848790e906bc0b4bbc595c436203eb
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jun 18 19:12:48 2014 -0400

    Disable dynamic pixel shader generation.
    
    Always generate the same pixel shader no matter what framebuffer is bound.
    
    BUG=angle:670
    
    Change-Id: I3fa91ff43363d49b38a19d3815ea523946c675d5
    Reviewed-on: https://chromium-review.googlesource.com/204573
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit f91ce8117c128d93c7cf931834e367bdfa6892b8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 13 10:04:34 2014 -0400

    Split OutputHLSL uniform code into new module.
    
    Refactoring patch only, should have no externally visible changes.
    
    BUG=angle:466
    
    Change-Id: I01088a3b2979b96702d0a3c424d26928eb72b5b2
    Reviewed-on: https://chromium-review.googlesource.com/203731
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 8daaba15060826625bfa8ee6ae5fd21a2a0d70f8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 13 10:04:33 2014 -0400

    Split OutputHLSL structure code into new module.
    
    Refactoring patch only.
    
    BUG=angle:466
    
    Change-Id: I2c57096e1e24574e7de3d35d608645fde3b0c681
    Reviewed-on: https://chromium-review.googlesource.com/203730
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>

commit 033dae6747674067bda64da17789b8cafd3506ee
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 18 12:56:28 2014 -0400

    Move OutputHLSL utility methods to other files.
    
    OutputHLSL was become a large, unweildy file. Some were also useful
    to other classes, even on the GL back-end, but were inacessible.
    
    Refactoring patch only.
    
    BUG=angle:466
    
    Change-Id: Id216147122ca105c6ccdf0ba0c5f6c5038726965
    Reviewed-on: https://chromium-review.googlesource.com/203459
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 05b050286d80d2eddc54952b9e8d7b6e3a48e380
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jun 11 15:31:45 2014 -0400

    Add support for EXT_sRGB.
    
    BUG=angle:672
    
    Change-Id: I001ff3dde7a39e545a535a399c02f3a6d91634c8
    Reviewed-on: https://chromium-review.googlesource.com/203460
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 66aaf723bc8535bf1a8e32c032928d9f4d895d33
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jun 5 12:42:07 2014 -0400

    Always store GL_DEPTH_COMPONENT32_OES as a 24-bit depth format.
    
    Greatly simplifies the format utils by not having any internal format <->
    DXGI format conversions depend on the client version. 32 bit floats and
    24bit integers have very close precision in the [0,1] range so there
    should be no precision issues.
    
    BUG=angle:659
    
    Change-Id: Ife64445ef35f77283fc4c70c98754f5e87b6fb19
    Reviewed-on: https://chromium-review.googlesource.com/202507
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit cbb8412af532f3d38ce190bc79d6307e1d46c697
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jun 11 15:30:32 2014 -0400

    Fix validation of LUMA formats in glGenerateMipmap.
    
    BUG=angle:673
    
    Change-Id: I6c106962d8a50ed8f69d208c537166a30e4f92c6
    Reviewed-on: https://chromium-review.googlesource.com/203292
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 6195ef871dc297d7c774089da56ba694d21392de
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 18 10:09:43 2014 -0400

    Fix transform feedback type.
    
    We were using the wrong enum for the varying type, as well as using
    the row count of the type. We should be using the column count, but
    for matrices we treat them as transposed.
    
    BUG=angle:679
    
    Change-Id: I0eb7f68f629a4372c6822f65b2de51ecc88a03ed
    Reviewed-on: https://chromium-review.googlesource.com/204520
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit afa40f7d4154f455ce8b35b93685b0400e17929b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 18 10:09:42 2014 -0400

    Fix buffer bugs affecting transform feedback.
    
    Running dEQP-GLES3.functional.transform_feedback would trigger a few
    assertion failures because of some regressions that crept into our
    code.
    
    Among the regressions is assuming we can't map a buffer that has no
    underlying storage object. This is valid since we sometimes allow
    setData without creating a native storage.
    
    Additionally we should free our existing data store on a new call
    to SetData, to prevent old but "new" data revisions from complicating
    our storage.
    
    BUG=angle:679
    
    Change-Id: Icd96a8a55a2b957d29382d8b8bbd7e8a7ab0cf65
    Reviewed-on: https://chromium-review.googlesource.com/204342
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 9c074a399302fbb47be1ce0a5ec381d663401598
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 16 10:34:02 2014 -0400

    Add queries for level and layer to FBO attachments.
    
    BUG=angle:660
    
    Change-Id: I03e76dd7743267dc0b57cf53a4d27cd75a5d5adf
    Reviewed-on: https://chromium-review.googlesource.com/201837
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 218b6ede4c9419fe4d752e3a7220eca3b4fe9a0e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 16 10:34:01 2014 -0400

    Add queries for object id and type to FBO attachments.
    
    BUG=angle:660
    
    Change-Id: Id91f6f2ae84eaefd59f9d568736bd99e3a27ef5d
    Reviewed-on: https://chromium-review.googlesource.com/201836
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 2bf8b3728e7e72c769139de488fd80f2373d95de
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 16 17:18:51 2014 -0400

    Fix link error when using varyings with "dx_".
    
    Varyings beginning with "dx_" would not get decorated properly, or
    at all, which could cause potential internal variables and certainly
    caused link errors. Fix this by no longer treating the "dx_" prefix
    differently.
    
    Also fix our naming of "dx_Position" to be consistent with our other
    internal types.
    
    BUG=angle:678
    
    Change-Id: I03da0494a3d934d82ae7b3f8f12a576ff9bc3869
    Reviewed-on: https://chromium-review.googlesource.com/203777
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit adfffe4649d622bab6957972663a852f123b5ea7
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Tue Jun 17 02:13:36 2014 -0400

    Duplicate reused symbol table entries.
    
    BUG=angle:651
    
    Change-Id: Ifce3c19d41a0a5a5ca5ee90ede528adf397d1da5
    Reviewed-on: https://chromium-review.googlesource.com/204290
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit b9f240b1c3fc25f4497a75d1e47c09bf86875328
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jun 5 15:38:28 2014 -0400

    Split the ANGLE_platform_angle_d3d extension by adding child extensions.
    
    Renames the ANGLE_platform_angle_d3d extension to ANGLE_platform_angle
    which acts as an umbrella extension for all the angle display types but
    requires the sub-extensions (d3d, opengl, software) to be present for the
    enums to be valid (similar to the OES_framebuffer_object extension).
    
    BUG=angle:668
    
    Change-Id: I2c00021558d8b781b20f948f5e0df03f734bd033
    Reviewed-on: https://chromium-review.googlesource.com/202597
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit bae30a0011345e10d067af280ecd6130ed89ecb8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jun 17 10:45:02 2014 -0400

    Add a macro for unused trace variables.
    
    This fixes the standalone 64-bit Debug build.
    
    Change-Id: I348b71a96ada435867367e565bc84b570d2bfb67
    Reviewed-on: https://chromium-review.googlesource.com/204292
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 1d4e38d364f365c568f676927611656f76b6bcb3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jun 17 10:23:54 2014 -0400

    Fix compile warnings with attributes.
    
    BUG=angle:676
    
    Change-Id: I291c0b618854179f726cb4c969fb65182d3b591e
    Reviewed-on: https://chromium-review.googlesource.com/204340
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 2a59292dabe7eb730f00c5826cc96d588816ea5b
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Wed Jun 11 16:22:57 2014 -0400

    Implement support for constructing a 2x2 matrix from a vector.
    
    BUG=380353
    
    Change-Id: Ica0b94104e39f87b4a3439df40221b1f682fd678
    Reviewed-on: https://chromium-review.googlesource.com/203293
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 5bf98290459ca4ccab2f5be62f5fba2337fe8b7a
Author: Brandon Jones <bajones@chromium.org>
Date:   Fri Jun 6 17:19:38 2014 -0700

    Refactoring VertexArrays
    
    BUG=angle:676
    Change-Id: If17b05ab667d79adcaacfbd1811ed92c0ce47fff
    Reviewed-on: https://chromium-review.googlesource.com/203294
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 1e3fa74d7cc85c6758aa28330dccfb3cf79b57ee
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 16 10:34:00 2014 -0400

    Remove Renderer pointer from FBO attachments.
    
    Removing the Renderer pointer is one step towards making FBO
    attachments a minimal state object. Eventually we will be able
    to store them as arrays instead of arrays of pointers.
    
    BUG=angle:660
    
    Change-Id: Idce34e06c339ecb18c60fef12d2ed911d0c4e0f6
    Reviewed-on: https://chromium-review.googlesource.com/201835
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 6c7b4ada6bcb8ec0d929ff929b33f07c653d8e82
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 16 10:33:59 2014 -0400

    Add new ref-counted Renderbuffer class.
    
    Renderbuffers are a clear object type in GL, and this patch adds
    a more consistent state representation for them. They're managed
    by the ResourceManager, and have a storage implementation similar
    to Textures, but much simpler.
    
    BUG=angle:660
    
    Change-Id: Ia17199bb8cb570d48db42e1f28ccbcc12a902fcf
    Reviewed-on: https://chromium-review.googlesource.com/201834
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 4d632d8e79efb6f2a2d95da7659e674026f3aef0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jun 16 13:20:17 2014 -0400

    Fix buffer overflow error on buffer resize.
    
    We were using the new, larger size for our buffer data copy step,
    instead of the old, smaller size. This bug was causing a crash on
    older nVidia drivers during normal browser usage.
    
    Reproducible with the index-validation-large-buffer WebGL test.
    
    BUG=angle:667
    BUG=384420
    
    Change-Id: I98ee893e0d8ba0bfc9adfe5a338da9b940248879
    Reviewed-on: https://chromium-review.googlesource.com/203776
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit f26ecc81cf58b831042db6701a1ed3448caf83cd
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Mon Jun 16 13:36:28 2014 -0400

    Fix build warnings about unused private variables on clang
    
    BUG=angle:638,677
    
    Change-Id: Id9e80f0b86d9c24633b2d353a409844c22441d21
    Reviewed-on: https://chromium-review.googlesource.com/203429
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 3dc8020ac2f878997d71558d87c1efa3278aaa13
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Mon Jun 16 13:29:52 2014 -0400

    Fix dependent typename build error on non-MSVC compilers
    
    BUG=angle:677
    
    Change-Id: Ic0d257ef41e8c80baeddd664eb6c2cc5db94ee43
    Reviewed-on: https://chromium-review.googlesource.com/203428
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit fb8394756ea5940cf41e8276a81d54bacdceb5a6
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Mon Jun 16 13:21:41 2014 -0400

    Fix ifdef complaints in clang
    
    BUG=angle:677
    
    Change-Id: Iee457dfc0990e5ffd61932b1f286f3c0208568bc
    Reviewed-on: https://chromium-review.googlesource.com/203427
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit a0dc219e40affc6abaa705c380aa52b1c42e70be
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jun 9 15:37:55 2014 -0400

    Re-enable MRT on D3D 10 and 10.1 cards.
    
    BUG=angle:670
    
    Change-Id: I88b4823f25ec28fa52831d856ff9fb836fdfc533
    Reviewed-on: https://chromium-review.googlesource.com/203120
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 04fb89ad059cba1fbd14507fe58c9a700fe0de08
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jun 9 15:05:36 2014 -0400

    Generate pixel shader output to match the bound framebuffer.
    
    Only generate pixel shader output variables for render targets that are
    currently bound.  Fixes some performance issues with D3D10 cards that were
    slow to discard unused outputs.
    
    Fixed memory leaks in ProgramBinary by refactoring the freeing of the
    current state into a reset function.
    
    BUG=angle:670
    
    Change-Id: I40f83e15724fb9a1a9ae61363a056999f1fa26d2
    Reviewed-on: https://chromium-review.googlesource.com/202977
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 16004fca1a4c2addaaed17f5746039a622057b2a
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Wed Jun 11 11:29:11 2014 -0400

    Eliminate conversion operations.
    
    They've been replaced by using constructor nodes, so any code handling conversion operators
    can be removed.
    
    BUG=380353
    
    Change-Id: I70413179e7443efccbf997a5dd0f053c23689589
    Reviewed-on: https://chromium-review.googlesource.com/203453
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit fd716586aa61ca2875d7a04219a8c222cb5f69b0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 6 17:09:04 2014 -0400

    Refactor draw validation functions.
    
    We use a significant amount of code duplication in our draw
    validation, that we can consolidate.
    
    BUG=angle:571
    
    Change-Id: I96787cbddf00d9289e368456fb85079d8acec513
    Reviewed-on: https://chromium-review.googlesource.com/202975
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 250d33fb25761753061afd70f64aeff4ccecaa5b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 6 17:09:03 2014 -0400

    Move draw call validation to new functions.
    
    Separate draw call validation functions will give us a flexible
    base for refactoring and cleaning up all draw call validation.
    
    BUG=angle:571
    
    Change-Id: Ia8e3c83cfe48fedb8f2c7aef1fb282f646c66e82
    Reviewed-on: https://chromium-review.googlesource.com/202974
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 3891fd274923b5078890cb515d25ba08c1e784a0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 13 10:04:30 2014 -0400

    Add a std140 padding helper class.
    
    Using a helper class keeps our main parser stateless as we define
    std140 structs which need padding. The only functional change
    should be that we no longer use a global counter for struct padding
    hidden variables, but a local padding per-struct.
    
    BUG=angle:466
    
    Change-Id: I8b92d65884b86571c8b2f052b0cba6150a4bbab0
    Reviewed-on: https://chromium-review.googlesource.com/202911
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>

commit cec3590a151059813b91b33cd5e000c94f5bccaa
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Apr 16 10:52:36 2014 -0400

    Use a Caps structure to store extension and texture format support.
    
    Removes support for fallbacks in D3D9 texture formats. The fallback
    formats did not work properly anyways.
    
    BUG=angle:658
    
    Change-Id: Idfa5183bf71fd8ebf4608f940f9d93177b9eff08
    Reviewed-on: https://chromium-review.googlesource.com/200813
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 9c4b24a52e0ff478aa170d33e26c44acd8c68be3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jun 12 13:41:17 2014 -0400

    Use commit_id.py on Windows, and handle missing git.
    
    This allows us to delete the Windows batch file.
    
    Changes the commit_id script to take the working directory so that it
    can be called from a different working directory than the angle
    repository is in.
    
    Renames the generated commit header to angle_commit.h. This is being
    written to the shared generated code directory for the entire build,
    and "commit.h" is insufficiently unique.
    
    BUG=angle:669
    
    Change-Id: I35e80411a7e8ba1e02ce3f6a4fc54ed4dbc918f3
    Reviewed-on: https://chromium-review.googlesource.com/202048
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit e09f1c829fcd0204249fc5d085d998fa99625b1b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jun 12 11:10:12 2014 -0400

    Fix crash on zero size but non-NULL bufferData.
    
    Could cause a crash when running the WebGL CTS with Firefox.
    
    BUG=angle:675
    
    Change-Id: I58bf9eed622660d4702b775f368ff9cbd693197a
    Reviewed-on: https://chromium-review.googlesource.com/203456
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>

commit 6ed8d8afdc5badae448e1851e8127ad616d37483
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Wed Jun 11 11:25:20 2014 -0400

    Produce constructors instead of conversions.
    
    GLSL only supports explicit conversion through constructors. Therefore the conversion
    nodes are redundant.
    
    BUG=380353
    
    Change-Id: Id871c34750191dac431bf72aac9afed7b0db7f8e
    Reviewed-on: https://chromium-review.googlesource.com/203452
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>

commit 1af18dc97fe62bd5f9933179b7f79632261ed3d5
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Wed Jun 11 11:07:32 2014 -0400

    Create constructors just once.
    
    BUG=380353
    
    Change-Id: I9828a3f193ccfdda2013fa3de0e41e6e28953ea2
    Reviewed-on: https://chromium-review.googlesource.com/203451
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 01df23e7473eb6d1b9ed2f8a7b4b5996e1f1da59
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Wed Jun 11 10:56:03 2014 -0400

    Add constant casting support.
    
    BUG=380353
    
    Change-Id: I5a350ca09e2b7e7abb9fa079365adb5aad5af607
    Reviewed-on: https://chromium-review.googlesource.com/203450
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>

commit f7f7616b3fca3344ac3e49f35c93d9ed79caa3de
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Fri Jun 6 15:48:21 2014 -0400

    Fix constructing vectors from matrices.
    
    BUG=380353
    
    Change-Id: I3b0fe55b829602554bb63bbd281ad58d47364502
    Reviewed-on: https://chromium-review.googlesource.com/202966
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>

commit 906744ac231a780be33b101cd7371524a6c81e01
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Fri Jun 6 15:18:07 2014 -0400

    Restrict the size of shader arrays.
    
    This prevents overflow issues in the HLSL translator and some drivers. The
    limit it hard-coded to 65536 to be larger than the Shader Model 5 register
    limit (4096) to account for register allocation optimizations and future
    hardware.
    
    BUG=379799
    
    Change-Id: I20f05c9dd230fbfc1c92af52533cd2b50f2ff994
    Reviewed-on: https://chromium-review.googlesource.com/202939
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>

commit 44fa7594bc518b1b004b1deb91d1c2f125df9f68
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri May 30 11:50:07 2014 -0400

    Refactor platform related functionality into platform.h and tls.h.
    
    Since libGLESv2 and libEGL will eventually be cross platform, it will be
    useful to have platform defines and TLS functions that work everywhere.
    
    BUG=angle:664
    
    Change-Id: Ia357925a0992d82e8b446d88d32a1984d319e6e8
    Reviewed-on: https://chromium-review.googlesource.com/202133
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit b6a673a0e83b9738178f282be736a1340478129a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jun 5 14:19:16 2014 -0400

    Report zero bit sizes for channels that shouldn't exist.
    
    If the actual format has more channels than the internal format of a
    framebuffer, bits counts greater than zero will be returned for channels
    that should not exist.  While it is not against the spec to return more
    bits than exist in the format, it can be confusing for users or break
    tests.  get*Bits will now only return greater than zero bit counts when
    the format should have the given channel.
    
    Since this is the only location that we return information about the
    "real" internal format we're using, it's safe to only make the
    modifications here.
    
    BUG=angle:653
    
    Change-Id: I43ef4c6290c8c70737d579d7e9a2dd30d653330b
    Reviewed-on: https://chromium-review.googlesource.com/202594
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 80ebce59e49266b13e8d2edfe5a8d4a1203f55c3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 6 11:54:12 2014 -0400

    Store the std140 layout offsets in a pre-pass.
    
    Instead of recording data and mutating a local table as we parse,
    store all of the offsets for the std140 structs when we first
    generate the struct. This should have no behavioural change, as
    structs should always be defined first in any case.
    
    BUG=angle:466
    
    Change-Id: I1b732d67bd4f5b908211410e5e7796d72d836174
    Reviewed-on: https://chromium-review.googlesource.com/202910
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit 01f85ac8529f2458f7b2b13cde9056656dacc62e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 6 11:55:04 2014 -0400

    Refactor GLSL scoped structure handling.
    
    With a unique ID, similar to how we handle scoped structures
    in the HLSL translator, we can simplify the declared structure
    check.
    
    BUG=angle:618
    
    Change-Id: I5fe61c8d353650ac67a7c7ecdf53a70b91a9b717
    Reviewed-on: https://chromium-review.googlesource.com/202500
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit afeeda9391c1f3fc0c35c04fbc448480177059d8
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Fri Jun 6 13:39:12 2014 -0400

    Prevents multisample depthstencil from being bound as an SRV
    
    BUG=381413
    
    Multisample textures can only be bound as both depth stencil
    views and shader resource views at feature level 10_1 and above.
    We don't need to bind textures as SRVs if they're multisample
    depth targets, so we should avoid the SRV flag in that case.
    
    Change-Id: I28ca98bdc4a86eb5442b39ea3cf2b42aa9216aab
    Reviewed-on: https://chromium-review.googlesource.com/202921
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit afc21c0623531c56f383d7c789f9e5a89a18bb0a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jun 4 15:29:47 2014 -0400

    Move FBO attachment code to new source file.
    
    Since FBO attachments and Renderbuffers are semantically distinct,
    make a new location for attachments to live.
    
    BUG=angle:660
    
    Change-Id: I51753f8a814e89641637c5d8293f7e9a573a7ba5
    Reviewed-on: https://chromium-review.googlesource.com/201833
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 3c7fa226aeb81469b93142b54e339f13a46ab835
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jun 5 13:08:51 2014 -0400

    Rename Renderbuffer to FramebufferAttachment.
    
    Part of the refactoring effort to clean up our classes for FBO
    attachments and Renderbuffers.
    
    BUG=angle:660
    
    Change-Id: Id23df904f56499568159611b66c8922b9dce6a3d
    Reviewed-on: https://chromium-review.googlesource.com/201832
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 6f38f823362c24062bed35ff7fbf5c35dc7d7f84
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jun 6 17:12:20 2014 -0400

    Fix up some validation bugs in Texture functions.
    
    In several places we weren't handling certain errors, or were
    returning the wrong error code. Several dEQP negative API
    tests are affected in functional.negative_api.texture.
    
    BUG=angle:571
    
    Change-Id: I19d7250aab2c15d709fd591b8df90ce883f9ac60
    Reviewed-on: https://chromium-review.googlesource.com/201250
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit bfa91f47c6fc2fb1853f80319118434c1097086d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jun 5 15:45:18 2014 -0400

    Redesign HLSL scoped structures to a unique ID.
    
    A unique ID gives a more flexible renaming scheme than our
    current method of using nested scope identifiers. The reduced
    complexity allows for fewer points of breakage and fixes an
    outstanding bug with scoped structures (with added test).
    
    BUG=angle:618
    
    Change-Id: I6551248bb9fa2d185ab67248721f898dd50151f0
    Reviewed-on: https://chromium-review.googlesource.com/202183
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 0abd523d40582389403d6b5e871d3230fc06ef47
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jun 5 14:56:38 2014 -0400

    Regenerate public projects.
    
    Change-Id: I57817666faca834e075216e63d7b0353d7a4d72c
    Reviewed-on: https://chromium-review.googlesource.com/202596
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 04c68600abcb420837bfa7ec953f61cef9e30654
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jun 5 09:59:52 2014 -0400

    Fix unused variable in validationES.cpp.
    
    Broken in 560a8d889b6866d7d29d.
    
    BUG=angle:571
    
    Change-Id: Idb2414e11ad397cc45c2bdf5f357fd1b8e7fe6c2
    Reviewed-on: https://chromium-review.googlesource.com/202602
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 560a8d889b6866d7d29da968971818437e9cde36
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed May 21 13:06:20 2014 -0400

    Refactor CopyTexImage validation.
    
    Move the common validation code to a shared base function.
    
    BUG=angle:571
    
    Change-Id: Id70b413b408a21f0a8933cfd4a09e261e637bae1
    Reviewed-on: https://chromium-review.googlesource.com/200559
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 74be6a846f1b75296444d8f75b337ad4e93e440d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 29 14:33:28 2014 -0400

    Fix missing bracket in translator source.
    
    Broken in ed14b79dc8e9ec4f4a831bb5213ab67ef01af196.
    
    BUG=angle:628
    
    Change-Id: Ia6b92dd13362bb51f0aa17a14278039d568f5434
    Reviewed-on: https://chromium-review.googlesource.com/202182
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 96509e47ecd94f8992d7a737dbe011050e4f0783
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 29 14:33:27 2014 -0400

    Fix edge case scoped structures name conflict.
    
    Structures with names ending in "_#" such as "_0" could conflict
    with the internally rewritten scoped structures. Fix this by using
    a prepending rule instead of appending.
    
    Also includes a test, and fixes a WebGL test in Firefox. (Chrome is
    not affected because of the variable hashing step.)
    
    BUG=angle:618
    
    Change-Id: I3d441f1de268b6d7e74a0834b43e889b7bfe578c
    Reviewed-on: https://chromium-review.googlesource.com/201468
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>

commit d7e7d735ec75a6b0ff855447b20691c7fbb6c97e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue May 27 16:10:46 2014 -0400

    Move the GL_APICALL and similar defines to the project level.
    
    BUG=angle:658
    
    Change-Id: Ib4fa10bb89a6658efbc20d5a763d8ec9c3a5506f
    Reviewed-on: https://chromium-review.googlesource.com/201465
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 13b0d70ac731edd588a1dacadcbf724650fc5278
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed May 28 17:24:45 2014 -0400

    Add include of common_defines.gypi for the angle_path variable.
    
    BUG=skia:2272
    
    Change-Id: I29540e009c41a1638e1a0399950621abbbbf2904
    Reviewed-on: https://chromium-review.googlesource.com/201839
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit a5c9a144eb1e99255a7b2c30d19606c43a936bd5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon May 26 16:39:33 2014 -0400

    Fix uniform bug from duplicate D3D9 shader pointers.
    
    In D3D9, sometimes the compiler would return the same shader
    pointer on different calls to compile, if the programs were
    similar. Work around this quirk by storing an applied serial
    for the program, so we know when to refresh uniform data.
    
    BUG=angle:661
    
    Change-Id: I9750ee2298701dbe3f121dac6626198d24a2d1b2
    Reviewed-on: https://chromium-review.googlesource.com/201562
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 673e680ce0e1e85aca963e4ccee3c04417426233
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Wed May 28 10:28:33 2014 -0400

    Don't allocate unused swap chain buffers
    
    According to
    msdn.microsoft.com/en-us/library/windows/desktop/bb173075(v=vs.85).aspx
    the front buffer is the desktop and is not a dedicated part of the swap chain.
    Thus we should only need 1 swap chain buffer instead of the currently allocated
    2. Samples in the DirectX SDK also only allocate just one.
    
    BUG=angle:662
    
    Change-Id: If88eeab1954cbc92b39ac7cf42f924515c4b77f9
    Reviewed-on: https://chromium-review.googlesource.com/201860
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 9cd1915c96800fc998ec25b88b0e3081f0aa6109
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed May 28 15:54:34 2014 -0400

    Fix warnings about unreferenced local variables.
    
    BUG=skia:2272
    
    Change-Id: Ibf03efedc662fea2a389ad2dc5af5b7b014181a8
    Reviewed-on: https://chromium-review.googlesource.com/201900
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 24d8d675cd95abaf2584e200f990216911fc7826
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Tue May 27 12:07:51 2014 -0400

    Fix register packing for structs in d3d9.
    
    Fixes WebGL test misc/shader-with-array-of-structs-uniform
    
    BUG=angle:656
    
    Change-Id: If79a19db4d40bab9110422f7876de32e7f85e506
    Reviewed-on: https://chromium-review.googlesource.com/200620
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>

commit 68fe74aabbb4d8ae08aadcf22705f0d85a16e0b5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue May 27 12:56:01 2014 -0400

    Add a compiler query for the translator output type.
    
    This is useful for determining if we are compiling to a D3D9 or D3D11
    shader outside of the internal translator classes.
    
    BUG=angle:656
    
    Change-Id: Ib1c1d3de569edaa2b65c24c09d05aa4dd229d3e4
    Reviewed-on: https://chromium-review.googlesource.com/201564
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 5f5320a965a4decbea1cdb87a85ceaf66053ec2f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon May 26 13:56:11 2014 -0400

    Use 'inout' qualifiers in generated HLSL for 'out' parameters.
    
    With our added padding to some structures, using only 'out' in the
    generated HLSL can cause warnings because not all of the structure members
    are initialized.
    
    BUG=angle:286
    
    Change-Id: I866960883de487f19883fb2bc086c02703ea6271
    Reviewed-on: https://chromium-review.googlesource.com/201364
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit afc102609db7f5fcf317815b423147dfeb469a27
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon May 26 10:47:38 2014 -0400

    Regenerate public projects.
    
    Change-Id: Ibaccaa46457e9ee4379c137182673153a17f207d
    Reviewed-on: https://chromium-review.googlesource.com/201461
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit d61e4726c4f632bf5803435a583bd631db066426
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon May 26 12:44:54 2014 -0400

    Fix placement of windows.h include for Win 8.1 SDK.
    
    The windows header must be included before versionhelpers.h.
    
    BUG=angle:649
    
    Change-Id: Ifee95b2918ea039f9a1c93ad0244bf2d35bd8570
    Reviewed-on: https://chromium-review.googlesource.com/201462
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 3501c1656da784620c067410404fe9f67ff03998
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Wed May 21 13:27:15 2014 -0400

    Make available EGL surface parameters queryable.
    
    BUG=angle:331
    
    Change-Id: Idb3c3ddc6ddd6bfc21b15b7e8942975ce4cd051f
    Reviewed-on: https://chromium-review.googlesource.com/200811
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>

commit 893ab0878d3358c45ced6a6fb048ea048e1faa97
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri May 16 16:56:10 2014 -0400

    Move state query validation out of Context.
    
    Generate all GL errors in the validation helper functions, instead of
    within the state manipulation logic and internals of Context.
    
    BUG=angle:571
    
    Change-Id: I7a3f540e2ae0f5f8c7126e2593717cc3200dd7e5
    Reviewed-on: https://chromium-review.googlesource.com/200551
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 5df9f5233c7aa6b92987f32ea6d62cbe5e1800f8
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri May 16 10:37:47 2014 -0400

    Automate the DEQP tests by wrapping them in the gtest suite.
    
    BUG=angle:497
    
    Change-Id: If0a72c053bccccc4369ec78dd70173bbadb1be7b
    Reviewed-on: https://chromium-review.googlesource.com/200044
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 6ba49d9460a0071f1e95ba09a428addb9e3931b0
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed May 7 12:59:47 2014 -0400

    Automate the es conformance tests by wrapping them in the gtest suite.
    
    BUG=angle:497
    
    Change-Id: If12b2dd79f9f666c5d686237d5663f316171b15c
    Reviewed-on: https://chromium-review.googlesource.com/200043
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit c600c8c337e6c83ee476399729136a09b272078f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri May 16 11:22:21 2014 -0400

    Fix arrays-of-struct and nested struct uniforms.
    
    Our computation of register offsets had a few errors that
    messed up nested structs and arrays of structs.
    
    This fixes a WebGL test, as well as several dEQP tests.
    
    BUG=angle:505
    TEST=WebGL CTS 1.0.3, dEQP-GELS3.functional.uniform-api
    
    Change-Id: Id5a0f39481e079fe5ef5ef856943dc1f91ee3639
    Reviewed-on: https://chromium-review.googlesource.com/200045
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 3639892dee8ec8cecf4bae4b0585a7cefde98d80
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue May 20 14:51:53 2014 -0400

    Move all uniform validation from ProgramBinary to API layer.
    
    This will have the contract of having a successful API call once we
    call into the ANGLE internals, having successfully passed valiation.
    
    BUG=angle:571
    
    Change-Id: Ia8d6eccc1e42bdf9e9cc5c10094a08729b42778a
    Reviewed-on: https://chromium-review.googlesource.com/200075
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit aa981bd714bc3c091d74e8a2893edfca6c5b7bb4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue May 20 10:55:55 2014 -0400

    Refactor Uniform validation to validationES.cpp.
    
    This patch also incidentally fixes some bugged validation in the
    new ES3 unsigned int uniform API entry points.
    
    BUG=angle:571
    
    Change-Id: I89bd909467bd9418fe5ce3f246561765cf27a5e9
    Reviewed-on: https://chromium-review.googlesource.com/200074
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit d7c7bb276e532e2e55963cdb07b8091d01fb018d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue May 20 10:55:54 2014 -0400

    Refactor UniformMatrix validation.
    
    Move the shared validation logic to validationES.cpp.
    
    BUG=angle:571
    
    Change-Id: I2fb06a012703c647de2176914238b48665145c6f
    Reviewed-on: https://chromium-review.googlesource.com/200073
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 82b422713918ebdab290fe5ddc0dd4562215186f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue May 20 15:38:22 2014 -0400

    Fix build warnings in x64.
    
    A std::min/max with size_t and unsigned int.
    
    Popped up in f98e63a54b8a2.
    
    BUG=
    
    Change-Id: I25f26ddbe7fb333f895be8a8dce3d3d73044c3f9
    Reviewed-on: https://chromium-review.googlesource.com/200484
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit fc2521e16b341ab11eb413b44f7e8656d40f1c7c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri May 16 16:21:57 2014 -0400

    Fix build on Windows 8.1 SDK.
    
    The Windows 8.1 SDK includes a new DLL compiler DLL, and is useful
    to test against, so we should fix the few deprecated functions and
    warnings.
    
    BUG=angle:649
    
    Change-Id: I28bcf49564f3f7d7403d939d61dd78d3972281ba
    Reviewed-on: https://chromium-review.googlesource.com/199341
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 2d76e5f66595e1cef04f4ad678deda0d0e4643d7
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Fri May 16 17:46:41 2014 -0400

    Adds resource string generation to ANGLE
    
    This will avoid Chrome source having to be updated each time that ANGLE's
    ShBuiltInResources changes.
    
    BUG=374942
    
    Change-Id: If54dba8351de9b261ff269e885f231547c08ff0a
    Reviewed-on: https://chromium-review.googlesource.com/200171
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 0e3efa51570460fe5c76b54d91e10296d2456283
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Fri May 16 16:54:23 2014 -0400

    Explicitly set the swap effect.
    
    swapChainDesc.SwapEffect wasn't being set. The whole structure was initialized
    to 0 and DXGI_SWAP_EFFECT_DISCARD has value 0 so this should have no effect.
    Also sorted the field initialization in the order they're declared.
    
    BUG=373360
    
    Change-Id: If0113e7468c0bad024a07fec6ad9e223e19494b5
    Reviewed-on: https://chromium-review.googlesource.com/200046
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>

commit 784371d02a86e44b51ec4944b0077ba771cfce43
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri May 16 12:39:04 2014 -0400

    Don't discard serials of zero from the set of bound framebuffer serials.
    
    A serial of zero is a valid texture serial but it was used by
    RenderbufferStorage to denote a non-texture binding. Added a isTexture
    method to Renderbuffers and RenderbufferStorage
    has been updated to return -1 as the current texture serial to avoid
    collisions.
    
    BUG=angle:633
    
    Change-Id: Ie27e4b185ac09b48b593ae0dea02aeff5950a44f
    Reviewed-on: https://chromium-review.googlesource.com/200123
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit b66feb31c258d328a03c6555c41fabfa27af1636
Author: Dan Glastonbury <dglastonbury@mozilla.com>
Date:   Wed May 14 15:38:55 2014 +1000

    Handle interface blocks in getVariableInfo and
    getUserDefinedVariableInfo.
    
    BUG=angle:654
    
    Change-Id: I07a230bbf2387e85168c50cb3719c669a7890f8a
    Reviewed-on: https://chromium-review.googlesource.com/199687
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 1b2a8f964c70e7f404ded12e29cc999e3b9986f9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed May 14 13:09:39 2014 -0400

    Fix binary serialization to use explicit size and type.
    
    Loading program binaries across different architectures would cause
    runtime errors due to use of size_t.
    
    Also fix the ANGLE major and minor version that were clobbered in an
    earlier commit.
    
    BUG=angle:647
    BUG=371435
    
    Change-Id: I9473cc7e119592fce336aa47881839543e337b69
    Reviewed-on: https://chromium-review.googlesource.com/199633
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 43b004269af441999f2535cd1a9e7bb45e945b08
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon May 12 16:28:07 2014 -0400

    Optimize texture application in draw calls.
    
    Gather all bound textures and samplers first and then pass them to
    generateSwizzles and applyTextures to reduce redundant get calls.
    
    BUG=260069
    
    Change-Id: I5b10dddb01a6bfd756c58b76218838cfc1fd59b6
    Reviewed-on: https://chromium-review.googlesource.com/199343
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 45c785d35c270ca1d1168b6ca5517cb3a5a285cc
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue May 13 14:09:34 2014 -0400

    Move validation of EndQuery out of gl::Context.
    
    BUG=angle:571
    
    Change-Id: I8913eb1b565a4282d9d84d06933e8b854453f17d
    Reviewed-on: https://chromium-review.googlesource.com/199349
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit db2f14c0b1133507215dd3b7a30155b70885973a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue May 13 13:56:30 2014 -0400

    Refactor BeginQuery validation out of gl::Context.
    
    Part of our effort to relocate all validation logic to a preliminary
    pass outside of our state tracking or rendering layers.
    
    BUG=angle:571
    
    Change-Id: I5241daef6249910a781e78fd066debe0ab1d3f2b
    Reviewed-on: https://chromium-review.googlesource.com/199348
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 2e660d5627c8ef47daa2be82fa359baee13ab640
Author: Vladimir Vukicevic <vladimirv@gmail.com>
Date:   Mon May 12 16:43:19 2014 -0700

    Use lowercase d3d header includes to fix ANGLE compilation on case sensitive OSes
    
    The actual D3D header filenames are all lowercase.
    
    Change-Id: I8f78d618d44360d34b5b01eb5a1972b35f2f15b7
    Reviewed-on: https://chromium-review.googlesource.com/199692
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 1e514358eae1c77654cdd3c1efae702cba6bb374
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Tue May 13 15:53:06 2014 -0700

    Add READ/DRAW_FRAMEBUFFER_BINDING_ANGLE to getQueryParameterInfo
    
    Change-Id: I3e7f5cb0b4d2829eef86b878ffede0ac86279f57
    Reviewed-on: https://chromium-review.googlesource.com/199684
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit d526f9895c0aa867adb74a78e53832a9240c6ad6
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Tue May 13 14:51:19 2014 -0700

    Fix code style violation in compiler/preprocessor
    
    BUG=angle:650
    TEST=no behavior change
    
    Change-Id: Ib52f15f6471fc7897b66d11baee11216cf08158a
    Reviewed-on: https://chromium-review.googlesource.com/199591
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Zhenyao Mo <zmo@chromium.org>

commit ae1990c8a5faddcc0fb3d137b389fa6f22ba826b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon May 12 16:57:14 2014 -0400

    Track if uniform data has been updated to avoid extra Map calls.
    
    Compare all uniform data to the values currently stored in the uniform and
    only mark the uniform as dirty if the data is new.  This saves lots of
    buffer map calls when the same data is set on a uniform many times.
    
    BUG=260069
    
    Change-Id: Ic4df8a276a81b074211712ff50e5cc4d0d9bb612
    Reviewed-on: https://chromium-review.googlesource.com/199346
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 64c83249dfd51085d6931bfd686dceae492860e2
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue May 6 10:49:24 2014 -0400

    Remove references to software rendering in Renderer9.
    
    BUG=angle:641
    
    Change-Id: I3724c2504d43eae0528e8c72eb51e96c9d7c7a71
    Reviewed-on: https://chromium-review.googlesource.com/198377
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit f98e63a54b8a230c0bdfd5c958f949764f3fdb73
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon May 12 16:45:12 2014 -0400

    Minimize the API calls done by InputLayoutCache::applyVertexBuffers.
    
    Reduce the number of IASetInputLayout calls to 1 in all cases and set the
    fewest number of buffers at once.
    
    BUG=260069
    
    Change-Id: I059337fc6601ecefd801ef37546935becaa0d355
    Reviewed-on: https://chromium-review.googlesource.com/199345
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 946b948d8e5faa2ce63af6a7850889be0eaba45f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon May 12 16:37:25 2014 -0400

    Optimize Texture*::updateStorage by iterating over fewer levels.
    
    Only update the storage on levels that exist.  Especially helps for cube
    maps which have 90 images that would be iterated over in all cases.  Added
    an additional early-out check if the image is dirty for cube maps to match
    the other texture types.
    
    BUG=260069
    
    Change-Id: I3d298f4f9ebdc23136a31138a3ef8364667fa78c
    Reviewed-on: https://chromium-review.googlesource.com/199344
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit ff0d2ba6c7fb23c9dca60801d3f12a79d360fef3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed May 14 13:49:10 2014 -0400

    Split register allocation of varyings from the translator.
    
    The translator gl::Varying struct does not need to know about register
    allocation. We can put that entirely in the API library. This makes
    exposing Varying variables with the new translator types cleaner.
    
    BUG=angle:466
    
    Change-Id: Ib85ac27de003913a01f76d5f4dc52454530859e6
    Reviewed-on: https://chromium-review.googlesource.com/199736
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 4f8fcc2416f9162cb01d4add14cef2408865cac9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed May 14 13:49:09 2014 -0400

    Remove gl::Varying::elementIndex.
    
    We only assigned to elementIndex, and never referenced the value
    at any point in our code.
    
    BUG=angle:466
    
    Change-Id: I541a353110bcd1863b07b21bcf21fad38be19ca1
    Reviewed-on: https://chromium-review.googlesource.com/199735
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 11c3b30ffb6de1146e3432ada2f0773229943bfc
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue May 13 22:33:31 2014 +0000

    Revert "Fix binary serialization to use explicit size and type."
    
    This reverts commit 261988513e89479a0d121d045a8d89b64dc68214.
    
    Change-Id: I959ca14fcbb257f12005f7f0b64a600e906a118c
    Reviewed-on: https://chromium-review.googlesource.com/199630
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>

commit c8f7232e419a3c593bcff57eb5231b52c96288be
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Tue May 13 15:21:37 2014 -0700

    Attempt an Mac build fix
    
    BUG=
    TEST=mac bots build on GPU.FYI
    
    Change-Id: I3dd2b07702e8c0a40d64ab973eb969ba50954640
    Reviewed-on: https://chromium-review.googlesource.com/199611
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Zhenyao Mo <zmo@chromium.org>

commit 9eedea031cc0d900e34349f9a0ae166e303f7a96
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Mon May 12 16:02:35 2014 -0700

    Fix code styles in OutputGLSLBase, SymbolTable, and Types.
    
    I came across these three classes in the last CL, so do some
    cleanup as I touched these classes.
    
    BUG=
    TEST=webgl conformance, no regressions
    
    Change-Id: I2819bab5965fcb4917f85c2eded571a7f95ab9a2
    Reviewed-on: https://chromium-review.googlesource.com/199423
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Zhenyao Mo <zmo@chromium.org>

commit 487456a36db90e0ee3a05f012c6485c5b637e02e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue May 13 11:52:45 2014 -0400

    Fix missing <algorithm> include.
    
    Change-Id: Id6952fa07223217c9dde6798d3ea701b49e6089e
    Reviewed-on: https://chromium-review.googlesource.com/199313
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 0f55498b0c9ce676a7d38a49501314594b4dd15b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon May 12 16:24:59 2014 -0400

    Regenerate public projects.
    
    BUG=angle:618
    
    Change-Id: I516ad4a5639b021fb467aa7c7889a5f9f9bf4b33
    Reviewed-on: https://chromium-review.googlesource.com/199342
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 904a91641a02eea7d48021fbeb763cccac0ba690
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Fri May 9 14:07:45 2014 -0700

    Fix nested struct scope support in GL backend.
    
    Basically we should be able to reuse a struct name once the previous
    use is out of the scope, or we can reuse it if we are in a inner scope
    than where it is defined before.
    
    BUG=368910
    BUG=angle:618
    TEST=conformance/glsl/bugs/nested-structs-with-same-name.html
    
    Change-Id: Icfac76b844deaca0c8a0501d7426ff3802e657dc
    Reviewed-on: https://chromium-review.googlesource.com/199137
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Zhenyao Mo <zmo@chromium.org>

commit 261988513e89479a0d121d045a8d89b64dc68214
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon May 12 15:49:38 2014 -0400

    Fix binary serialization to use explicit size and type.
    
    Loading program binaries across different architectures would cause
    runtime errors due to use of size_t.
    
    Also fix the ANGLE major and minor version that were clobbered in an
    earlier commit.
    
    BUG=angle:647
    BUG=371435
    
    Change-Id: If2ad4c8fc246cc9ff0b4d95ba87b7d1ed109a064
    Reviewed-on: https://chromium-review.googlesource.com/199102
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 2c27db6f38022303a1efa7a2ad8d1e78c958e2aa
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Sat May 10 12:21:11 2014 -0400

    Attempt skipping D3D11 shader optimization if compilation fails.
    
    BUG=angle:648,chromium:371868
    
    Change-Id: I1de854aad6e002bd1349f08eb8d6b597c535c90b
    Reviewed-on: https://chromium-review.googlesource.com/199312
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Brandon Jones <bajones@google.com>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 1408bae66650f2ceb17801ba9780a853f794580e
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Sat May 10 12:18:42 2014 -0400

    Attempt skipping validation if D3D11 shader compilation fails.
    
    Some shaders fail to compile with validation error messages that make no sense.
    
    BUG=angle:648,chromium:372016
    
    Change-Id: Ief0e28efa6bc7eaa483c95f45c00ce4f9f20e541
    Reviewed-on: https://chromium-review.googlesource.com/199311
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 93faad9f65ebda46102f628dadb92b12126ea652
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Sat May 10 12:14:13 2014 -0400

    Refactor attempting shader compilation with different flags.
    
    BUG=angle:648
    
    Change-Id: Ie340eaa708820cc13be6d1f5ba04555b6c1918ea
    Reviewed-on: https://chromium-review.googlesource.com/199310
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit aea8e947d3f07df76086009293be59570354a174
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Fri May 9 19:14:08 2014 -0400

    Fix D3D11 'units' polygon offset bias.
    
    D3D11 DepthBias is an integer corresponding directly to GL polygon offset units.
    
    BUG=371604
    
    Change-Id: I20a126bd9c6298efff95f3edbf1babc0dd495b18
    Reviewed-on: https://chromium-review.googlesource.com/199200
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 5075e13bd2a2f8744cda0efc8af801e93f040099
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Fri May 9 14:40:29 2014 -0400

    Fix D3D11 polygon offset.
    
    We were not taking the state of GL_POLYGON_OFFSET_FILL into account.
    
    BUG=371604
    
    Change-Id: I9b490ed043faeece86665acaef0b865bf1f7b60d
    Reviewed-on: https://chromium-review.googlesource.com/199121
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>

commit ed14b79dc8e9ec4f4a831bb5213ab67ef01af196
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Thu May 8 11:21:07 2014 -0700

    Shaders should fail compile if a boolean's precision is specified
    
    Tested and no regression on WebGL conformance 1.0.3
    
    BUG=angle:628
    BUG=368874
    TEST=http://www.khronos.org/registry/webgl/sdk/tests/conformance/glsl/misc/boolean_precision.html
    
    Change-Id: Ie74616c3ab846eea19f4bd4a041fc0f00d55f151
    Reviewed-on: https://chromium-review.googlesource.com/198884
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Zhenyao Mo <zmo@chromium.org>

commit 7b827596f4351ef88a3b03eedbc273d0a5309ff4
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu May 8 11:12:26 2014 -0400

    Fix BufferStorage11::getLatestStorage not finding the latest buffer.
    
    If there are only buffers with data revision 0, getLatestStorage will skip
    over them.  Fixed the if statement so that it will always find a buffer if
    one exists.
    
    BUG=angle:644
    
    Change-Id: I24fc426383c9ae18b7ccf2f8937a9daa7a071ebe
    Reviewed-on: https://chromium-review.googlesource.com/198826
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit d3ff90090a11257e4a6fa6d3663d3d2296aba161
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu May 8 11:19:27 2014 -0400

    Add support for querying GL_MAX_VARYING_COMPONENTS.
    
    BUG=angle:645
    
    Change-Id: I2e33798bd7fe6cabb1237224aeb9e59cdf03f73c
    Reviewed-on: https://chromium-review.googlesource.com/198836
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 5fedd0174bdf4955f3908ab3489fadfc16c317ea
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 8 10:19:36 2014 -0400

    Implement copies from pack buffers to native buffers.
    
    Full support for using pack buffers as vertex buffers or other
    binding points requires us to copy through the staging buffer.
    
    BUG=angle:511
    
    Change-Id: Ife0f5390a1a83dfbe0fa0b19db72f3a8b82b6b83
    Reviewed-on: https://chromium-review.googlesource.com/198435
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 14764a0928837e321a242e841c3d626da27a1209
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 8 10:19:20 2014 -0400

    Implement internal copies from pack buffers.
    
    Pack buffers used in different binding points when combined
    with other buffer operations require us to be able to read
    from the pack buffer then write to the native buffer.
    
    BUG=angle:511
    
    Change-Id: I2e859695235eb649ddd5dfc1332ecb19b57c1933
    Reviewed-on: https://chromium-review.googlesource.com/198434
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 235a6ab502ae61af8be113e0d92284106252b694
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 8 10:44:20 2014 -0400

    Fix regression with BufferStorage11 and latest storage.
    
    With our fix to huge buffer allocations, an extra check was preventing
    pixel pack from running on the first try.
    
    BUG=angle:511
    
    Change-Id: Idabafe4e204ad3b7bf2010595dc455affe93dae0
    Reviewed-on: https://chromium-review.googlesource.com/198825
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit b69d39ba6df92bd50ef66d6561206f40be972619
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue May 6 11:49:22 2014 -0400

    Add a DXGI format for GL_LUMINANCE16F_EXT in ES3.
    
    BUG=angle:642
    
    Change-Id: I41eb64b8e9963cfe33e4c127f84a16eef9b118d3
    Reviewed-on: https://chromium-review.googlesource.com/198379
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 07d68856ae5bad96fa5083a2f77fba921aa1aa28
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue May 6 16:31:14 2014 -0400

    Move the implementations of shader var init to the header.
    
    Making the contructors for shader variables inline saves us from
    exporting them across DLL boundaries. This makes it easier to use
    them in the translator when building the translator as a DLL.
    
    BUG=angle:466
    
    Change-Id: Iee0556e06dc1f9e98fe9eea6577819305de0dd0b
    Reviewed-on: https://chromium-review.googlesource.com/198555
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit d127d8e6f2597099e23e844c946e11a9c3ce799a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue May 6 14:21:23 2014 -0400

    Replace libEGL catch bad_alloc clauses with ellipses.
    
    Since we incur some kind of type confusion that stops us from properly
    catching bad_alloc exceptions generated when compiled with exceptions
    or when ANGLE is compiled with C++ exceptions, use catch-all clauses.
    
    BUG=angle:634
    
    Change-Id: I6d6efbf1fc7a4ebf8f13150b2814bfcd5edaad91
    Reviewed-on: https://chromium-review.googlesource.com/198421
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 6b6fd54a2dddbe91e18af1b98a81b3fd6983128f
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Tue May 6 17:09:19 2014 -0400

    Adds the PBO extension test
    
    BUG=angle:581
    
    Change-Id: I50a1181d0547c5629c9037f6d8e989c505c7e5ed
    Reviewed-on: https://chromium-review.googlesource.com/198239
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 6667f76bdbf2ae3cf7d49307b62c606c1bf33c37
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Tue May 6 17:12:19 2014 -0400

    Advertises the NV_pixel_buffer_object extension
    
    BUG=angle:581
    
    Change-Id: I1e55582e94a36e56ef3e0f53ff9233c1a31408f5
    Reviewed-on: https://chromium-review.googlesource.com/198238
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 158c43846f00a3c283c20898ddaf2e6705b51103
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Tue May 6 13:00:07 2014 -0400

    Adds PBO buffer targets when extension is present
    
    BUG=angle:581
    
    Change-Id: I125cdd995e538db4a275657770149071406a6ad1
    Reviewed-on: https://chromium-review.googlesource.com/198237
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 334f19b705ada0ec67f70c838d298ce044381939
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Tue May 6 15:39:11 2014 -0400

    Adds conversion for USHORT2N decltype
    
    BUG=angle:643
    
    Change-Id: I90a5e5c91351b9dd43a841cc5612f3f3656dc5b1
    Reviewed-on: https://chromium-review.googlesource.com/198233
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 80b9528d2def244b16309daa024871eaf285d2cd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue May 6 13:57:43 2014 -0400

    Handle buffer memory allocation failures gracefully.
    
    When we would allocate huge buffers, we would not always gracefully
    fail and return a GL error back to the application. We should be able
    to better handle buffer allocation failures with this patch.
    
    BUG=angle:634
    
    Change-Id: Ic3edce6d22b731ec52666a2a0e82f9a4fbbb23ae
    Reviewed-on: https://chromium-review.googlesource.com/197994
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 2b5c9cbc41dee2bce452a4df177849a0b68719b0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Apr 29 16:17:22 2014 -0400

    Store current pack operation as a queued command.
    
    The pack pixels operation is split in two halves: a GPU
    copy then a CPU readback. We defer the CPU readback until
    we can't wait any longer. That is, we do the readback when
    the user maps the buffer, or there's another readback or
    internal operation.
    
    This offers the benefits of doing as much GPU work as
    asynchronously as possible, and only doing the readback
    work on related API calls (map or subsequent pack calls).
    
    BUG=angle:511
    
    Change-Id: I95a01da2b0e842438b180e8cdbb382c9a46ae210
    Reviewed-on: https://chromium-review.googlesource.com/197836
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 7a29e4ae3d067afce9779eefc9a67a180da82129
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri May 2 10:41:48 2014 -0400

    Stop generating duplicate vertex binaries.
    
    We would generate multiple vertex binaries that result in the same
    HLSL code, eg for vec2 and vec3 vertex attributes. Eliminate
    duplicates by using the converted attribute type for testing
    for matching binaries.
    
    BUG=angle:599
    
    Change-Id: I061588164577ff9fa69ebb7d8a3f2bf6bb6fe013
    Reviewed-on: https://chromium-review.googlesource.com/197830
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit de0ec75ebb8a8c0703d9d964b9d853029f2b88c7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon May 5 15:10:38 2014 -0400

    Replace catch blocks from std::bad_alloc to ellipses.
    
    It seems we weren't catching bad_alloc despite using the correct syntax.
    Using ellipses solves the problem, and since we only expect bad_alloc
    it does the equivalent result of catching and returning out of memory.
    
    I'm currently not aware of the proper syntax to catch bad_alloc.
    
    BUg=angle:634
    
    Change-Id: Ib3154546d1b72d180cb565c71f35716696863cdd
    Reviewed-on: https://chromium-review.googlesource.com/198245
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit cc14f104b55a37b55face38116f01ea56c7927b8
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon May 5 17:00:40 2014 -0400

    Use a static function instead of a static initializer for defaultBlockInfo.
    
    BUG=angle:640
    
    Change-Id: I5fe568c9a2b492a5bd8a42142762229c5f992c7e
    Reviewed-on: https://chromium-review.googlesource.com/198248
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 8a7bed8c585979c41797aee6aa4022e000f9e936
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 1 14:51:07 2014 -0400

    Add tests for pack buffer corner cases.
    
    BUG=angle:511
    
    Change-Id: I72ff4f8fa83d9dda4d186d727035085ecc39a9dc
    Reviewed-on: https://chromium-review.googlesource.com/197703
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 1ef6fe7748b5d5a440a53d985d6c98ee763cbc56
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 1 14:51:05 2014 -0400

    Enable PBO asynchronous readback in Renderer11.
    
    BUG=angle:511
    
    Change-Id: Id795a85ec1daa396fc51f021c37fe23df3ecc065
    Reviewed-on: https://chromium-review.googlesource.com/197702
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 19811d0ba09684fd3115b90fdd359648115d233c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu May 1 14:51:04 2014 -0400

    Keep persistent pack buffer memory storage.
    
    Keeping a persistent storage allows us to treat the memory
    buffer as the canonical copy of the pack buffer data, and
    simplifies corner cases.
    
    BUG=angle:511
    
    Change-Id: Ied4dcb2edce2b85f68645f5a65603cbf18ad5a16
    Reviewed-on: https://chromium-review.googlesource.com/197701
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 876dc7240025ef09a305ca66a9346decba715d25
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu May 1 17:10:24 2014 -0400

    Fix 64-bit build failures.
    
    Update the BufferStorage classes to use size_t for all sizes and offsets.
    BufferStorage9 now uses a std::vector to manage its memory.
    
    BUG=angle:631
    
    Change-Id: Iea4e7b33ede59a5b9c6a1245690c4b7865096fc3
    Reviewed-on: https://chromium-review.googlesource.com/197819
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit a18299c961d0cc03c3cbd0a3b9f51dd6c80578d7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Apr 30 14:51:53 2014 -0400

    Reference .git/index as a dependency of commit_id.
    
    Any time the git index changes, we will re-run the commit id hook.
    This will ensure we never are left with stale commit ids from
    other git commits.
    
    BUG=angle:626
    
    Change-Id: I03c37225fb902b6c1801e8f993d767122e8bfeb6
    Reviewed-on: https://chromium-review.googlesource.com/197723
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 25bf006a617e8ea9535a0313926b98f73a11ea74
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Tue Apr 22 15:10:22 2014 -0400

    Optimize alignment and conversion test for float attribute types.
    
    The generic alignment and conversion test to check for the possibility of using
    direct storage is relatively expensive. Float types can be tested more quickly.
    
    BUG=angle:613
    
    Change-Id: I5ab008ce82c8b652f0392c20a80a5b198b2437a5
    Reviewed-on: https://chromium-review.googlesource.com/197721
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 37f77d2e1a3f1ec144b25961f99f020dbdc7af2a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Apr 30 16:10:13 2014 -0400

    Fixes to the standalone Linux build.
    
    Several small build errors present on Linux cropped up due to
    different warning flags and platform quirks.
    
    BUG=angle:627
    
    Change-Id: If8f651cacf05bb06ecb129be47b12729ccc3f69b
    Reviewed-on: https://chromium-review.googlesource.com/197724
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit b05e34952a5b27d1aae27c58d654ae8635481ecd
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Tue Apr 22 15:48:00 2014 -0400

    Refactor setting the input layout and vertex buffers separately.
    
    BUG=angle:613
    
    Change-Id: Id2ecfc215ef65164cb9ee8bfbad168e9af658386
    Reviewed-on: https://chromium-review.googlesource.com/197722
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit aa2f00afc2f736761ee1ce1b9834dd5ba02728e9
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Tue Apr 22 13:49:59 2014 -0400

    Early out when direct binding not supported.
    
    BUG=angle:613
    
    Change-Id: I488dca027e3f6d23cda546ca44af54dcc3338047
    Reviewed-on: https://chromium-review.googlesource.com/197720
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 69d8b7cf5912678d95f10ac5a1aeb1b12dc3ef0f
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Wed Apr 30 12:16:48 2014 -0400

    Remove unused mWriteUsageCount.
    
    BUG=angle:613
    
    Change-Id: Ia0d9f4ff3b4ace57532b061f5729fa82f49c4497
    Reviewed-on: https://chromium-review.googlesource.com/197710
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 3b35e4da0212fcaedede2314baa6fefaded39055
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Tue Apr 22 11:34:31 2014 -0400

    Fix a performance regression.
    
    "Refactor BufferStorage11" caused a performance regression by dropping the line
    which sets mReadUsageCount to 0. This causes markBufferUsage() to clear mResovedData
    which then has to be restored on the next getData() call.
    
    BUG=angle:613
    
    Change-Id: I61c4b4960305a69b315c20ced66265a770002338
    Reviewed-on: https://chromium-review.googlesource.com/197503
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit a836e48a7cd15559850c2ca26edbc6cbee59f068
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Apr 28 10:08:27 2014 -0400

    Allow non-4x4 compressed blocks for small mip layers.
    
    CompressedTexSubImage would disallow 1x1 or 2x2 mips being set for any mip
    level except 0.  This made it impossible to set the data in the lowest mip
    levels.
    
    BUG=angle:623
    
    Change-Id: I623414ae4fd5d6b051579285160296b03fd36486
    Reviewed-on: https://chromium-review.googlesource.com/197250
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>
    (cherry picked from commit cc84a853eb5ab63a744657da704f84905565ab9e)
    Reviewed-on: https://chromium-review.googlesource.com/197654

commit f20f0206c963546f293190f73b64d09ff00e7273
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Apr 28 11:02:07 2014 -0400

    Verify that the compiler has been initialized before freeing it.
    
    BUG=angle:625
    
    Change-Id: I8bba0dea26eacf02df4568cfb6840aa332bd0df8
    Reviewed-on: https://chromium-review.googlesource.com/197655
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 17a0e632904d2f7e00923a9db8aeacc5ff9722e6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Apr 25 11:29:54 2014 -0400

    Fix scoped structure references.
    
    We had neglected to reference scope bracket values when
    initially constructing the scoped struct name. Fixes the
    new WebGL test.
    
    BUG=angle:618
    
    Change-Id: Ie78a8264c9e16c5a6574cecd662adbd5475d6495
    Reviewed-on: https://chromium-review.googlesource.com/197252
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit e7a453a5bd76705ccb151117fa844846d4aa90af
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Apr 24 14:50:57 2014 -0400

    Lazy creation of the BufferStorage staging buffer.
    
    Only creating the staging buffer on use saves us from allocating
    a D3D11 staging buffer for pack buffers. This saves some memory
    and time when we're only using a buffer object for asynchronous
    readback.
    
    BUG=angle:511
    
    Change-Id: I97b37cc27aba4a4526025815b5935b9e74abae2e
    Reviewed-on: https://chromium-review.googlesource.com/195367
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    (cherry picked from commit ebf396c1dd243223240bac6ea7f01a23893f9a28)
    Reviewed-on: https://chromium-review.googlesource.com/197281

commit 73571e66051374fb0f8fee3c954e5c05ed0ceeb4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Apr 24 14:50:56 2014 -0400

    Implementation of buffer map for pack buffers.
    
    Internally pack buffers are CPU pointers, with an associated
    staging texture. In the map call we copy the data out of the
    staging memory to CPU memory, and return a pointer to the CPU
    buffer.
    
    BUG=angle:511
    
    Change-Id: I2a82addd2f21241d8d49554b2fc71d890a166386
    Reviewed-on: https://chromium-review.googlesource.com/195366
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    (cherry picked from commit 0b44a455b5a81b84662e57f30348f4e791f62358)
    Reviewed-on: https://chromium-review.googlesource.com/197272

commit c93d6f375432e183808208fa90cb06b53100cd6a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Apr 15 16:12:41 2014 -0400

    Add an ANGLE test for the permissive blit fix.
    
    BUG=361931
    
    Change-Id: Ib44667422f524e5dcc3035692e8f725c24e92821
    Reviewed-on: https://chromium-review.googlesource.com/194981
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    (cherry picked from commit 6795ca48559cedbc94c2a5c1e24ce9bd0139571a)
    Reviewed-on: https://chromium-review.googlesource.com/197251
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 006ed1edc71da6e15a2e4d55722e9b73e32715a8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Apr 28 15:47:39 2014 -0400

    Reduce translator sources compile count to one.
    
    With this change, the common sources shared between translator
    and translator_static are compiled in a static library. There
    is only one file with exported functions which needs to be
    compiled for each target. This should reduce ANGLE and chromium
    build times.
    
    BUG=angle:569
    
    Change-Id: I3ce011872323ec988befbd6db731add4fce5787b
    Reviewed-on: https://chromium-review.googlesource.com/197271
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 66e5dda735b70e6d9b81614beef6d64dd180e580
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Mon Apr 28 11:13:25 2014 -0700

    Fix a bug in init_varyings_without_static_use workaround.
    
    The TType constrcuted is using es2 signature, which is different from the es3 signature.
    
    BUG=angle:568
    TEST=webgl conformance tests with --init_varyings_without_static_use commandline switch
    
    Change-Id: I15347c7a6fe67e9214e4c96b156a50806a90c97c
    Reviewed-on: https://chromium-review.googlesource.com/197294
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Zhenyao Mo <zmo@chromium.org>

commit c41e42d49626e1527c9e049b48d7c9fb30b0b9d6
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Apr 28 10:58:16 2014 -0400

    Early-out of *TexSubImage* calls when the width, height or depth is zero.
    
    BUG=angle:622
    
    Change-Id: I74ef5b684151895b24a15fa8f799a633174622c2
    Reviewed-on: https://chromium-review.googlesource.com/197270
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 7faf1a14deb3cdfc9f9137de95f9fc1552b603bd
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Fri Apr 25 18:03:56 2014 -0700

    Fix a mem corruption in ANGLE translator.
    
    Basically outside TCompile::compile(), the global parse context is
    invalid, and should never be queried.
    
    BUG=angle:568
    TEST=webgl conformance tests, no crash
    
    Change-Id: I5573ce2bf3bf838ab24f59dda00948f60a0b023d
    Reviewed-on: https://chromium-review.googlesource.com/197178
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Tested-by: Zhenyao Mo <zmo@chromium.org>

commit 06bcde59e8529882732119933b0bb36dd0888889
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Apr 24 17:05:40 2014 -0400

    Remove gmock the dependency from angle_tests and compiler_tests.
    
    BUG=angle:611
    
    Change-Id: Ieb250bda25d62cda3e0690d05d814a4a39062d92
    Reviewed-on: https://chromium-review.googlesource.com/197042
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit bde4c2f7be2a09a8ca8b9bb1f71e5d06ec1fba92
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Mar 21 10:42:10 2014 -0400

    Force a compiler release when we terminate the Renderer.
    
    Forcing the release ensures we always manually deallocate resources,
    and allows us to compile for different shader model versions after
    releasing the renderer.
    
    BUG=angle:619
    
    Change-Id: I0c9d68a454c7779a024f4fcc4f4987c2abe12e60
    Reviewed-on: https://chromium-review.googlesource.com/196820
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit a56a86e66a9b812cbe7ed4b6a4785d111666c9c2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Apr 22 13:14:06 2014 -0400

    Update the VertexAttribute test expectations.
    
    When we switched from converting 8-bit normalized signed int from a
    full 32-bit float expansion to a 4-channel 8-bit format, we broke an
    ANGLE test. Giving the test a slightly looser bound produces the correct
    output, due to floating point rounding.
    
    BUG=angle:612
    
    Change-Id: I8781e6efe83341e22d31d35b35e0048889bcd540
    Reviewed-on: https://chromium-review.googlesource.com/196532
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit cdacacdd2be9c0cb2fba1b7373fb4639b0b9e8ef
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Apr 24 12:01:56 2014 -0400

    Add validation for unsized BGRA texture formats.
    
    BUG=angle:620
    
    Change-Id: I956b7fc4ed0be99239e4ed1c63b51732727cc87f
    Reviewed-on: https://chromium-review.googlesource.com/196840
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit f67115ce37b89380847cfd9a1009781ac06ffaaa
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Apr 22 13:14:05 2014 -0400

    Fix validation in TexSubImage.
    
    We weren't properly checking the x and y offsets against the texture
    boundary, and were in some cases producing D3D errors with out-of-bounds
    writes. This was popping up in IncompleteTextureTest. The test itself
    was also bugged.
    
    BUG=angle:610
    
    Change-Id: Id58cac088fed03cae2aabbf00bce234f17208753
    Reviewed-on: https://chromium-review.googlesource.com/195410
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 42350abce935b78e6826c9b2482da38d91fe5b91
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Apr 22 15:05:26 2014 -0400

    Fix Linux GCC unit test build.
    
    In a Chromium build, we must respect initializer order due to extended
    warnings.
    
    BUG=angle:568
    
    Change-Id: I4d86fdd2c5663524c2ffd17e3e3c26da1ff3ccdb
    Reviewed-on: https://chromium-review.googlesource.com/196291
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 9fba2ba0deddf7d0416af39eaacd06733648d076
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Apr 22 14:21:00 2014 -0400

    Fix GCC Release build.
    
    The release build was complaining about a missing size_t definition
    in blocklayout.h.
    
    BUG=angle:568
    
    Change-Id: I9757f3ac45627a2a73d4f90cc507f8620674820e
    Reviewed-on: https://chromium-review.googlesource.com/196290
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit a8ff8855d29f505e0dbe5aaebce6401603ed388a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Apr 22 14:18:13 2014 -0400

    Fix signed/unsigned comparison warning.
    
    BUG=angle:560
    
    Change-Id: I9d0e8ce01db91a828bc7ae2da74c8ddce60f0184
    Reviewed-on: https://chromium-review.googlesource.com/196192
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 32e66b7a722532b9f423302d349f4f190af05758
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Tue Apr 22 13:54:56 2014 -0400

    Add newline to fix clang compile
    
    Change-Id: I9e0e32d94f24fb32e9971772fb7cd68cd36ab47d
    Reviewed-on: https://chromium-review.googlesource.com/196280
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 6cec85094687a44e1e44fae013d7e7e92a943dda
Author: Geoff Lang <geofflang@chromium.org>
Date:   Sat Apr 19 12:39:25 2014 -0400

    Re-enable RTTI and fix compilation errors.
    
    BUG=angle:616
    
    Change-Id: I964ddc4a3d51d5f202608e3162edb684290cbc6a
    Reviewed-on: https://chromium-review.googlesource.com/195731
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 1056726094b11c834b6623d378baf3c7a19c00af
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Apr 17 16:40:00 2014 -0400

    Fix build with Clang.
    
    Clang's validation is a bit more thorough than GCC's or MSVC's and
    picked up a few new errors and warnings. We missed a few default
    cases in switches and used an improper type for default arguments.
    
    BUG=angle:568
    
    Change-Id: I34239c6c5c785ad1e62917fc37c3243f4c5b5f1b
    Reviewed-on: https://chromium-review.googlesource.com/195472
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 4f26786863c81244acdd5b36738ae25e2c56b312
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Apr 17 15:53:37 2014 -0400

    Fix Linux build.
    
    We were missing several header includes necessary for GCC. Also our
    static assert macro had a bug, preventing us from using the same
    assert in multiple places.
    
    BUG=angle:568
    
    Change-Id: I01bcdef033a9380f436cbf4bd2a9f11b1553887c
    Reviewed-on: https://chromium-review.googlesource.com/195471
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit fbcc6345c7a90c2f0872c5ceaca43d23a744a24c
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Thu Apr 17 10:38:38 2014 -0400

    Report unknown swap error as EGL_BAD_MATCH.
    
    EGL_BAD_NATIVE_WINDOW is exclusively for indicating that the native
    window handle is invalid. Since we're seeing this error on switches
    between full-screen and windowed, EGL_BAD_MATCH seems like a better
    fit.
    
    BUG=361553
    
    Change-Id: If0e2c4e5efd90838629b2769f20fcffdad4c30a9
    Reviewed-on: https://chromium-review.googlesource.com/195363
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit c9fa6ed16bb095758f4649975a235574e6245cd2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Apr 17 11:53:40 2014 -0400

    Implement asynchronous readback with PBOs.
    
    This patch covers the basic implementation in the buffer storage.
    
    BUG=angle:511
    
    Change-Id: Ie7dcb11e42e568115521cc3e4ed479d3486ac957
    Reviewed-on: https://chromium-review.googlesource.com/193621
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 7538f7fa5f987fff945e7d9807dd345755f032bd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Apr 17 11:53:39 2014 -0400

    Refactor Renderer11 to accomodate pixel pack.
    
    Splitting the readTextureData call allow a pack buffer read
    to return asynchronously after the D3D11 CopySubresource call.
    
    Refactoring patch only.
    
    BUG=angle:511
    
    Change-Id: I3459ddfa7b48497b25fb2f4890e1cc1341e2cf75
    Reviewed-on: https://chromium-review.googlesource.com/193620
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 3b5c4be2989b49700a31e519113742ed0a8ef53c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Apr 17 11:45:24 2014 -0400

    Remove forced windows version macros.
    
    These macros were causing conflicts when chrome redefines them and since
    we don't rely on any specific windows versions, we can remove them.
    
    BUG=angle:568
    
    Change-Id: Ie6bf31d03cea07bf2a71ffa6d815dad2b4d204f8
    Reviewed-on: https://chromium-review.googlesource.com/195364
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 4305fea16bc6f3d112e0f3234087a79eeefd21f6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Apr 16 15:12:35 2014 -0400

    Add a pack buffer storage to BufferStorage11.
    
    This new storage implementation uses CPU memory to read back
    pixel data from a texture. We use this class to implement
    pack buffers for asynchronous pixel readback.
    
    BUG=angle:511
    
    Change-Id: Ifebd242047291af6b34c981231b69987b87d290d
    Reviewed-on: https://chromium-review.googlesource.com/193243
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 1deca4fd84530e91e2f9b0a92db3a678b6441b14
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Apr 17 10:50:43 2014 -0400

    Don't include the test main files in the source listings.
    
    Since chrome adds the ANGLE test source directly to it's own projects,
    the main function is defined twice.  Remove the main file from the source
    listings and only add it for our test executables.
    
    BUG=angle:568
    
    Change-Id: I30b481a23d5de80341d7f339583a43ad2f4391bb
    Reviewed-on: https://chromium-review.googlesource.com/195345
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 834e8b7715c25e299c07c9d63f5be0a0ee6c5856
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Apr 11 13:33:58 2014 -0400

    Move ShaderVariables to common shared source.
    
    Also move the block layout encoding utilities to the common folder.
    The combined changes allow us to include the shader and block code
    into both libGLESv2 and the translator separately. This in turn
    fixes the Chromium component build, where we were calling internal
    translator functions directly from libGLESv2.
    
    BUG=angle:568
    
    Change-Id: Ibcfa2c936a7c737ad515c10bd24061ff39ee5747
    Reviewed-on: https://chromium-review.googlesource.com/192891
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 8cc03bf73fb1ed693c46a56a2cd59b80850bfb19
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Apr 11 13:33:57 2014 -0400

    Revert "Remove the second translator target, only using static."
    
    This reverts commit d51df461e52ac9421201234fff488104f788a7c3.
    
    Conflicts:
            projects/build/all.sln
            projects/samples/samples.sln
            src/compiler.gypi
    
    Change-Id: I6e1d77531df61de28e4402ed1916f6ecdebb68fd
    Reviewed-on: https://chromium-review.googlesource.com/192890
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit bdc9b2f0ed9e365bf5a4d19799d93a512f07dd32
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Apr 16 14:41:54 2014 -0400

    Add validation for GL_RED and GL_RG in glReadPixels.
    
    EXT_texture_rg adds support for these readback formats but validation was
    not added.
    
    BUG=angle:609
    
    Change-Id: Iddd94bb8d8cf3b244a0d8a59cd4445ffa2ae61fe
    Reviewed-on: https://chromium-review.googlesource.com/195176
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit b5b028576a25e0492d422ba02ed1614f5561fe75
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Apr 16 14:39:36 2014 -0400

    Fix a semantic index not being written for gl_FragCoord.
    
    BUG=angle:608
    
    Change-Id: Iebf7577a7a0c54cef25cfa7706840e8ad26b7a08
    Reviewed-on: https://chromium-review.googlesource.com/195163
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 464850868307005a1287d79f7a640f05372358bb
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Tue Apr 15 13:12:50 2014 -0400

    Implement EXT_shader_texture_lod
    
    BUG=angle:551
    
    Change-Id: I81d7574a15861f1b24ddf6147cf71adbf20e10f3
    Reviewed-on: https://chromium-review.googlesource.com/194960
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 04296f85bee2783be2b0cee090cce84e1d74416c
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Mon Apr 14 14:24:38 2014 -0400

    Fix comparing TextureFunction structures.
    
    Test each field for smaller or larger than, and when they're equal test the
    next field.
    
    BUG=angle:605
    
    Change-Id: I2c5a90d95c7ff73b83f3067381c14b74a213ef05
    Reviewed-on: https://chromium-review.googlesource.com/194602
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 84cfa1240c5037ff849bcaf7226d0e2a21ce7628
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Mon Apr 14 13:48:45 2014 -0400

    Fix Lod0 texture functions that take a bias parameter.
    
    Texture functions that are in a divergent path can still take a bias parameter.
    Treat the bias parameter as an explicit lod. The logic behind this is that the
    implicit lod is considerd to be 0 like with other Lod0 functions, and then the
    bias is added to it.
    
    BUG=angle:604
    
    Change-Id: I2dbc309c497d37e960209f08849f9d2bc9e1fbcc
    Reviewed-on: https://chromium-review.googlesource.com/194544
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 35adc099c7fb3497a665c47df5e43563d10579b2
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Fri Apr 11 17:49:31 2014 -0400

    Implement BASE/MAX_LEVEL, and MIN/MAX_LOD functionality.
    
    BUG=angle:596
    
    Change-Id: I0c818fdc1575be1ee16966acf7b6daa067a24282
    Reviewed-on: https://chromium-review.googlesource.com/193236
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 8de682870a82cad54f3fffe5c6723e858656f7e2
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Fri Apr 4 11:10:27 2014 -0400

    Implement state tracking for BASE/MAX_LEVEL, and MIN/MAX_LOD.
    
    BUG=angle:596
    
    Change-Id: I773720a19b766c7a6930967983db0a34e84f2790
    Reviewed-on: https://chromium-review.googlesource.com/193235
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 41d9f7e97a6066b8300e3fab3ad3b83c083b3479
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Fri Apr 11 17:32:55 2014 -0400

    Move common SRV management into TextureStorage11.
    
    BUG=angle:596
    
    Change-Id: I0de2e3826e18ee769c27577b40677f0ca4da083b
    Reviewed-on: https://chromium-review.googlesource.com/193234
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>

commit e83fb0026bbaed48988966e3ed159836effc7091
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Fri Apr 11 17:28:13 2014 -0400

    Homogenize the parameter list for all SRV creation functions.
    
    BUG=angle:596
    
    Change-Id: Idd13aea4b4074aabbc4c183a3814226c31dda994
    Reviewed-on: https://chromium-review.googlesource.com/193233
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>

commit a9f85c63bd7cbe1ce85664c32d1bf5f7d020a82c
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Fri Apr 11 17:23:29 2014 -0400

    Cache previously created SRVs.
    
    BUG=angle:596
    
    Change-Id: I15ac729388177a2ac89df4caffad5e12c7317bd7
    Reviewed-on: https://chromium-review.googlesource.com/193232
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 1d31aca98b997c225fe87172659d3bf51340f285
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Thu Apr 3 12:45:07 2014 -0400

    Deduplicate SRV creation.
    
    BUG=angle:596
    
    Change-Id: I2f4e0c4dd5c1182db1f67589f72dafef3717b363
    Reviewed-on: https://chromium-review.googlesource.com/193231
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 76b258f88ebb47cf1022ae6b4392f220a56383d4
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Thu Apr 3 10:59:42 2014 -0400

    Rename getBaseTexture to getResource, and refactor swizzleRequired.
    
    BUG=angle:596
    
    Change-Id: I72d8796172c5db57ddeb86bbc6c08cbb2ec125f1
    Reviewed-on: https://chromium-review.googlesource.com/193230
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 948f5571fca51fd31662bebbc262b02d11939676
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Apr 8 10:26:35 2014 -0400

    Move the map logic to the buffer storage implementation.
    
    Refactoring patch only.
    
    BUG=angle:511
    
    Change-Id: Id69efe15ecb32d711a79cc5ff612853e29377368
    Reviewed-on: https://chromium-review.googlesource.com/193242
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit ac0a267bd3b2205f310e502fe4ecf9d710af298a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Apr 11 13:33:56 2014 -0400

    Fix non-square matrix vertex attributes.
    
    When we generate an input signature for a vertex shader, we should
    use the transpose of the matrix type instead of the matrix type
    itself. This was breaking dEQP tests 'shaders.functions.datatypes'.
    
    BUG=angle:594
    
    Change-Id: Ia945ffd865d7255500f7a62394bcd5bdfbbedef4
    Reviewed-on: https://chromium-review.googlesource.com/191461
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 12bea0a9def2fef211c71d83ef591e249ef8bf38
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Apr 11 13:33:55 2014 -0400

    Stop shader local variables from using invalid qualifiers.
    
    Local variables in GLSL can't use any other storage qualifier than
    'const', but we weren't checking properly. For example, the can't
    have 'in' or 'out' storage. This was causing a dEQP conformance
    test failure.
    
    BUG=angle:593
    
    Change-Id: Ibb333950f2d0990a47d1a96caecc455497d5e57e
    Reviewed-on: https://chromium-review.googlesource.com/191460
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 9f45240c3004ade5fa9ddd7d696d69bcbf77b4b1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Apr 11 14:17:34 2014 -0400

    Regenerate the compiled lexer.
    
    The lexer was missing some recent changes.
    
    BUG=angle:593
    
    Change-Id: I8fa598e5a4ae35ebc9f9a48789632b6a326bc4d3
    Reviewed-on: https://chromium-review.googlesource.com/194136
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit cebb5aa092f92e1f727fe5e4300dbd83abd49afb
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Apr 7 14:13:40 2014 -0400

    Fix warnings about unreferenced local variables.
    
    BUG=angleproject:602
    
    Change-Id: I2eb04fe6eed60b3877b14628e81c0b1fe3b68647
    Reviewed-on: https://chromium-review.googlesource.com/193431
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 662b8481b2eecd36a46d27ceae48ff95f7ca159c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Apr 11 13:10:15 2014 -0400

    Handle an unknown error when exiting fullscreen on Windows 8.
    
    BUG=361553
    
    Change-Id: I6d3e843a8ae06f1bbd5313ed95e338cb0b74fef3
    Reviewed-on: https://chromium-review.googlesource.com/194233
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 9bab6d8f44557b65ac5dec5db0202b7008c9440c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Apr 10 13:20:13 2014 -0400

    Insert missing sampler cases in TType::buildMangledName.
    
    We were missing the cases for 2D Rect samplers and external OES
    samplers. This was causing an assert in the WebGL CTS in Debug.
    
    BUG=angle:550
    
    Change-Id: Ieefeef6ff0f9a486bf7667c7efc60dee766f03ef
    Reviewed-on: https://chromium-review.googlesource.com/194122
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 655fe36e254e7f11e79a4fad4febd5d768194c35
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Fri Apr 11 13:12:34 2014 -0400

    Use shader optimization level 3 selectively.
    
    Default to HLSL compiler optimization level 1 and work around a compiler bug with break in nested loops by using optimization level 3.
    
    BUG=angle:603
    
    Change-Id: I4f7985a5648f1b5f54d80554c21aced7fc1777c2
    Reviewed-on: https://chromium-review.googlesource.com/194129
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 15cba8b12cec6c45c0c8793ad14eeb4cf5f86cba
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Apr 8 10:26:34 2014 -0400

    Refactor buffer storage to split backing stores.
    
    A more flexible representation of a buffer storage implementation
    allows us to represent storage for D3D11 buffers, and also pack
    buffer as CPU memory.
    
    Refactoring patch only.
    
    BUG=angle:511
    
    Change-Id: Ie123099f6217bec6edc98594e49333d16f006a0b
    Reviewed-on: https://chromium-review.googlesource.com/191033
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit eb9baabb73632231c8c1a26dc4d3647e17262ba7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Mar 24 13:19:43 2014 -0400

    Pass pack state arguments instead of split parameters.
    
    Similar to unpack state, the PixelPackState struct encapsulates
    all the parameters related to pixel pack buffers. Passing the
    packstate makes functions more consise.
    
    BUG=angle:511
    
    Change-Id: If6954a5085e9b8f828cfc8892a73e7c7514b0c8a
    Reviewed-on: https://chromium-review.googlesource.com/191032
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 1eb5bd76f18a1f4a78330c9dd30ecc99b91c6dc3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Mar 28 10:43:39 2014 -0400

    Clamp ReadPixels calls to unsigned limits in D3D11.
    
    GL allows reads beyond the defined pixel rectangle, although their
    resultant values are undefined. D3D11 gives an error when reading
    out-of-bounds, hence clamping the area satisfies both APIs.
    
    This fixes a Renderer crash in our ReadPixels out of bounds test,
    and also fixes the test to test the correct area of pixels.
    
    BUG=angle:590
    
    Change-Id: I12439c22d53ec6a2d69e1b8cf80f53e9c18e11f7
    Reviewed-on: https://chromium-review.googlesource.com/191080
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 96e46cd6f2c4e23cb80d1ec7654395721669b60e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Apr 7 15:51:15 2014 -0400

    Allow sample projects to choose ES3 & D3D version.
    
    Passing parameters from the sample constructor allows us to test
    ES3 functionality, as well as choose between D3D9 and 11.
    
    BUG=angle:521
    
    Change-Id: I7b9543b399450f62c5415654e8026a7c218b7e37
    Reviewed-on: https://chromium-review.googlesource.com/193292
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit d095bdaa16259fa8a701b166ac9803f1cb8a7811
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Apr 7 14:21:14 2014 -0400

    Add a common include in the project definitions.
    
    Any projects that may be included by gyp files outside our project (chrome
    or skia) may not have the same defines or ignored compiler warnings.  To
    make sure that we can always compile, each project now includes a common
    file with all required definitions and gyp variables.
    
    BUG=angleproject:583
    
    Change-Id: I702bee975d0554c51bfa03981920dfb295ffbafa
    Reviewed-on: https://chromium-review.googlesource.com/189458
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit f3e6a9e0b9e542ac0512e83bf41f988c3a83f31d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Apr 7 14:18:35 2014 -0400

    Remove the angle_relative_path gyp variable.
    
    Add a separate step to copy the scripts to the intermediate directory and
    run them from there.
    
    BUG=angleproject:583
    
    Change-Id: I307a2810ac03c00248cba1f227f128a1517c6574
    Reviewed-on: https://chromium-review.googlesource.com/193432
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit bf712d0a32847868913a3521b44912a5c29f08b8
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Mon Mar 31 14:23:35 2014 -0400

    Remove max level from texture storage.
    
    BUG=angle:596
    
    Change-Id: I174e3b73c0cb675b5c9aea5722a7051a34639831
    Reviewed-on: https://chromium-review.googlesource.com/192340
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit fa7b76d08d5c2dddb7979471884834103c761747
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Mon Mar 31 14:51:45 2014 -0400

    Remove base level from texture storage.
    
    BUG=angle:596
    
    Change-Id: I66173f77b6c5aed3b8836cd2c9f1da02ae769429
    Reviewed-on: https://chromium-review.googlesource.com/192056
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit f61738a578693170902045f8a3fa2f383fd5c367
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Mon Mar 31 14:50:18 2014 -0400

    Rename lod offset to top level.
    
    BUG=angle:596
    
    Change-Id: Ic256445528d6587adcf0adfd8aaba5e47778988b
    Reviewed-on: https://chromium-review.googlesource.com/192055
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit e47e7363cf651100b85e042930f31cf5f8291fc1
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Thu Mar 27 13:34:56 2014 -0400

    Create a single-level SRV when not mipmapping.
    
    BUG=angle:596
    
    Change-Id: Iec5a9e43a23c0743ff8b01985a86a72c5f18a7f7
    Reviewed-on: https://chromium-review.googlesource.com/192052
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit a10c1c7e961a01faa06100785df77801ac0669a3
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Thu Mar 27 11:20:52 2014 -0400

    Pass all sampler state to getSRV.
    
    BUG=angle:596
    
    Change-Id: I4f97ea7c43bf12f5d986db39ae67d87074f98e82
    Reviewed-on: https://chromium-review.googlesource.com/192051
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 73f514334579d734da226e42e296b003bc95d78f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Mar 4 11:45:38 2014 -0500

    Remove the es_util project.
    
    BUG=angle:521
    
    Change-Id: Iad633bf210c36db340490f21923534697e27891b
    Reviewed-on: https://chromium-review.googlesource.com/188741
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit e977efc43aab920b397c1388720287105140cb76
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Mar 4 11:43:04 2014 -0500

    Port the PostSubBuffer sample to the new sample framework.
    
    Add a swap method on the SampleApplication class so that samples can
    override the default eglSwapBuffers function call.
    
    BUG=angle:521
    
    Change-Id: I3f0ba6ed182b368e6f5fe502de67d1a14267a857
    Reviewed-on: https://chromium-review.googlesource.com/188740
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit e9b02245e076600fb27469aef9c68f04110d8433
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Mar 4 11:21:19 2014 -0500

    Port the TextureWrap sample to the new sample framework.
    
    Refactor the generation of checkerboard textures since they're used by
    this sample and MipMap2D.
    
    BUG=angle:521
    
    Change-Id: I1ba8bc4927a7944eb8efad0c8aa71eba4619e457
    Reviewed-on: https://chromium-review.googlesource.com/188729
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit d3a4092d589a0a321cd8d8532c410c2f73d96e93
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Mar 4 11:07:13 2014 -0500

    Port the Stencil_Test sample to the new sample framework.
    
    Rename Stencil_Test to stencil_operations, a more fitting name for a
    sample.
    
    BUG=angle:521
    
    Change-Id: I5412ecef12d80c3dbf54539bc7509678a35c44d5
    Reviewed-on: https://chromium-review.googlesource.com/188728
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 3b3ad1feb8b5c2f35e4a4b8ea79503735f031960
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Mar 5 14:35:01 2014 -0500

    Remove excess dereferences and casts.
    
    The behaviour of dereferencing an array on the stack is the same as simply
    using the array but it is counter-intuitive, error prone and requires a
    cast to fit the required type.
    
    Change-Id: Ib14e902293cf6dc71aaf944d57f53ea895a680ab
    Reviewed-on: https://chromium-review.googlesource.com/188875
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 98705b7de3de71d3f5becc8ed3974e5b26c03fa3
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Mar 31 16:00:03 2014 -0400

    Fix off-by-one error with the number of storage mip levels.
    
    This caused there to be too few mip levels in the TextureStorage and it
    would be discarded if there was a modification to a lower mip.
    
    Also modified Texture::mipLevels to return the number of mip levels rather
    than the index of the smallest mip to avoid confusion.
    
    Fixes WebGL D3D9 conformance failures in:
        mipmap-fbo
    
    BUG=angleproject:550
    
    Change-Id: Idf3f543487232edceb520337331b39dab2bd26ba
    Reviewed-on: https://chromium-review.googlesource.com/192341
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit f6139359a16220c0e29695b23b3707d3d6f053ea
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Mar 3 16:44:56 2014 -0500

    Port the Simple_VertexShader sample to the new sample framework.
    
    Add a Matrix type and cube gemetry generation helper functions.
    
    BUG=angle:521
    
    Change-Id: Ia50be1790d6f440499eea052f427762637f3c876
    Reviewed-on: https://chromium-review.googlesource.com/188727
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 705073f7565ae8509c367808a68aa9c569e13247
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Mar 3 15:42:53 2014 -0500

    Port the Simple_TextureCubemap sample to the new sample framework.
    
    Added helper functions for generating cube maps and sphere geometry.
    
    BUG=angle:521
    
    Change-Id: Ic1e8584d69793233ec6a97744b13097d55b9f287
    Reviewed-on: https://chromium-review.googlesource.com/188726
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit ca623f3f44cb1c2a8bbfb0e91b52f0b541552754
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Mar 28 13:43:54 2014 -0400

    Add a B8G8R8X8 type for mipmaping, reading and writing D3D9 BGR textures.
    
    Fixes WebGL D3D9 conformance failures in:
        context-attributes-alpha-depth-stencil-antialias
        copy-tex-image-2d-formats.html
        texture-attachment-formats.html
    
    BUG=angle:550
    
    Change-Id: I09d42c5e6cf7d880841207627fd20698ed188a6a
    Reviewed-on: https://chromium-review.googlesource.com/191935
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 99384047b1f70bef806c4c8ea284a1b81a1125c8
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Mar 3 14:32:10 2014 -0500

    Port the Simple_Texture2D sample to the new sample framework.
    
    BUG=angle:521
    
    Change-Id: Idd1889b13a751d473b1e99c4c593cd4cded972ae
    Reviewed-on: https://chromium-review.googlesource.com/188725
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 712e3f4d654122b2227586eed3f6ac69d3f9944e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Mar 3 11:14:15 2014 -0500

    Port the MultipleRenderTarget sample to the new sample framework.
    
    Renamed to MultipleDrawBuffers and added shader loading from file.
    
    BUG=angle:521
    
    Change-Id: Iffeb589a95eee4409d3624c56fe3a5e4a7d5be63
    Reviewed-on: https://chromium-review.googlesource.com/188724
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 8dd592bf2a5ace66d12dc6a4e381fd345fd42da1
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Mar 3 10:46:33 2014 -0500

    Port the SimpleInstancing sample to the new sample framework.
    
    Add a Vector2 type for storing texcoords and improve the sample by having
    it draw several thousand instances instead of two.
    
    BUG=angle:521
    
    Change-Id: I87996a90000a83bc66d091c7537ea411080d7e9f
    Reviewed-on: https://chromium-review.googlesource.com/188723
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 8b4f8f8450e0ff89efaca4758406acd06dbd30fe
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Mar 26 14:01:58 2014 -0400

    Fix D3D11 resource leaks.
    
    A few bugs, like missing destructors or Release calls were leaking
    D3D resources in a few places on exit. This patch should fix all the
    unreleased D3D object warnings on exit when running a sample app.
    
    BUG=angle:589
    
    Change-Id: Ib50df3229998938cddc2859d6f2d19ddd3a4db47
    Reviewed-on: https://chromium-review.googlesource.com/190079
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 0979e7aa9819ad4326b67239287857f5cab8752f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Mar 27 14:48:39 2014 -0400

    Fix D3D9 short attributes to int component type.
    
    In the component type lexicon, we only use float/int/uint/norm,
    and we were marking the D3D9 short vertex attributes as short.
    
    This fixes the WebGL Test gl-vertexattribpointer-offsets.
    
    BUG=angle:550
    
    Change-Id: I3853df8bad5c98b8d0986bfa4ea73d254264ad56
    Reviewed-on: https://chromium-review.googlesource.com/191950
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 1e194d3104446d8a928fb8da150827bfcc21a7da
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Mar 27 13:41:18 2014 -0400

    Use correct input stride for disabled attribs.
    
    We were using the input stride from the disabled vertex attribute.
    This was breaking the gl-disabled-vertex-attrib test in D3D9.
    
    BUG=angle:550
    
    Change-Id: Ia5a37dc39105fe8ec92f4adbee3cfb2905e82676
    Reviewed-on: https://chromium-review.googlesource.com/191932
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 6654bc93f1ca30c2a5d7403f56c94d668c650ca0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Mar 26 14:01:57 2014 -0400

    Fix stack overflow when parsing huge expressions.
    
    The expression limit validation check needs to be in front
    of other tree traversal to prevent stack overflows. Also,
    call depths of sufficient size (80k+) could overflow the
    depth check itself, necessitating an upper bound on initial
    tree traversal.
    
    This fixes crashes in the WebGL long-expressions bug test.
    
    BUG=angle:584
    
    Change-Id: Ib48294bf77a5923d230f237fbd63a36a5662e317
    Reviewed-on: https://chromium-review.googlesource.com/191931
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit dd0d3426ac7ca0320978258c72d34eb4e4cec1a2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Mar 26 14:01:56 2014 -0400

    Use a heap-memory traversal to free compiler resources.
    
    The stack-memory traversal is prone to stack overflow. See the
    WebGL conformance test long-expressions-should-not-crash.
    
    BUG=angle:584
    
    Change-Id: I02d72bc2e4101b7141d609c50303403ea8298e60
    Reviewed-on: https://chromium-review.googlesource.com/191930
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit d19fae55ead928d372bfe6d0e6321046b6d01b18
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Feb 28 13:17:57 2014 -0500

    Port the ParticleSystem sample to the new sample framework.
    
    BUG=angle:521
    
    Change-Id: I6d00333ac7761f15ee83a47dc3e6e3cc13c675cd
    Reviewed-on: https://chromium-review.googlesource.com/188195
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 6e05c2724d6939c40b858d78de0a0b3f08aeeac8
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Mar 17 10:46:54 2014 -0700

    Compile shaders with the best profile available.
    
    Instead of always compiling D3D11 shaders with shader model 4, compile
    with the latest profile that the current feature level allows.
    
    BUG=angle:495
    
    Change-Id: I478d3d4a1aadf24d893508eee1a8c11e501bc084
    Reviewed-on: https://chromium-review.googlesource.com/190340
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 4c5c6bbb82f96de2d3abe0c7c7c7d72fba5217c9
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Feb 5 16:32:46 2014 -0500

    Add support for drawing with transform feedback.
    
    BUG=angle:495
    
    Change-Id: Ib9c19130dfbc44a99998c5d6d8160bfc2b683eb9
    Reviewed-on: https://chromium-review.googlesource.com/185037
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 1b3e4b803231691b24ca361139ebacb643f2a0fa
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Feb 28 13:14:40 2014 -0500

    Port the MultiTexture sample to the new sample framework.
    
    BUG=angle:521
    
    Change-Id: I72f063664b43d3cfafe03c8f060076596bedea0f
    Reviewed-on: https://chromium-review.googlesource.com/188194
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 9adef9ba7a7d74fe487ebceab15ed6251c76c85f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Feb 28 13:12:54 2014 -0500

    Port the MipMap2D sample to the new sample framework.
    
    BUG=angle:521
    
    Change-Id: I3b1d3a02214850bf52c1d5c468f5696076065b88
    Reviewed-on: https://chromium-review.googlesource.com/188193
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 916e769a5ad557f3b8a7f19ef1d3a2577e0f3165
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Thu Mar 27 16:58:22 2014 -0400

    Adds support for EXT_map_buffer_range
    
    BUG=angle:581
    
    Change-Id: I0ab637db35afd51ff4c516bb97e954f4f2cdad3d
    Reviewed-on: https://chromium-review.googlesource.com/191710
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit b3801744ed9df17a7d8d290e203938818ad90add
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Thu Mar 27 14:59:19 2014 -0400

    Adds support for OES_mapbuffer
    
    BUG=angle:581
    
    Change-Id: I05824051789a77c8169ec5830731e6155c507fc4
    Reviewed-on: https://chromium-review.googlesource.com/191650
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 8776b2587620d1759a86f4b9bbefd2b9560f57cd
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Feb 28 13:11:18 2014 -0500

    Port the Hello_Triangle sample to the new sample framework.
    
    BUG=angle:521
    
    Change-Id: I887257193af3130447c4691bb72303cc978b96fe
    Reviewed-on: https://chromium-review.googlesource.com/188192
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 49be2ad9f863f5b238997e740aa35adc40ba66e3
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Feb 28 13:05:51 2014 -0500

    Add an ANGLE sample framework.
    
    BUG=angle:521
    
    Change-Id: If1fc6198dbbe44f0ade5539cff540e3e086f2a3b
    Reviewed-on: https://chromium-review.googlesource.com/188722
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit f81e69b962743b395d0f22d3cc6d714ac5e3e0d2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Mar 26 14:05:48 2014 -0400

    Make D3D9 default again.
    
    BUG=angle:568
    
    Change-Id: I4b60084f2be0c04bb2f7dd78e78e2ef2825adc00
    Reviewed-on: https://chromium-review.googlesource.com/191552
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 48dcae7b217420a7387c84a76651989e6f5f3576
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Feb 5 16:28:24 2014 -0500

    Added transform feedback shader generation.
    
    BUG=angle:495
    
    Change-Id: I41a0177fd3eb43c9f4ab9e54faeadac3eb483c2c
    Reviewed-on: https://chromium-review.googlesource.com/185035
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 1b6edcb636b4ed9c473cca9774c5784768f7d346
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Feb 3 14:27:56 2014 -0500

    Add remaining transform feedback queries.
    
    BUG=angle:493
    
    Change-Id: I8841af50dcb90e7fb8a811b95d015bfdd2c5d226
    Reviewed-on: https://chromium-review.googlesource.com/191035
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 3dc300a592756d292225141eded4a3a61bd511da
Author: John Bauman <jbauman@chromium.org>
Date:   Tue Jan 28 15:30:35 2014 -0800

    Allow creating fixed-size window surfaces.
    
    BUG=320021
    
    Change-Id: I97cdd65ac17ee142700dbf0f363891500e967571
    Reviewed-on: https://chromium-review.googlesource.com/184205
    Reviewed-by: John Bauman <jbauman@chromium.org>
    Tested-by: John Bauman <jbauman@chromium.org>
    Reviewed-on: https://chromium-review.googlesource.com/190563
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit f0b40601a6f9b99a9ecc632d6b9f5265047f49db
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Mar 24 14:49:11 2014 -0400

    Clean up gyp build scripts.
    
    We can use angle_path instead of angle_build_scripts_path to locate
    enumerate_files.py. Also pass angle_path to the post-build script
    hook, as this information is necessary to locate the root angle
    folder.
    
    BUG=angle:592
    
    Change-Id: I06b3f0201751d90b7c1efdefe8db07d114bd87dd
    Reviewed-on: https://chromium-review.googlesource.com/191082
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 41a492724e7aca5c8b463c69bb4e2fa85a1c021a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Mar 18 16:10:13 2014 -0400

    Fixed error message for exceeding maximum struct nesting.
    
    It got broken in r2423.
    We were referring to field-name as struct-name.
    This patch fixes the regression and also improves the error message
    by adding the field-name.
    
    BUG=angle:459
    R=kbr@chromium.org
    
    Review URL: https://codereview.appspot.com/12891043
    
    Change-Id: I9ac9a8dafcad1857f7d39e6d494e457d1fc50f70
    Reviewed-on: https://chromium-review.googlesource.com/190530
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 1e40d1c9903a270d800ee23616647257fc3461bf
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Mar 18 22:41:22 2014 +0000

    Revert "Add remaining transform feedback queries."
    
    This reverts commit 4251b75830f91df68df80a096a0713830c73b1cc.
    
    Change-Id: I95afebcaf91ee38a121df20f403eb06f19b2510a
    Reviewed-on: https://chromium-review.googlesource.com/190560
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 4dfed837cbbdf55d82b2a602d9f5806201f80fa7
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Mon Mar 17 20:03:39 2014 -0400

    Validate target parameter in CopyTexImage calls before using to check mip level
    
    Would cause UNREACHABLE to be triggered if target was invalid, and INVALID_VALUE to
    be returned instead of INVALID_ENUM if it were the only erroneous argument.
    
    Change-Id: I2606e77379fa2832a50b3a299e6474a4b2f68afa
    Reviewed-on: https://chromium-review.googlesource.com/189701
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 4251b75830f91df68df80a096a0713830c73b1cc
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Feb 3 14:27:56 2014 -0500

    Add remaining transform feedback queries.
    
    BUG=angle:493
    
    Change-Id: Ibeae41da2b83ab63d237912602ba5d2aad0bbec2
    Reviewed-on: https://chromium-review.googlesource.com/185036
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit e708fc023362f7d66a59795d467486e41f0fcffa
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Mar 17 10:23:18 2014 -0400

    Only use map-write instead of map-write-discard.
    
    In D3D11, map-discard is reserved for DYNAMIC usage buffer,
    which are resources that live on the GPU. Staging buffers
    don't have the notion of map-discard, and using them with
    discard gives a D3D11 error.
    
    This patch fixes crashes in dEQP buffer.map.write.invalidate.
    
    BUG=angle:587
    
    Change-Id: Ie225e72d4e226c69e73826c9fb67bbb940bbc466
    Reviewed-on: https://chromium-review.googlesource.com/190072
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 0c66720a14bb41c9161874b8940675616703ef40
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Mar 17 10:06:09 2014 -0400

    Fix unsigned integer R10G10B10A2 vertex formats.
    
    We were incorrectly setting the signed parameter to true
    in the vertex format table. This fixes a dEQP test in
    vertex_arrays.output_types.
    
    BUG=angle:586
    
    Change-Id: I84dcdee89a95369cc8e41d451f96dbb8daa37b6d
    Reviewed-on: https://chromium-review.googlesource.com/190056
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit a53ab517d972cb95cb7518f7c2e87d6e51e46e22
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Mar 17 09:47:44 2014 -0400

    Fix linking of struct varyings.
    
    The dEQP varying struct linkage tests were triggering
    asserts when we tried to query component info of struct types.
    
    BUG=angle:580
    
    Change-Id: I61e33573c5577a327c58fec7a07ae7718690ac42
    Reviewed-on: https://chromium-review.googlesource.com/189194
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 3b7e205c444055b296ef12c94cf0f0114ba56497
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Mar 17 09:47:43 2014 -0400

    Fix matrix input attributes and formats.
    
    We can't assume we have a simple mapping between input attribs
    and shader attribs. The app specifies matrix input attribs as
    several vector inputs, while the shader uses a single matrix type.
    
    BUG=angle:576
    
    Change-Id: I4e3cdde4a14a5f06b86052dfe0325113cbe8e599
    Reviewed-on: https://chromium-review.googlesource.com/189193
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 4d161bad7c290636192645e376395519dadd9159
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Mon Mar 17 18:13:30 2014 -0400

    Amends CopyTexImage validation to conform to new language in the ES 3.0.3 spec.
    
    bug=angle:582
    
    Also performs format checks for non-subimage copies, and permits unsized format
    textures as destination for the copy.
    
    Change-Id: Id647bb968416fbd35e1c70e5da21c81367e08f07
    Reviewed-on: https://chromium-review.googlesource.com/189431
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 3e29695d0dbe539eac0f1ccb05fe2a8d751af87d
Author: Scott Graham <scottmg@chromium.org>
Date:   Tue Feb 4 16:23:27 2014 -0800

    Draft spec for ANGLE_platform_angle_d3d
    
    This is the initial draft of a spec that extends
    EGL_EXT_platform_base to allow choosing a particular ANGLE D3D
    backend.
    
    Change-Id: I1d80fa8b3c4a59fe998f6d15aa0f393bdb9d26c1
    Reviewed-on: https://chromium-review.googlesource.com/184975
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Commit-Queue: Scott Graham <scottmg@chromium.org>
    Tested-by: Scott Graham <scottmg@chromium.org>
    (cherry picked from commit dc18dc306d554665b5764ab3281bbb16a5a5569e)
    Reviewed-on: https://chromium-review.googlesource.com/190026
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 626d54e8c3eb30a1aab73d3464b669b5ea3e5115
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Feb 7 14:24:12 2014 -0500

    Disable MRT support when using D3D10 feature levels.
    
    D3D10 cards perform poorly when the pixel shader outputs to multiple
    render targets that are not bound.
    
    BUG=325581
    
    Change-Id: I13f6f98861ffeb77cd21f7401ded4425e4ea7841
    Reviewed-on: https://chromium-review.googlesource.com/185400
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-on: https://chromium-review.googlesource.com/190341

commit 0c0481a1e31b7dae88cec3fa17904c8e35414218
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Mar 17 10:53:28 2014 -0700

    Update gclient configuation for new git repository.
    
    Cherry-pick of bd79517a4d160bdcbbc799b5ab545bf24c6d7abe.
    
    Change-Id: I87d790c14d68789524df76f63a61fc30a8792e4e
    Reviewed-on: https://chromium-review.googlesource.com/190350
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 7840b170f1f4b34cda8295c83f0f59825511f667
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Mar 13 11:20:44 2014 -0400

    Cache bound vertex and index buffers by ID3D11Buffer instead of serial.
    
    Since a DirectBuffer11 may return different buffers from getBuffer
    depending on the required buffer type and if the internal buffers are
    dirty or not, the current serial is not reliable.  Use the actual buffer
    object so that there can be no missmatch.
    
    BUG=350581
    
    Change-Id: I6ea1616273346117a17646edb68e6518e584f2b1
    Reviewed-on: https://chromium-review.googlesource.com/189435
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 72b16b25351027dfab3121af76262cc9e44682bd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Mar 6 14:58:10 2014 -0500

    Fix incorrect path usage in generate_projects.
    
    We should use the cross-platform os.path.join() to support
    platforms other than Windows.
    
    BUG=angle:577
    
    Change-Id: I9d96fc1b13731a57ffcd97469632f0acedb8e5c7
    Reviewed-on: https://chromium-review.googlesource.com/188879
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>
    
    Conflicts:
    
            generate_projects
    
    Change-Id: I76cacb8ee3acf477c0e99cd73cf91622efc3c9b4
    Reviewed-on: https://chromium-review.googlesource.com/189131
    Tested-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 9a2e5b94902061cda27320f7daf8ed78407be1e6
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Mar 13 11:45:36 2014 -0400

    Fix incorrect function forward declaration.
    
    Change-Id: I135c4457fdc95f2d331e2924104a30f90a40bd1a
    Reviewed-on: https://chromium-review.googlesource.com/189456
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 26e9195fdcf536f07e4760656b063262bda9b60d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Mar 5 15:01:27 2014 -0500

    Refactor ReadPixels validation.
    
    Move ReadPixels error generation out of the implementation and into
    the API level.
    
    BUG=angle:571
    
    Change-Id: I0b32294f359fedd13d1af2c95baf37a3e5ac1d5b
    Reviewed-on: https://chromium-review.googlesource.com/188014
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 70656a64851b8014a325dd711297054032e466c1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Mar 5 15:01:26 2014 -0500

    Implement queries and enums for buffer mapping.
    
    GetBufferPointerv, GetBufferParameteri64v, and new values
    for GetBufferParameteriv.
    
    BUG=angle:565
    
    Change-Id: I179a3193987b2bff1b0628e47f6a0d627541b0cf
    Reviewed-on: https://chromium-review.googlesource.com/188203
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit bd0ea9c7afed0151e25bb43041edff3748c9d443
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Tue Mar 4 13:53:29 2014 -0500

    Don't attempt to perform constant folding with an uninitialized constant variable.
    
    BUG=348205
    
    Change-Id: I9be17832b1a35d2995725ab147977992c2732274
    Reviewed-on: https://chromium-review.googlesource.com/188711
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-on: https://chromium-review.googlesource.com/189471

commit 3f9e7eaeeb79614bcdc57898fde61dd547ab3562
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Mar 11 14:42:34 2014 -0400

    Regenerate public projects.
    
    Change-Id: I0a385ff823ef492b4fced89a734d8053fdb0ffd0
    Reviewed-on: https://chromium-review.googlesource.com/189474
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Zhenyao Mo <zmo@chromium.org>

commit 3cdfcce86b38ef31a0afd71855887193a7924468
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Fri Mar 7 13:00:08 2014 -0800

    Remove SH_MAP_LONG_VARIABLE_NAMES
    
    We use hashing to map all variables/strcuture field names, etc,
    so we no longer need this option.
    
    Checked with Firefox and WebKit, they no longer use this option
    either. Time to remove it.
    
    Change-Id: Ie3e79b91a05258b04af419a9c42b2fd1b00e67c4
    Reviewed-on: https://chromium-review.googlesource.com/189236
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-on: https://chromium-review.googlesource.com/189568

commit 276abc85533a3e41fe2b159786c6b92df10a3a15
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Fri Mar 7 14:32:56 2014 -0500

    Regenerate default Windows projects
    
    Change-Id: I2fe1d02cdf59409cb2d8a68b407bbd01ab7d8c0a
    Reviewed-on: https://chromium-review.googlesource.com/188954
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 550c600b99d7ee2463e5878d0a9f66ea24c1414a
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Wed Feb 26 15:40:48 2014 -0800

    Improvement on loop unrolling with loops indexing sampler arrays
    
        1) Before this workaround is hardwired on mac, now we move it behind a compil
        2) Fix the issue where "break" inside the loop isn't handled while unrolled.
    
        BUG=338474
        TEST=webgl conformance test sampler-array-using-loop-index.html
    
    Change-Id: I4996a42c2dea39a8a5af772c256f8e3cb383f59a
    Reviewed-on: https://chromium-review.googlesource.com/188079
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Zhenyao Mo <zmo@chromium.org>
    
    Conflicts:
            include/GLSLANG/ShaderLang.h
            src/compiler/translator/ValidateLimitations.cpp
    Change-Id: I546197bd7df1634ebccdd380be14c3250cd56151
    Reviewed-on: https://chromium-review.googlesource.com/189061
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Zhenyao Mo <zmo@chromium.org>

commit 2515c5201ba79f803d6f813de006840728922476
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Mar 7 10:28:43 2014 -0500

    Fix compile errors on pre-C++11 compilers.
    
    BUG=angle:575
    
    Change-Id: Ibad77fda193c850c29483aa56d0d2275c131429a
    Reviewed-on: https://chromium-review.googlesource.com/189163
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit feee44bf9a92c9d36c40fea9a4fb861b0e6d0fc4
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Mar 5 11:34:31 2014 -0500

    Keep the debug log file open and flush with each message.
    
    Instead of opening and closing the debug log file with each message, keep
    it open permanently and flush it with each message, allowing the OS to
    flush to disk as needed.  With debug logging enabled, performance is improved
    by 100x!
    
    Also, dynamically size the output buffer to the max message size.  When
    running all the samples, the largest debug message was 318 characters so
    an initial size of 512 (instead of 32768) seems reasonable.
    
    BUG=angle:575
    
    Change-Id: If4a1387431fc2d32a6b2d1f9ca1f2590473feb86
    Reviewed-on: https://chromium-review.googlesource.com/188713
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 7a5f738bcf0773177a533c73bd51330a353e4004
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Mar 5 15:01:24 2014 -0500

    Implement buffer map related entry points and errors.
    
    BUG=angle:565
    Change-Id: I14cee4eec032d4b6b8d9479da4234b81e4ec6bec
    Reviewed-on: https://chromium-review.googlesource.com/188202
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 8c96d58af5a5994c81b81032f775dc7d24cb5661
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Mar 5 15:01:23 2014 -0500

    Add helper methods for buffer enum tagets.
    
    A query helper method in Context and a validation helper
    method reduce code redundancy quite a bit.
    
    BUG=angle:565
    
    Change-Id: I96b9ecc4614e7e31240e31594223e8b9636d22c2
    Reviewed-on: https://chromium-review.googlesource.com/188201
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit eeba6e1e88a04ab30db442c2af77bf53034ef332
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Feb 3 13:12:30 2014 -0500

    Added methods for applying the current transform feedback buffers.
    
    BUG=angle:495
    
    Change-Id: I2d9fbf9c245bc519b8c5a724ca3912aaa7a23d97
    Reviewed-on: https://chromium-review.googlesource.com/185034
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit ca442ba4ff63efa790dc61fdd758227c9066499a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Mar 5 09:53:30 2014 -0500

    Fix default bits for 3-channel un-normalized int.
    
    GPU conversion means we should be using a default of 1 as for
    int types instead of the MAXINT value for normalized types.
    
    Fixes the WebGL test for vertex attribs with offsets.
    
    BUG=angle:550
    
    Change-Id: I1aa1b1bae2282e8eda96366adeec492ffe1d5728
    Reviewed-on: https://chromium-review.googlesource.com/188433
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 2f61229096ab4c98713516ef2961ab19f7c84566
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Mar 5 09:53:29 2014 -0500

    Combine widen and defaultBits params of copyVertexData.
    
    Since we never, and never will use a default value of zero
    for the alpha channel, we can use a value of zero to
    indicate no widening. This has the benefit of not needing
    a default value where it does not apply.
    
    BUG=angle:550
    
    Change-Id: Ifdfedcb16039aa1d7f8ee644b65c6b4d89f9a384
    Reviewed-on: https://chromium-review.googlesource.com/188432
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 0027fa9fcad8a68cfe7cc6909e1b5e6413ec3443
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Thu Feb 20 14:26:42 2014 -0500

    Emulate integer cube texture sampling as an array of six 2D textures.
    
    BUG=angle:525
    
    Change-Id: I3c3ec2cecebf9e745f0c02a132433e3076a6fdea
    Reviewed-on: https://chromium-review.googlesource.com/187534
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 9c90d7ed5ed18f7512af75e0f91e24aebdd439fa
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Feb 27 13:20:38 2014 -0500

    Update enumerate_files.py to ignore "hidden" files.
    
    Skip over files that begin with '.' since they are often hidden temporary
    files.
    
    BUG=angle:553
    
    Change-Id: I74f8412e6959c49bfca7f0ae063af42027e12549
    Reviewed-on: https://chromium-review.googlesource.com/188035
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit d51df461e52ac9421201234fff488104f788a7c3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Feb 26 14:18:17 2014 -0500

    Remove the second translator target, only using static.
    
    Because libGLESv2 needs a static translator to link against
    internal types like Attribute and Varying, as well as using
    some other internal methods, we can for now disable the
    component build for the translator. In the future we can
    support a proper component build with exports across library
    boundaries.
    
    BUG=angle:568
    
    Change-Id: Ie3efc0a29342d02491e91952c3c2398568f83576
    Reviewed-on: https://chromium-review.googlesource.com/187699
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 477bc7811ffb19bb52710badf8063fa351a26b95
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Feb 26 09:54:17 2014 -0500

    Fix crash on multiple calls to ShInitialize().
    
    The previous fix would allow the calling app to trigger
    an ASSERT if it did not first call ShFinalize. Chrome
    would do this in some cases, causing a test failure.
    
    BUG=344043
    
    Change-Id: I33fa0c4668dac8750ca949febc7f02cc7d3d95e7
    Reviewed-on: https://chromium-review.googlesource.com/187849
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 1d1c1152ac92d50592637bf3f82e3ba0233fb477
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Wed Feb 26 11:00:28 2014 -0500

    Prevent overflow in the variable packer by sanity checking each variable.
    
    BUG=346489
    
    Change-Id: I28f5751580729a4d4d77fa6fdee0b4a6628a05de
    Reviewed-on: https://chromium-review.googlesource.com/188030
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit b4d192cd8c1573d7df93e64c98bddbe90b598618
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Feb 26 09:54:10 2014 -0500

    Re-initialize shader translator properly after one shutdown.
    
    Because of a local static, we could get stuck and never re-initialize
    the translator after calling ShFinalize.
    
    BUG=344043
    
    Change-Id: Ib4d18da886eac28f3e1bc959a7eadf5b34d9410f
    Reviewed-on: https://chromium-review.googlesource.com/186975
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-on: https://chromium-review.googlesource.com/187848

commit 9533dcd3895a56ad23beeeccf8afc296b4eba157
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Feb 24 15:27:20 2014 -0500

    Implement BufferStorage11 mapping functions.
    
    BUG=angle:565
    Change-Id: I4f416981bc63098f0364653ff279b3f54eeb756e
    Reviewed-on: https://chromium-review.googlesource.com/186979
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 103a11f42be9802d796808d33a8a88d923302c75
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Feb 24 15:27:21 2014 -0500

    Implement state and interface for map in gl::Buffer.
    
    Mostly these calls pass through to BufferStorage.
    
    BUG=angle:565
    Change-Id: I38ab7d4f49bfad940773428f5bb330de55d3f573
    Reviewed-on: https://chromium-review.googlesource.com/187080
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit dd6badf0a782f759af6ab5c82a69da4d17b5ba76
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Feb 25 11:54:45 2014 -0500

    Update codereview.settings to point to gerrit.
    
    BUG=angle:570
    
    Change-Id: I6654c60aab69861771b6917081baaecbded71bab
    Reviewed-on: https://chromium-review.googlesource.com/187840
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 236be22188e593e8d1114db6e81353a76bbc35b3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Feb 24 15:26:53 2014 -0500

    Add in gypi scripts for preprocessor and compiler tests.
    
    Chromium directly includes our .gypi files in its own standalone
    tests, hence we need to keep files where it looks for includes.
    Previously we had removed the gypi files with the new project
    structures.
    
    BUG=angle:568
    
    Change-Id: I2cf87bdd3d9635ca8e58b991b9a3e55e00261851
    Reviewed-on: https://chromium-review.googlesource.com/187650
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit d450505a297a26433aea52dbe8107383b303c1c6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Feb 24 15:26:49 2014 -0500

    Fix long error messages breaking InfoLog::append.
    
    Using two calls to vsnprintf allows us to correctly determine
    maximum buffer size as well as fixing garbage characters from
    a missing NULL terminator.
    
    Bug report from roland@lagoa.com.
    
    BUG=angle:561
    
    Change-Id: I4eb156342d9106d40783a3cf57c0c1d1889390e2
    Reviewed-on: https://chromium-review.googlesource.com/186988
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 691bd3e9e0d9bbb41d4f12c28bb77d569fa3993f
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Wed Feb 19 17:38:45 2014 -0500

    texture(sampler2DArrayShadow, ...) should not take a bias parameter.
    
    BUG=angle:564
    
    Change-Id: I3b86e8d52ebae0e1efd0805671bd58580a712b23
    Reviewed-on: https://chromium-review.googlesource.com/187082
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit f7378e389c4f54f47df0742d2729bd7211e81180
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Wed Feb 19 17:29:32 2014 -0500

    Implement textureProjGrad and textureProjGradOffset.
    
    BUG=angle:564
    
    Change-Id: Ice6a3715b0fda13324b3162940de875c932627c9
    Reviewed-on: https://chromium-review.googlesource.com/186992
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit bf7db10387270b30b35d9629044d3c100734fd61
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Wed Feb 19 17:20:28 2014 -0500

    Implement textureGradOffset.
    
    BUG=angle:564
    
    Change-Id: Iad0e452f53469208d55755e14a350b5d2ca83e9d
    Reviewed-on: https://chromium-review.googlesource.com/186987
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d11d549f84aa5804363c83fe4af8e7ceec140f41
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Wed Feb 19 17:06:10 2014 -0500

    Implement textureGrad.
    
    BUG=angle:564
    
    Change-Id: I95dcd95a274f6d560250c197be0d6e64a5b23516
    Reviewed-on: https://chromium-review.googlesource.com/187081
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 373d7937aa1f92093c37457cb6e7a5f313bc7496
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Feb 24 10:08:16 2014 -0500

    Use a stable ordering when enumerating files.
    
    Output the enumerated files in sorted order when running enumerate_files.py
    from gyp, to prevent unnecessary buildfile churn that makes comparing
    revisions noisy.
    
    Change-Id: Ic644053d0a1cc9c986ae47fbe983221d6a62b50b
    Reviewed-on: https://chromium-review.googlesource.com/187690
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit ac70e487d55ddacc65ed04ec04fcf74d63adac51
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Feb 24 12:46:32 2014 -0500

    Fix missing generate projects call.
    
    BUG=angle:550
    
    Change-Id: I6c9cfa1d5ceb1660af504982b7abdc39f3024b84
    Reviewed-on: https://chromium-review.googlesource.com/187542
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 42f529e9722bb30c97e9bb0b6b7654ce2a50466d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Feb 24 12:45:32 2014 -0500

    Fix commit header generation on non-Windows platforms.
    
    Previously we relied on a batch file, which for obvious reasons
    isn't cross-platform.
    
    BUG=angle:529
    
    Change-Id: Ia1e3944f8ed2096773e68c39d48ae2dd7370897b
    Reviewed-on: https://chromium-review.googlesource.com/186974
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-on: https://chromium-review.googlesource.com/186985
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>

commit d9fa3b944ff47d32d5e718f13f7957d14edc68d1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Feb 19 10:30:51 2014 -0500

    Add Map-related stubs to BufferStorage.
    
    BUG=angle:565
    
    Change-Id: I7db13e8e5fb386f5e40dd2a2e273e35f01c1f28c
    Reviewed-on: https://chromium-review.googlesource.com/186978
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 5d64cafab66b27344a4e93f0bc4178710edd1f28
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Feb 11 10:23:34 2014 -0500

    Fix multiple variables named i in the same scope.
    
    Change-Id: I575e1d80d103f554892feb6369e9b76c199bf20a
    Reviewed-on: https://chromium-review.googlesource.com/185881
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit fc01454b2edbed476b82fb319ae06117b70719f8
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Tue Feb 18 14:47:13 2014 -0500

    Implement texelFetch and texelFetchOffset.
    
    BUG=angle:564
    
    Change-Id: I7ad3484061f5d6912d7842bdadc6297de3e82ef8
    Reviewed-on: https://chromium-review.googlesource.com/186990
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 5c9a29abb49d834262712aa461b8ecbfccf0c842
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Feb 11 10:26:24 2014 -0500

    Fix redefinition of variables.
    
    Change-Id: I04b0577c8af45fca938d8fb7cf0b9fe2eadafcf2
    Reviewed-on: https://chromium-review.googlesource.com/185883
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 2adc256aa8f150a7a4fb82414fa04148611a7433
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Fri Feb 14 23:50:59 2014 -0500

    Implement textureProjLod and textureProjLodOffset.
    
    BUG=angle:564
    
    Change-Id: I547c69908d0aa1809f844a50230bc019e6dd5893
    Reviewed-on: https://chromium-review.googlesource.com/186685
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit df86c6b9cc085a24f2563ed6abd1875bf1cedbeb
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Fri Feb 14 20:09:17 2014 -0500

    Implement textureProjOffset and textureLodOffset.
    
    BUG=angle:564
    
    Change-Id: I647abed0609afd178d2e9522f139d25dd3c7fda4
    Reviewed-on: https://chromium-review.googlesource.com/186684
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 774b39ff8c5439e46b48cebc8be8461057c99e79
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Feb 19 16:27:35 2014 -0500

    Fix commit id versioning when building with Chrome.
    
    The GYP syntax would cause problems with the ninja build.
    
    BUG=angle:529
    
    Change-Id: I84a30afc9bd8900535e44f5d5f9d8f766a4686e8
    Reviewed-on: https://chromium-review.googlesource.com/186610
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-on: https://chromium-review.googlesource.com/186984
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>

commit 5508f39d0cffc9a68565bbff2e6f61332a509cdf
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Feb 20 13:31:36 2014 -0500

    Fix breaking the build with missing GetGlobalMaxTokenSize.
    
    Because the preprocessor is used independently from the compiler,
    we need a way to track max token size when we don't have access
    to the parse context with the current spec.
    
    BUG=angle:550
    
    Change-Id: Idf5035ec2c001ee75f264151ab3c4e92f3cd44d7
    Reviewed-on: https://chromium-review.googlesource.com/187140
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 4fd5e4a3e60d7defc8b0f8ca343c2a45e66685f5
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Fri Feb 14 18:17:15 2014 -0500

    Use generic sampler types to compact symbol table initialization.
    
    BUG=angle:564
    
    Change-Id: Idbca76a4c8360d34652b571227fbb068d8d017c4
    Reviewed-on: https://chromium-review.googlesource.com/186683
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 7bee639532e50336f651ead7e1627e873ec48a00
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Feb 11 10:25:07 2014 -0500

    Fix incorrect cast.
    
    Change-Id: I1a41593dbe598dfef301c9df0f47a5105b5705cf
    Reviewed-on: https://chromium-review.googlesource.com/185882
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 759b994bac7fd957cd39a51866bf7a9029e54e9f
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Fri Feb 14 17:57:14 2014 -0500

    Define generic sampler types.
    
    BUG=angle:564
    
    Change-Id: I627f55152000371e73f3e5b4ba6938119fab0223
    Reviewed-on: https://chromium-review.googlesource.com/186682
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>

commit c9508842d199e1e9c0803d88c6115cb2cb167224
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Fri Feb 14 17:48:50 2014 -0500

    Simplify the creation of global types.
    
    BUG=angle:564
    
    Change-Id: If611947f7e8ceb603001165c3c1d61d7686f1d30
    Reviewed-on: https://chromium-review.googlesource.com/186681
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit c8058451c87ec298683bf484813016b20bf36777
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Feb 3 12:04:11 2014 -0500

    Add functionality to create and destroy TransformFeedback objects.
    
    BUG=angle:491
    
    Change-Id: I3ee3c2aec1878ad656a8f522943a29fea6f7e215
    Reviewed-on: https://chromium-review.googlesource.com/185033
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 92877af510680d093c2158bab78046d5634661d6
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Feb 20 12:06:49 2014 -0500

    Regenerate public projects.
    
    Change-Id: Ica5add561a1c095d1b2fca863f2d94e9f8d44e50
    Reviewed-on: https://chromium-review.googlesource.com/187280
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 8e32884af9c0171974821c130f1c4b3e9cd59987
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Feb 10 13:11:20 2014 -0500

    Remove dependence on dxguid.lib for release builds.
    
    BUG=angle:559
    
    Change-Id: I10c93b312b4bf206e45d061eace2d00e598403bd
    Reviewed-on: https://chromium-review.googlesource.com/185690
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 94a9089bbb6224bf6c7c392fbde855823dac342d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Feb 18 17:14:19 2014 -0500

    Detect cross-process HWNDs and verify DXGI 1.2 exists in D3D11.
    
    DXGI 1.2 is required to create a swap chain for a HWND owned by another
    process.  This fix will allow us to fall back to creating a Renderer9 if
    DXGI 1.2 is not available instead of failing to create the swap chain
    later.
    
    BUG=angle:562
    
    Change-Id: I01b08ffb262bc3f9c86d244168df14eba52c5bdc
    Reviewed-on: https://chromium-review.googlesource.com/186980
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit ac97d59fb2ca87c993eddac0dd9dd11eb969447a
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Wed Feb 19 23:35:42 2014 -0500

    Fix git call syntax in commit_id.bat
    
    BUG=angle:566
    
    Change-Id: I437bdec916dbfe12cb310a20d4f38c18072eacd0
    Reviewed-on: https://chromium-review.googlesource.com/187210
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>
    (cherry picked from commit aacedfcffbca780c56dda2ab03ee07faccf0fbec)
    Reviewed-on: https://chromium-review.googlesource.com/187201
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit e78603b585dbec4489ab1e1e3899a371c533618e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Feb 19 16:27:39 2014 -0500

    Fix standalone Linux build.
    
    We can include Makefiles in the ignore list, and need a few extra
    flags to fix the GCC build on Linux.
    
    BUG=angle:563
    
    Change-Id: Iacd386359f0c0d9bb87ddc544dd8b4da2cb8fee0
    Reviewed-on: https://chromium-review.googlesource.com/186902
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-on: https://chromium-review.googlesource.com/186989

commit 496123fd88fe194717d7893448c3e092ad806271
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Feb 12 11:33:51 2014 -0500

    Implement EXT_blend_minmax.
    
    BUG=angle:555
    
    Change-Id: I1ae6a9783e718d16ee08bda5463f11cd52ad0967
    Reviewed-on: https://chromium-review.googlesource.com/186123
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 2a41924436ebac74fd3479e15d18c356e6616d0a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Feb 10 13:00:44 2014 -0500

    Add defines to enable or disable specific renderers.
    
    BUG=angle:559
    
    Change-Id: I88c168205b142701ec843aa394c82c3a5857ed0d
    Reviewed-on: https://chromium-review.googlesource.com/185569
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 88f6e946b97ee15fe199e3fa151174c0bfeaa895
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Feb 19 10:27:53 2014 -0500

    Proper support for token max size in WebGL+ES3.
    
    WebGL specifies a maximum token size of 256 characters, while
    ES3 specifies 1024 characters. We can determine the proper max
    size to support from the spec.
    
    BUG=angle:550
    Change-Id: I6aeabe8af3b6184a27b456248ce2f84f361b76e4
    Reviewed-on: https://chromium-review.googlesource.com/186973
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 16851c8777bc163e7d030542500b4d24d554957c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Feb 10 13:31:32 2014 -0500

    Don't include symbols in release builds of the public projects.
    
    Change-Id: Ic21ca93133b6234d2756507ab43252071f04717d
    Reviewed-on: https://chromium-review.googlesource.com/185691
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit c9f140d884162f23eaa1486953ca03e7758e1c7e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Feb 18 15:27:21 2014 -0500

    Add preprocess bison files to the gyp files.
    
    We had accidentally left out the y and l files from our generation
    scripts, causing us to miss several instances of updated enum names.
    
    BUG=angle:550
    Change-Id: I8790742fbaab5435e4c0db4f61c3e8194a231550
    Reviewed-on: https://chromium-review.googlesource.com/186972
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 61b5443380e188b172d4193e20293994623488f9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Feb 18 15:27:19 2014 -0500

    Fix unsized formats in GenerateMipmap.
    
    We had accidentally blocked mipmap generation for all unsized
    formats in ES3, because they were marked as non-renderable.
    The spec specifically allows for mipmaps with unsized formats
    in GenerateMipmap.
    
    BUG=angle:550
    Change-Id: Iee7eddd011f4fe86b690422723620593f8049ba6
    Reviewed-on: https://chromium-review.googlesource.com/186971
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 5c55caf3ae7829741cda145b1542d70cea6cb556
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Feb 18 15:27:18 2014 -0500

    Fix bugged tokens marked as reserved/free in ES2.
    
    We had accidentally marked 'smoooth', 'centroid' and 'case'
    as reserved in ES2, when they are available as identifiers.
    Additionally 'sampler2DShadow' was marked as free, instead
    of reserved.
    
    BUG=angle:550
    
    Change-Id: I33ec1b790ad5b4d9a6f4d2ea2e91cec1ca8e7320
    Reviewed-on: https://chromium-review.googlesource.com/186970
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit d2d648cc963276f80a10f24c52d10dea53783615
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jan 29 09:27:10 2014 -0500

    Enable GPU dynamic conversion for unnormalized int formats.
    
    This patch turns on the dynamic conversion logic for integer formats
    that we must convert to floating point for ESSL 1.0 compatibility. The
    converted formats are 1, 2 and 4 channel unnormalized integer.
    
    BUG=angle:560
    Change-Id: I3bcc45f1103290613029bc54fdd6012dddb0a03d
    Reviewed-on: https://chromium-review.googlesource.com/186700
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit dad5ed3953e4f31c35b9fd67901fb78dbe140dd0
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Feb 10 12:59:17 2014 -0500

    Refactor HLSL compilation out of Renderer.
    
    This moves the start-up and tear-down code for D3DCompiler.dll into an object
    that Renderer9 and Renderer11 use.  This will help future efforts to remove
    references to HLSL at the GL/Renderer interface level.
    
    BUG=angle:558
    
    Change-Id: I18fcf9b237265d69c1d7d2ea345696c8fd31df29
    Reviewed-on: https://chromium-review.googlesource.com/185568
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 8664b063b533bab059fdd650a8327a0cede50db1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Feb 14 16:41:29 2014 -0500

    Add logic for dynamic converstion of int to float vertex data.
    
    We can use the format tables and input layout to determine when we need
    to generate conversion code in the vertex shader.
    
    BUG=angle:560
    Change-Id: Ib64fb16823bf78ed6432fba283b0d24bcb673a76
    Reviewed-on: https://chromium-review.googlesource.com/185195
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit c5ede1a768a0ff3e0e42f05715eca10ff98e8fe3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Feb 14 16:41:27 2014 -0500

    Add logic for inserting vertex conversion code in HLSL.
    
    The patch refactors the vertex input HLSL to allow for dynamic
    conversion in the future. Using a placehold keyword, the code
    replaces that stub with the vertex input conversion logic.
    
    BUG=angle:560
    Change-Id: I100c50cb4decd45b0f0c10d7c2c22583368b773e
    Reviewed-on: https://chromium-review.googlesource.com/185194
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 2c7d84ac9bfabe785ebe3148a6fb9cacb49ecc37
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Feb 14 16:41:26 2014 -0500

    Store un-linked shader attributes in ProgramBinary.
    
    Our caching of compiled vertex shaders according to their input
    signature needs a consistent input signature to match up shaders.
    Since the linking step currently shuffles attributes according
    to API specified locations we need a separate list.
    
    BUG=angle:560
    Change-Id: Icc4d5df1d37ae895d5c882b86e60f05b5c268461
    Reviewed-on: https://chromium-review.googlesource.com/185193
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit c5a8300026be5bd38ca022211ce7e078e92b9377
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Feb 14 16:41:25 2014 -0500

    Store multiple vertex executables in the program binary.
    
    With dynamic vertex conversion the GPU, we will have different input
    layouts resulting in different executables. This patch adds a way
    of mapping the input layouts to vertex executables.
    
    BUG=angle:560
    Change-Id: Ie36f2f8ac2dfcb96f562af577d31f57d6d89b447
    Reviewed-on: https://chromium-review.googlesource.com/185192
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 5f562735860c4415b09db11c27070d3503d687aa
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Feb 14 16:41:24 2014 -0500

    Moved all HLSL-related code from ProgramBinary to DynamicHLSL.
    
    DynamicHLSL encapsulates all HLSL generation we need outside the
    the shader translator, such as for linking between input and output
    stages and point sprite geometry shaders.
    
    BUG=angle:560
    Change-Id: Ib5079aa102000a7c37b166bcbe26b09cc82f8932
    Reviewed-on: https://chromium-review.googlesource.com/185191
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit e8bc319322880b67ae80e87cae7a60a00c34b9b7
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Feb 14 13:04:03 2014 -0500

    Optimize masked clearing of missing channels.
    
    Instead of doing a masked clear when a texture has mismatched channel
    counts, set the clear color to the default for the missing channels and do
    a regular clear.
    
    This catches es3proto up to master in terms of clear performance.
    
    BUG=angle:557
    
    Change-Id: I4f16976154af7735f5bb2b0b17adb3a264872ec0
    Reviewed-on: https://chromium-review.googlesource.com/186611
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 0aa84f6338a42ec8f3ea23c3da27c3c86e21d846
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Feb 13 13:17:23 2014 -0500

    Merge 'Tie program binary version to commit hash.'
    
    Port changes from master branch with commit hash embedding
    to the development branch.
    
    BUG=angle:529
    Change-Id: I307bf44103913aaaeb875a2e3ade1fab77838c48
    Reviewed-on: https://chromium-review.googlesource.com/186390
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 5f6937ca23764555fcdad48d67d2572af7b6a0d7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Feb 12 17:15:22 2014 -0500

    Align static and streaming vertex data to 16-byte boundaries.
    
    Certain vertex formats using fewer than 4 bytes could confuse our
    buffer code, giving us improperly aligned offsets. Aligning vertex
    data across the board should fix the problem, and minimal cost.
    
    Change-Id: I6884b4ddcfb91ef309a970593aaf7932cb65712e
    Reviewed-on: https://chromium-review.googlesource.com/185196
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 4a667fe96e55df4713532e3830dd215ac7696f53
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Tue Feb 11 12:35:01 2014 -0800

    Add an option to initialize varyings without static use in vertex shaders
    
    ANGLEBUG=554
    TEST=webgl conformance test on mac: shaders-with-varyings.html
    r=kbr@chromium.org,nicolascapens@chromium.org
    cc=alokp@chromium.org,shannonwoods@chromium.org
    
    Change-Id: I2e692d43fb15f1cf3ade3e398020d1fedb2b32f0
    Reviewed-on: https://chromium-review.googlesource.com/185922
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Zhenyao Mo <zmo@chromium.org>
    
    Conflicts:
            src/common/version.h
            src/compiler/translator/Compiler.cpp
    Change-Id: If7db13ef345bd6199d4ea0d7786f0de20885f2f3
    Reviewed-on: https://chromium-review.googlesource.com/186144
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Kenneth Russell <kbr@chromium.org>
    Reviewed-by: Zhenyao Mo <zmo@chromium.org>
    Tested-by: Zhenyao Mo <zmo@chromium.org>

commit 32d508e2a78737add73bc9f057424d8b9faa7e5d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Feb 11 09:39:48 2014 -0500

    Fix checking for a NULL pointer after using the pointer.
    
    Change-Id: I0ead14916ec677c97afb53f4c31a903e71fbc70f
    Reviewed-on: https://chromium-review.googlesource.com/185862
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 2a20562ffcfb32ddba3105f3f9020f3a7a4da0a8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Feb 12 10:41:24 2014 -0500

    Fix depth texture validation in ES2 contexts.
    
    We were checking for extra conditions that apply to ES3 within all
    ES2 contexts, causing the webgl depth texture conformance test to
    fail.
    
    BUG=angle:550
    
    Change-Id: Iae9a4880b9efc6be8c6857bce27a47d42fecc23a
    Reviewed-on: https://chromium-review.googlesource.com/186122
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 7ea42a552928c3a7b609b4a457898e4ccd88dba5
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Feb 10 12:49:15 2014 -0500

    Move ShaderCache.h to the d3d directory.
    
    Change-Id: I56e0f5ff11cebd8b9415081b930a804dcce9530c
    Reviewed-on: https://chromium-review.googlesource.com/185566
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit 0bf3a982d7ef58fe1fca86c4aaf19cb6e5c86743
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Feb 11 09:40:48 2014 -0500

    Fix variable being used to initialize itself.
    
    Change-Id: Ied10d866627485c6cd3eb09e23c14937efc465f4
    Reviewed-on: https://chromium-review.googlesource.com/185864
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit a4de2657518728cdd1919bbbc21d04b502aa31c5
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Feb 11 09:39:20 2014 -0500

    Mark destructors of Surface and Context as virtual.
    
    Change-Id: If09d621cc249754caa57b057f76ff84726c18265
    Reviewed-on: https://chromium-review.googlesource.com/185861
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit c6856732bf1b761c112406e517ca2b9c052f12af
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Feb 11 09:38:55 2014 -0500

    Fix wrong enum type being compared.
    
    Change-Id: I020bbf8179c08574f5fc0a207db03d7456eeeba1
    Reviewed-on: https://chromium-review.googlesource.com/185860
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 49f9a20dfab75d05d85243abfb6d165e85037646
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Feb 3 11:58:11 2014 -0500

    Add TransformFeedback object.
    
    Change-Id: I1f836575824ff9df17fe3832997f06acc7464746
    Reviewed-on: https://chromium-review.googlesource.com/185032
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 1cd1b213b5bdde92eccc469fb51a4cf071fdc2df
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Feb 11 09:42:27 2014 -0500

    Fix wrong variable being compared.
    
    Change-Id: I83b68286b6f3dd369081cb2188af27c86b3de6eb
    Reviewed-on: https://chromium-review.googlesource.com/185865
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit cbf727aeb4669eeaaff8cf7a2a1b1c2749d78620
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Feb 10 12:50:45 2014 -0500

    Remove references to D3D formats in the Texture class.
    
    Change-Id: I67add42cc69ec372840c67656bd2c77c623b23d0
    Reviewed-on: https://chromium-review.googlesource.com/185567
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 03ef7406ded9a9d39a83339d110d9a05a8debe1c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Feb 11 09:40:20 2014 -0500

    Fix comparing blend states with the wrong structure size.
    
    Change-Id: I0e4c79cb7eaacf5403203b7b65094a54405ad47a
    Reviewed-on: https://chromium-review.googlesource.com/185863
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 37dde6929d79c9a523bd6c786d2b6c6544be8c9d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jan 31 16:34:54 2014 -0500

    Add support for transform feedback queries.
    
    Change-Id: I0aab43b146f87259898db57acb9f74fdbfdb1b96
    Reviewed-on: https://chromium-review.googlesource.com/184580
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit d5da329c74c4e05971178d1d362ac066d9983f04
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Feb 6 13:24:33 2014 -0500

    Improve the enumerate_files.py script.
    
    Cleaned up the agument parsing and added support for excluding files/folders.
    
    BUG=angle:552
    
    Change-Id: I6dcf965f9b92ce4aa1c0b64bd4f9a0420883bcf6
    Reviewed-on: https://chromium-review.googlesource.com/185204
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 1106aeb2f1ab585dad449e49244dbef0da246b76
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Feb 6 11:06:50 2014 -0500

    Move the enumerate_files script to the build directory.
    
    BUG=angle:552
    
    Change-Id: I9f357c68c258c7731cf0d5c2ceed3a2875b21228
    Reviewed-on: https://chromium-review.googlesource.com/185142
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 0550d0389a59a50a1df0df3484ecefc864715e26
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jan 30 11:29:07 2014 -0500

    Implement GL_RASTERIZER_DISCARD.
    
    BUG=angle:498
    
    Change-Id: Ib60c39e206003ae67c93769e35f7f9ef790ce9f4
    Reviewed-on: https://chromium-review.googlesource.com/184396
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 2e5c60426f07e46a72b86c5f1cec6bde4ec0347b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Feb 6 10:45:32 2014 -0500

    Add GL headers to libGLESv2, libEGL and translator projects.
    
    Change-Id: I66f36623eb5fb60fbb92d16af4f9854688b9484c
    Reviewed-on: https://chromium-review.googlesource.com/185190
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>

commit a5e44c92bacf7dc1904ad5db502beb743495adbb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Feb 4 16:04:15 2014 -0500

    Relax alignment restrictions to allow more direct storage.
    
    Our restriction to 4-byte alignments caused us to always convert
    formats like R8 or R16, or R8G8 instead of allowing D3D to handle
    these formats naturally.
    
    From experimentation the proper rule seems to be "4-bytes, unless
    the vertex format is 1- or 2-byte size." I couldn't find supporting
    documentation on MSDN, but it seems common sense.
    
    Change-Id: I9e38fe86790e34024d1ae912a809a3d3cdc02ccf
    Reviewed-on: https://chromium-review.googlesource.com/184523
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit a5d674757a6d30138dc42f5f14b652dedac3e87b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Feb 4 16:04:13 2014 -0500

    Remove VertexBuffer::requiresConversion.
    
    Since we now have Renderer methods to query formats for vertex inputs,
    we can get rid of the remaining calls to VertexBuffer which we used
    to query properties of vertex formats.
    
    Change-Id: I9e57d1d9bf80296aef271877fdd97a16d29114af
    Reviewed-on: https://chromium-review.googlesource.com/184522
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 7d649a00979a248d273f362dbf6b8ac5df712dca
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Fri Feb 7 11:24:32 2014 -0500

    Fix initializing the MaxExpressionComplexity and MaxCallStackDepth compiler limits.
    
    BUG=339860
    
    Change-Id: I64600db4bef62236c6acd8728902471df06a8f0a
    Reviewed-on: https://chromium-review.googlesource.com/185380
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 95ffb8683f3bf1874f0b4c41491633098ee08ab7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jan 29 09:26:59 2014 -0500

    Add vertex format queries to Renderer.
    
    With the new support for vertex formats living in the format utils,
    we can use the Renderer class to query vertex properties instead of
    the VertexBuffer class.
    
    Change-Id: Id76bd4dbf63855016faccef703521887f50da3b9
    Reviewed-on: https://chromium-review.googlesource.com/184521
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 8017787983621d5a2078ac04624b730a6374d314
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Feb 4 16:04:10 2014 -0500

    Move D3D9 vertex format tables to formatutils9.
    
    Vertex format information is useful for querying format properties
    with the new vertex translation logic with dynamic shaders.
    
    Change-Id: I1935c75f1e3920dc1d4a364a2d6968c82692e476
    Reviewed-on: https://chromium-review.googlesource.com/184520
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>

commit 7ab02fafb5de8cabadaa5eff10e473e79f9b027e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Feb 4 16:04:08 2014 -0500

    Add D3D11 vertex format tables to our format utils.
    
    Moving the vertex format information to a globally accessible
    helper file makes them available for the dynamic shaders logic.
    
    Change-Id: I67d6280c0603d9c601ca504751c8905677c2426f
    Reviewed-on: https://chromium-review.googlesource.com/184399
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 3078d0f718b27d541d2314bf9a30bbcc94e7f2e6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Feb 4 16:04:06 2014 -0500

    Add VertexFormat internal struct to represent vertex inputs.
    
    A VertexFormat is similar to a simplified VertexAttribute, without
    extra unncessary data. VertexFormats will be useful for GPU vertex
    conversions with dynamic shader compilation.
    
    Change-Id: I4e60e0a12d5f081fb52d95c8977c43d481b33bff
    Reviewed-on: https://chromium-review.googlesource.com/184398
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 8ff21aeaabebd0877c1cc48fdac718509f23617a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Feb 4 16:04:05 2014 -0500

    Move storage for uniform blocks to the program binary.
    
    With dynamic shaders we may have multiple shader executables per
    program binary. We must store the uniforms outside the executable,
    in the program binary, to be consistent between variations.
    
    Change-Id: I1b29a5d78c72dede8562d4878569b609536ba074
    Reviewed-on: https://chromium-review.googlesource.com/183586
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit c47a678aca539b88b4eab3e9001aafb0af9df14f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Feb 4 16:04:03 2014 -0500

    Move the storage for uniform blocks to its own class.
    
    With dynamic shaders we may have multiple shader executables per
    program binary. We must store the uniforms outside the executable,
    in the program binary, to be consistent between variations.
    
    Change-Id: I1bec83dfb83ee9bb422448b157338a46e8e7ba56
    Reviewed-on: https://chromium-review.googlesource.com/183585
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit ecc8b6f4918f7c17473d1d32a7326f57cd3aac99
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jan 30 10:44:23 2014 -0500

    Refactor BufferStorage11.
    
    In preparation for transform feedback, BufferStorage11 needs to be able to
    handle a non-staging buffer being updated.  Each D3D11 buffer now has an
    incrementing data revision associated with it so the most up-to-date
    buffer is always known.
    
    Staging buffers are now represented like any other DirectBuffer.
    
    Change-Id: I6e881867cb2bd02d600213d08cce3ebba316c525
    Reviewed-on: https://chromium-review.googlesource.com/184395
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit e53c98ba6cd85074d8f2dae76b34321c7786da3a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Feb 3 11:57:13 2014 -0500

    Add work-around for D3D9 shader compiler bug.
    
    With certain selection statements with a vertex input in the
    condition and side-effects in the else-block, we'd run in to
    a D3D9 compiler bug which would cause incorrect results.
    
    We can work around this bug in D3D9 by selectively rewriting
    these statements to use an 'else if' clause instead of 'else'.
    
    BUG=322794
    
    Change-Id: I93c96fb201ff4959c00d9a36321faac7e0343278
    Reviewed-on: https://chromium-review.googlesource.com/184681
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 7993190b891e97dd6b23b9c442817d07892f39ae
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Feb 3 14:29:42 2014 -0500

    Fix wrong allocator being used for sampler deletion.
    
    Change-Id: I5e5aca5cda2bf1a96db05d594c64970ebf54fd29
    Reviewed-on: https://chromium-review.googlesource.com/184572
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 8d6a0024b2a78f6b34578076b503767f79f0c686
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jan 31 16:38:31 2014 -0500

    Fixed missing break statement.
    
    Change-Id: I83e3091243be442eafa4d16e4a4ce247a326c493
    Reviewed-on: https://chromium-review.googlesource.com/184570
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit f8912c5033a73a6c2a11e54f88492bc4faf41c56
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jan 30 10:12:03 2014 -0500

    Refactor buffer existance check into Buffer::invalidateStaticData.
    
    Change-Id: I28a7654d152865c236831636f00554a71784667b
    Reviewed-on: https://chromium-review.googlesource.com/184394
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 826f3d30905af11dded9fb0d2973067f4287d800
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jan 29 09:26:49 2014 -0500

    Add a GetComponentType method to query a DXGI format.
    
    Also add a few missing DXGI formats related to vertex inputs.
    
    Change-Id: Ia39234a164000d11eef3806ba4f06b6426f1cbb7
    Reviewed-on: https://chromium-review.googlesource.com/183584
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 9eeecfc20be089b62310787895870e0284cfb383
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jan 29 09:26:48 2014 -0500

    Split DXGI format info to a GL mapping and info block.
    
    The GL mapping depends on context client version (for certain depth
    textures), but the DXGI base format info is consistent across
    versions. Also add DXGI component type information to the table,
    and add a few missing formats related to vertex inputs.
    
    Change-Id: I2d1a8ca92b1cb39f4592d94d7d435ae0ada1de65
    Reviewed-on: https://chromium-review.googlesource.com/183583
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 6246dc8fecf658cd200a33aa15c7677054daa0d3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Jan 29 09:26:47 2014 -0500

    Track dirty D3D shaders instead of program serial.
    
    With dynamic shaders, we can have multiple vertex shaders in one
    program binary. Hence the binary serial by itself isn't enough to
    determine when we need to apply new shaders to D3D.
    
    Change-Id: I5a8b8616d353b506790ffc809e2d459bfc2b831d
    Reviewed-on: https://chromium-review.googlesource.com/184370
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Commit-Queue: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 648c9683e04c668663b92bd2d2f1f93ae962c716
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jan 21 16:50:58 2014 -0500

    Minor optimizations to texture functions.
    
    By shuffling some parameters and calls around we can reduce the
    number of function calls we run for texture operations.
    
    Change-Id: If6d14cb6dff668cdfcb2f1fe6705e0d488dbc03f
    Reviewed-on: https://chromium-review.googlesource.com/183582
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 3810bee333f4e7bd8980cbe5a180a3f4e383bde9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jan 21 16:47:12 2014 -0500

    Add the missing GL_DEPTH enum to the fbo attachment query.
    
    This enum is only availabe in GLES 3. We were failing a dEQP state
    query test (fbo.draw_framebuffer_default_framebuffer)
    
    Change-Id: I4cfb07b8597899561b8cc7956a9eb4cd4b0a99a8
    Reviewed-on: https://chromium-review.googlesource.com/181782
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>

commit 83217796ed57efe8954fc3b53d743aae1a6cfe6b
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jan 16 09:52:38 2014 -0500

    Remove system.h.
    
    The gyp files already define NOMINMAX and WIN32_LEAN_AND_MEAN.  windows.h
    is also included via the D3D includes.
    
    This ends up speeding up the build process significantly by not having
    windows.h included in nearly every file.
    
    Also fixes issues on non-windows systems by not having stdarg.h included
    in debug.cpp.
    
    Change-Id: Id32d9aac37a5a29df832a062dd8024302a798a1c
    Reviewed-on: https://chromium-review.googlesource.com/183251
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit ab9d82cd54156991f9f88851d3ba0c8c1f96838a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jan 21 16:38:14 2014 -0500

    Fix FramebufferRenderbuffer validation.
    
    We were not checking for an invalid renderbuffer when attaching
    to a framebuffer.
    
    Change-Id: Ie29dca1833cc8c2b974f746d51dbee848f52a741
    Reviewed-on: https://chromium-review.googlesource.com/181558
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit d7460c7e3769793f62749c137fe7c82e7eda5cc9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jan 21 16:38:14 2014 -0500

    Fix gl::ValidTextureTarget to work on all enum values.
    
    Change-Id: I347583ae1adcaaae9feeb1276f6150ceb8739885
    Reviewed-on: https://chromium-review.googlesource.com/181557
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 1fc7e2c5961207aa2bd1a99978d661b4cbcbf144
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jan 21 16:47:10 2014 -0500

    Refactor validation of FramebufferRenderbuffer.
    
    Consolidate a lot of duplicated code into helper methods. Also
    move GetTargetTexture to the context class.
    
    Change-Id: I8e3990a5e3c1976cb533941d0a0946466accec30
    Reviewed-on: https://chromium-review.googlesource.com/181556
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 92bfd5c6f1c3a1771cea9920bc8aa72ce63640d7
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Jan 16 13:51:35 2014 -0500

    Remove __stdcall from non-windows builds.
    
    Change-Id: I424cb538808ec64137c85af3bbe8742043e1c573
    Reviewed-on: https://chromium-review.googlesource.com/183260
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit f571312409c7895c23ecbf01f9f5f042f0966d35
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Oct 7 17:06:30 2013 -0400

    Rework tracing and perf defines.
    
    Changed ANGLE_DISABLE_* to ANGLE_ENABLE_* for perf and tracing defines so
    they are disabled by default.  Updated the gyp files to only turn on perf
    by default for windows debug builds.
    
    Change-Id: I71706674e6d12fbf4208acc8f100d963b82c7674
    Reviewed-on: https://chromium-review.googlesource.com/183250
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit ec91cd3246b612001ce3f06d4ba7e242ba4f66e1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jan 21 16:38:12 2014 -0500

    Clamp stencil reference value to D3D11 8-bit limitations.
    
    D3D11 can only mask 8 bits of a stencil reference value, so the
    upper bits are ignored. GL, however, expects the reference value
    to be able to scale to 32-bits.
    
    We will expect to fail certain edge cases where the reference value,
    and mask, both use particular 9+ bit values.
    
    Change-Id: I8c7451270d9e40310f4154955d38e51bbf7de4df
    Reviewed-on: https://chromium-review.googlesource.com/181555
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 24112d686998dc202ba559d186f342a2de42fbec
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jan 21 16:39:19 2014 -0500

    Only use 4-channel shaders for unpack buffers.
    
    D3D11 supports sampling other channel sizes of backing object
    and declaring them as 4-vectors in HLSL. This allows us to
    simplify the logic for fast unpack shaders significantly.
    
    Source:
    http://msdn.microsoft.com/en-us/library/windows/desktop/bb509700(v=vs.85).aspx
    (Default Values for Missing Components in a Texture)
    
    Change-Id: I7f645372f266f57bd94cdb1c795f1d30bf2a60a4
    Reviewed-on: https://chromium-review.googlesource.com/181901
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit c30003d6fe8f8860f201635fc37c3458eb70a41e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jan 10 12:51:23 2014 -0500

    Fix zero-size textures and unpack buffers.
    
    We would sometimes attempt to use a NULL staging texture when
    initializing a zero size texture when using unpack buffers.
    
    Change-Id: I2e03141c19d9c47eeffb0d56c03bcfe476a9e48d
    Reviewed-on: https://chromium-review.googlesource.com/181781
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Commit-Queue: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 4b8c3ebaa03550d34ba996c80f86e632c44a5755
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jan 14 16:09:43 2014 -0500

    Fix build on Visual Studio 2013.
    
    A breaking change in VS2013 necessitates we include <algorithm>
    to use std::min/max.
    
    BUG=angle:547
    
    Change-Id: Ia1b21e61d22148ab6d268b34dbfe9a707ca3e59d
    Reviewed-on: https://chromium-review.googlesource.com/182512
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Commit-Queue: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit b155bbcbacceeee8bed049d26ed0ee62d9bfd208
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jan 13 09:51:03 2014 -0500

    Properly clamp stencil mask query values to max int.
    
    We could overflow when casting from max unsigned int to integer, and
    return a negative mask.
    
    See dEQP functional.state_query.stencil_value_mask_getfloat
    
    Change-Id: I59189a40b662ad9d8ded79cdfeded923b98f0b85
    Reviewed-on: https://chromium-review.googlesource.com/181780
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Commit-Queue: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit a50232fd52b34608bcd053072f636d12e0d8b7e5
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jan 10 15:52:18 2014 -0500

    Added a utility application to generate c headers from dds textures.
    
    Change-Id: Idb4c2ca318c84433f2b06bd4f0c66045f43e56de
    Reviewed-on: https://chromium-review.googlesource.com/182191
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 2c254d8f0edea485e16433f7ee84859129d6c3c8
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jan 15 14:51:23 2014 -0500

    Add swizzle tests.
    
    Change-Id: If04bc249b9da8306896c89c28bb057c2cf4da511
    Reviewed-on: https://chromium-review.googlesource.com/181771
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit d701ea12e5ca637c32cb4db9a4b0a629790f53d6
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jan 10 15:53:35 2014 -0500

    Replaced Stanford model images.
    
    Change-Id: I76d568ce7b1acb84aba99adf8e6ca921e0933ac4
    Reviewed-on: https://chromium-review.googlesource.com/182190
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 9c53f1e951d3fe883a7946161f3c53f25f49e369
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Jan 8 13:41:47 2014 -0500

    Add more D3D11 buffer usages.
    
    Works around performance regressions when index and vertex buffer bind flags are used on the same buffer.
    
    Change-Id: I28bc0d3147c6bd70cec507f20e41d97ec4cc45a5
    Reviewed-on: https://chromium-review.googlesource.com/181911
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit 28576da5e1719f9f551323fbeb0e9b8c17436898
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Jan 13 14:20:10 2014 -0500

    Don't include windows.h on non-windows systems.
    
    Change-Id: I8cf650073ead5b52bac44e31c8c3c894bc31e01c
    Reviewed-on: https://chromium-review.googlesource.com/182320
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 55856b16629cd2836166094710a47ef25ab62d4c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jan 2 13:59:50 2014 -0500

    Clean up state query methods.
    
    Consolidate a lot of the code duplication in GetIntegerv, GetFloatv,
    GetBooleanv and GetInteger64v.
    
    BUG=angle:540
    
    Change-Id: I7b4a5803ea76e5eeb0ebf25c5caadec4c647b485
    Reviewed-on: https://chromium-review.googlesource.com/180971
    Commit-Queue: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 3cd50f7e244aedcdec43b3fd1425fef48cb84de8
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Jan 10 13:04:48 2014 -0500

    Fix remaining discrepencies between master and es3proto project files.
    
    Change-Id: I335c9346ac268beab25184e2b18ccfdd0b15c7b1
    Reviewed-on: https://chromium-review.googlesource.com/182150
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 91382e555f35727043b6011e7f01fb2c74950fdb
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jan 7 16:16:30 2014 -0500

    Renderer11 tracks applied textures as SRVs.
    
    Since swizzled textures have multiple SRVs and the same serial,
    it was possible that the bound SRV would not be updated if the
    texture became swizzled while already bound.
    
    Change-Id: Id06e82f4002aa7f7661c7a69243692aa65a83b48
    Reviewed-on: https://chromium-review.googlesource.com/181772
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit b8f8b89b1305f5c56ea890e2d10fd2ec9cc1f2ad
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Jan 7 10:12:50 2014 -0500

    Fix using wrong value for array size in 2D array storage.
    
    We were incorrectly calling Texture::getBaseLevelDepth() which was
    correctly reporting the number of 3D slices of the texture (1).
    
    Also rename Texture2DArray::getDepth to getLayers for clarity.
    
    Change-Id: I1968cbcb0a3528bb76ec3e4ea4148e5dc0f302c7
    Reviewed-on: https://chromium-review.googlesource.com/181553
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 67938efc2bd9cae57b2c3e24fb20821dec00a788
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Jan 7 16:17:21 2014 -0500

    Added missing depth swizzle backing formats and fixed compressed texture bit calculation.
    
    Change-Id: I2390ace1fe5297f9fcad0c873c55dae564a09c43
    Reviewed-on: https://chromium-review.googlesource.com/181773
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit eaa840619bbb4bdd17255708ba76920c5bd6b6e8
Author: Brendan Long <b.long@cablelabs.com>
Date:   Sun Dec 8 18:26:50 2013 +0100

    Remove unnecessary int cast in ParseContext.
    
    BUG=angle:536
    
    Change-Id: I72287f5ce9736cd48fc241022e09446db717cf92
    Reviewed-on: https://chromium-review.googlesource.com/181770
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Commit-Queue: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>

commit d2a8838161b4ecbf95cac209019812bd1a95fcf7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Jan 6 14:03:51 2014 -0500

    Fix improper deferencing of a zero-size vector.
    
    When doing a masked clear with only a depth-stencil buffer, we would
    look for the zero-th element of an empty vector.
    
    Change-Id: I17d61cf582c6e91fd46f8a8e13e35c6d32dfa109
    Reviewed-on: https://chromium-review.googlesource.com/181554
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit b1f45b701f20ba4b45484f98fc9e0ca6b6239dd6
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Thu Dec 19 17:37:19 2013 -0500

    Create HLSL texture offset functions.
    
    BUG=angle:541
    
    Change-Id: I63dd47c40d693724aa6bed93e9967e3b1f8535bd
    Reviewed-on: https://chromium-review.googlesource.com/181521
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit f831e3dd196e496edfb9b5380b2f0ab14eb18e31
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Mon Jan 6 12:06:46 2014 -0500

    Add NetBSD and DragonFly to posix-compliant OS list
    
    BUG=angle:428
    
    Change-Id: I282a6bf138b4e2a2c17baf428cbe1e636f43bdd6
    Reviewed-on: https://chromium-review.googlesource.com/181640
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Commit-Queue: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-on: https://chromium-review.googlesource.com/181670
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 1fbc2873381995af0a45624d024c4caa1f4d9640
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Fri Jan 3 14:12:09 2014 -0500

    Add textureOffset intrinsics to the symbol table.
    
    BUG=angle:541
    
    Change-Id: Ied96edd073017a507369319a781b8ed23f60790b
    Reviewed-on: https://chromium-review.googlesource.com/181520
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>

commit b6780326a029be49b75ef8700a627a408dce5404
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jan 3 10:57:25 2014 -0500

    Fix default vertex attribute component size to 4.
    
    The GL spec states that by default a vertex attribute has a size of 4.
    
    Change-Id: Ic4c977fb936cc0b232ed4742eeb061d6ba6843be
    Reviewed-on: https://chromium-review.googlesource.com/181480
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Commit-Queue: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 80b5a55eafb52a9e72676ce7c91c34ce037f4783
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Jan 3 10:57:11 2014 -0500

    Fix compressed formats breaking swizzle bits checks.
    
    We defautled to zero max bit depth, which breaks the swizzle format lookup.
    
    Change-Id: I4d1cd8bcfb79db3460950fa22630c259f90fa432
    Reviewed-on: https://chromium-review.googlesource.com/181481
    Reviewed-by: Jamie Madill <jmadill@google.com>
    Commit-Queue: Jamie Madill <jmadill@google.com>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 44cc79f67183d9bb36a9586c1a4219448453b9ed
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Fri Jan 3 10:57:22 2014 -0500

    Fix compiler crash.
    
    Create a fake variable for function identifiers used as a variable identifier to allow continuing compilation after reporting the error.
    
    BUG=chromium:330222
    
    Change-Id: I96c330694e3503fe2df66621375d2bf76115e325
    Reviewed-on: https://chromium-review.googlesource.com/181491
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit f9ea3e17c8fee1aa1d88b73689523910db969140
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Fri Jan 3 10:21:58 2014 -0500

    Regenerate the parser using Bison 2.7.12.
    
    The next patch requires a parser grammar change, but Cygwin's Bison version got updated so this separates the changes caused by that update from the ones for the actual bug fix.
    
    Change-Id: I6a596e02198725c7dbc6a1a356fdbe388ee512d7
    Reviewed-on: https://chromium-review.googlesource.com/181490
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit ee42308e250cea3dfb343b0b8870be4d48eaede0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Jan 2 14:04:09 2014 -0500

    Update guards in ShaderVariable.h.
    
    We neglected to update the text of the guards when we renamed the
    file from Uniform.h to ShaderVariable.h.
    
    BUG=angle:533
    
    Change-Id: I59969113536b69a418cf233ef0d7dd797e666ea9
    Reviewed-on: https://chromium-review.googlesource.com/180978
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Commit-Queue: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 79f2f45c96f23584831032c08ca44b841a206a39
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Dec 19 11:13:02 2013 -0500

    Fix allowing ES3 enum queries to call through to ES2 contexts.
    
    In some cases we would not validate the enums against the context version,
    allowing the app to call through to unimplemented features.
    
    BUG=angle:540
    
    Change-Id: Ic89422a3a48882314c054f133961af0b4d8d739a
    Reviewed-on: https://chromium-review.googlesource.com/180970
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Commit-Queue: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 2e5035577c48a5d46dd42cf09539355aeda83074
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Dec 19 13:48:34 2013 -0500

    Add in fixes for dEQP state reset.
    
    dEQP relies on a couple specific enums to reset state (see the
    prerequisites test) which we don't currently implement. Prior
    changes require us to implement a few query parameter to allow
    dEQP to work.
    
    BUG=angle:540
    
    Change-Id: Ibd7caa08ffb821ea2de120717beedb2f82428da2
    Reviewed-on: https://chromium-review.googlesource.com/180981
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Commit-Queue: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>

commit 03181abc2a96e37a6ae2a55b8b7be4ac3738becd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Dec 18 12:56:06 2013 -0500

    Fix sorting uninitialized attribute semantics to the end.
    
    A missing condition would produce a sort order where sometimes -1 was shifted
    to the front of the semantic array, instead of the end.
    
    BUG=angle:527
    
    Change-Id: I69b2e5ccc03f6523771601cd59293d6cd325be2f
    Reviewed-on: https://chromium-review.googlesource.com/180651
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 13a2f85b8d01c1685d1835bd7f7d734eb13ae60f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Dec 11 16:35:08 2013 -0500

    Implement max elements indices and vertices.
    
    ES3 has integer queries for the maximum recommended number
    of vertices and indices per draw call. These are roughly
    correlated to D3D's resource limits -- however, while ES3
    has recommended limits D3D has hard limits.
    
    Change-Id: Ib653bc27e61607c78d0c5e70b0d97fea7af6464f
    Reviewed-on: https://chromium-review.googlesource.com/179670
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Commit-Queue: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>

commit cd65ae1685a3ebcf60c92d5bb02ff5bc05482cbd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Dec 17 15:20:14 2013 -0500

    Trigger lost device on an error in D3D9 Present.
    
    This fixes device remove handling on AMD systems, as well as notifying
    the app layer there may have been an internal problem during Present.
    
    BUG=313210
    Change-Id: I843ffb3946dd9ef34fbd24b3a46a7b97e3c0fd16
    Reviewed-on: https://chromium-review.googlesource.com/179140
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-on: https://chromium-review.googlesource.com/180450
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit f11dbdb3b95ec96626edbabbb359b409c7d50e17
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Oct 23 14:37:58 2013 -0400

    Added a read pixels test.
    
    Change-Id: Ia4c5a0290e62e2c312d86fa18ef4e76d782a4a41
    Reviewed-on: https://chromium-review.googlesource.com/179357
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Commit-Queue: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 066230a81751d8827b0c2cd8c0129f2110c5ea14
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Oct 30 12:59:30 2013 -0400

    Added compressed texture tests.
    
    Change-Id: Id6090b134b957ca195afa615d61a10f8b008208e
    Reviewed-on: https://chromium-review.googlesource.com/179358
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Commit-Queue: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 2e475a5ab8f0af6f451b719dc1d539c9a0170307
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Oct 23 14:37:44 2013 -0400

    Added tests for maximum texture size.
    
    Change-Id: I3bce6ce2a04a3347933bfe515bcaa9b5eaebf255
    Reviewed-on: https://chromium-review.googlesource.com/179356
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Commit-Queue: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 1f12fa0b05d0d829870908bf23457545c184365c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Oct 23 13:24:53 2013 -0400

    Added line loop tests.
    
    Change-Id: I77a8997ccdf1b0918127d6d46a145039a941ce06
    Reviewed-on: https://chromium-review.googlesource.com/179355
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Commit-Queue: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 0ddab0c8d33b91ecd9339cb9396a186a4cfba75f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Oct 23 13:24:41 2013 -0400

    Added incomplete texture tests.
    
    Change-Id: Ie223404eb3b36664a6fbaefc45d9ff24d0be5cb1
    Reviewed-on: https://chromium-review.googlesource.com/179354
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Commit-Queue: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit b60465025feef2c9e3ac14886c02e4c5cd22cd97
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Oct 23 13:11:32 2013 -0400

    Moved the compiler test initialization and tear down into a gtest environement class.
    
    Change-Id: I1fd05a188830567b04b9341793e64488da027894
    Reviewed-on: https://chromium-review.googlesource.com/179353
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Commit-Queue: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit bb134678f5bb1b10b363295a9efa6e6bee1a72a4
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Oct 23 13:06:46 2013 -0400

    Added a gtest environment class to initialize the ANGLETest class window.
    
    Change-Id: I6fa59201364960cc8fe1cb44e2d09a14cf61dd8a
    Reviewed-on: https://chromium-review.googlesource.com/179352
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Commit-Queue: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>

commit 79bb0d9e2931326d1b6237cf6e687a145c04926f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Dec 9 16:20:28 2013 -0500

    Fix initializer type bug when using list declarations.
    
    We were using the first type as the type for each declaration,
    which could cause erros for arrays, eg "float one[4], two;"
    
    BUG=angle:431
    TEST=WebGL CTS 1.0.2
    
    Change-Id: I104d6701cc019ae3b3831a2d568ffe2b656b45a2
    Reviewed-on: https://chromium-review.googlesource.com/179351
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Commit-Queue: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>

commit 7a93437b1012d90fbb407f0e38ffabf829061b78
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Dec 6 18:17:48 2013 -0500

    Fix initialization of thread local storage in libGLESv2.
    
    When an app would load libGLESv2.dll via LoadModule, then would call
    methods on a thread that was already created, we could creash because
    of uninitialized thread local storage.
    
    BUG=angle:488
    
    Change-Id: I9b05de462232a16d639c58ec07386b7c38a01793
    Reviewed-on: https://chromium-review.googlesource.com/179132
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit a4e68d432b1b0355800627eee6ff4a96866ae162
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Dec 9 14:37:13 2013 -0500

    Fix initialization of thread local storage in libEGL.
    
    When an app would load libEGL.dll via LoadModule, then would call
    methods on a thread that was already created, we could creash because
    of uninitialized thread local storage.
    
    BUG=angle:488
    
    Change-Id: If3f73fb59dcc5f0713f5b6fb9ca9f8535ee23c73
    Reviewed-on: https://chromium-review.googlesource.com/179131
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit a738f085a9d1ce14d7154b679f4600f2f80e846b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Nov 1 17:45:04 2013 -0400

    Fix build on QNX.
    
    InfoSink.h needs stdlib.h for abs(int) and free() in the global namespace.
    
    ExpressionParser needs malloc.h, because bison needs malloc and free in
    the global namespace, but "#include <cassert>" will put it only in the
    std:: namespace on QNX.
    
    BUG=500
    R=geofflang@chromium.org, jmadill@chromium.org, shannonwoods@chromium.org, zmo@chromium.org
    
    Review URL: https://codereview.appspot.com/19330044
    
    Change-Id: Ifa30a8ba5eced1156123416d4a24b490620721af
    Reviewed-on: https://chromium-review.googlesource.com/178993
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit d7f2135fcc5b3cbe0a50205fb07159cd97c66886
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Oct 30 17:53:15 2013 -0400

    Fix build on QNX.
    
    InfoSink.h needs stdlib.h for abs(int) and free() in the global namespace.
    
    ExpressionParser needs malloc.h, because bison needs malloc and free in
    the global namespace, but "#include <cassert>" will put it only in the
    std:: namespace on QNX.
    
    BUG=500
    R=geofflang@chromium.org, shannonwoods@chromium.org
    
    Review URL: https://codereview.appspot.com/19330044
    
    Conflicts:
    
            src/compiler/translator/InfoSink.h
    
    Change-Id: Ie480d5c293d099f21dafc8c1e7997c0b4cda7207
    Reviewed-on: https://chromium-review.googlesource.com/178998
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 827a471b7436ae43a31b01753cca13a6ff41e12d
Author: John Bauman <jbauman@chromium.org>
Date:   Tue Oct 29 16:03:11 2013 -0700

    Disable automatically resizing swapchain if window is iconified
    
    The size of the window is changed if the window is iconified, but that change should be ignored.
    
    BUG=
    R=shannonwoods@chromium.org
    
    Review URL: https://codereview.appspot.com/19460043
    
    Conflicts:
    
            src/libEGL/Surface.cpp
    
    Change-Id: Ia5053a2f210b29d39551796de3d8a394d7897ac9
    Reviewed-on: https://chromium-review.googlesource.com/178997
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 7cab38b594213c7c80f70871b72d40d30e878035
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Tue Oct 15 12:59:30 2013 -0700

    Add an option to unfold short circuiting in AST.
    
    We replace "a || b" with "a ? true : b",
    "a && b" with "a ? b : false".
    
    This is to work around short circuiting bug in Mac drivers.
    
    ANGLEBUG=482
    TEST=webgl conformance tests
    R=alokp@chromium.org, kbr@chromium.org
    
    Review URL: https://codereview.appspot.com/14529048
    
    Conflicts:
    
            src/build_angle.gypi
            src/compiler/translator/Compiler.cpp
    
    Change-Id: Ic2384a97d58f54294efcb3a012deb2007a9fc658
    Reviewed-on: https://chromium-review.googlesource.com/178996
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 6cb95f3a235c20dbe4bb9f5de75401a16014c012
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Thu Oct 3 17:01:52 2013 -0700

    Fix a traverse bug.
    
    In loop node, the init part was skipped in traversing.
    
    BUG=
    TEST=
    R=kbr@chromium.org
    
    Review URL: https://codereview.appspot.com/14366043
    
    Change-Id: If3200f1dbcafda1147820b2d47b758b897de0fc6
    Reviewed-on: https://chromium-review.googlesource.com/178992
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit e88dcaf333a8a583e023b1db372668af2ce8b273
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Thu Oct 3 16:55:19 2013 -0700

    Style violation cleanup for IntermTraverse.cpp
    
    Per suggested by kbr in https://codereview.appspot.com/14366043/, we clean up the stype violation in a separate CL.
    
    BUG=
    TEST=no behavioral change
    TBR=kbr@chromium.org
    
    Review URL: https://codereview.appspot.com/14371043
    
    Change-Id: I27e15f632eff3a9d0d22ae955b5a952793128661
    Reviewed-on: https://chromium-review.googlesource.com/178991
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit c5a631240d0a79096ba9f1d189a91f411e67407c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Dec 9 13:03:32 2013 -0500

    Add unit tests for proper TLS initialization.
    
    The test creates a worker thread which initializes EGL,
    then calls EGL methods which check for thread local storage values.
    This can cause a crash of the values are uninialized.
    
    BUG=angle:488
    
    Change-Id: Ibaffede0605c720ba9ca47910690a1334ee9e20e
    Reviewed-on: https://chromium-review.googlesource.com/179130
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 3b866b6c438fc6506ffd195c3afa44756dcbfe88
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Sep 30 15:21:00 2013 -0400

    Clear11 will not clear channels that are not supposed to exist in the render target's format.
    
    Change-Id: I9c2bb927ec63d67d315893d44f199ceab4b5df82
    Reviewed-on: https://chromium-review.googlesource.com/176856
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Commit-Queue: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit c142e9da6a66c447bc0e519505fe9cf6adcc6ee6
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Sep 30 15:19:47 2013 -0400

    Renderer classes now set their blend states to mask out channels that do not exist in the render target.
    
    Change-Id: Ia49bf8de07bbdfa31275ec9835de28adc3717485
    Reviewed-on: https://chromium-review.googlesource.com/176855
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Commit-Queue: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 5cd4761f38e7cbc6fca53720b365c8c6b889a148
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Mon Dec 2 19:13:14 2013 -0500

    Re-add jschuh's TODO comment for 64-bit warnings
    
    Change-Id: I690cfd9146c51cd1e19dc2bcd2cc227b4d156cd0
    Reviewed-on: https://chromium-review.googlesource.com/178995
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 1bfaf78263063660a68aceaa6b4eb2d19960ef25
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Mon Dec 2 18:57:22 2013 -0500

    Merge preprocessor test changes from f84ef70bc729506184b052e5e9cf78796a5a4704
    
    Change-Id: I672f8b37f1e8189e43273abb59bce23ff1d580c1
    Reviewed-on: https://chromium-review.googlesource.com/178994
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Commit-Queue: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>

commit 3929c1c43643d26d253dfb2011e5c47d9b02e1c7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Dec 5 11:48:38 2013 -0500

    Store the commit date in version.h, and in the DLL properties.
    
    This will allow Chrome, or other apps who reference ANGLE internally,
    to pull chronological version information about ANGLE.
    
    Change-Id: I7dbd5b60b533f176b34f7248d70a1d9757ae99d6
    Reviewed-on: https://chromium-review.googlesource.com/179100
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Commit-Queue: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>

commit 39173f1330dfa54a3eeb78ca6a6b4c30a6627d21
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Dec 4 15:56:32 2013 -0500

    Roll gyp and regenerate public projects to have the cleaned paths.
    
    With gyp r1804 we can support having nice project folders without nested
    subfolders. We must disable the parallel build for gyp as it is currently
    broken in our project, and turned on by default.
    
    Change-Id: Ie147ce423115009e254447d51cc30da0cfb2704f
    Reviewed-on: https://chromium-review.googlesource.com/178782
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit f8c2f5cbfd1b2b75501b6e8a5539f491f4f0a5c7
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Dec 5 13:52:33 2013 -0500

    Fix indices not being offset to the bound vertex buffer when drawing indexed points in D3D9.
    
    bug=angle:535
    
    Change-Id: I5b86874cddbd3b90fe141e94085f5a4afb9f3db3
    Reviewed-on: https://chromium-review.googlesource.com/179101
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 86f601cb0a4311accd39460e22794987873d126a
Author: Scott Graham <scottmg@chromium.org>
Date:   Tue Sep 17 13:28:00 2013 -0700

    Adds algorithm.h dependency to support VS2013 builds.
    
    Change-Id: I1c254be3532d9b69380f8e2b0dde0be76a8ad262
    Reviewed-on: https://chromium-review.googlesource.com/178990
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 34256ed8593f6d7fff6b7536979c95afc28ae2d3
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Sep 30 15:15:52 2013 -0400

    Image and RenderTarget classes now initialize their textures if required.
    
    Change-Id: I2cce6f4ffdc7e2a6c23c50d663c6316f9b125880
    Reviewed-on: https://chromium-review.googlesource.com/176854
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Commit-Queue: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 0c99b1b0a42afd3b5fb578468895b166acd5bb6e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Sep 30 15:07:43 2013 -0400

    Add functions to check if texture data initialization is required.
    
    Change-Id: I54c3b90780c304d6001b9e52278672981c96cb83
    Reviewed-on: https://chromium-review.googlesource.com/176853
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Commit-Queue: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 2916b30eb47496327257254d355677a6ebb0388a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Nov 28 13:41:10 2013 -0500

    Removed extra AddRef and Release calls on D3D11 objects.
    
    Change-Id: I5918c67735658912663c79e964b8edfb288784a3
    Reviewed-on: https://chromium-review.googlesource.com/178450
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Commit-Queue: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 89a13e9e0aefc0ae8e6d5e24b1985202b0673405
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Dec 3 10:56:58 2013 -0500

    Fix the compiler copy script in the public projects.
    
    This patch silences the copy message, fixes the public projects,
    and makes the copy step a separate target, so it won't run on
    every incremental build.
    
    Change-Id: Ie6df39737ad466b6431865b3ca19f66d16437ba9
    Reviewed-on: https://chromium-review.googlesource.com/178432
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 319cb329ba035ae7ce93c22d6437e3bdbed7d30a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Dec 3 10:56:57 2013 -0500

    Fix the backwards slashes in the commit header generation.
    
    These backwards slashes happen with some versions of gyp.
    
    Change-Id: I6c61e212aa34999fb82d74d9f1605d674f34fce0
    Reviewed-on: https://chromium-review.googlesource.com/178522
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Commit-Queue: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 372d8dd9bc07624901a2bb5a2a1af010656490cd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Dec 3 10:56:56 2013 -0500

    Add missing swizzle files to the generated projects.
    
    Change-Id: Ic99319d0ee6dfad1fe435197f9aa7edbae679370
    Reviewed-on: https://chromium-review.googlesource.com/178451
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Commit-Queue: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 06090a96ad953370f04800f2ec67dc0d77e3c79a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Dec 3 10:56:56 2013 -0500

    Add a relative source path variable to our gyp build process.
    
    This path lets us locate the src folder with respect to the
    generated output folder, for the pregenerated projects.
    
    Change-Id: I5cf36f35f68638572bc1a8aec1f570edf76a1c74
    Reviewed-on: https://chromium-review.googlesource.com/178521
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Commit-Queue: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit fa3d9f3064425556bc41b5aac73f529d6c5242de
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Dec 3 16:58:17 2013 -0500

    Fix swapchain resize errors when sizing to 0 width or height.
    
    BUG=angle:519
    
    Change-Id: I3d3d0746b2b3027d04c91cc5fdcd301930e3b22a
    Reviewed-on: https://chromium-review.googlesource.com/178439
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 74d03eaf87230bc805408fabbb60261a3b041006
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Dec 3 13:47:39 2013 -0500

    Fix unused variable warning in compiler/debug.cpp.
    
    BUG=angle:534
    
    Change-Id: I893e552628c7deba4bc67baae6e5e28b6161c5d4
    Reviewed-on: https://chromium-review.googlesource.com/178438
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Commit-Queue: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>

commit 88f779dd08d4fb0593cc2ec9bfd908e90146c16e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Dec 3 10:57:56 2013 -0500

    Fix device removed handling for systems which do not
    immediately allow recreating a new device.
    
    On Intel systems there's a cool-down period when you must
    wait before recreating the device.
    
    BUG=313210
    
    Change-Id: I22cdf41eecf0eae5058b59e1b0863173d604d606
    Reviewed-on: https://chromium-review.googlesource.com/178437
    Tested-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Commit-Queue: Shannon Woods <shannonwoods@chromium.org>

commit 58e603279ecc6777b3aed0316a1ff0d5f943c0de
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Dec 2 11:09:36 2013 -0500

    Fix the display not updating after a call to eglSwapInterval.
    
    This could happen because we reset the dirty swap interval flag
    before we called makeCurrent.
    
    BUG=angle:481
    
    Change-Id: I15750db8908eb379d89b2b20104dac87c1399987
    Reviewed-on: https://chromium-review.googlesource.com/178520
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Commit-Queue: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Commit-Queue: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>

commit 049108df24a19eb51a17a9e157c24fc099660af8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 19 10:41:49 2013 -0500

    Include the current commit as part of the build process.
    
    BUG=angle:529
    Change-Id: I6d1d227b495e9bae6e017c88642679210c6d2355
    Reviewed-on: https://chromium-review.googlesource.com/177233
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Commit-Queue: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit a049fe1ef10773e123fe2e569db6708037a5e2a7
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Dec 2 13:14:57 2013 -0500

    Add NULL init for swizzle SRVs with eglBindTexImage textures.
    
    Change-Id: I8a1069013f37988632db07359d65f8215041978e
    Reviewed-on: https://chromium-review.googlesource.com/178431
    Reviewed-by: Geoff Lang <geofflang@chromium.org>
    Tested-by: Geoff Lang <geofflang@chromium.org>
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Commit-Queue: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>

commit 42477a430c09c50e19044a2ef99ebbb3efd68a38
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Sep 17 17:07:02 2013 -0400

    Renderer11 now generates swizzles and invalidates the cached swizzles.
    
    Change-Id: If5c998a91195942297beeb26a0ec635ff6a466ea
    Reviewed-on: https://chromium-review.googlesource.com/177035
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Commit-Queue: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 391c8c503e9597e258d2af485cb3fd824da1fc76
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Sep 17 17:05:51 2013 -0400

    Added a RenderBuffer/RenderBufferInterface getTextureStorage method.
    
    Change-Id: I710fba737524e735349ce1c0b09fa535555bd029
    Reviewed-on: https://chromium-review.googlesource.com/177034
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Commit-Queue: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit e2e0ce0cd1b4b1845c5df4fc87d75b36ef6a8d6c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Sep 17 17:05:08 2013 -0400

    Context now detects if a texture needs to be swizzled and calls Renderer::generateSwizzles.
    
    Change-Id: I89f30e028b1d6ec384536cdbeedd91bb98359e8f
    Reviewed-on: https://chromium-review.googlesource.com/178440
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Commit-Queue: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit a9b3e4c834c0f450b9b396615bb6d282ebd730bd
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Nov 28 09:52:44 2013 -0500

    Fix enum names in preprocessor tests.
    
    Change-Id: I6c08c43ecb2ad593119f85c05a802473348cafb7
    Reviewed-on: https://chromium-review.googlesource.com/178430
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Reviewed-by: Nicolas Capens <nicolascapens@chromium.org>
    Commit-Queue: Nicolas Capens <nicolascapens@chromium.org>
    Tested-by: Nicolas Capens <nicolascapens@chromium.org>

commit 644bbf2448bc2e29eadd811c303117cacb39189d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Sep 17 17:02:43 2013 -0400

    Added a swizzle cache to TextureStorage11.
    
    Change-Id: Iebf297ef5b8560bb468428fc369eb3df8f43ec11
    Reviewed-on: https://chromium-review.googlesource.com/177032
    Reviewed-by: Jamie Madill <jmadill@chromium.org>
    Commit-Queue: Jamie Madill <jmadill@chromium.org>
    Tested-by: Jamie Madill <jmadill@chromium.org>

commit 992056ad8cee0dd34cfb27d93f1dd9383829d5bd
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Nov 25 15:11:16 2013 -0500

    Add a rule to copy the D3D compiler DLL to the output folder.
    
    BUG=315387
    
    Change-Id: I293798ecb7ec167691a1f490c050a48970b17be3
    Reviewed-on: https://chromium-review.googlesource.com/177695
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Commit-Queue: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit 00f6bc32b5bd0e988cd58a3df1914791972e7acb
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Sep 20 14:59:06 2013 -0400

    Add GetSwizzle*Format functions to formatutils11.
    
    Change-Id: Idcd4aa5fd18c1629168ba7cdd41e8fb3f6c3ead3
    Reviewed-on: https://chromium-review.googlesource.com/177031
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Commit-Queue: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit a895c6f0123949d92a10cca7da63ba1bf56356ed
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 26 10:49:41 2013 -0500

    Fix errors in the gyp projects when we build with ninja.
    
    Ninja does not like having targets named 'all', and the
    post-build step had some ninja-incompatible variables.
    
    BUG=angle:529
    
    Change-Id: Ia2bf701c997ec072b18bcbd62f7d05a2e40a1578
    Reviewed-on: https://chromium-review.googlesource.com/178072
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Commit-Queue: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit bc90a4804f58d2b24babe6f247db57b9a6cdc58f
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Sep 17 16:51:27 2013 -0400

    Added TEXTURE_SWIZZLE_* parameters to the texture sampler state and API queries.
    
    Change-Id: I20aff392ec4cd9e49424afae94a862fdd8eef9b8
    Reviewed-on: https://chromium-review.googlesource.com/177030
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Commit-Queue: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit ed883f5416ad89f727674b096c247f668ae64cf7
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Sep 10 17:20:54 2013 -0400

    Added a swizzleTexture method to Blit11.
    
    Change-Id: I0af836f761893c8928a84d138a6b2d07a3e04da6
    Reviewed-on: https://chromium-review.googlesource.com/176989
    Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
    Commit-Queue: Shannon Woods <shannonwoods@chromium.org>
    Tested-by: Shannon Woods <shannonwoods@chromium.org>

commit f4b79ba83c82253c012571ab07433692858562e2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 26 10:38:18 2013 -0500

    Fix issues with the conditional discard workarounds to do with assignments.
    
    The old modifiesState method really checked if an operator was an assignment,
    so restored that behaviour and use the new side effects detection only for
    the new code.
    
    ANGLEBUG=486
    BUG=
    R=nicolascapens@chromium.org, zmo@chromium.org
    
    Review URL: https://codereview.appspot.com/22130043
    
    Change-Id: I84d4e95a0457e63f237a814d80e4f72dd861496b

commit 3c9eeb979f4b2431e2303d4a74cd1498d474f6a3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Nov 4 11:09:26 2013 -0500

    Disable optimizations for shaders with conditional discard in D3D9, and
    only use expanded short-circuiting conditionals for expressions with
    potential side-effects.
    
    Conservatively assume aggreate and selection operators have side effects for now.
    
    BUG=
    ANGLEBUG=486
    R=geofflang@chromium.org, kbr@chromium.org, nicolas@transgaming.com, shannonwoods@chromium.org
    
    Review URL: https://codereview.appspot.com/14441075
    
    Conflicts:
            src/common/version.h
            src/compiler/translator.vcxproj
            src/compiler/translator.vcxproj.filters
            src/compiler/translator/OutputHLSL.cpp
            src/libGLESv2/ProgramBinary.cpp
            src/libGLESv2/Shader.cpp
            src/libGLESv2/Shader.h
    
    Change-Id: Iaf9f10b5de7b33c927ef032f3c4fe9d5095f64dd

commit 5a60b73990beba0ef1b551cbe0a0c5cbf1236949
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 26 09:49:23 2013 -0500

    Ensure stream source frequency for stream 0 is set to 1 in swapRect
    for D3D9.
    
    This prevents D3D errors which we could see when using the Debug runtime.
    
    BUG=321834
    
    Change-Id: I1dd66d9d80def5e558fc13c218fde9c4047ab2b4

commit 956893b7a3f9472655779bba944ff8396776d829
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Nov 19 15:47:00 2013 -0500

    Add .rc files back to the new gyp build process.
    
    Change-Id: I8798d9dd4a31bb0ced6f695ec5b21a354adeca51

commit b7935e51b6f3d163c29137da9ad72ecb8dad59c8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 20 15:47:47 2013 -0500

    Proper handling of D3D9Ex device removed.
    
    BUG=313210
    
    Change-Id: I85dae10bc2ec38a1e9c09f318b8f6b9196466d60

commit bf55158965fb1eb11f9956b29d4400a9ee59bb0b
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Fri Nov 22 14:12:05 2013 -0500

    Bump version.h
    
    Change-Id: Iaefd68999cf7e378561d2136b6aed28058a767c4

commit 1293cf4bbde79edd06274e12b9ed0b11bb9655fb
Merge: 00a8465b4 26533604d
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Thu Nov 21 18:33:44 2013 +0000

    Merge "Renamed some Blit11 types and methods to imply they are for blitting (as opposed to swizzleing)." into es3proto

commit 00a8465b484e9cf2130720524cdf645cdc26e029
Merge: a621c2e45 453aaba46
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Nov 20 21:05:21 2013 +0000

    Merge "Don't let mBufferSize fall out of sync with the actual buffer size.  Pervents unnecessary buffer re-creations." into es3proto

commit a621c2e458eab2b08751414729d4c092fb65738d
Author: Nicolas Capens <nicolascapens@chromium.org>
Date:   Wed Nov 20 13:40:23 2013 -0500

    Use 64-bit safe constant union indexes.
    
    BUG=angle:450
    
    Change-Id: I4a16733e3e6aebf2939f8255ae2e4e8c5febc606

commit 453aaba46d7d23e79609ad804a2a43d47e866e41
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Nov 20 11:02:23 2013 -0500

    Don't let mBufferSize fall out of sync with the actual buffer size.  Pervents unnecessary buffer re-creations.
    
    Change-Id: Ie40300865dcd7830fe8eafbccfaa3edad46c7b52

commit 9b27ebb03e0fb2301ee36ab60b2b8013661b994f
Merge: 7f2d7945e f67e80254
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Tue Nov 19 21:44:28 2013 +0000

    Merge "Manual merge of Ehsan Akhgari's change to add include guards to ForLoopUnroll.h" into es3proto

commit 7f2d7945ee702241829727751bd4c7424662b225
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Tue Nov 19 15:07:58 2013 -0500

    Manual merge of Ehsan Akhgari's patch to rename Diagnostics enums to avoid collision with Windows.h
    
    (See https://chromium-review.googlesource.com/#/c/177181/3)
    
    Change-Id: I2978d06ec96789b3ee1696b65a84c2a9f31f7ba4

commit f67e80254f525a41eb49b466d443c72a6eb92eb5
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Tue Nov 19 12:22:54 2013 -0500

    Manual merge of Ehsan Akhgari's change to add include guards to ForLoopUnroll.h
    
    (See https://chromium-review.googlesource.com/#/c/177180)
    
    Change-Id: I353b6ff868dbfd5764d4fa3fb0af88891cf5b436

commit 26533604d5f1dfb099e7e173bf7dfb91b349b8d3
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Sep 9 16:41:42 2013 -0400

    Renamed some Blit11 types and methods to imply they are for blitting (as opposed to swizzleing).

commit 91db708c4e783a0891c4b04f630c278a4ef2b6dc
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 13 20:17:02 2013 -0500

    Add a step to the gyp projects which can run a python script after
    a build of ANGLE is complete.
    
    We can use this hook to do things like copy DLLs to user-configured
    output folders.
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Geoff Lang
    ANGLEBUG=503
    
    Change-Id: Iecf86b8c211b2a9933894c631c32107c8fda096a

commit 03847b6d50ea6ac5152b899de48748dfceabbcac
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 13 19:42:39 2013 -0500

    Fix the shader calculation for the level of detail for certain samplers.
    
    We were using an extra sqrt function for some cases.
    
    TRAC #23591
    
    Change-Id: I7d5d2b4b78586085396a281daf7975be316a1386
    Signed-off-by: Shannon Woods
    Signed-off-by: Geoff Lang

commit 829f59e95d604becd43a69e2cc048c377a709c16
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 13 19:40:54 2013 -0500

    Remove usages of the auto keyword from the translator.
    
    TRAC #22875
    
    Change-Id: I3ecf30843a82962fbfa5c38f026425fa8acf4657
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit fcef3366e821db7ba7244a6a6829364b48527715
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Nov 13 19:37:19 2013 -0500

    Fix bug with nested struct uniforms.
    
    TRAC #22875
    
    Change-Id: I204cea18a710f6b9206a578a69f1dbc1e13fbd71
    Signed-off-by: Shannon Woods
    Signed-off-by: Geoff Lang

commit c6a2dcf807551c27ea6df61dc4e4d1d36fa76b8c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 31 13:54:01 2013 -0400

    Fix improper getSamplerState in Context::applyTextures.
    
    Introduced in cdf22f94acaf86.
    
    R=geofflang@chromium.org
    BUG=
    
    Review URL: https://codereview.appspot.com/20320043

commit f07558ac8c3b30950cbd899d72da56692d2725f1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 31 11:16:22 2013 -0400

    Fix glGetUniform for non-square matrices.
    
    TRAC #22846
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Geoff Lang

commit 95f9f986876f4a3a53c39ec99d701c5df84015b5
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Oct 21 17:09:19 2013 -0400

    Remove use of DXGI_FORMAT_R32G32B32_FLOAT as a backing format for GL_LUMINANCE32F_EXT.
    
    TRAC #24036
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods

commit cdf22f94acaf86ebfb02e123deafcb41010cfccf
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Oct 31 10:38:23 2013 -0400

    Don't apply textures that are currently bound to the framebuffer.
    
    BUG=496
    Review URL: https://codereview.appspot.com/18450045

commit 89bf4bff02227311d610b7e445f055ffb2eddf5e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Oct 31 10:32:46 2013 -0400

    Fixed a bug where the vertex data manager was not caching the current value attributes properly.
    
    ANGLEBUG=489
    Review URL: https://codereview.appspot.com/18670043

commit efc551f0786aca1d9679b60cad58b5b9e0b51264
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Oct 31 10:20:28 2013 -0400

    Fix incorrectly named test class members and wrong shader compilation
    function being used.
    
    TRAC #23776
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods

commit d5ee05ccb9b0090012d7005f32c8039bed78beac
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Oct 30 13:08:58 2013 -0400

    Silence a warning present in Release mode, with a lack of exported symbols in compilerdebug.obj.
    
    TRAC #24052
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Geoff Lang

commit 7ff010442af95e10b7e941e7a4e63f941f901b74
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Oct 18 16:15:39 2013 -0400

    Added unpack alignment tests.
    
    TRAC #23776
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods

commit 219ed797c9a317627fac69d37220e06db25c7560
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Oct 18 16:15:24 2013 -0400

    Added occlusion query tests.
    
    TRAC #23776
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods

commit d191317ed55956821eef14696400c8f81a5f0e60
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Oct 18 16:15:10 2013 -0400

    Added tests for clear issues.
    
    TRAC #23776
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods

commit d990f8e299b236f52a6b411fc356cd8ee12f75fa
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Oct 18 16:14:52 2013 -0400

    Added tests for NULL buffer data.
    
    TRAC #23776
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods

commit e8a1f78c5bcbb2f88ca107e621d6dc2185873721
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Oct 18 16:14:30 2013 -0400

    Added BlitFramebufferANGLE tests.
    
    TRAC #23776
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods

commit f95c046efc756f3c0f4b41f8644bb44dc357cf69
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Oct 18 16:13:55 2013 -0400

    Added vertex attribute tests.
    
    TRAC #23776
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods

commit 8a079e5ea9988a9d3b7ca3d96c3c6de1913203fb
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Oct 18 16:13:33 2013 -0400

    Added an angle_tests project and base class for tests.
    
    TRAC #23776
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods

commit 1ec57f80247020c206480b3f6aadea87a52e9d17
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Oct 16 11:43:23 2013 -0400

    Add support for GL_EXT_color_buffer_float.
    
    TRAC #23794
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods

commit 6b7440ca15e3acd080d52b11f2e084195fa7f9c9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 24 17:49:47 2013 -0400

    Remove TextureStorage::GetActualLevelCount.
    
    TRAC #23978

commit 4cfff5f3c8eb849efeb6dcc0893d145806cf8bb4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 24 17:49:46 2013 -0400

    Modify texture storage classes to store a base and max level, instead of a range of levels.
    
    TRAC #23978
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit b16b8ed79d73c718cfe9247e9c8d2714d5eb4dc5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 24 17:49:45 2013 -0400

    Add helper functions for returning the dimensions of a level in a texture storage.
    
    TRAC #23978
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit 07bb8cf4f5d734c9ba15adadf5a765fa22cf25ce
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 24 17:49:44 2013 -0400

    Remove Texture::levelCount() and replace it with isValidLevel().
    
    TRAC #23978
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Geoff Lang

commit 51a943707572a8ba132bae05095af4855c8939e9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 24 17:49:43 2013 -0400

    Replace API queries of immutable texture level count with a specialized function.
    
    TRAC #23978
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit 2ebab858840fb19d4284314caebee4b3cf0700c8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 24 17:49:42 2013 -0400

    Remove Texture::getStorage, which is no longer needed after the previous refactorings.
    
    TRAC #23976
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit 884a4626ae1d56feeb9971e0b6f095b5c897eda1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 24 17:49:41 2013 -0400

    Refactor storage management in Texture2DArray.
    
    TRAC #23976
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit e664e2064b93c244160c9b22cd96d33ee588a1ce
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 24 17:49:40 2013 -0400

    Refactor storage management in Texture3D.
    
    TRAC #23976
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit 3c0989c6b5dc3711260adb3249f423fb32db681f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 24 17:49:39 2013 -0400

    Refactor storage management in TextureCube.
    
    TRAC #23976
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit 73b5d06e9c46bdbbaf83f09b5669b665f12d0208
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 24 17:49:38 2013 -0400

    Refactor texture storage management in the Texture2D.
    
    TRAC #23976
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit 169d11186cb1fdef8920668169682cf84749606d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 24 17:49:37 2013 -0400

    Rename Texture and Image methods which operate on storage objects to refer to storage instead of textures.
    
    TRAC #23961
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit 22f843a1e1b9ede7ac1035923f99a7c5956a9bad
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 24 17:49:36 2013 -0400

    Make a virtual method Texture::mipLevels to return the value of mip levels defined as in the GL spec.
    
    Also known as the "q" function.
    
    TRAC #23961
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit 2db197cd72c8ef3b109af0e9e444fd734a3acca4
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 24 17:49:35 2013 -0400

    Use a consistent naming scheme for the cube map face index variables in Texture.cpp.
    
    TRAC #23961
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Geoff Lang

commit d4589c97f7d7c3be8896f8addc6f2cbd50ef73c3
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 24 17:49:34 2013 -0400

    Simplify passing the texture usage parameters through the texture classes.
    
    Avoid passing a raw GLenum when possible.
    
    TRAC #23961
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit e83d1a93c6996ceaad179b008a31fed91ff78914
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 24 17:49:33 2013 -0400

    Change Texture::convertToRenderTarget to ensureRenderTarget, which tries to convert a storage to a RT if it isn't already.
    
    TRAC #23961
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit 632192dd8098d303fbf4d66f5d61c7363039a818
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Oct 4 13:40:46 2013 -0400

    Added support for EXT_texture_rg in D3D9 and D3D11.
    
    TRAC #22423
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods

commit 4133f5c2f10ab5d42a0ca8cf81e0b10fdaecea74
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Oct 10 13:51:18 2013 -0400

    24bit depth formats need to flip the depth and stencil bits when loading.
    
    TRAC #23540
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods

commit 85ea9abb0162b246de14b9209b68d2897bf61a52
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Oct 10 13:50:34 2013 -0400

    Fixed the GL_FLOAT_32_UNSIGNED_INT_24_8_REV type having the incorrect number of bytes and allowed the depth stencil formats to specify that they have unused bits.
    
    TRAC #23540
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods

commit 88f9cbf254dbc9ee0d87c84155cbcd3b2ca4f853
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Oct 18 14:33:37 2013 -0400

    SwapChain11 now stores a SRV of it's depth stencil.
    
    TRAC #24025
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods

commit d9b9a508c5059aa08a87d1a7c0f1a729dd3979ae
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 10 17:46:13 2013 -0400

    Instead of checking if a texture is mipmap complete before we update the storage, only update complete storage levels.
    
    TRAC #23996
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit aee7ad8846b5e2e2405af850fea6dc3f4b7fc8b5
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 10 16:07:32 2013 -0400

    Only update the currently active render target level in getRenderTarget, instead of the whole texture.
    
    Also add a few more ASSERTs to the texture level update methods.
    
    TRAC #23996
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit ba597af987a0b6a8357077d9d770cdffb6c4540e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Oct 22 13:12:15 2013 -0400

    Re-enable hazard warnings for setting render targets that are currently bound as SRVs.
    
    We can manually unset applied textures in SetRenderTargets. This should fix the spurious warnings
    while still showing a warning on error cases.
    
    TRAC #24039
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit bfcda81d57c2d2846985ee752b5633428d91d608
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Oct 22 13:07:33 2013 -0400

    Add a method to return the Texture serial of a Renderbuffer, or zero if this is a non-texture Renderbuffer.
    
    TRAC #24039
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit 2e559bbc134bc77c32c7ee0961154ca4639d8baf
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Oct 22 15:31:29 2013 -0400

    Do not allow context sharing between egl Displays.
    
    This is an explicit error according to the EGL specification.
    
    ANGLEBUG=487
    BUG=
    Test=WebGL CTS
    R=shannonwoods@chromium.org,geofflang@chromium.org

commit baa6116c31bce48390bbf94386d2f90fb14368b4
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Oct 22 15:53:49 2013 -0400

    Regenerate public Visual Studio projects.
    
    TRAC #24044
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods

commit 7731d6a74261d8302c9ac8a347645deaca54d41d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Oct 22 15:43:10 2013 -0400

    Update the GYP dependency to a revision with Visual Studio 2010 Express solution generation working correctly.
    
    TRAC #24044
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods

commit 16a1c072a617bcb5ab44b8a41bf7505122f248d0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Oct 22 15:42:15 2013 -0400

    Expose the textureLod functiosn to GLES 3.00 shaders.
    
    We should have support for these methods, but they were not exposed to the shaders.
    
    TRAC #23991
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Geoff Lang

commit 251f57a036462220518c61f27b4f3b8e2694be1d
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Oct 22 14:34:08 2013 -0400

    Ignore output from new Visual Studio projects.
    
    TRAC #24020

commit 512a7b7b04b1cda5783a3c6a49f33c522b612d51
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Oct 22 14:07:46 2013 -0400

    Regenerate project files.
    
    TRAC #24020
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods

commit 2b8f6fb49eb8955f28cc6ce1a087a551d09c44af
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Oct 21 13:35:39 2013 -0400

    Public project generation script is now a python script and generates projects into the projects directory.
    
    TRAC #24020
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods

commit dd7234c5a397bbaf6e40af857cfe5a9eda4d35d6
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Oct 16 15:07:55 2013 -0400

    Remove un-referenced functions.
    
    TRAC #23785
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods

commit eef52cc63bc13a6c4069d92467a70ed1107fb136
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Oct 16 15:07:39 2013 -0400

    Fix mis-printed type in event message.
    
    TRAC #23785
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods

commit 005df41f8900641ed1df60700c8e2eca659a33cb
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Oct 16 14:12:50 2013 -0400

    Use GLenum instead of GLint to store internal format variables.
    
    TRAC #23785
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods

commit 2a6f956dbcaef95068a948325370bb2403ac0b7a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Oct 18 17:25:45 2013 -0400

    Move the PBO unpack shaders to the proper folder.
    
    These were not properly merged with the project changes.
    
    TRAC #24028
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Geoff Lang

commit f02ec39090312de6884aa77ad738d760eff31663
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Oct 18 17:11:07 2013 -0400

    Regenerate public project files.

commit b236212e5a417b85ccae202057b00b0460d23f40
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Oct 15 14:16:43 2013 -0400

    Updated the gyp build system for the ninja generator to work.
    
    TRAC #24018
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods

commit 78059907ae43effea8a5b28d24ad9d006cfc6ff7
Author: Geoff Lang <geofflang@chromium.org>
Date:   Fri Oct 11 14:33:01 2013 -0400

    Added a 64 bit build target to the gyp file.
    
    TRAC #24018
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods

commit 036aa49b629f2a4ff1f0bcaa298dbdb875af6442
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Oct 9 16:23:30 2013 -0400

    Disable warnings about size_t conversion and fix ambiguous template parameters in 64 bit builds.
    
    TRAC #23409
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods

commit ba4f10a37232a431dcd52c1fd7023a23d2963a65
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 10 15:12:20 2013 -0400

    Support pixel unpack buffers in TexSubImage3D.
    
    TRAC #23847
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit 53683053c46f7c7a2e86b4a22fa729545595af3b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 10 15:30:15 2013 -0400

    Support the "fast path" (GPU copies) for pixel unpack buffers in TexImage3D.
    
    TRAC #23846
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit a2d4e55dc2e856c70deb22e67d3d368f4de556ee
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 10 15:12:01 2013 -0400

    Add support for pixel unpack buffers to TexImage3D.
    
    TRAC #23846
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Geoff Lang

commit 065e1a32293a2a3149fd0899607842cac0864d7f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 10 15:11:50 2013 -0400

    Add support for pixel unpack buffers to TexSubImage2D.
    
    TRAC #23845
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit 4461f097210919c9c99e0bda049f465c36301a2d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 10 15:10:39 2013 -0400

    Add support for the "fast path" (GPU copy) pixel unpack buffers in TexImage2D.
    
    TRAC #23844
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit 171ca0ea3cb70acf8002a2b16698d70ffbed9c6f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 10 15:10:31 2013 -0400

    Refactor direct buffer storage to only create two backing buffers, for constant buffers and all other bindings.
    
    This simplifies the logic used in retrieving the ID3D11Buffer.
    
    TRAC #23844
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit 851a4f66b1e09696d8f095c1d6a3c2811eb36ebb
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 10 15:15:36 2013 -0400

    Add precompiled D3D11 shaders for pixel unpack buffers.
    
    TRAC #23844
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit c8c102b5f78e897c02de8b7117a64fab27163ff1
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 10 15:10:24 2013 -0400

    Add a helper method to return the native format backing a GL texture type.
    
    TRAC #23844
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit 8cc7d97539904d9e1058b43153bd6201f4e84d1d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 10 15:51:55 2013 -0400

    Refactor the fast path for pixel unpack buffers, and fix a few validation gaps with texture completeness.
    
    TRAC #23997
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit 0e0510fd08426f39f104c5dc937c9d7f4469db95
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 10 15:46:23 2013 -0400

    Place the method responsible for checking for fast pixel unpack buffer support into the Renderer.
    
    TRAC #23997
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit 6b9cb25980022d0c792d858bc6f6500c00a6c29d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 17 10:45:47 2013 -0400

    Rename ParseHelper.cpp/h to ParseContext.cpp/h.
    
    TRAC #24002
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Geoff Lang

commit ee7010d49f0c6a5e4382b6930fbee25638932929
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 17 10:45:47 2013 -0400

    Add support for querying major and minor GL version in ES3 contexts.
    
    TRAC #23989
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit 455a6f5ca3a24d3f8ae4d9ac56cb2d7ea9ef0d86
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Oct 17 10:45:46 2013 -0400

    Expose gl_MaxDrawBuffers to ESSL 3.00 shaders.
    
    Previously was only exposed in ESSL 1.00.
    
    TRAC #23990
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit e26b15a2a7e09ef28219661027c4b77c5cdd8530
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Oct 17 14:18:42 2013 -0400

    Regenerate project files.

commit 61af78d1a2991d18c8d6298148bdc8810bca72a7
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Oct 17 12:05:24 2013 -0400

    Add a project update script.
    
    TRAC #24017
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods

commit 4a9e236bfb476717ef2a543ff802d8a51e3c6c6a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Oct 17 10:31:32 2013 -0400

    Fixed issues compiling gtest in using the visual studio 2012 compiler.

commit 216644bad77dafeea5fc05cf9290d1cffc2b3d60
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Oct 15 10:40:30 2013 -0400

    Regenerate project files.

commit 31f0dc0a09b1ea6ff03d235080d561840de8eb66
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Oct 8 13:29:13 2013 -0400

    Merge a0bd8ef0aca9eab29a0e5a437b803c5d95a777c6 from master.
    
    Use ANGLE_TRANSLATOR_STATIC to enforce a static build of the translator in
    chromium.
    
    This prevents strange warnings from defining COMPONENT_BUILD=0.
    Also rename COMPILER_IMPLEMENTATION to ANGLE_TRANSLATOR_IMPLEMENTATION
    for better consistency in chromium.
    
    ANGLEBUG=477
    R=zmo@chromium.org
    BUG=

commit 5e5f990e1c86e8776f7d974c95d0b63052bb36ed
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Oct 8 11:46:54 2013 -0400

    Merge 7692ca41dbfe20e6acf3319a37aa38b8160f51c6 from master.
    
    Remove %(AdditionalDependencies) from gyp linker deps, and add full windows dependency library list.
    
    ANGLEBUG=477
    BUG=
    R=zmo@chromium.org
    
    Review URL: https://codereview.appspot.com/14161043

commit 8690da8b0a8f605f464346b2c3caafecb92632bc
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Oct 8 10:57:09 2013 -0400

    Merge 49cbc5768c15d930d5d8751f5263e9546a07d037 from master.
    
    Fix a typo introduced in "GCC Compiler Fixes".
    
    ANGLEBUG=478
    BUG=
    R=shannonwoods@chromium.org
    
    Review URL: https://codereview.appspot.com/14155043

commit 8622e55452e0b9039c051700148a18efb60efe3e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Oct 8 10:52:52 2013 -0400

    Merge 16a3eb3e9fdee83ab9ed15769ec629eab4bc4174 from master.
    
    Fix compiler test initialization issues.
    
    We should call ShInitialize() / ShFinalize() once per process, so moving
    them out of individual test's Setup() / Shutdown() to the test main().
    
    BUG=
    R=alokp@chromium.org
    
    Review URL: https://codereview.appspot.com/13568048

commit 2b6008c9d1d7dcb89ae3e7bdf5d697605ff95a6c
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Oct 8 10:44:05 2013 -0400

    Merge 366229430ea056cf7f33917a4fa37b721512a42c from master.
    
    Create a static translator project and allow the previous translator
    project to be used in component builds.

commit 7c6972017699668f359340452f8c3d2331878048
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Oct 7 17:18:14 2013 -0400

    Deleted manually maintained visual studio projects and replaced them with gyp generated ones.

commit 179b0046fe668047f0014405318004703e8c84c8
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Oct 8 16:43:03 2013 -0400

    Enabled multiprocessor compilation.

commit ce1d3c482d96942961bcbdec9fb2004a0c29b496
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Oct 8 16:42:47 2013 -0400

    Added flags to disable or enable generation of samples and test projects.

commit 0049e43d6532a74d347bf3046f0ab4a5f5d57145
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Oct 7 17:07:33 2013 -0400

    Fixed the DEPS folder and added a .gclient file so gclient sync will now work.

commit 6850947e144818ccdf9bab267b3d8c9fe3b88abb
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Oct 7 17:06:30 2013 -0400

    Added a define that removes d3d includes from the common directory so that d3d9 headers are not included in the translator project.

commit c3597523bc92ed32dfe34fa9d54a9a0a09e071fc
Author: Geoff Lang <geofflang@google.com>
Date:   Thu Sep 5 11:12:14 2013 -0400

    Refactored the tests.gyp file.

commit 0e43546701586592e5ffa7222719c10b27ebcb1f
Author: Geoff Lang <geofflang@google.com>
Date:   Tue Sep 3 15:21:51 2013 -0400

    Refactored the samples.gyp file.

commit 39d5166d0fc5e9137a541c7ceaffef3c7e0e4a92
Author: Geoff Lang <geofflang@google.com>
Date:   Thu Aug 29 16:08:23 2013 -0400

    Moved the gyp libGLESv2 and libEGL projects into their own gyp files. Renamed build_angle.gpy* to angle.gyp* but kept build_angle.gyp for chrome compatability.

commit 17732823f9c21bdba9cc51ffaceb545ce3857a8c
Author: Geoff Lang <geofflang@google.com>
Date:   Thu Aug 29 13:46:49 2013 -0400

    Moved the compiler source files into directories based on their project and added a compiler.gypi to generate the compiler projects.

commit d47e0fcc28925847ac0d7f9bfd9b7d8660700345
Author: Geoff Lang <geofflang@google.com>
Date:   Thu Aug 29 11:40:43 2013 -0400

    Split the d3d9 and d3d11 backends into folders and updated the gyp file to use a python script to generate the file lists for the libGLESv2 and libEGL projects.

commit 401a0bc5050ac1c614cf385e9a74b9870edd46ca
Author: Geoff Lang <geofflang@chromium.org>
Date:   Wed Oct 16 13:20:49 2013 -0400

    Fix D3D9 attributes being marked as requireing conversion when they did
    not.
    
    R=jmadill@chromium.org,shannonwoods@chromium.org
    
    Review URL: https://codereview.appspot.com/14737043

commit 71cc91fcfc2832630e75c8152d1160208546624e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 18 12:51:22 2013 -0400

    Remove an assert statement to do with uniforms and element indexes.
    
    This assert could trigger false positives on sampler types. We should eventually
    replace our uniform handling logic with something more consistent with D3D11's
    "everything is a constant buffer" model.
    
    TRAC #23749
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Nicolas Capens

commit 5925a4e4783fdb135f0109f2a695dc399562965a
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Oct 10 10:16:47 2013 -0400

    Only check for missmatched HWND process IDs if swap chain creation fails.
    
    R=shannonwoods@chromium.org,zmo@chromium.org,jmadill@chromium.org
    
    Review URL: https://codereview.appspot.com/14540050

commit 152ed093ed6ea7018ef5a50165e2ad126ed45b2d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Oct 9 17:01:15 2013 -0400

    Do not dereference a NULL pointer when retrieving the base level image of an empty 2D array texture.
    
    TRAC #23957
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit bfc93bbaae3adb6db128796846bbd8f8c20ec831
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Wed Oct 9 11:36:53 2013 -0400

    Use cube textures as 2D texture arrays in rendertarget SRVs
    
    This fixes mipmapping for renderable cube textures in D3D11.
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Jamie Madill

commit f5ef21cd8ad7eb2b55ca9a1f49aff57e9d53f89e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Thu Oct 3 11:20:48 2013 -0400

    Add a define to force off the vertical sync for profiling.
    
    TRAC #23973
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods

commit d311019e4dcb22ec707692acb2b3dcc0e0ecc24c
Author: Geoff Lang <geofflang@google.com>
Date:   Tue Sep 24 11:52:47 2013 -0400

    Fix incorrect mip sizes for cube maps when creating them with TexStorage2D.
    
    TRAC #23913
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods

commit 01c21d283168714e4ba749e4a121da6c8dfc114c
Author: Geoff Lang <geofflang@google.com>
Date:   Tue Sep 24 11:52:16 2013 -0400

    Fix incorrect targets for TexStorage2D with cube maps.
    
    TRAC #23913
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods

commit d0f8e82bb4da17777acad17283593733781a16fc
Author: Geoff Lang <geofflang@google.com>
Date:   Mon Sep 30 15:21:53 2013 -0400

    Implement META_ASSERT with static_assert if the compiler supports it.
    
    TRAC #23948
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods

commit d1e9a9a69193fc375646319c51b01fab82b340e0
Author: Geoff Lang <geofflang@google.com>
Date:   Mon Sep 30 15:22:57 2013 -0400

    Add missing ES3 unsized internal formats and properly return 1 for alpha in integer formats with no alpha channel.
    
    TRAC #23949
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods

commit f6d6901cb0f787f77d5dd798ae0898930de454df
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Oct 7 12:10:37 2013 -0400

    Fall back to LoadLibrary if preloading d3d compiler modules fails.
    
    TRAC #23985
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods

commit c1f8b16bd24f7caa6abb2edd5f20079b7a63dfc0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 7 10:46:38 2013 -0400

    Move validation of API errors out of Texture*::generateMipmaps() to the API.
    
    TRAC #23959
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit 35d1501b7bcbacd7af96a65a52fb545c772e41bf
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 7 10:46:37 2013 -0400

    Clean up the validation logic in glGenerateMipmap by using the generic base format property methods.
    
    TRAC #23959
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Geoff Lang

commit 33f9c2ef353f4156b975387102252873bab11350
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 7 10:46:36 2013 -0400

    In GenerateMipmap, determine if texture is a compressed or depth texture via generic methods instead of from the typed class.
    
    Part of GenerateMipmap cleanups.
    
    TRAC #23959
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit d3d2a34260af59003f285549c1d95ac5fd8d49ea
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Oct 7 10:46:35 2013 -0400

    Add methods to return the properties of the base level image of a texture. We can call these of any texture type.
    
    These methods are only well-defined for complete textures (IE, not cube maps with one face defined in one level).
    
    TRAC #23957
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit 93780289a7c383cbff7c22d5cdb4f885afcc5867
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Fri Oct 4 11:04:55 2013 -0400

    Update to most recent khrplatform.h
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Jamie Madill

commit ef2c2b83ce2e001edce1b34848d7828ca4ebcde4
Author: Nicolas Capens <nicolas@transgaming.com>
Date:   Thu Sep 26 10:06:07 2013 -0400

    Eliminate bitfield enum members to avoid GCC compile error.
    
    BUG=448
    R=shannonwoods@chromium.org
    
    Review URL: https://codereview.appspot.com/14302044

commit b04b708c90ea787b8e6fca18b9bbdb1c139d14eb
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Sep 30 15:54:57 2013 -0400

    Refactored the generate_shaders.bat script to use a function to compile the shaders and have the option of creating debug shaders.
    
    TRAC #23907
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods

commit 63b5f1fd695007afca2329967f9db507c9d7f139
Author: Geoff Lang <geofflang@chromium.org>
Date:   Mon Sep 23 14:52:14 2013 -0400

    Removed parameter validation from Texture::set* calls since validation is already done in ValidateTexParamParameters.
    
    TRAC #23908
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods

commit d4f180b2a52c1a11160a9756e2dbc1586337dd19
Author: Geoff Lang <geofflang@google.com>
Date:   Tue Sep 24 13:57:44 2013 -0400

    Validate compressed texture dimensions based on the per-format compressed block sizes rather than hard-coded values.
    
    TRAC #23630
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods

commit ce6356958ba86c2b09e62e1250cabd6bab16a082
Author: Geoff Lang <geofflang@google.com>
Date:   Tue Sep 24 13:56:32 2013 -0400

    Context now returns maximum texture levels per texture type, updated validation to validate mip level based on the texture target.
    
    TRAC #23630
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods

commit 784a8fd5d851dea834691f975b02f3a0fe2af36e
Author: Geoff Lang <geofflang@chromium.org>
Date:   Tue Sep 24 12:33:16 2013 -0400

    Defer early-exit due to zero-sized copies until after all other validation for CopyTex*Image.
    
    TRAC #20925
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods

commit 1beb1db8015f38674fc78cd4e53316934b0e3839
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 18 14:36:28 2013 -0400

    Enable unpack buffer support for initializing 2D textures in TexImage2D.
    
    TRAC #23843
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit efb2a6fff4d3287ed20ae9d028fd980065ea7d70
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 24 10:22:42 2013 -0400

    Add the proper API errors for pixel unpack buffers.
    
    1. For overflowing the currently bound pixel unpack buffer in TexImage and TexSubImage calls.
    2. Enforce unpack buffer offset alignment for TexImage and TexSubImage calls.
    We'll have to check for currently mapped buffers when we implement map.
    
    TRAC #23842
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit 4f1a86395b679ea24121fbe8912c490bc7c18c9a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 24 10:13:04 2013 -0400

    Add helper functions to determien if addition and mulutiplication of unsigned values will cause an overflow.
    
    TRAC #23842
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit 486a1af83cb7ca5832ee4a69078387d4fd29c0b6
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 24 15:21:54 2013 -0400

    Add a couple missed files types to .gitattributes's CRLF list.
    
    TRAC #23896

commit cc4ec64cda54f4b138f8d16ce0fe40b8fcedb459
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Mon Sep 23 14:57:10 2013 -0400

    Use the same mechanism to process int/float literals
    
    This also fixes the float overflow errno leaking bug.
    
    BUG=
    R=alokp@chromium.org
    
    Review URL: https://codereview.appspot.com/13368050

commit ac44cd2b072916b83f079bbfda66636491279d2e
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Mon Sep 23 14:57:09 2013 -0400

    Add an option in ANGLE shader translator to initialize gl_Position to vec4(0.0, 0.0, 0.0, 1.0).
    
    This is to work around driver bugs where shader compile or program link would fail incorrectly if gl_Position is not set in vertex shader.
    
    At the moment at least Linux NVIDIA driver has this bug.
    
    ANGLEBUG=472
    R=alokp@chromium.org, kbr@chromium.org
    
    Review URL: https://codereview.appspot.com/13509043

commit a15f3e84bfc96b9ef97dd10150f8811adcbbdebf
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Mon Sep 23 14:57:08 2013 -0400

    Expose the packing function so we can check varyings packing per program
    
    ANGLEBUG=471
    R=kbr@chromium.org
    
    Review URL: https://codereview.appspot.com/13322043

commit f1d723c698d88c7f9086d7fa0aa1c064dddfa8d4
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Mon Sep 23 14:57:07 2013 -0400

    Clamp numeric overflow rather than failing with an error
    
    BUG=249086
    ANGLEBUG=468
    TEST=
    R=alokp@chromium.org, kbr@chromium.org
    
    Review URL: https://codereview.appspot.com/13195043

commit b41ebf579876da37060076d10689799ba6cb6f58
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Sep 23 14:57:06 2013 -0400

    Fix compile errors in the essl to hlsl standalone translator.
    
    ANGLEBUG=469
    R=shannonwoods@chromium.org
    
    Review URL: https://codereview.appspot.com/13281043

commit d2d340b0da87296b1ec04799ef4c811966bfb7ae
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Mon Sep 23 14:57:05 2013 -0400

    Add static_use to shader variable info query.
    
    BUG=249018
    ANGLEBUG=465
    R=kbr@chromium.org
    
    Review URL: https://codereview.appspot.com/13158043

commit fa3c346fe9d832b163cfcff29bba5965bcaff08e
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Mon Sep 23 14:57:04 2013 -0400

    Build fix: not all types support precisions.
    
    Currently Angle translator made the wrong assumption that all variables have a precision, and ASSERT that.
    
    BUG=276031
    TBR=alokp@chromium.org
    
    Review URL: https://codereview.appspot.com/13113044

commit a5a1dfc6ec47c5e5aef6d871a48eef25a44dc407
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Mon Sep 23 14:57:03 2013 -0400

    Support precision for sampler types.
    
    BUG=
    R=alokp@chromium.org
    
    Review URL: https://codereview.appspot.com/12833045

commit bc3f1ac66061610b80500c9b3d91321ab332be44
Author: Alok Priyadarshi <alokp@chromium.org>
Date:   Mon Sep 23 14:57:02 2013 -0400

    Minor refactoring of TSymbolTable.
    
    Used pointers for precision-stack entries as well to avoid unnecessarily re-allocating PrecisionStackLevel whenever the vector needs to resize.
    
    Added a scoped class to properly restore symbol-table level after each compile.
    
    R=kbr@chromium.org
    
    Review URL: https://codereview.appspot.com/12583047

commit 74da9f2f24093e828b30071cebc09f99088fc13c
Author: Zhenyao Mo <zmo@chromium.org>
Date:   Mon Sep 23 14:57:01 2013 -0400

    Expose varying variables and also precision for all variables.
    
    ANGLEBUG=457
    R=alokp@chromium.org, kbr@chromium.org
    
    Review URL: https://codereview.appspot.com/12487043

commit 3c6344e7ad0fa7353b0a9d178992a2729dc24455
Author: Al Patrick <apatrick@chromium.org>
Date:   Mon Sep 23 14:57:00 2013 -0400

    add TRACE_EVENT to ANGLE (reland)
    
    Tracing code the same as previous CL:
    https://codereview.appspot.com/12699047/
    
    Setup code simplified, and follows the GetProcAddress model of other
    gl functions.
    
    R=shannonwoods@google.com

commit 0b67bfbf4aa27b96e6790fefad40633e7bf289be
Author: Alok Priyadarshi <alokp@chromium.org>
Date:   Mon Sep 23 14:56:59 2013 -0400

    Print token string into the syntax error message.
    
    Bison calls yyerror("syntax error") when it cannot match any grammar rule.
    We used to append current token string to the error message,
    which got broken in r2202.
    
    This patch restores the original behavior.
    
    BUG=442
    R=kbr@chromium.org
    
    Review URL: https://codereview.appspot.com/12876043

commit 8156b6be065905c22db8f5dc3ab0fb715b0e1b52
Author: Alok Priyadarshi <alokp@chromium.org>
Date:   Mon Sep 23 14:56:58 2013 -0400

    Fixed memory leak associated with TLS.
    
    We used to allocate thread-local memory on each compile.
    If the compile did not happen on the same thread as ShInitialize,
    we leaked the thread-local memory.
    
    It turns out that there is no need to allocate any thread-local
    memory. This patch cleans up all the unnecessary junk around TLS.
    
    BUG=crbug.com/181691
    R=kbr@chromium.org
    
    Review URL: https://codereview.appspot.com/11679046
    
    Conflicts:
            src/compiler/ConstantUnion.h
            src/compiler/ShaderLang.cpp
            src/compiler/Types.h
            src/compiler/ValidateLimitations.cpp

commit 36be856c98e54ab651e4826fef65689ae4344632
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Sep 23 14:56:57 2013 -0400

    Generate a new grammar with the Bison 2.7.1, the latest cygwin version.
    
    TRAC #23854
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Nicolas Capens

commit ba615196a8f60c73eef978e723ccbd85deea0687
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 24 14:07:39 2013 -0400

    Normalize line endings of tracked files in the repository.
    
    TRAC #23896
    
    Signed-off-by: Shannon Woods

commit 5d2e95949f770a34758ac7dbe38aff1473177daa
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Sep 20 10:48:49 2013 -0400

    Add .gitattributes to handle end-of-line normalization on commit and
    checkout.
    
    TRAC #23896
    
    Signed-off-by: Shannon Woods

commit 402bdcca200d4db9ee7b19c62f17a3c715366551
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 24 13:01:24 2013 -0400

    Re-generate our compiled shaders with the new version of FXC.
    
    TRAC #23838
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit cc9aa0f5165395e2cd722176986fb3f3e142e332
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 4 11:10:22 2013 -0400

    Support the Windows 8 SDK version of fxc by default in generate_shaders.bat.
    
    TRAC #23838
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit a21eea36fbb03d7d680ca7f472fcf96b1bbc1f63
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 18 14:36:25 2013 -0400

    Add pixel unpack buffer stubs to the Renderer classes.
    
    TRAC #23841
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit 89a0bf50056591b074b89ce13032a75d1a5d757b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 18 14:36:24 2013 -0400

    Add initial implementation for PixelTransfer11, which will enable GPU buffer to texture and texture to buffer copies.
    
    This is necessary for fast implementation of ES3 PBOs.
    
    TRAC #23841
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit d3f0f1ec8179603757b96a851f3b7d9d9152dfd8
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Sep 20 13:31:08 2013 -0400

    Expose and generalize Clear11's CompareStates function, and add methods for equality test and initialization.
    
    TRAC #23841
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit 10b411df797456b8deab42e2786ac0cd868b6f2e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 18 14:36:23 2013 -0400

    Add a helper method to gl::RenderTarget to return the extents of the texture (width/height/depth).
    
    TRAC #23841
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit c2da55ccbe6322830aff37288c5e63a6d9e4e41b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 18 14:36:22 2013 -0400

    Make CompilePS a shared utility method in the d3d11 namespace, and add methods for vertex and geometry shaders.
    
    TRAC #23841
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit bdfa22896df1b5271e0c6dfbeb76c0d55d6520f0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 18 14:36:21 2013 -0400

    Move and adjust the name of the Blit11 local functions to be consistent with our coding style.
    
    TRAC #23841
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit 3466a4d0e535b95f0f2ef388bd42dd8590db3fa9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 18 14:36:20 2013 -0400

    Add a helper method to return the number of components in a texture format.
    
    TRAC #23841
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit 02f20dd8be215559357f65d050b568b138e83211
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 12 12:07:42 2013 -0400

    Fix compile error regressions in OutputGLSL and OutputESSL.
    
    These were broken back with the symbol table changes.
    
    TRAC #23857
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods

commit 88f18f458dec5c2aff302db93c57e51d89fbffa2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 18 14:36:19 2013 -0400

    Use the context's PixelUnpackState as an argument to Texture's implementation of setImage and subImage.
    
    We need to access the current unpack buffer for our implementation of PBOs.
    
    TRAC #23840
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit 950a775ecc8d7352a5d2f76b719416acdc4706a0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Wed Sep 18 14:36:18 2013 -0400

    Move the pixel pack and unpack related state into separate structs, for easy parameter passing.
    
    TRAC #23840
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit 666e2866a0e8589dcf5205defc4f93a60fbc497e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Tue Sep 10 12:04:29 2013 -0400

    Ensure the 'slice' pixel unpack/pack alignment is only aligned based on the row stride.
    
    TRAC #23837
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit 384b60415e92302bef2e678fcd04a613287f414b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Sep 13 10:06:24 2013 -0400

    Add missing varying in and out qualifiers to the interpolation qualifier switch statement.
    
    This was causing a benign assert in Debug mode with GLSL ES 1.00 shaders.
    
    TRAC #23746
    
    Signed-off-by: Shannon Woods

commit abef6807251f99d504e849ccb8ac756fcb9c3a97
Author: Jamie Madill <jmadill@chromium.org>
Date:   Thu Sep 5 16:54:19 2013 -0400

    Remove an unnecessary and non-compliant format check from the SubImage family of calls.
    
    We were overly restricting the user's input data for SubImage calls.
    
    TRAC #23834
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit 978911ca3e9b1adaf17c3fbb39f41e98191be487
Author: Al Patrick <apatrick@chromium.org>
Date:   Thu Aug 15 12:43:29 2013 -0700

    InputLayoutCache only hashes input layout keys up to last used element.
    
    R=geofflang@chromium.org
    
    Review URL: https://codereview.appspot.com/12676043
    
    Conflicts:
    
            src/common/version.h
            src/libGLESv2/libGLESv2.vcxproj
            src/libGLESv2/renderer/InputLayoutCache.cpp

commit 3841b8e068ab5a491f280535c4538ceac8dc951e
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Tue Sep 10 18:23:12 2013 -0400

    Revert "Eliminate bitfield enum members."
    
    This reverts commit 56702e6d60883f2d1e33641b907680a852cdb15a.

commit 0d7e7d49a2ec189c4a0f6f3d9b0a095c1ff1cca5
Author: Alok Priyadarshi <alokp@chromium.org>
Date:   Tue Aug 13 15:09:00 2013 -0700

    Ignore files generated by GYP.
    
    R=shannonwoods@chromium.org
    
    Review URL: https://codereview.appspot.com/12865044

commit 3f2daa89f20362549ebd2d85ceb513e20503bcd9
Author: Al Patrick <apatrick@chromium.org>
Date:   Wed Aug 7 12:58:57 2013 -0700

    Presort reverse mapping of ProgramBinary::mSemanticIndex.

commit b11713fb9cae53fd0577d90ab5576b1ea8b6f025
Author: Alok Priyadarshi <alokp@chromium.org>
Date:   Thu Aug 1 16:02:39 2013 -0700

    Made multiple calls to ShInitialize not assert.
    
    BUG=456
    R=apatrick@chromium.org, kbr@chromium.org
    
    Review URL: https://codereview.appspot.com/11916046
    
    Conflicts:
    
            src/common/version.h
            src/compiler/ShaderLang.cpp

commit 0fd7786d0f27a61ef5bb68d95fd6cc6a9467b546
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Sep 9 16:24:06 2013 -0400

    Change the backing for integer 32-bit three-channel textures internally to four components.
    
    On some systems three-channel int textures are not renderable in D3D11.
    
    TRAC #23822
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit 1d855fed3a06de02768314b6df258270a01fba69
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Sep 9 16:24:05 2013 -0400

    Fix an incorrect type entry for RGB565 in the ES3 formats table.
    
    TRAC #23823
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit 18a44701a52f0b015dee92af668df4c66b469b9c
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Sep 9 16:24:04 2013 -0400

    Fix the format table entry for RGB10_A2UI to be RGBA_INTEGER instead of RGBA. Also add a missing format mapping.
    
    TRAC #23823
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods

commit 66192b3e00d6b239b744f0ccb86d3bc98c6454ee
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Sep 9 15:41:37 2013 -0400

    Add GL_STRUCT_ANGLEX case handling to the variable row and column count methods.
    
    TRAC #23749
    
    Signed-off-by: Nicolas Capens

commit 5609378dbf6ccb324025c88b9b1216ab72db3a0d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 30 13:21:11 2013 -0400

    Add full support for uniform structs.
    
    TRAC #23750
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens

commit 5b085dc344f1c7a54aa164c0db8eb7c9675f8c66
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 30 13:21:11 2013 -0400

    Add a field to uniforms to track which element within a register the uniform should be uploaded to.
    
    This is necessary to support HLSL-backed uniform structs.
    
    TRAC #23750
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens

commit 28167c62a29c4514b52304ddc748eaa2616053c9
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 30 13:21:10 2013 -0400

    Add support for struct varyings, and more robust varying link validation.
    
    TRAC #23749
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens

commit 94599669c4e464eaaf104828aa121497891dc71b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 30 13:21:10 2013 -0400

    Ensure struct varyings maintain the proper interpolation qualifier for the child fields.
    
    TRAC #23749
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens

commit 86a97a1a16349438dc162573544b810178ea7d37
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 30 13:21:09 2013 -0400

    Use the proper register count for structs in HLSL uniforms and varyings.
    
    We must respect HLSL packing rules when uploading structs to D3D.
    
    TRAC #23748
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens

commit 2b538b85b874539e68b2b5f0d96c7deeab69745e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 30 13:21:09 2013 -0400

    Rename some constants in BlockLayoutEncoder for clarity.
    
    TRAC #23748
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens

commit c2141fb314ecb6aa36861de57b7744649e51ea1b
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 30 13:21:08 2013 -0400

    Consolidate the register counting functions to a single location in the HLSL layout encoder source.
    
    This new method explicitly depends on HLSL packing rules, instead of a GL idiom.
    
    TRAC #23748
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens

commit 77456f28ad98ee30b75b85c5f5a4a6e6bdddd870
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 30 13:21:07 2013 -0400

    Allow block encoders to work with a NULL pointer for the output list structure.
    
    TRAC #23748
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Geoff Lang

commit a6da33a1ebb453e34320e5e24e9e28c0583f759a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 30 13:21:07 2013 -0400

    Remove the gl::Varying class, and replace all usages with sh::Varying.
    
    TRAC #23746
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods

commit 139b90912c38ecf3f0c6d4e76d3595bd7463cefa
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 30 13:21:06 2013 -0400

    Simplify the gl::Varying struct to be more like sh::Varying.
    
    The subsequent patches will remove gl::Varying entirely.
    
    TRAC #23746
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods

commit ce79dda155d3c22fb1527ac4150a8671d81f9f5f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 30 13:21:06 2013 -0400

    Change the varyings list type from a linked list to a vector type.
    
    TRAC #23746
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods

commit 1cb333ebfc645930995845a64958ba6963d15aa2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 30 13:21:05 2013 -0400

    Rename compiler/Uniform.cpp+h to ShaderVariable.cpp+h.
    
    TRAC #23754
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods

commit 47fdd13e7c0ffa0a9c452a8659392b882ffbaccc
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 30 13:21:04 2013 -0400

    Pass varyings to the GLES API from the translator using a direct pointer.
    
    Instead of parsing them indirectly from HLSL, the pointer will allow us to more flexibly
    support new types, especially compound types such as structures.
    
    TRAC #23754
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods

commit 9d2ffb1d4a28c39fd73df5b04d043d8995d6816a
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 30 13:21:04 2013 -0400

    Refactor sh::Uniform and sh::ShaderVariable into a shader variable base type with different child types.
    
    This change gives us better memory usage (many fields are unnecessary in different types) with better static
    typing and clear type abstraction for specific methods that might take Attributes or Varyings, etc.
    
    TRAC #23754
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods

commit 912cbfe8de6371d76b65382a12e7d7ef2f16106f
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 30 13:21:03 2013 -0400

    Allow the block encoder classes to encode types directly passed by value, instead of as a compound type.
    
    TRAC #23754
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods

commit bcb6a1e0a882fdaa14601a23b8c557550c8bcfbe
Author: Jamie Madill <jmadill@chromium.org>
Date:   Fri Aug 30 13:21:03 2013 -0400

    Simplify the varying priority sorting logic, and add more verbose comments.
    
    TRAC #23746
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods

commit 921968ca3082bc9e1554c665c142c24b475107ee
Author: Geoff Lang <geoff@vonture.net>
Date:   Wed Sep 4 16:59:22 2013 -0400

    Worked around an issue that causes a TDR timeout when Blit11::copyDepthStencil is called repeatedly.
    
    TRAC #23650
    
    Author: Geoff Lang
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods

commit 125deab6241c659dab0c9bb9f55c08daecc2f534
Author: Geoff Lang <geofflang@google.com>
Date:   Fri Aug 9 13:34:16 2013 -0400

    Moved the clipping of blit rectangles to bounds or scissors into the Renderers since rounding to integers can cause errors when stretching in ES3.
    
    TRAC #23650
    
    Author: Geoff Lang
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods

commit c832516a8735ea17b0fde335cd1160421e62e785
Author: Geoff Lang <geofflang@google.com>
Date:   Fri Aug 9 13:26:56 2013 -0400

    Added a Context::getScissorParams method.
    
    TRAC #23650
    
    Author: Geoff Lang
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods

commit 7f6562b28aab99bf4f12ebdc9972eab95481023a
Author: Geoff Lang <geofflang@google.com>
Date:   Wed Aug 28 09:37:27 2013 -0400

    Prepend the GLSL code in a comment to the generated HLSL shaders when compiled in debug mode.
    
    TRAC #23775
    
    Author: Geoff Lang
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods

commit 536d7265028a647a0774c04ce77ec7a778ddc8f1
Author: Geoff Lang <geofflang@google.com>
Date:   Mon Aug 26 17:04:20 2013 -0400

    Replaced the char pointers with std::strings in the Shader classes.
    
    TRAC #23775
    
    Author: Geoff Lang
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods

commit 42359ca9f0b51aca23f07439109bd28a83c7f998
Author: Geoff Lang <geofflang@google.com>
Date:   Wed Aug 21 13:25:17 2013 -0400

    Implemented glClearBuffer*
    
    TRAC #23475
    
    Author: Geoff Lang
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods

commit 0b83323dc5f04d23d353a616ae06b077037e73bb
Author: Geoff Lang <geofflang@google.com>
Date:   Wed Aug 21 10:13:29 2013 -0400

    Perform validation of glClear parameters at the API level.
    
    TRAC #23475
    
    Author: Geoff Lang
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods

commit da507fea063b882095bd54753cabc685ffdb575d
Author: Geoff Lang <geofflang@google.com>
Date:   Tue Aug 20 12:01:42 2013 -0400

    Refactored the ClearParameters type and moved Renderer11's clear logic into a Clear11 helper class.
    
    TRAC #23475
    
    Author: Geoff Lang
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods

commit 646559fe6566898f53f52f28f5f89d8f0d6b0eb8
Author: Geoff Lang <geofflang@google.com>
Date:   Thu Aug 15 11:08:15 2013 -0400

    Add support for the remaining ES3 framebuffer attachment parameter queries.
    
    TRAC #23474
    
    Author: Geoff Lang
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods

commit 0a804796c9089630b21d0d335705c362216f369f
Author: Geoff Lang <geofflang@google.com>
Date:   Tue Aug 13 13:09:43 2013 -0400

    Add Renderbuffer::getComponentType and Renderbuffer::getColorEncoding methods.
    
    TRAC #23474
    
    Author: Geoff Lang
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods

commit b2f3d05cbed0cc635a64a4bff77767d656d41ead
Author: Geoff Lang <geofflang@google.com>
Date:   Tue Aug 13 12:49:27 2013 -0400

    Replaced the custom component type and SRGB bool with GLenums.
    
    TRAC #23474
    
    Author: Geoff Lang
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods

commit 9060a4e0c647c91f3d20a69f8470bb642706f1b2
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 12 16:22:57 2013 -0700

    Fix some missing UBO qualifier link validation errors.
    
    TRAC #23747
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods

commit 1957181804a54e227e45122985460232e27622e0
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 12 15:26:34 2013 -0700

    Add more robust support for interpolation and storage qualifiers with varyings for GLSL ES 3.00.
    
    This fixes some conformance failures in the dEQP varying link tests, particularly with ints and the flat keyword.
    
    TRAC #23745
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods

commit f2e0f9bb46d44ed1d743ab79da0d06d0c748513d
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 26 16:39:42 2013 -0400

    Moved the code to combine interpolation and stoarge qualifiers to the parse helper.
    
    TRAC #23745
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods

commit 9b4f38496741feec2e64ea2798c4ac7a8753bb2e
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 26 15:29:30 2013 -0400

    Fix using the incorrect vertex count in instancing drawing using the streaming buffer.
    
    This could cause visual corruption from reading past the end of initialized vertex data.
    
    R=geofflang@chromium.org, shannonwoods@chromium.org
    ANGLEBUG=467
    Review URL=https://codereview.appspot.com/12937045
    Test=WebGL CTS 1.0.2

commit 96b67e39c7cb0b2ea60b58c573353bf308d57110
Author: Jamie Madill <jmadill@chromium.org>
Date:   Mon Aug 26 15:29:29 2013 -0400

    Make gl::Buffer::size() a const method.
    
    R=geofflang@chromium.org, shannonwoods@chromium.org
    ANGLEBUG=467
    Review URL: https://codereview.appspot.com/12937045
    Test=WebGL CTS 1.0.2

commit 0bbd11c1e2b1d916d4ea0a71fac3075e3fec309a
Author: Geoff Lang <geofflang@google.com>
Date:   Wed Aug 21 14:42:01 2013 -0400

    Fix Texture2DArray calling Texture::set/subImage with invalid pointers when the pixels pointer is NULL.
    
    TRAC #23767
    
    Author: Geoff Lang
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods

commit c144974ca7f207f0cf4694e9236f1b2434b60ae7
Author: Geoff Lang <geofflang@google.com>
Date:   Thu Aug 15 14:18:10 2013 -0400

    Add the validation files to the gyp file.
    
    TRAC #23733
    
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit 15934d523bc9ce3ec0fa2e55e5050fb2dcffea93
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Mon Aug 19 14:28:49 2013 -0400

    Adds API-level functionality for indexed query functions
    
    TRAC #23468
    
    Author: Shannon Woods
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens

commit 1b2fb85341de62622377aee456523f9805818955
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Mon Aug 19 14:28:48 2013 -0400

    Implements indexed query functionality
    
    TRAC #23468
    
    Author: Shannon Woods
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens

commit 5fe0caa1cb57443179d361bc7412b59939925a9d
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Mon Aug 19 14:28:47 2013 -0400

    Adds size and offset queries to BindingOffsetPointer
    
    TRAC #23468
    
    Author: Shannon Woods
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens

commit 79031cb5ad26829c32f95112cfec4bd69ff2a56e
Author: Geoff Lang <geofflang@google.com>
Date:   Mon Aug 12 12:55:17 2013 -0400

    TextureStorage11::updateSubresourceLevel will now use the blitter if it is updating a depth stencil texture.
    
    TRAC #23531
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit de14d6070d51532380cc954ec3627d20c769fcb6
Author: Geoff Lang <geoff.lang@transgaming.com>
Date:   Wed Aug 14 12:28:33 2013 -0400

    Fixed a bug where the frontFace shader constant would not be updated if the drawMode or frontFace changed but not the viewport.
    
    TRAC #23719
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit 23c8169f50874a896b96e004f7ec084034f483e0
Author: Geoff Lang <geofflang@google.com>
Date:   Mon Aug 12 10:46:58 2013 -0400

    Add support for GL_NUM_EXTENSIONS.
    
    TRAC #23704
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit 56702e6d60883f2d1e33641b907680a852cdb15a
Author: Nicolas Capens <nicolas@transgaming.com>
Date:   Mon Aug 12 11:10:06 2013 -0400

    Eliminate bitfield enum members.
    
    TRAC #23653
    Signed-off-by: Shannon Woods
    Signed-off-by: Geoff Lang
    Author: Nicolas Capens

commit 5724442b5143e27d81ac0a5463bcf610aa170c5c
Author: Geoff Lang <geofflang@google.com>
Date:   Fri Aug 9 15:35:44 2013 -0400

    Removed checks for DXGI_FORMAT_R32G32B32_FLOAT support since GL_RGB32F is converted to DXGI_FORMAT_R32G32B32A32_FLOAT.
    
    TRAC #23651
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit 34dbb6f5ed0ca2cc55a3f1faaa7d6ce2f95d0c18
Author: Geoff Lang <geofflang@google.com>
Date:   Mon Aug 5 15:05:47 2013 -0400

    Capitalized the first letter of all validation function names.
    
    TRAC #23629
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit e8ebe7f6ec21c3e624998d6fc1d10d1dbf6103c9
Author: Geoff Lang <geofflang@google.com>
Date:   Mon Aug 5 15:03:13 2013 -0400

    Refactored entry point validation functions into their own files.
    
    TRAC #23629
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit 5b61c696665ff5853c6b3df4585490770b1070cc
Author: Geoff Lang <geofflang@google.com>
Date:   Fri Aug 2 15:02:59 2013 -0400

    Load 1 into the alpha channel of RGB integer formats instead of 0.
    
    TRAC #23651
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit 7e9ee232eb77d48b0d12fadec50c48c1a3dd859c
Author: Geoff Lang <geofflang@google.com>
Date:   Mon Aug 5 10:18:42 2013 -0400

    Add GL_DEPTH_STENCIL_ATTACHMENT attachment handling to glFramebufferRenderbuffer.
    
    TRAC #23668
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit 444419fdad84d37c2be650f9a15bc2a19b0255e3
Author: Geoff Lang <geofflang@google.com>
Date:   Mon Aug 5 14:15:41 2013 -0400

    Fixed the rounding of the source lookup in Blit11's copy depth stencil.
    
    TRAC #23669
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit 4150b35bfec73edf84051238a5fe116d53508cb7
Author: Geoff Lang <geofflang@google.com>
Date:   Mon Aug 5 14:14:43 2013 -0400

    Fixed ES3 incorreclty not allowing 2D array textures to accept depth stencil formats.
    
    TRAC #23669
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit e836cf2a9de6c3939df324a69c8194b27c003e1a
Author: Geoff Lang <geofflang@google.com>
Date:   Mon Aug 5 14:12:37 2013 -0400

    Fixed a bug where height was used instead of width to calculate a mip size.
    
    TRAC #23669
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit ed573c25bec67a2cdbe567d31654e1d02880c03d
Author: Geoff Lang <geofflang@google.com>
Date:   Mon Aug 5 14:11:51 2013 -0400

    Fixed a bug where the parameters to gl::GetDepthPitch were passed in the wrong order.
    
    TRAC #23669
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit fdf069484529f7e999ede15fd8458f247a74c3ce
Author: Geoff Lang <geofflang@google.com>
Date:   Tue Aug 6 10:41:05 2013 -0400

    Split the overflow check into explicit multiplication and addition overflow checks.
    
    TRAC #23671
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit b23fc0916db63455fd894d9ce3e289922e7c61c1
Author: Geoff Lang <geofflang@google.com>
Date:   Tue Aug 6 10:43:14 2013 -0400

    Change the offset variable to an unsigned int since it cannot be negative and is assigned to streamOffset which is an unsigned int.
    
    TRAC #23671
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit 78568ba9e51db57d20959a234eb2c632dd0f7006
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Thu Aug 8 14:15:08 2013 -0400

    Releases a resource that was leaking.
    
    TRAC #23656
    
    Author: Shannon Woods
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens

commit 9edebd6828fbf8bd713e48e91c6aed350de20747
Author: Nicolas Capens <nicolas@transgaming.com>
Date:   Tue Aug 6 10:59:10 2013 -0400

    Implement mipmapping for integer samplers.
    
    TRAC #23655
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens

commit 0fe1949dc05aba67e0815a3532e5993d7ea25ef8
Author: Geoff Lang <geofflang@google.com>
Date:   Thu Jul 25 17:04:31 2013 -0400

    Updated gl::IsInternalTextureTarget to have a client version parameter.
    
    TRAC #23470
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit 3ed0c4848adff160a30c825ed630e7b14d5e1335
Author: Geoff Lang <geofflang@google.com>
Date:   Thu Jul 25 17:03:18 2013 -0400

    Refactored validation for glFramebufferTexture* and implemented glFramebufferTextureLayer.
    
    TRAC #23470
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit d5d8e393a793d1bde88546ae6804e33535be4a49
Author: Geoff Lang <geofflang@google.com>
Date:   Thu Jul 25 16:53:03 2013 -0400

    Added Renderbuffers for 3D and 2DArray textures.
    
    TRAC #23470
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit 8040f57dd7011872581cc769ff4df2b7ad6ca069
Author: Geoff Lang <geofflang@google.com>
Date:   Thu Jul 25 16:49:54 2013 -0400

    Updated Renderbuffers, Textures and TextureStorageInterface to be aware of render targets which are based on miplevels and layers other than zero.
    
    TRAC #23470
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit 309c92aa2af2ecadc9396c51b4c48b67d884e762
Author: Geoff Lang <geofflang@google.com>
Date:   Thu Jul 25 16:23:19 2013 -0400

    Framebuffer now uses mip level and texture layer for binding textures.
    
    TRAC #23470
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit 4907f2c4c071e1920b90f106383a7f026e03d746
Author: Geoff Lang <geofflang@google.com>
Date:   Thu Jul 25 12:53:57 2013 -0400

    The Texture class now stores the target instead of using a virtual method.
    
    TRAC #23470
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit c90d73a06ea27004343973499730c17cf32bf2f2
Author: Geoff Lang <geofflang@google.com>
Date:   Mon Jul 22 16:39:23 2013 -0400

    Added a new type of binding pointer for framebuffer texture bindings which stores type, mip level and layer.
    
    TRAC #23470
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit a49a9bf98461993a8bab8e7b25ab6cc4a00e4861
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Fri Aug 2 17:23:14 2013 -0400

    Removes auto from compiler.
    
    TRAC #23604
    
    Author: Shannon Woods
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens

commit a36ead4a7d5641181ab994a13b7d5027c1b5bd07
Author: Geoff Lang <geofflang@google.com>
Date:   Fri Aug 2 11:54:08 2013 -0400

    Updated VertexBuffer's getSpaceRequired and storeVertexAttributes methods to return bools and fixed some validation of parameters to prevent under and overflows.
    
    TRAC #23643
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit af88d7290afacb0a8abd13d331f7ed7290d4918b
Author: Nicolas Capens <nicolas@transgaming.com>
Date:   Fri Aug 2 16:56:32 2013 -0400

    Fix assert side-effects.
    
    TRAC #23446
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens

commit 9b8f92ea05957ca90bbff3fe4c56e8ec7772b131
Author: Geoff Lang <geofflang@google.com>
Date:   Tue Jul 30 15:23:30 2013 -0400

    Remove uses of the HASH_MAP define since unordered_map is already used in several places.
    
    TRAC #23618
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit ea2286352f5eba47dfaa3e9ab418bbacfd1ba8a1
Author: Geoff Lang <geofflang@google.com>
Date:   Tue Jul 30 15:17:12 2013 -0400

    Use SafeRelease and SafeDelete to make sure released objects are NULL and will cause proper errors if referenced again.
    
    TRAC #23617
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit 7dca186668dcce899d5012b1ba73e9187021da5a
Author: Geoff Lang <geofflang@google.com>
Date:   Tue Jul 30 16:30:46 2013 -0400

    Initialize the vertex current value data.
    
    TRAC #23619
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit d21656c1fbdb761428e99309d28e1787196e359d
Author: Geoff Lang <geofflang@google.com>
Date:   Fri Aug 2 11:45:23 2013 -0400

    Fixed uninitialized local variable warning.
    
    TRAC #23619
    
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit 57e713e87cca4657eba98d31951d5ae60c9c1de4
Author: Geoff Lang <geoff.lang@transgaming.com>
Date:   Wed Jul 31 17:01:58 2013 -0400

    Fix additional overflow and underflow issues with triangle fans and line loops.
    
    Issue #444
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Chris Evans
    Author: Geoff Lang

commit 1294924fa0156929b1df4d0fb3d95a3985154f7a
Author: Geoff Lang <geofflang@google.com>
Date:   Mon Jul 29 15:22:42 2013 -0400

    Fixed a bug where cube depth stencils used the wrong format and didn't set the D3D11_DEPTH_STENCIL_VIEW_DESC::Flags member.
    
    TRAC #23608
    
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit 55ba29c54fb10f88c6dcdd48c6704f2847c6b9ca
Author: Geoff Lang <geofflang@google.com>
Date:   Thu Jul 11 16:57:53 2013 -0400

    Implement the DEPTH_STENCIL attachment point for FBOs.
    
    Trac #23469
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit 1c3192efe2fd2a7d11e46d1efed08474f301dd08
Author: Geoff Lang <geofflang@google.com>
Date:   Mon Jul 22 13:59:24 2013 -0400

    Emulate RGB32F textures with DXGI_FORMAT_R32G32B32A32_FLOAT so that sampling is always supported.
    
    Trac #23523
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit 919f9049bc04bbe86ecb3df0d9d0a8e40dcd39ee
Author: Geoff Lang <geofflang@google.com>
Date:   Fri Jul 26 17:23:05 2013 -0400

    Bump ANGLE version.

commit f23eb28c3ad98344e340b97dcad268a7ec362e8b
Author: Geoff Lang <geofflang@google.com>
Date:   Mon Jul 22 10:52:19 2013 -0400

    Cache the index ranges at the gl::Buffer and rx::IndexBuffer levels so that ranges do not need to be re-calculated for direct buffers.
    
    Issue #451
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit 4d782730ae55e551f3701fe58c29b39c1940665a
Author: Geoff Lang <geofflang@google.com>
Date:   Mon Jul 22 10:44:18 2013 -0400

    RenderTarget11::get* calls no longer add references to the D3D resources.
    
    Issue #451
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit 4c09586e7c8ebff631e4c459fc5701a0c95e9693
Author: Geoff Lang <geofflang@google.com>
Date:   Mon Jul 22 10:43:36 2013 -0400

    Cache applied primitive topology.
    
    Issue #451
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit c6354ee5882512fc09e7be42e243f91b994fd512
Author: Geoff Lang <geofflang@google.com>
Date:   Mon Jul 22 10:40:07 2013 -0400

    Cache applied constant buffers.
    
    Issue #451
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit 1f53cab03db7b06d9cc6d90bdb0350ed9554046b
Author: Geoff Lang <geofflang@google.com>
Date:   Mon Jul 22 10:37:22 2013 -0400

    Cache applied vertex buffers and input layout.
    
    Issue #451
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit 5ccc6248cbc342e20610f43e9c5d1139164f3e47
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Fri Jul 26 13:14:54 2013 -0400

    Add a missing case to build manged names of uint types.
    
    TRAC #23590
    
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit 3641b4b1394154e418d10ed04e79bcd684238b75
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Fri Jul 26 12:54:59 2013 -0400

    Provide a pass-through mechanic for the new ES3 Query methods to use the old ES2 query extension.
    
    We will need to add the new transform feedback queries in a later patch.
    
    TRAC #23347
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit 5215e1a12a294b35cb8c353530d74f8ee1921791
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Fri Jul 26 11:55:19 2013 -0400

    Implement the API entry points for fence sync objects in GLES 3.
    
    TRAC #23446
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit cd055f81f941b108b936fa0eaf2523793ddf7b4f
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Fri Jul 26 11:55:15 2013 -0400

    Add state for the new fence sync objects in ES3.
    
    TRAC #23446
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit be26b522bb07965b981f693d461a30a6f6a67df7
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Fri Jul 26 11:54:50 2013 -0400

    Make a slight style change to clarify that VAOs are not stored in the ResourceManager.
    
    TRAC #23446
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit 33dc84394ba08700d700a3da692e8de18433a031
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Fri Jul 26 11:55:05 2013 -0400

    Rename the old Fence class and associated methods to show an NV suffix, for differentiation with ES3 fences sync objects.
    
    ES3 fences are shared across contexts, while NV fences are not.
    
    TRAC #23446
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit fb9a7409515cb0a8f9926974511ff486361909d7
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Fri Jul 26 11:55:01 2013 -0400

    Move the API parameter validation out of Fence.cpp to libGLESv2.cpp.
    
    TRAC #23446
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit 09752369e814a809e3033973aa294ede4b4fb9bc
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Fri Jul 26 11:54:57 2013 -0400

    Move the GL_NV_fence-specific stuff stuff out of the Fence implementation class to gl::Fence.
    
    This will allow us to re-use the same Fence implementation for GLES 3 Fence Sync objects.
    
    TRAC #23446
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit ac4109a39d7759a6f6012a4c71719a2526117753
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Wed Jul 24 19:11:23 2013 -0400

    Fixes handling in eglMakeCurrent to allow for null displays.
    
    TRAC #23577
    
    On behalf of callow.mark@artspark.co.jp
    Landed-by: Shannon Woods
    Signed-off-by: Jamie Madill
    Signed-off-by: Geoff Lang

commit 82ff2b36b6bda4551fe1a15b0231e59da432404a
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Fri Jul 19 17:16:56 2013 -0400

    Diverges version for ES3 ANGLE

commit 9ccc7e5816dd5fdd7d63e9fba6ebba3311ccaa43
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Fri Jul 19 17:06:04 2013 -0400

    Remove some accidentally committed compiled shaders.
    
    TRAC #23573
    
    Authored-by: Jamie Madill

commit f6cc8ccfc416546c7dd4543c2210d0016afbd9fb
Author: Jamie Madill <jamie@nullspace.ca>
Date:   Wed Jul 3 12:44:15 2013 -0400

    Implement support all sampler object associated GLES 3 API entry points.
    
    TRAC #23454
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit fb8a830e8393d9a2e05e5e7f7b49cb24f74ac7d3
Author: Jamie Madill <jamie@nullspace.ca>
Date:   Wed Jul 3 14:24:12 2013 -0400

    Add a helper method to return the selected texture for the TexParameter* and GetTexParameter* family of functions.
    
    TRAC #23454
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit 478fdb2b881e1b6796fb996b8351dd42518b6b8d
Author: Jamie Madill <jamie@nullspace.ca>
Date:   Fri Jul 19 16:36:59 2013 -0400

    Refactor the validation logic for the TexParameter* series of API entry points to use the same shared method.
    
    TRAC #23454
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit 9675b80889202319355597a20e76c6f38b213cd1
Author: Jamie Madill <jamie@nullspace.ca>
Date:   Fri Jul 19 16:36:59 2013 -0400

    Add internal accessor functions for querying sampler object parameters.
    
    TRAC #23454
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit a85f6f13c69e8873a27a1b8fa149a089d3bf1b71
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Fri Jul 19 16:36:59 2013 -0400

    Use the currently bound sampler object combined with the internal texture state to determine the
    current filtering and address modes at draw time.
    
    TRAC #23453
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit f898990d682b639d7093dc837c6da3e70242d02b
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Fri Jul 19 16:36:58 2013 -0400

    Pass a SamplerState as a parameter to Texture::isSamplerComplete, instead of using the internal SamplerState.
    
    TRAC #23453
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit 07edd4486cd890393fe5cd4b4644f23e2fd2da7d
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Fri Jul 19 16:36:58 2013 -0400

    Change the checks for texture completeness in Texture*::copySubImage to only check if the specified level is complete.
    
    This removes the dependency between copySubImage and isSamplerComplete,
    which makes operation with sampler objects simpler.
    
    TRAC #23453
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit eb3665c2ec275b440b0cb0b2fa663a6f0e8920db
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Fri Jul 19 16:36:57 2013 -0400

    Do not check the texture's filtering mode in Texture*::updateTexture, instead check the texture's dirty flags.
    
    With sampler objects, it becomes difficult to rely on the texture filtering mode state to determine if mipmapping
    is going to be enabled in the texture, as sampler object may or may not override the texture internal state.
    
    TRAC #23453
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit e29d1672345b37f61f76a01fbaa63b5c12b57ab3
Author: Jamie Madill <jamie@nullspace.ca>
Date:   Fri Jul 19 16:36:57 2013 -0400

    Add mutator methods for modifying sampler object parameters.
    
    TRAC #23453
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit dc35604b10728a6d85ba8dba7380ed30a92d6850
Author: Jamie Madill <jamie@nullspace.ca>
Date:   Fri Jul 19 16:36:57 2013 -0400

    Add state for sampler objects.
    
    TRAC #23453
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit 0b20c944da4760020d795eac6e7e8b982c7ee644
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Fri Jul 19 16:36:56 2013 -0400

    Replace the logic for doing vector and matrix equivalence tests in the shader with a much simpler formula.
    
    We can use the HLSL fragment "all(a == b)" for all matrix and vector types.
    
    TRAC #23535
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit 1caff07674c62ca097d6301ee4423df25dad333d
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Fri Jul 19 16:36:56 2013 -0400

    Align the vertical whitespace in the big switch in Context::getIntegerv.
    
    TRAC #23082
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Geoff Lang
    Authored-by: Jamie Madill

commit 38850df8783932ed8dce9f7676141c74d1ff0d55
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Fri Jul 19 16:36:55 2013 -0400

    Add new GLES 3 enum cases.
    
    TRAC #23082
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit 71fbd609a6b858095c71ce2a0efba115f8b2ba2b
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Fri Jul 19 16:36:55 2013 -0400

    Implement the glGetInteger64v entry point.
    
    TRAC #23082
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit 0fda98687c2103ada393a6c39640c8efddc7994a
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Fri Jul 19 16:36:55 2013 -0400

    Added Context::getInteger64v for 64-bit integer state queries.
    
    TRAC #23082
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit af49691316de76a6fe8237419bbe4cbf3178abed
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Fri Jul 19 16:36:54 2013 -0400

    Add a method to round GLfloat parameters to the nearest integral value, for use in state-setting API methods.
    
    TRAC #23545
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Nicolas Capens
    Authored-by: Jamie Madill

commit c82fc41362dae28c98b16c76dda04e2988a02de1
Author: Geoff Lang <geofflang@google.com>
Date:   Wed Jul 10 14:43:42 2013 -0400

    Added support for TEXTURE_COMPARE_MODE and TEXTURE_COMPARE_FUNC sampler states.
    
    TRAC #23394
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit 08be89da6dba886586aa1f01206e0a669afc8359
Author: Nicolas Capens <nicolas@transgaming.com>
Date:   Tue Jul 16 16:17:31 2013 -0400

    Make all depth formats texture filterable.
    
    TRAC #23532
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens

commit cb127d3d185a5073962cc58bb13e1ee8b5458be7
Author: Nicolas Capens <nicolas@transgaming.com>
Date:   Mon Jul 15 17:26:18 2013 -0400

    Create the HLSL shadow texture function.
    
    TRAC #23394
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens

commit 354ed2d19ec2a2f3b28db2a7ff3b93f9910a60c0
Author: Nicolas Capens <nicolas@transgaming.com>
Date:   Thu Jul 11 11:26:26 2013 -0400

    Compact sampler type translation.
    
    TRAC #23394
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens

commit 8f80e024a4de7a40d5c9162dbb311f2e24daa5e7
Author: Nicolas Capens <nicolas@transgaming.com>
Date:   Thu Jul 11 11:20:50 2013 -0400

    Remove intrinsic parameter names.
    
    TRAC #23394
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens

commit 77c9d1a43ce83caa6c8529933f6983875226a87f
Author: Nicolas Capens <nicolas@transgaming.com>
Date:   Thu Jul 11 11:10:34 2013 -0400

    Add shadow texture intrinsics to the symbol table.
    
    TRAC #23394
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens

commit 2a1d8a381d29b906cb143c5834466d66ee032682
Author: Nicolas Capens <nicolas@transgaming.com>
Date:   Thu Jul 18 11:49:40 2013 -0400

    Add shadow samplers to the compiler front-end.
    
    TRAC #23394
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens

commit aaaec13011abec8ac4cf2b1edddfb558d735f874
Author: Nicolas Capens <nicolas@transgaming.com>
Date:   Thu Jul 18 11:23:57 2013 -0400

    Eliminate isVariableBuiltIn.
    
    TRAC #21840
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens

commit d4a9b8ddcd1aab12343d60610e159ba9efb37280
Author: Nicolas Capens <nicolas@transgaming.com>
Date:   Thu Jul 18 11:01:22 2013 -0400

    Detect redefinition of functions and variables.
    
    TRAC #21840
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens

commit 1b45214aef6439fdeb6291e9d9fd1da61dec618c
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Fri Jul 12 14:51:11 2013 -0400

    Fix the reported shader gl_MaxDrawBuffers to be compliant with the new EXT_draw_buffers spec.
    
    From the extension spec:
    
    "8) What value should gl_MaxDrawBuffers in the shading language report?"
    
    "RESOLVE: It should match MAX_DRAW_BUFFERS_EXT from the API. None of the API or
    GLSL specifications explicitly state the linkage between API and SL constants,
    but it seems logical that one would expect them to match, regardless of whether
    or not an extension directive is used in the shading language."
    
    TRAC #23509
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Nicolas Capens
    Authored-by: Jamie Madill

commit 5d287f508ba9817e86d1cf98f00346841700505c
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Fri Jul 12 15:38:19 2013 -0400

    Only allow zero indexes for gl_FragData when the draw buffers extension is disabled.
    
    TRAC #23509
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Nicolas Capens
    Authored-by: Jamie Madill

commit 75fb4752d3849b4d5517e4c3e83f8266d327834b
Author: Nicolas Capens <nicolas@transgaming.com>
Date:   Wed Jul 10 15:14:47 2013 -0400

    Implement textureSize.
    
    TRAC #23485
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens

commit c98406ab9b02991c0d95a7236770a08ae26b03a8
Author: Nicolas Capens <nicolas@transgaming.com>
Date:   Wed Jul 10 14:52:44 2013 -0400

    Use the simpler form of GetDimensions.
    
    TRAC #23485
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens

commit b70e5f7c3a98e3a8114d36f6dd978baa735401f4
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Wed Jul 10 16:57:52 2013 -0400

    Add support for copying from BGRA formats in CopyTexSubImage*.
    
    This is necessary for copying from the offscreen texture, which we keep in BGRA to align with Chrome's D3D9 format.
    
    TRAC #23501
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit 707dbd7e238308d4de3ee77ae728446ef9896993
Author: Jamie Madill <jamie@nullspace.ca>
Date:   Wed Jul 10 15:13:39 2013 -0400

    Fix the internal conversion of DXGI DEPTH_COMPONENT32F formats to be DEPTH_COMPONENT_OES in GLES 2 contexts.
    
    TRAC #23483
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit d6cb2443a9805314d214dd448835ea6a58fc8c7d
Author: Jamie Madill <jamie@nullspace.ca>
Date:   Wed Jul 10 15:13:38 2013 -0400

    Add a client version parameter to several D3D11-specific texture format queries.
    
    TRAC #23483
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit 9e33a112270e4a1ac15466f64714f13e99259886
Author: Al Patrick <apatrick@chromium.org>
Date:   Wed Jun 26 17:11:59 2013 -0700

    In ShaderExecutable, delete mFunction with delete[] instead of delete.
    
    BUG=chromium:253578
    R=shannonwoods@chromium.org
    
    Review URL: https://codereview.appspot.com/10658043

commit d81cf64c467689b9f7126d0d0064d6387c0adc5d
Author: Geoff Lang <geofflang@google.com>
Date:   Tue Jul 9 16:02:30 2013 -0400

    Protect against integer overflows in the IndexBuffer class by validating that the new write position will not overflow.
    
    Issue 444
    
    Signed-off-by: Jamie Madil
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit fe5b2726013d96655537e1c4d13c70762104e134
Author: Geoff Lang <geofflang@google.com>
Date:   Tue Jul 9 15:58:36 2013 -0400

    Protect against integer overflows in the VertexBuffer class by validating the reserved space.
    
    Issue 444
    
    Signed-off-by: Jamie Madil
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit eadfd57b53d4762db884b57b0f6c453d2976c456
Author: Geoff Lang <geofflang@google.com>
Date:   Tue Jul 9 15:55:07 2013 -0400

    Protect against integer overflows when generating index buffers for line loop and triangle fan drawing.
    
    Issue 444
    
    Signed-off-by: Jamie Madil
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit 004a6f9f5ccb5ae270aed9cc95fe22ed061d16a4
Author: Jamie Madill <jamie@nullspace.ca>
Date:   Wed Jul 10 15:13:38 2013 -0400

    Move VAO buffer clearing code to the destructor, instead of the constructor.
    
    This fixes assertion failures during the VertexArray destructor in Debug mode.
    
    TRAC #23390
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Geoff Lang
    Authored-by: Jamie Madill

commit 93e50deb1df83a28c212de637883af4b23002e79
Author: Nicolas Capens <nicolas@transgaming.com>
Date:   Tue Jul 9 13:46:28 2013 -0400

    Implement array sampler support.
    
    TRAC #23472
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens

commit 67a819f3911c6705a2128c43c807be1754f4e2c0
Author: Nicolas Capens <nicolas@transgaming.com>
Date:   Tue Jul 9 12:08:58 2013 -0400

    Add intrinsics that take a bias parameter.
    
    TRAC #23472
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens

commit 43e8ba8a8d2a01046f75091a4fa3e7625031453b
Author: Nicolas Capens <nicolas@transgaming.com>
Date:   Tue Jul 9 10:35:15 2013 -0400

    Support 3D textures.
    
    TRAC #23472
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens

commit 6d232bb6e32047cf395fac1ac6adc7d95087cfa3
Author: Nicolas Capens <nicolas@transgaming.com>
Date:   Mon Jul 8 15:56:38 2013 -0400

    Generate HLSL code for integer sampling.
    
    TRAC #23472
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens

commit e60508840c2cf59c0fd6f8986d8c80c9f7425615
Author: Nicolas Capens <nicolas@transgaming.com>
Date:   Mon Jul 8 10:43:10 2013 -0400

    Handle new sampler types.
    
    TRAC #23472
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens

commit a940ae4940eec6a49ea0e9e437eb3061099d0b34
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Mon Jul 8 17:48:34 2013 -0400

    Add the missing HALF_FLOAT_OES type to the type info table.
    
    TRAC #23479
    
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit 98493ddc137922a6ce5c8b22ffde0ed2a1fa2b3d
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Mon Jul 8 14:39:03 2013 -0400

    Simplified TType class by carving out TStructure and TField.
    
    R=kbr@chromium.org
    
    Review URL: https://codereview.appspot.com/9866043
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@2423 736b8ea6-26fd-11df-bfd4-992fa37f6226
    
    TRAC #23415
    Authored-by: alokp@chromium.org
    Signed-off-by: Shannon Woods
    Signed-off-by Nicolas Capens
    Merged-by: Jamie Madill

commit f386bf76d5751e0bfa2073ca57210c73d8b85809
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Mon Jul 8 14:02:41 2013 -0400

    Include stddef.h so NULL is defined.
    Review URL: https://codereview.appspot.com/10025043
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@2422 736b8ea6-26fd-11df-bfd4-992fa37f6226
    
    TRAC #23333
    Authored-by: alokp@chromium.org
    Signed-off-by: Shannon Woods
    Signed-off-by Nicolas Capens
    Merged-by: Jamie Madill

commit 2aeb26a4f6e21a923415eb00499795b63a17ef76
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Mon Jul 8 14:02:55 2013 -0400

    Added support for EXT_frag_depth
    
    This change also required that support be added for associating built-in
    variables with an extension, similar to how functions could be associated with
    extensions previously.
    
    R=alokp@chromium.org
    
    Review URL: https://codereview.appspot.com/9827044
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@2248 736b8ea6-26fd-11df-bfd4-992fa37f6226
    
    TRAC #23333
    Authored-by: bajones@chromium.org
    Signed-off-by: Shannon Woods
    Signed-off-by Nicolas Capens
    Merged-by: Jamie Madill

commit 18464b515a9f6820cb1a60b176f43eb8107e5a76
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Mon Jul 8 14:01:55 2013 -0400

    Removed checks for zero-length arrays because you can never define such arrays.
    Also removed support for max-array-size. You can only define a fixed-size array.
    
    TEST=WebGL conformance tests
    
    Review URL: https://codereview.appspot.com/9697044
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@2247 736b8ea6-26fd-11df-bfd4-992fa37f6226
    
    TRAC #23333
    Authored-by: alokp@chromium.org
    Signed-off-by: Shannon Woods
    Signed-off-by Nicolas Capens
    Merged-by: Jamie Madill

commit 28b974238cac2f4426d3e3a0ac914c86b025a83c
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Mon Jul 8 14:01:38 2013 -0400

    Removed code for unsupported pack-unpack language.
    
    Review URL: https://codereview.appspot.com/9685045
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@2246 736b8ea6-26fd-11df-bfd4-992fa37f6226
    
    TRAC #23333
    Authored-by: alokp@chromium.org
    Signed-off-by: Shannon Woods
    Signed-off-by Nicolas Capens
    Merged-by: Jamie Madill

commit eb1a010f0f996b3742fd34b92ffaf9014c943528
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Mon Jul 8 13:31:38 2013 -0400

    Add expression complexity and call stack depth limits.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@2242 736b8ea6-26fd-11df-bfd4-992fa37f6226
    
    TRAC #23333
    Authored-by: gman@chromium.org
    Signed-off-by: Shannon Woods
    Signed-off-by Nicolas Capens
    Merged-by: Jamie Madill
    Conflicts:
    
            src/common/version.h

commit 94bf7f228d5a2f153ae9cb808f65ef9fbaa4005f
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Mon Jul 8 13:31:15 2013 -0400

    Used size_t for object size instead of signed int.
    BUG=crbug 179653
    R=aedla@chromium.org, kbr@chromium.org
    
    Review URL: https://codereview.appspot.com/8834048
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@2211 736b8ea6-26fd-11df-bfd4-992fa37f6226
    
    TRAC #23333
    Authored-by: alokp@chromium.org
    Signed-off-by: Shannon Woods
    Signed-off-by Nicolas Capens
    Merged-by: Jamie Madill

commit 7164cf4776a267d079e99a7d96d0496314ab9300
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Mon Jul 8 13:30:59 2013 -0400

    Clamped negative index access.
    
    Fixed error that allowed negative index for accessing
    vector, matrix, and array. Now we report compile error
    and clamp the index to 0.
    
    Re-arranged code around it to handle negative index
    at the one location.
    
    BUG=crbug.com/239411
    TEST=bug test case
    R=aedla@chromium.org, kbr@chromium.org
    
    Review URL: https://codereview.appspot.com/9193045
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@2207 736b8ea6-26fd-11df-bfd4-992fa37f6226
    
    TRAC #23333
    Authored-by: alokp@chromium.org
    Signed-off-by: Shannon Woods
    Signed-off-by Nicolas Capens
    Merged-by: Jamie Madill

commit 075edd84dd682b91279132317d34b09e8028ae6f
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Mon Jul 8 13:30:19 2013 -0400

    Refactor location tracking.
    
    R=kbr@chromium.org
    
    Review URL: https://codereview.appspot.com/9078046
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@2202 736b8ea6-26fd-11df-bfd4-992fa37f6226
    
    TRAC #23333
    Authored-by: alokp@chromium.org
    Signed-off-by: Shannon Woods
    Signed-off-by Nicolas Capens
    Merged-by: Jamie Madill

commit 7a217defadc01251788efe9a9eae20a2cc9f5884
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Mon Jul 8 15:10:00 2013 -0400

    Remove dead code left over from the old preprocessor.
    
    Review URL: https://codereview.appspot.com/9309044
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@2200 736b8ea6-26fd-11df-bfd4-992fa37f6226
    
    TRAC #23333
    Authored-by: alokp@chromium.org
    Signed-off-by: Shannon Woods
    Signed-off-by Nicolas Capens
    Merged-by: Jamie Madill

commit 703cdd6048e452349eac9dc1c8b575dcb5f04954
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Mon Jul 8 15:07:30 2013 -0400

    Delete dead code for cloning various types.
    
    R=kbr@chromium.org
    
    Review URL: https://codereview.appspot.com/9242043
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@2197 736b8ea6-26fd-11df-bfd4-992fa37f6226
    
    TRAC #23333
    Authored-by: alokp@chromium.org
    Signed-off-by: Shannon Woods
    Signed-off-by Nicolas Capens
    Merged-by: Jamie Madill

commit 9e73b21010fa77f2ecbff28da242a6e00da946fa
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Mon Jul 8 10:32:19 2013 -0400

    Marks formats renderable which had been missed and corrects table headers.
    
    TRAC #23273
    
    Authored-by: Shannon Woods
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens

commit 809d250bf1c4405e3d282818577a680202e16bf5
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Mon Jul 8 10:32:18 2013 -0400

    Enables glGetInternalformativ API function
    
    TRAC #23273
    
    Authored-by: Shannon Woods
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens

commit 52f1e7ef25a5a93bbabd484278abbf8df77787ab
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Mon Jul 8 10:32:17 2013 -0400

    Implements queriability for internal format sample counts.
    
    TRAC #23273
    
    Authored-by: Shannon Woods
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens

commit dd4674f2beea11fa31dc41e147c8476cdbbe0910
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Mon Jul 8 10:32:15 2013 -0400

    Adds a function to retrieve the renderable DXGI format for a GL internal format.
    
    TRAC #23273
    
    Authored-by: Shannon Woods
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens

commit ddb785c2e4b55815cbbd78c9a12af218ab10a2da
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Mon Jul 8 10:32:13 2013 -0400

    Fixes a typo in the spelling of GetTextureFormat.
    
    TRAC #23273
    
    Authored-by: Shannon Woods
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens

commit 94c3f42dfba996d0afece8b08c179e8f43cda1cf
Author: Jamie Madill <jamie@nullspace.ca>
Date:   Wed Jul 3 15:16:13 2013 -0400

    Fix a missing case in OutputHLSL::textureName for 3D texture sampler translation.
    
    TRAC #23377
    
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit a16f167938b6d30c1c91483d5bdd894babef0298
Author: Jamie Madill <jamie@nullspace.ca>
Date:   Wed Jul 3 15:15:17 2013 -0400

    Fix an incorrect instance of getCols which should be getNominalSize.
    
    TRAC #23263
    
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit d8db866a9cc272549ebc223d41610319f9ef0b09
Author: Jamie Madill <jamie@nullspace.ca>
Date:   Tue Jul 2 11:57:04 2013 -0400

    Handle the new error case with VAOs introduced in GLES 3 involving a user VAO and non-null data pointers.
    
    TRAC #23392
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Geoff Lang
    Authored-by: Jamie Madill

commit d102854814df2170aa3210c0699aab01cf080fd4
Author: Jamie Madill <jamie@nullspace.ca>
Date:   Tue Jul 2 11:57:04 2013 -0400

    Enable the new Vertex Array Object entry points.
    
    TRAC #23392
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Geoff Lang
    Authored-by: Jamie Madill

commit a7d05865b9282646f664867de5f3fc6b6892eb1c
Author: Jamie Madill <jamie@nullspace.ca>
Date:   Tue Jul 2 11:57:06 2013 -0400

    Add support for new GetAttrib queries for integer and unsigned integer vertex attributes.
    
    TRAC #23391
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Geoff Lang
    Authored-by: Jamie Madill

commit 30855b37b54d6bc1031632b51458588d41642e58
Author: Jamie Madill <jamie@nullspace.ca>
Date:   Tue Jul 2 11:57:06 2013 -0400

    Support querying if a vertex attribute is an un-normalized integer.
    
    TRAC #23391
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Geoff Lang
    Authored-by: Jamie Madill

commit aff715088e22484db1af995fbc6d93428064ce2c
Author: Jamie Madill <jamie@nullspace.ca>
Date:   Tue Jul 2 11:57:05 2013 -0400

    Refactor the validation for GetAttrib functions to a single shared method.
    
    TRAC #23391
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Geoff Lang
    Authored-by: Jamie Madill

commit efb3bd1a8397b344fd3a4b7e2e22bb0ac22a0237
Author: Jamie Madill <jamie@nullspace.ca>
Date:   Tue Jul 2 11:57:05 2013 -0400

    Add support for querying the currently bound vertex array object.
    
    TRAC #23391
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Geoff Lang
    Authored-by: Jamie Madill

commit 57a8972e5ddf7611860d9767c8aed4793c3929af
Author: Jamie Madill <jamie@nullspace.ca>
Date:   Tue Jul 2 11:57:03 2013 -0400

    Add implementation for Vertex Array Object state.
    
    TRAC #23390
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Geoff Lang
    Authored-by: Jamie Madill

commit a857c36bc1e9f1178c5eaa3e80bfe543a5408467
Author: Jamie Madill <jamie@nullspace.ca>
Date:   Tue Jul 2 11:57:02 2013 -0400

    Refactor VertexAttribute to split the "current value" for generic attributes into its own class.
    
    VAOs in GLES 3 do not store the current values, so these must be handled separately from other Vertex
    Attribute data.
    
    TRAC #23390
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Geoff Lang
    Authored-by: Jamie Madill

commit 879397104fa488dd59d9e318fd4b1f0ef65d17d0
Author: Jamie Madill <jamie@nullspace.ca>
Date:   Tue Jul 2 11:57:01 2013 -0400

    Move VertexAttribute to its own header file.
    
    This is in preparation for VAO support.
    
    TRAC #23390
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Geoff Lang
    Authored-by: Jamie Madill

commit 5ab33c89000085158a5b7806560131bbf7fa0e55
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Wed Jun 26 15:31:09 2013 -0400

    Fixes tabs-vs-spaces that have crept into the project.
    
    TRAC #23251
    
    Authored-by: Shannon Woods
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens

commit 193dc48bbbf364977ffbf955996c3fe9e90eca9d
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Wed Jun 26 15:30:09 2013 -0400

    Adds a null check in one additional location in setData
    
    TRAC #23251
    
    Author: Shannon Woods
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens

commit 570e04d8701e37ce3a4ee485afd0f0c4299ff23d
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Fri Jun 21 09:15:33 2013 -0400

    Add support for passing nested structs in standard layout by value.
    
    We add support for this by using global scratch values as storage for the structs in
    uniform blocks. Any structs in std140 layouts that are referenced by value are initialized
    in the shader scope, without any packing, so the type of the structs are equivalent with what
    a GLSL program would expect.
    
    TRAC #23327
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit e4075c9c8be9c7b7616dcb60d6453e40e5f87d4a
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Fri Jun 21 09:15:32 2013 -0400

    Add padding to nested structs packed with standard layout, to address HLSL's more liberal packing rules.
    
    TRAC #23327
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit c835df68e2f745ac7340435191eafa46a954e0a7
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Fri Jun 21 09:15:32 2013 -0400

    Add support for structs in uniform blocks with standard layout.
    
    TRAC #23327
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit 6fb09f6c84300a69240b1d662145dc3a15c28046
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Fri Jun 21 09:15:31 2013 -0400

    Fix a typo when reporting too many interface blocks in a fragment program.
    
    TRAC #23326
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit d1ac3c905f7e9020ded43b0f45d3ef1345a9eeb5
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Tue Jun 25 10:40:30 2013 -0400

    Move the D3DCompile call to after the check for API link errors.
    
    This avoids producing unhelpful internal D3D errors.
    
    TRAC #23326
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit fb50dff0263fe4aa4e532788b069bafef9513a31
Author: Nicolas Capens <nicolas@transgaming.com>
Date:   Mon Jun 24 16:16:23 2013 -0400

    Implemented 2D array sampler HLSL translation.
    
    TRAC #23377
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens

commit 8772b588714dc43a3dc14950ed323d35f5d7f2dd
Author: Nicolas Capens <nicolas@transgaming.com>
Date:   Mon Jun 24 16:14:19 2013 -0400

    Support sampler2DArray throughout the compiler.
    
    TRAC #23377
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens

commit fc2e6b90636da03d9472267716cbe307c3c90c81
Author: Nicolas Capens <nicolas@transgaming.com>
Date:   Mon Jun 24 16:13:26 2013 -0400

    Add 2D array samplers to the lexer/parser.
    
    TRAC #23377
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens

commit eceb50d3bf9fb76d3618c66753fd6c7a77cadbd3
Author: Nicolas Capens <nicolas@transgaming.com>
Date:   Wed Jun 19 13:37:17 2013 -0400

    Add array texture intrinsics to the symbol table.
    
    TRAC #23377
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens

commit f4cb0e12a2e92259e23ddea21799fba88c76d762
Author: Nicolas Capens <nicolas@transgaming.com>
Date:   Mon Jun 24 16:11:36 2013 -0400

    Fix unconditionally supporting derivative functions in ES3.
    
    TRAC #23377
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens

commit e0ba27a28ad621c56f7ce5b514ad0fa2da9ab760
Author: Nicolas Capens <nicolas@transgaming.com>
Date:   Mon Jun 24 16:10:52 2013 -0400

    Construct texture functions from stored characteristics.
    
    TRAC #23377
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens

commit 9fe6f9849d42a941fdcd5875ef50d47a95ec3cd0
Author: Nicolas Capens <nicolas@transgaming.com>
Date:   Mon Jun 24 16:05:25 2013 -0400

    Implemented 3D sampler HLSL translation.
    
    TRAC #23365
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens

commit da07535fa96062d91ca53f05c507e17265146518
Author: Nicolas Capens <nicolas@transgaming.com>
Date:   Mon Jun 24 16:02:56 2013 -0400

    Support sampler3D throughout the compiler.
    
    TRAC #23365
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens

commit 28043ba73df094e40577a882d91c2ff1c26295b3
Author: Nicolas Capens <nicolas@transgaming.com>
Date:   Mon Jun 24 16:01:53 2013 -0400

    Add 3D samplers to the lexer/parser.
    
    TRAC #23365
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens

commit 73f5bf615b598160b8e0b13b5e17884cb2bbadf1
Author: Nicolas Capens <nicolas@transgaming.com>
Date:   Mon Jun 17 16:13:33 2013 -0400

    Add 3D texture intrinsics to the symbol table.
    
    TRAC #23365
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens

commit e27c1c3b0dcd062148f3cb502ea8c82a8442fb41
Author: Nicolas Capens <nicolas@transgaming.com>
Date:   Mon Jun 17 16:47:25 2013 -0400

    Fixed texture2DProjLod for DX11.
    
    TRAC #23360
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens

commit 075368e3b2ca9f408b4c5f13145a58e55382df5e
Author: Nicolas Capens <nicolas@transgaming.com>
Date:   Mon Jun 24 15:58:30 2013 -0400

    Implemented unsigned integer sampler HLSL translation.
    
    TRAC #23360
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens

commit 2ffe0bbe348de5da098616fa6c73b8c002ee1a93
Author: Nicolas Capens <nicolas@transgaming.com>
Date:   Mon Jun 24 15:56:19 2013 -0400

    Support usampler throughout the compiler.
    
    TRAC #23360
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens

commit 9e3a3f43967a81cfd3a4e6adb84ddf49a3f9a3b0
Author: Nicolas Capens <nicolas@transgaming.com>
Date:   Mon Jun 24 15:54:32 2013 -0400

    Add unsigned integer samplers to the lexer/parser.
    
    TRAC #23360
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens

commit 8613229e6b3c4b2db35f3d70199c10bf6c0c962a
Author: Nicolas Capens <nicolas@transgaming.com>
Date:   Mon Jun 17 15:50:23 2013 -0400

    Add unsigned integer texture intrinsics to the symbol table.
    
    TRAC #23360
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens

commit 1f1a833d019eb8375f627919c34fdac3c0ae4425
Author: Nicolas Capens <nicolas@transgaming.com>
Date:   Mon Jun 24 15:42:27 2013 -0400

    Implemented integer sampler HLSL translation.
    
    TRAC #23359
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens

commit 344e7142ed4cfd230840352990c331c3b2de7adf
Author: Nicolas Capens <nicolas@transgaming.com>
Date:   Mon Jun 24 15:39:21 2013 -0400

    Support isampler throughout the compiler.
    
    TRAC #23359
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens

commit d273c273892366afcf8676094c1fd1dda5bd0de2
Author: Nicolas Capens <nicolas@transgaming.com>
Date:   Mon Jun 24 15:36:48 2013 -0400

    Add integer samplers to the lexer/parser.
    
    TRAC #23359
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens

commit 9363246adbe9987588f5c606955c1b320f024c3b
Author: Nicolas Capens <nicolas@transgaming.com>
Date:   Mon Jun 17 14:10:38 2013 -0400

    Add integer texture intrinsics to the symbol table.
    
    TRAC #23359
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens

commit fcb8a601dd89a68edb54f013558fc054b4686420
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Mon Jun 24 17:51:47 2013 -0400

    Restore using the depth-stencil typed DXGI format for checking for maximum supported samples.
    
    This regression was breaking the es3proto D3D11 testing in Canary.
    
    TRAC #23410
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit a081df82a7fd2dc0c0e8a227b5be5386fac453fe
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Fri Jun 21 09:15:39 2013 -0400

    Fix missing spaces in the Display extensions string.
    
    TRAC #23397
    
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit 54133511e6115955ba4ec329fb20487e3abed9d9
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Fri Jun 21 09:33:07 2013 -0400

    Add comments to the remaining unimplemented API entry points to prevent automerge from janking code to the wrong place.
    
    TRAC #23399
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit ae829e310ffbe72d52a9475a13774f01907436fd
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon May 6 19:14:11 2013 +0000

    We don't need to keep the param variable around for function prototypes.
    
    Saves 20% memory for global symbol initialization
    
    R=alokp@chromium.org
    
    Review URL: https://codereview.appspot.com/9152043
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@2196 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8746546078623e08c386ec2a2e3a1b77a3b327b6
Author: Geoff Lang <geoff.lang@transgaming.com>
Date:   Mon Jun 17 16:28:54 2013 -0400

    Added load functions to depth texture formats.
    
    TRAC #23262
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit a3495326e1d248e85fe6b9c6e3d0b9347f9a632f
Author: Geoff Lang <geoff.lang@transgaming.com>
Date:   Tue Jun 18 15:16:15 2013 -0400

    Added ES3 internal format information about GL_DEPTH_COMPONENT32_OES and mapped DXGI_FORMAT_R32_TYPELESS textures to GL_DEPTH_COMPONENT32F.
    
    TRAC #23262
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit 0e7c2fd2f6fa941dfae2fb56d8c21a2f5ca6048e
Author: Geoff Lang <geoff.lang@transgaming.com>
Date:   Wed Jun 12 16:43:52 2013 -0400

    Disallow depth textures to be used as destinations of glCopy*Image*.
    
    TRAC #23262
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit 0ef98739a3ac2a6abf80026686cef19f4623fb56
Author: Geoff Lang <geoff.lang@transgaming.com>
Date:   Thu Jun 20 13:29:19 2013 -0400

    Fix wrong reading functions being used for some D3D formats.
    
    TRAC #23256
    
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit 6350f73407f136c749ed32f0b063f9807b3aa5f2
Author: Geoff Lang <geoff.lang@transgaming.com>
Date:   Fri May 31 09:41:46 2013 -0400

    Fix potential segfault when calling glBufferData with NULL data pointer.
    
    TRAC #23311
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Authored-by: Geoff Lang

commit 574d9dd0ad5e9edabd895f5eecaa7e04c06d0e87
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Thu Jun 20 11:55:56 2013 -0400

    Add support for std140 uniform block layout for basic types.
    
    This support does not include structures.
    
    TRAC #23083
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit 919b066af57e8f160f4f292bc7a6323d146b0850
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Thu Jun 20 11:55:56 2013 -0400

    For the reported std140 layout to be consistent with the spec.
    
    TRAC #23083
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit 440dc74969b3d0e0486e639648828e24fcc0a5b2
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Thu Jun 20 11:55:55 2013 -0400

    Redesign the code that uses block layouts to use a generic base class.
    
    The cleaner code also has the benefit of allowing us to separate the HLSL-specific parts out of the shader validator.
    
    TRAC #23083
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit 8c6befc2f976d095d39d3033379838bf79e5637d
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Thu Jun 20 11:55:55 2013 -0400

    Add two utility matrix functions.
    
    The first returns the number of components in a matrix column/row, and the second the number of columns/rows in matrix uniforms.
    
    TRAC #23083
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit 1566ef70741486c17153a6de1aa00557dc157f18
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Thu Jun 20 11:55:54 2013 -0400

    Add parsing for default block storage qualifiers.
    
    Also add in a missing layout qualifier error check.
    
    TRAC #23083
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit b4e664b129775c5568875b6bef4f0579b1220179
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Thu Jun 20 11:55:54 2013 -0400

    Alter array instanced uniform buffer objects to use direct references to HLSL constant buffers.
    
    This avoids using a shader scoped static storage buffer, with copies.
    
    TRAC #23299
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit 529077d9c753ebe3e5f02bae83be78f279ff410a
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Thu Jun 20 11:55:54 2013 -0400

    Add support for column/row major layout qualifiers in generated HLSL.
    
    TRAC #23271
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit 9cf6c070a7d6b27b6178ac79019e496b628187c4
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Thu Jun 20 11:55:53 2013 -0400

    Refactor code for generating structure strings to a separate function.
    
    This could fix a potential regression, which might define structs multiple times in generated HLSL.
    
    TRAC #23271
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit 010fffa86409db3a3a86752a93e4046ec8e780fe
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Thu Jun 20 11:55:53 2013 -0400

    Pass matrix packing qualifier data back from the shader translator to the GLES API.
    
    TRAC #23271
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit 099c0f33a06c76e99ab5496b8cb2eeeb93138865
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Thu Jun 20 11:55:52 2013 -0400

    Add parsing support for global and interface block scoped matrix packing qualifiers.
    
    TRAC #23271
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit 0bd18dfb1a21be7e0ddccf983dcbf82baa6b3729
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Thu Jun 20 11:55:52 2013 -0400

    Enforce shader input and output variables with a specified location to be single declarations.
    
    This prevents using in and out qualifiers on multiply declared vertex inputs and fragment outputs.
    
    TRAC #23311
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit 502d66f6f6a67350a66608ef337d9d884862bd19
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Thu Jun 20 11:55:52 2013 -0400

    Move the parsing of declarator lists into the ParseHelper.
    
    TRAC #23311
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit eba4eff540a65914f6495ea855562100817d7116
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Thu Jun 20 11:55:51 2013 -0400

    Add support for specifying locations of vertex inputs using layout qualifiers, for GLSL ES 3.00.
    
    TRAC #23269
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Authored-by: Jamie Madill

commit defb674aade4162d900a6f64abdebbb4f2256db1
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Thu Jun 20 11:55:51 2013 -0400

    Add a new path for querying active attributes from the shader translator, for use with layout qualifier support.
    
    TRAC #23269
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill

commit bb22e508f367b742b8c8ff48c43237b908255fa3
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Thu Jun 20 11:55:51 2013 -0400

    Fix an improper use of VariableRowCount to AttributeRegisterCount in ProgramBinary.
    
    This is a regression from the non-square matrix uniforms implementation.
    
    TRAC #23269
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Authored-by: Jamie Madill

commit d1e78c9cf69e98abdf4b8bbc385b951ab3b99d4b
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Thu Jun 20 11:55:50 2013 -0400

    Implement GetFragDataLocation, often used by applications with MRT shaders in GLSL ES version 300.
    
    TRAC #22704
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Authored-by: Jamie Madill

commit 46131a3832c3478c1e0b48dbf6284799f3f86f04
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Thu Jun 20 11:55:50 2013 -0400

    Proper support for fragment output variables for GLSL ES shader version 300.
    
    TRAC #22704
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Authored-by: Jamie Madill

commit 05a80cebc3ce8ca07ae10e2970863e3cc603c756
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Thu Jun 20 11:55:49 2013 -0400

    Validate fragment shader outputs and produce a compile error on missing or conflicting assignments.
    
    TRAC #22704
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Authored-by: Jamie Madill

commit 975af378b32445c4c0595de0ff3a64cb931c139a
Author: Geoff Lang <geoff.lang@transgaming.com>
Date:   Wed Jun 12 11:19:22 2013 -0400

    Blit11 can now blit depth stencils.
    
    TRAC #23321
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit d8c861388d753c94b5b63e2597485101fe0e4c1d
Author: Geoff Lang <geoff.lang@transgaming.com>
Date:   Wed Jun 12 11:17:24 2013 -0400

    Added depth stencil format info to format utils 11.
    
    TRAC #23321
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit 685806d62991e99b9cde6e639a6a4b9263f28e70
Author: Geoff Lang <geoff.lang@transgaming.com>
Date:   Wed Jun 12 11:16:36 2013 -0400

    Seperated the blit depthstencil parameters in the blit methods.
    
    TRAC #23321
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit c1f51be4fd80a09a41bfe6f6f65ee85262748574
Author: Geoff Lang <geoff.lang@transgaming.com>
Date:   Tue Jun 11 11:49:14 2013 -0400

    Renderer11::blitRenderbufferRect now can handle stretching a blit rectangle and different interpolation methods.
    
    TRAC #23211
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit 758d5b2158ed4df145974c475df68a35bf476a00
Author: Geoff Lang <geoff.lang@transgaming.com>
Date:   Tue Jun 11 11:42:50 2013 -0400

    Refactored validation to glBlitFramebufferANGLE and implemented glBlitFramebuffer.
    
    TRAC #23211
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit a2d97f13f648c978e942ce55df7a940d9944ef2e
Author: Geoff Lang <geoff.lang@transgaming.com>
Date:   Tue Jun 11 11:44:02 2013 -0400

    RenderTarget11 now always attempts to create an SRV if the format exists and specifies the bind parameters based on which formats are available.
    
    TRAC #23211
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit aacabd662fff599bfb4de979cdb0177ef72ff214
Author: Geoff Lang <geoff.lang@transgaming.com>
Date:   Tue Jun 11 11:50:45 2013 -0400

    Made sure all the depth stencil DXGI variants that are used as SRVs, RTVs and DSVs have entries in the DXGI format info table.
    
    TRAC #23211
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit 77e3900a6821fb89bfa5fa166f2832b407f38111
Author: Geoff Lang <geoff.lang@transgaming.com>
Date:   Tue Jun 11 11:28:19 2013 -0400

    Added a non-default rasterizer state to Blit11 so it can preform inverted blits.
    
    TRAC #23211
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit b0c75cc92655ce8e7df2d5e0b239662be852b52e
Author: Geoff Lang <geoff.lang@transgaming.com>
Date:   Tue Jun 4 17:13:27 2013 -0400

    Added support for copying GL_RG, GL_RED and integer texture formats in Blit11.
    
    TRAC #23256
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit b86b979da879358ec8a96e3dfc90672567a0c3c1
Author: Geoff Lang <geoff.lang@transgaming.com>
Date:   Tue Jun 4 16:32:05 2013 -0400

    Refactored the Renderer11::copyTexture method into a Blit11 class.
    
    TRAC #23256
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit 7b7bc36ad672c624e04f56b0c3900ff96278c3df
Author: Geoff Lang <geoff.lang@transgaming.com>
Date:   Tue Jun 4 15:07:28 2013 -0400

    Added a dimension type and added constructors to Color, Rectangle, Box and Dimension for easy construction.
    
    TRAC #23256
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit dce735c3ee9d17f1b8f1174a82ce7bac61b78c50
Author: Geoff Lang <geoff.lang@transgaming.com>
Date:   Tue Jun 4 10:21:18 2013 -0400

    Renamed the Blit class to Blit9.
    
    TRAC #23256
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit 697ad3ed5e022f1a47356111456e6ac030c0bd5e
Author: Geoff Lang <geoff.lang@transgaming.com>
Date:   Tue Jun 4 10:11:28 2013 -0400

    Replaced switches in Renderer::readPixels with calls to color reading and writing functions.
    
    TRAC #23256
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit fe28ca06248f5b9cf97e0c8678275997cbf6b4da
Author: Geoff Lang <geoff.lang@transgaming.com>
Date:   Tue Jun 4 10:10:48 2013 -0400

    Added table entries for reading colors from D3D and DXGI formats and writing colors to format/type combinations.
    
    TRAC #23256
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit 446a4477761d2f410041501118b0ae5a4a660311
Author: Geoff Lang <geoff.lang@transgaming.com>
Date:   Tue Jun 4 10:03:14 2013 -0400

    Added new image formats to match new ES3 formats and added read and write functions to various color types that they can represent.
    
    TRAC #23256
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit 75ce3f21886637461bb7c47b82c24dcd6934bcca
Author: Geoff Lang <geoff.lang@transgaming.com>
Date:   Fri May 31 12:00:37 2013 -0400

    Moved the image format types into their own header.
    
    TRAC #23256
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit 2a64ee4479728d804e1ecd8d0d10e83f00cf4f29
Author: Geoff Lang <geoff.lang@transgaming.com>
Date:   Fri May 31 11:22:40 2013 -0400

    Templated the Color structure so it can be used for the new integer and unsigned integer color types.
    
    TRAC #23256
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit 49a8887b73345356e147702be9eeb5b40236953c
Author: Nicolas Capens <nicolas@transgaming.com>
Date:   Thu Jun 20 09:54:03 2013 -0400

    Initialize the symbol table without invoking the parser.
    
    TRAC #23359
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens

commit bd10cf5581e39d6cb3ff3fe6ba27627f7c2251f4
Author: Nicolas Capens <nicolas@transgaming.com>
Date:   Thu Jun 20 09:51:51 2013 -0400

    Assign unique id's to symbols inserted directly into a symbol table level.
    
    TRAC #23359
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens

commit 51a53c7bc2f2fe277dcff8007f88cbb2a39ceadc
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Wed Jun 19 09:24:43 2013 -0400

    Properly report error when layout qualifiers are specified outside uniform blocks.
    
    TRAC #23357
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Geoff Lang
    Authored-by: Jamie Madill

commit fd39655df035e8a5f7c6feaa97e950cde85a84ae
Author: Nicolas Capens <nicolas@transgaming.com>
Date:   Tue Jun 18 21:41:30 2013 -0400

    Fix non-multisampled line rasterization.
    
    #23334
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens

commit 53950a290507b61e1cd70008de900d7e02d89900
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Tue Jun 18 17:40:12 2013 -0400

    Delete a "rej" file that was accidentally committed.
    
    This was a relic from a preliminary lexer 64-bit compliance patch.
    
    TRAC #23158
    
    Authored-by: Jamie Madill

commit 930f05eac5ca2561ca3b884a1fa5f40479d90fe2
Author: Nicolas Capens <nicolas@transgaming.com>
Date:   Tue Jun 18 15:31:58 2013 -0400

    Fixed cube map getRenderTarget for DX9.
    
    TRAC #22705
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens

commit 9c5808c58bf1ab2940be7c9529c9909bc9c6c38d
Author: Geoff Lang <geoff.lang@transgaming.com>
Date:   Fri Jun 7 15:16:58 2013 -0400

    Implemented the remaining non-compressed load functions for ES3.
    
    TRAC #23229
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit 62431836a38813650575e28fcffc8ce6083d3679
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Mon Jun 10 11:44:28 2013 -0400

    Fix API reported packing rules for matrices and arrays in shared layout to be consistent with HLSL.
    
    HLSL does not round up the final array/matrix block to the register alignment, allowing for more compact order.
    
    TRAC #22856
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit acdd70f4e634b9f1ea6d2d673ffc9ded1c3cc515
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Fri Jun 7 14:39:56 2013 -0400

    Fix nested uniforms in interface blocks to have the proper API-visible names.
    
    TRAC #22856
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit 52660ffcc19f873d9194da2f14251d3cdb069b24
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Fri Jun 7 14:11:09 2013 -0400

    Fix alignment of HLSL packed structs in interface blocks.
    
    TRAC #22856
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Authored-by: Jamie Madill

commit a295edfc008a7cd5a72cb94e9da404c6fa35d2f4
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Thu Jun 6 11:56:48 2013 -0400

    Add parsing (but not full support) for global default layout qualifiers for block storage and matrix packing.
    
    TRAC #23268
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Authored-by: Jamie Madill

commit a5efff9996aab519def50871a60f77645dd4f51c
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Thu Jun 6 11:56:47 2013 -0400

    Redesign layout qualifier parsing to be simpler and more storage efficient.
    
    TRAC #23268
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Authored-by: Jamie Madill

commit 60ed98109a61a78ae92a41c72364a236d24ce4b8
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Thu Jun 6 11:56:46 2013 -0400

    Move the parsing of single declarations into TParseContext.
    
    TRAC #23268
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Authored-by: Jamie Madill

commit 63491eae7cce075afbbea3caed173bd234fa4cd9
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Thu Jun 6 11:56:45 2013 -0400

    Rename UniformLocation to VariableLocation, and add an arrayString helper method to ProgramBinary.
    
    TRAC #23268
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Authored-by: Jamie Madill

commit 6c23946c8bf9cf79079340530102c04be21dff7f
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Thu Jun 6 11:56:45 2013 -0400

    Properly recognize error cases for 'centroid out' and 'centroid in'.
    
    TRAC #23268
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Authored-by: Jamie Madill

commit b120eac230650667604946c2140b1ac0b15b385c
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Wed Jun 12 14:08:13 2013 -0400

    Update the shader translator to use new enums for ES3 shader vertex input and fragment outputs.
    
    This fixes many corner cases and error messages with ES3 syntax.
    
    TRAC #23268
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Authored-by: Jamie Madill

commit f8dc4fb66d2ee473b6ba37626f02756422863f6c
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Fri May 24 16:34:06 2013 -0400

    A special state to track field selection is not necessary.
    
    Identifier is sufficient to parse struct fieldname.
    
    TRAC #23158
    
    Signed-off-by: Nicolas Capens
    Merged-by: Jamie Madill
    Authored-by: alokp@chromium.org
    
    git-svn-url: https://code.google.com/p/angleproject/source/detail?r=2195
    Review URL: https://codereview.appspot.com/8709048

commit 39a8ce6be517928abd6788bea0154f6dab8246f9
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Thu Jun 13 10:30:38 2013 -0400

    Lexer does not need to handle unknown-char case.
    
    It is handled by the preprocessor. Added an assert.
    
    TRAC #23158
    
    Signed-off-by: Nicolas Capens
    Merged-by: Jamie Madill
    Authored-by: alokp@chromium.org
    
    git-svn-url: https://code.google.com/p/angleproject/source/detail?r=2194
    Review URL: https://codereview.appspot.com/8653052

commit 96de824e994ac0007aa34ddf95e7de2d573663c6
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Fri May 24 16:34:05 2013 -0400

    Lexer does not need a state stack now that it does not handle comments.
    
    TRAC #23158
    
    Signed-off-by: Nicolas Capens
    Merged-by: Jamie Madill
    Authored-by: alokp@chromium.org
    
    git-svn-url: https://code.google.com/p/angleproject/source/detail?r=2193
    Review URL: https://codereview.appspot.com/8983043

commit 78eb5dfbd88dc39a2b6d54f3f531767f45eca4b2
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Fri May 24 16:34:05 2013 -0400

    Robust distinction between IDENTIFIER and TYPE_NAME tokens.
    
    To distinguish the tokens we used to track the lexer context,
    which is fragile. This patch implements a better way -
    combine the two tokens into a common parser rule and let
    the parser context decide if the declaration is valid,
    which it already does by checking the naming conflicts.
    
    TRAC #23158
    
    Signed-off-by: Nicolas Capens
    Merged-by: Jamie Madill
    Authored-by: alokp@chromium.org
    
    git-svn-url: https://code.google.com/p/angleproject/source/detail?r=2190
    Review URL: https://codereview.appspot.com/8797044

commit 7eeb9b66f6475818562e7a53ba9769912dcb6679
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Fri May 24 16:34:05 2013 -0400

    Delete dead-code for handling comments and invalid octal integers. These are
    already handled by the preprocessor.
    
    TRAC #23158
    
    Signed-off-by: Nicolas Capens
    Merged-by: Jamie Madill
    Authored-by: alokp@chromium.org
    
    git-svn-url: https://code.google.com/p/angleproject/source/detail?r=2189
    Review URL: https://codereview.appspot.com/8632053

commit fe345bfd8558db54cad0f52bb5a65835394a79e5
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Fri May 24 16:34:04 2013 -0400

    Deleted unnecessary TParseContext::AfterEOF.
    
    TRAC #23158
    
    Signed-off-by: Nicolas Capens
    Merged-by: Jamie Madill
    Authored-by: alokp@chromium.org
    
    git-svn-url: https://code.google.com/p/angleproject/source/detail?r=2188
    Review URL: https://codereview.appspot.com/8927045

commit 56b065198f6fdac375d4ce39549a97180e7bc5da
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Fri May 24 16:34:04 2013 -0400

    Reformat tokenizer. No functional changes.
    
    TRAC #23158
    
    Signed-off-by: Nicolas Capens
    Merged-by: Jamie Madill
    Authored-by: alokp@chromium.org
    
    git-svn-url: https://code.google.com/p/angleproject/source/detail?r=2187
    Review URL: https://codereview.appspot.com/8925044

commit 23ee2382d5cced3a8f91d53fb281a75f480e055b
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Thu Jun 13 10:25:23 2013 -0400

    Ignore .orig files, which result from merge conflicts.
    
    TRAC #23158
    
    Signed-off-by: Nicolas Capens
    Authored-by: Jamie Madill

commit b5ce077e6fb0a8be08a8c80a9c9d572aabafd4b7
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Wed Jun 12 14:05:56 2013 -0400

    Add 64bit safety patch step to generate_parser.sh scripts.
    
    TRAC #23274
    
    Authored-by: Shannon Woods
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens

commit eb936d0de3b9463ec11c49853558b103087b33d3
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Wed Jun 12 14:05:38 2013 -0400

    Adds patch files for 64 bit safety fixes
    
    TRAC #23274
    
    Authored-by: Shannon Woods
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens

commit 81e93083a5558aa8ef4de0c0f882c8ae81727a50
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Wed Jun 12 14:05:22 2013 -0400

    Makes generate_parser.sh executable
    
    TRAC #23274
    
    Authored-by: Shannon Woods
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens

commit d384a94c9c105cf98b14dd78d3dc62ea3bfa9f64
Author: Geoff Lang <geoff.lang@transgaming.com>
Date:   Wed Jun 5 15:00:10 2013 -0400

    Fixed a bug that allowed reading to an integer format from a non-integer frame buffer.
    
    TRAC #23276
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit a4d1332364ccd0856fb56a85b5466cb72097593d
Author: Geoff Lang <geoff.lang@transgaming.com>
Date:   Wed Jun 5 14:57:51 2013 -0400

    Fixed a bug where ES3 was validating the texture size in non-CopySubImage calls.
    
    TRAC #23276
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit 0d56c43064648240fac6d6c13a76ad2c07292afa
Author: Geoff Lang <geoff.lang@transgaming.com>
Date:   Wed Jun 5 14:54:16 2013 -0400

    Image11 now determines if a format is renderable by checking the RTV format exists rather than the SRV format. Added several more RTV DXGI formats to the table to allow fast copies.
    
    TRAC #23276
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit 241592267e913edb6ec2719d732f73c68799ec45
Author: Geoff Lang <geoff.lang@transgaming.com>
Date:   Wed Jun 5 14:56:32 2013 -0400

    Fixed a bug where GetBlueBits was returning the count of green bits.
    
    TRAC #23278
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit b13f866ef9bb741ea6fc8f3f594476375531906a
Author: Nicolas Capens <nicolas@transgaming.com>
Date:   Tue Jun 4 13:30:19 2013 -0400

    Disambiguate getRenderTarget calls.
    
    TRAC #22705
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens

commit c0f7c61980ebe66cb6493bf7616a4379f4ddda0a
Author: Nicolas Capens <nicolas@transgaming.com>
Date:   Wed Jun 5 11:46:09 2013 -0400

    Fix some uint handling.
    
    TRAC #23185
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens

commit ab60b9346ee79d02433348632fa04b636f0a3fe6
Author: Nicolas Capens <nicolas@transgaming.com>
Date:   Wed Jun 5 10:31:21 2013 -0400

    Renamed UnsignedInt to UInt in the compiler.
    
    TRAC #23185
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens

commit ba60ad36f9c677717b79fd6521149c069d33301a
Author: Nicolas Capens <nicolas@transgaming.com>
Date:   Tue Jun 4 15:55:47 2013 -0400

    Eliminate unused clone/dump methods.
    
    TRAC #23185
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens

commit 22d63dae95db61b4486be73d1e2f6c5385a97659
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Fri Jun 7 12:45:12 2013 -0400

    Fix an improper usage of getCols, which should be getNominalSize, in unsigned int vector code.
    
    TRAC #23263
    
    Signed-off-by: Shannon Woods
    Author: Jamie Madill

commit d3ff2169bfb788ff64a83987c93084854aee88bf
Author: Geoff Lang <geoff.lang@transgaming.com>
Date:   Fri Jun 7 15:10:59 2013 -0400

    Marked unsized format load functions as unreachable and added a comment why.
    
    TRAC #23228
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit ae4852a29c756bb856e3f10b541db2ed99c546d0
Author: Geoff Lang <geoff.lang@transgaming.com>
Date:   Wed Jun 5 15:00:34 2013 -0400

    Refactored glGenerateMipmap and added ES3 validation.
    
    TRAC #23277
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit d42cf4ed18e40ae397ebf5e2a0aea844c70eec95
Author: Geoff Lang <geoff.lang@transgaming.com>
Date:   Wed Jun 5 16:09:17 2013 -0400

    D3D9 will now use D3DFMT_R5G6B5 textures when GL_RGB565 is requested if the device supports it.
    
    TRAC #23279
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit 42b8b908e68b8535d0b6fff771bc55312c2cfc8f
Author: Geoff Lang <geoff.lang@transgaming.com>
Date:   Wed Jun 5 16:08:21 2013 -0400

    Fixed a bug where GL_RBG565 was labled as a GL_RGBA internal format.
    
    TRAC #23279
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit 18591b7c703b5ffeebcc9814554e807edd0ebb01
Author: Geoff Lang <geoff.lang@transgaming.com>
Date:   Fri Jun 7 12:00:15 2013 -0400

    Capitalized the first letter of all private format util functions.
    
    TRAC #23212
    
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit 2e1dcd59a6ecd44cabe70f12ca7fac0af33bbca0
Author: Geoff Lang <geoff.lang@transgaming.com>
Date:   Wed May 29 10:34:08 2013 -0400

    Refactored glRenderBufferStorage* validation and implemented glRenderBufferStorageMultisample.
    
    TRAC #23212
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit 0e120e3daef63029b27860d3b9ad3ae896b78606
Author: Geoff Lang <geoff.lang@transgaming.com>
Date:   Wed May 29 10:23:55 2013 -0400

    Added a Renderer::getMaxSupportedFormatSamples method to query the max support samples for a specific internal texture format.
    
    TRAC #23212
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit 61e49a5cacc894fe2de1273c65374a5e7083a05f
Author: Geoff Lang <geoff.lang@transgaming.com>
Date:   Wed May 29 10:22:58 2013 -0400

    Added Functions for gathering all referenced D3D and DXGI formats. Renderers now use these functions to generate the multisample support maps.
    
    TRAC #23212
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit a9f524721275997023ba2b05fa4744a653fbfc60
Author: Jamie Madill <jmadill@transgaming.com>
Date:   Thu Jun 6 11:56:43 2013 -0400

    Fix matrix accessor getCols to correct getNominalSize in code that could trigger a debug assertion failure.
    
    Was breaking the ES2-CTS build test in Debug mode.
    
    TRAC #23263
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill

commit 74eb9155ca5e8458c6f407eb81ae6c49049ce5d3
Author: Geoff Lang <geoff.lang@transgaming.com>
Date:   Wed May 29 16:09:05 2013 -0400

    Fixed GL_RGB4 not being marked as color renderable in ES3.
    
    TRAC #23243
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit 7ed740c50c38fb214a20994ab6434a150fab8f5f
Author: Geoff Lang <geoff.lang@transgaming.com>
Date:   Wed May 29 16:08:33 2013 -0400

    Update GYP file to be in sync with vs projects.
    
    TRAC #23244
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang

commit f600a2f2a15b0045e78d2d48b1dc15e0cf73fec4
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Mon Jun 17 18:07:01 2013 -0400

    Diverges version for es3proto branch from mainline.

commit 3a29b29b1bf1d5083183eb1665fc1d9fdeba4ca4
Author: Shannon Woods <shannonwoods@chromium.org>
Date:   Fri Jun 14 15:22:09 2013 -0400

    Adds README.chromium for third-party integration.

commit 9126291222269b1cec611f0dbb7ad510fe7d8962
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:23:46 2013 +0000

    Bump version for es3proto branch.
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2417 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5d335228bbe1d009bd00d440a0ba53b9d0113024
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:22:02 2013 +0000

    Fix calling the right overloaded method for getting a cube map face's render target.
    
    TRAC #22705
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2416 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ec61db0b86f7ddf2605dcc2fa28b7f39c68adb2e
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:21:55 2013 +0000

    Restore 64-bit support of the GLSL lexer.
    
    TRAC #23185
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2415 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4d20a846b6ac66392b7c0db08353f21441e90029
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:21:48 2013 +0000

    Implemented lexing support for the floating-point suffix.
    
    TRAC #23185
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2414 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2a5436ffba542b28948379ab1a091727f5384266
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:21:41 2013 +0000

    Added preprocessor support for parsing the float suffix.
    
    TRAC #23185
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2413 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3f83e29c1d041fc69a91063c81798a32918f9973
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:21:34 2013 +0000

    Added preprocessor support for parsing the unsigned integer suffix.
    
    TRAC #23185
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2412 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b0757168ef94c36de62eac95b3c8495400183eef
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:21:27 2013 +0000

    Restore 64-bit support of the preprocessor tokenizer.
    
    TRAC #23185
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2411 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 298f90764477730a044ba94f233d9a62647f1f1c
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:21:17 2013 +0000

    Eliminated an unused parameter.
    
    TRAC #23185
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2410 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 302adfef44f2a18b5770315408c23087cf5eff04
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:21:06 2013 +0000

    Add partial support for parsing layout qualifiers, added in the GLES SL 3.00 spec.
    
    This allows us to run a lot of ES3 unit tests and sample apps.
    
    TRAC #23089
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2409 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit abf14cc31bf24899071938971071d542cbc84e0c
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:20:58 2013 +0000

    Add several cases to API entry points to handle enum values that dEQP uses to reset state.
    
    The support for these methods is incomplete and unimplemented, but will not return INVALID_ENUM.
    
    TRAC #23089
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2408 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7d9f7beaf7895f5b0bbec181e58387c63ab4cbc4
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:20:51 2013 +0000

    Advertise EGL_KHR_create_context so dEQP can successfully create an ES3 context.
    
    We will need to investigate fully supporting this extension in the future.
    
    TRAC #23089
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2407 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit eafb069c1a16d2d26c26f723ecc52c501f76c354
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:20:44 2013 +0000

    Allow ANGLE developers to toggle unimplemented assertion failures with preprocessor define.
    
    TRAC #23089
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2406 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c8100b85aa421a38ca3d70a612539d09c3f39192
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:20:34 2013 +0000

    Add support for unsigned integer literals in the shading language.
    
    TRAC #23080
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2405 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8c788e8d35ba20ca19afacbcfe4a6f326b8ecb60
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:20:21 2013 +0000

    Add support for unsigned integer vector types to the shader translator.
    
    TRAC #23080
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2404 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6b7099111f6f00493b24dd05680f60c30b60cb7c
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:20:04 2013 +0000

    Add support for the unsigned integer scalar type to the shader translator.
    
    TRAC #23080
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2403 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1885113c0d96837843804d6eb791fe78f8768437
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:19:54 2013 +0000

    Move the code for parsing constructor functions from the grammar to TParseContext.
    
    TRAC #23080
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2402 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3c9d95a8d97eae397220445cc975b4109a67078b
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:19:46 2013 +0000

    Add unsigned integer types to the compiler ConstantUnion class.
    
    TRAC #23080
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2401 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5703d8814d3fde2b74a8ea704b6e12ba4b7b25e7
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:19:38 2013 +0000

    Add full integer support to the shader language.
    
    TRAC #23080
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2400 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b4e07b899053bc100f01162dff09b2a577ff8afb
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:19:31 2013 +0000

    Put GL to HLSL type string code to a separate helper function in ProgramBinary.
    
    TRAC #23080
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2399 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0f376cacdd038ce691e9cba262be1dd770959785
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:19:23 2013 +0000

    Move logic for parsing fully specified types out of the grammar file to TParseContext.
    
    TRAC #23080
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2398 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8da034cc6a9ccecd0ce32ac6d25af6b1fd72defd
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:19:15 2013 +0000

    Add non-square mat support to the shader language interface.
    
    TRAC #23081
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2397 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 50733334c67ffe61a58fba9bbec5ad04b57a6ec0
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:19:07 2013 +0000

    Add support for folding non-square matrix multiplications.
    
    TRAC #23081
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2396 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9fc85b1f5d2fbd65a0ba8de97f12afe2aa9d2823
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:19:00 2013 +0000

    Fix up the indentation and alignment of TIntermConstantUnion::fold to be consistent with the coding style.
    
    TRAC #23081
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2395 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9bd22fa90f6a16ae279330c802ebdb5e608d9348
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:18:47 2013 +0000

    Add support for non-square matrices to the shader translator.
    
    TRAC #23081
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2394 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4f35fdf6bf9b7644e07ac41c77bc57201b963342
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:18:40 2013 +0000

    Refactor Shader::compareVarying to use a table instead of nested switch statements.
    
    TRAC #23081
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2393 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 09e0988466ea9f3610dfb406f859b634b8e1e188
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:18:25 2013 +0000

    Add a secondary size field to the shader language types, to account for matrix rows. Also add some extra logic
    to the promote method to check that the sizes of the arguments to multiplications are properly formed.
    
    We require this extra information for non-square matrix support.
    
    TRAC #23081
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2392 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b7dc40387352eeff32bdc5b9590e939f92f962b3
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:18:18 2013 +0000

    Refactor TIntermBinary::promote to use the required coding style.
    
    TRAC #23081
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2391 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 16242efc0b35c55c435992f1ab7f84bc4a4dc457
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:18:11 2013 +0000

    Add a helper function to the lexer to tokenize strings that can be identifiers in ES2 and are keywords in ES3.
    
    For instance, uint, or the non-square matrix keywords.
    
    TRAC #23218
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2390 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 35f156d9319d3f47a4893746275596d23ffe6124
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:18:04 2013 +0000

    Add helper functions to the lexer to tokenize strings that have different classifications in ES2 and ES3.
    
    TRAC #23218
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2389 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5f8d9b46e94f105d8059db997cc0f7078b36b395
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:17:57 2013 +0000

    Add support for arrays of aggregates (aka structs) in uniform blocks.
    
    TRAC #23018
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2388 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 70961b334672790767581c2c2fa75452bb2f4475
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:17:48 2013 +0000

    Add support for structures in interface and uniform blocks.
    
    Also redesigns the uniform block layout computation to be more general.
    
    TRAC #23018
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2387 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 271253465ea0a01b0821a34cfc514d713b1f2813
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:17:42 2013 +0000

    Fix loading function for GL_RGB32F with D3D9.
    
    TRAC #23224
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2386 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2d2190a75a67efd8a27fb4fe87d9b19b22bed4ad
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:17:35 2013 +0000

    Fixed the patching location of the previous commit.
    
    TRAC #23063
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2385 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ce8d619fa4aa7f34e3e8c5c7a35dd11c90ce7d8c
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:17:27 2013 +0000

    Implement glRenderbufferStorageMultisample using glRenderbufferStorageMultisampleANGLE.
    
    TRAC #23063
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2384 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ee148562c70f62b57868aaaddb42fd16c4f2b81d
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:17:21 2013 +0000

    Implement glBlitFramebuffer using glBlitFramebufferANGLE.
    
    TRAC #23055
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2383 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 705fc2f5afd315f8dba839b11f95cc8950778abf
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:17:14 2013 +0000

    New functions are only unimplemented when there's a context.
    
    TRAC #23055
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2382 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d03f89700c4ab9a2036f1fb0d7460d234e31c514
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:17:07 2013 +0000

    Added some missing format table entries.
    
    TRAC #23215
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2381 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 96c629119439c9d319b4c636bdbf510cbe6fdd3b
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:17:00 2013 +0000

    Added support for SRGB textures.
    
    TRAC #23046
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2380 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e81ea50b058be5096cec2d35ccb43dbfc0606d8c
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:16:53 2013 +0000

    Added a function to determine if an internal format is SRGB.
    
    TRAC #23046
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2379 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit de7e6a24c958f03ea81f4ca548d52ceb02fbe6dc
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:16:46 2013 +0000

    Added support for the remaining floating point textures.
    
    TRAC #23048
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2378 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 49ec992d80abe48f86034738e8d14c71de3c0b84
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:16:38 2013 +0000

    Moved the defines of constant float values into more visible constants.
    
    TRAC #23048
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2377 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b36e29fd54a5fddce4377a04d2ce184d34dcc520
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:16:30 2013 +0000

    Refactored getFastPixelCopySize to use the format conversion functions.
    
    TRAC #23049
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2376 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ffab47de16b4bc382b8e22c7fc42d4d43ba40b93
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:16:22 2013 +0000

    Added validation for CopyTexImage with integer textures.
    
    TRAC #23049
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2375 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e19409b538862f5d5b0fd279b60394bfc1f10398
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:16:15 2013 +0000

    Added helper functions for determining if an internal format is an integer or floating point format.
    
    TRAC #23049
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2374 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a05127a6e974f74e58d7e2e5d338884394508316
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:16:07 2013 +0000

    Added support for integer and unsigned integer texture formats.
    
    TRAC #23049
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2373 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 36d0be90f401dfc7590cdf546540740a0018e77b
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:15:59 2013 +0000

    Added support for SNORM texture formats.
    
    TRAC #23051
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2372 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a43d829fabc8a251d6695922966ad25320e4c99f
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:15:50 2013 +0000

    Added support for GL_R11F_G11F_B10F textures.
    
    TRAC #23052
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2371 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b1dc1b6a3950afafdeb85292949015dd575e622a
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:15:43 2013 +0000

    Report correct name length for array variables in GetActiveUniformiv.
    
    TRAC #23018
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2370 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 932cc6b071a0b37560f7365d578ea53d85255a0d
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:15:37 2013 +0000

    Report correct name length for active uniform block arrays.
    
    TRAC #23186
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2369 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 83ac5e827a3c0ff305dea7ecd37d065ed420c93c
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:15:29 2013 +0000

    Add the shader version of the compiled shaders to the program binary.
    
    Also increment the binary version.
    
    TRAC #23182
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2368 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6e4f2a6b70e12750a1e79c3dcee6c6dd5cfb67fe
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:15:19 2013 +0000

    Add adapter LUID to EGL vendor string.
    
    This is so Chrome can create another D3D device on the same adapter that can
    share resources with ANGLE's D3D device.
    Review URL: https://codereview.appspot.com/9225046
    SVN URL: https://code.google.com/p/angleproject/source/detail?r=2210
    TRAC #23166
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Geoff Lang
    Merged-by: Jamie Madill
    Author: apatrick@chromium.org
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2367 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2c2b82bd10bd0136613cf30a0977966abf5aa257
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:15:12 2013 +0000

    Fix using incorrect width and height in transposeMatrix.
    
    This caused issues with non-square matrix uniforms.
    
    TRAC #22840
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2366 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0c611d1706654fff698eb2c7e527d943a9e0817b
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:15:05 2013 +0000

    Fixed missing case statements for GL_TEXURE_2D_ARRAY.
    
    TRAC #23162
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2365 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ba9d750b929ffd8059cb9692a5bb440d3a050584
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:14:58 2013 +0000

    Merged the d3d format info and mip generation tables since both used the same keys.
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2364 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 92b9cd57673dad9c0ead2956bad0ded4e5ac49f8
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:14:48 2013 +0000

    Added support for the GL_RGB9_E5 format.
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2363 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a32a2ba4da2e0f12ab277fc06830e84d70e0a37e
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:14:40 2013 +0000

    Added support for GL_RED and GL_RG texture formats.
    
    TRAC #22955
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2362 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8d46e91406929e3726b0f905b6ca861fd7938a13
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:14:32 2013 +0000

    Added a templated load function for loading data formats that match.
    
    TRAC #22955
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2361 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8757c06cd3f1812f55df1c0f4f297bef5648859d
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:14:24 2013 +0000

    Implemented glTexStorage and refactored glTexStorage2DEXT.
    
    TRAC #22869
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2360 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit cf2533c2418d418d3eceecd4fd9b9a8afed2a3f9
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:14:18 2013 +0000

    Fixed a bug where immutable textures could not have glTexSubImage called on them.
    
    TRAC #22869
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2359 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 92852cf0625f09f642b09fc1d60846acf5a13987
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:14:12 2013 +0000

    Removed check that width == height for cube maps during SubImage call.
    
    TRAC #22956
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2358 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 18029cdc7864d063a580ac1e66de81081abf1d2b
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:14:06 2013 +0000

    Fixed missing cases for creating incomplete 3D and 2DArray textures.
    
    TRAC #22956
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2357 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5d4468e9e12f34e895a17c733f207ddb12fe4625
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:13:56 2013 +0000

    Add support for GL_UNSIGNED_INT_2_10_10_10_REV textures.
    
    TRAC #22956
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2356 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 44a4f98a9d1ed2fdf2ddcee5fe50e47b03be3c0a
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:13:49 2013 +0000

    Added ES3 validation for glReadPixels and glReadnPixelsEXT.
    
    TRAC #22956
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2355 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f3a3eda74bee6909a97d62a9ea57cb35004dcf6e
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:13:42 2013 +0000

    Refactored validation for gl*Tex*Image2D.
    
    TRAC #22956
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2354 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6cf2b0e9d2ae5c119bf67cec9999ef103b0cae75
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:13:36 2013 +0000

    Reorganized the parameters to validateES3CopyTexImageParameters and fixed a bug with compressed destination textures.
    
    TRAC #22956
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2353 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 155377cd706ee24a3fff5ec4d1db74efc50d4054
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:13:29 2013 +0000

    Update the libGLESv2 project file to include the new generated pass-through shaders.
    
    TRAC #23189
    
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2352 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 48ae025f2ba46605f1cc391ae203853f05cbef52
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:13:22 2013 +0000

    Add new cases for GLES3 SRC_ALPHA_SATURATE blend modes.
    
    TRAC #23125
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2351 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 568c82e7367e620836f9f12c7e9009cb4301f1e7
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:13:15 2013 +0000

    Fix CONSTANT_ALPHA and ONE_MINUS_CONSTANT_ALPHA blend modes in the D3D11 path.
    
    TRAC #23124
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Geoff Lang
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2350 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8ddaf5c0af9b2edaf8ec1c931b749ab1ec140de0
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:13:08 2013 +0000

    Increase the maximum token length in the preprocessor to be 1024, to comply with the GLSL ES 3 specification.
    
    TRAC #23077
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Geoff Lang
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2349 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4b8a31155f50df029a8969194d83d26a070d29c0
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:13:01 2013 +0000

    Regenerate the preprocessor source files with the new versions of the compiler tools.
    
    Will have to be resolved with 64-bit compatible bison in the future.
    
    TRAC #23077
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Geoff Lang
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2348 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e429ab712f027bb4729a1748c0abe8d971dbca1a
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:12:52 2013 +0000

    Add support to the HLSL translator for arrays of named interface blocks.
    
    TRAC #22930
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Geoff Lang
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2347 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3f68bf0e3bf6bb76fdfb708218ef687097a9e731
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:12:43 2013 +0000

    Enable the translator to pass parsed interface blocks back to the ANGLE API via the shader translator layer.
    
    TRAC #22930
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Geoff Lang
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2346 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4430b0d31979d8c3993f8da50c2ca84974ebb1fd
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:12:34 2013 +0000

    Add support to the GLSL to HLSL translator for interface blocks with instance names.
    
    TRAC #22930
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Geoff Lang
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2345 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4a643ae4fa6ec736ebe2693552aed80bcc316904
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:12:27 2013 +0000

    Add support to the HLSL translator to output interface blocks to constant buffers, using HLSL register packing rules.
    
    TRAC #22930
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Geoff Lang
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2344 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 61aaf24d1e874745478e3be19c3e20efe6d4ef89
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:12:20 2013 +0000

    Add logic to compute the size and offsets of interface blocks stored in shared (packed) and standard layouts.
    
    The shared layout follows the standard HLSL packing rules for optimal shader performance.
    
    TRAC #22930
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Geoff Lang
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2343 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a2ecfcccf1d1a85e6054a7314ce1f9de0648ac7f
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:11:59 2013 +0000

    Moved utilities.h/cpp and mathutils.h to the shared common code folder.
    
    The HLSL translator needs to compute the sizes of various GL types for computing block layouts.
    
    TRAC #22930
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Geoff Lang
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2342 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5668c5d7131fa7b1851172a1f02c341f9d1285dc
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:11:48 2013 +0000

    Add support for parsing interface blocks to the shader translator.
    
    TRAC #22930
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Geoff Lang
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2341 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a9100887d256e4828224ad0b958b2e12722c408b
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:11:39 2013 +0000

    Move the logic for parsing structs and index/field selection expressions from the grammar into TParseContext.
    
    TRAC #22930
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Geoff Lang
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2340 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1bddfb984b4ce6f8422a877097e60aca956f5661
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:11:29 2013 +0000

    Pass uniform buffers active bound to uniform blocks of the active program to HLSL/D3D constant buffers.
    
    TRAC #22892
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2339 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1500f093bbb67cec313c9d414443a2be1fc56dc6
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:11:20 2013 +0000

    Add uniform block linking between the API, the program binary, and the compiler.
    
    TRAC #22892
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2338 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2b5442236b5acaa150e1a608fa7c97c5e1b2e19e
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:11:12 2013 +0000

    Ensure we have enough space in our reported max uniform buffer counts for our dedicated internal constant buffers.
    
    TRAC #22892
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2337 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7923dd2ba3700dacb48b343873a909d4e19f7d92
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:11:04 2013 +0000

    Properly validate struct uniform linking between the vertex and pixel shaders.
    
    This also implements proper struct validation for uniform blocks.
    
    TRAC #22932
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Geoff Lang
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2336 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d63ef891baa92ae174fbaa1be548e4c2292dfba8
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:10:56 2013 +0000

    Implemented glInvalidateFramebuffer and glInvalidateSubFramebuffer.
    
    TRAC #23133
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2335 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1654faf4ed508a2b539fdbf7f92f0ce7af3f8f79
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:10:48 2013 +0000

    Added an abstract invalidate method to rx::RenderTarget.
    
    TRAC #23133
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2334 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c796484ea2b5b170a376f44ce992cf787fb631cb
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:10:41 2013 +0000

    Validate allocation size in PoolAllocator.
    Note that I am planning to get rid of PoolAllocator entirely.
    
    BUG=crbug 179654
    
    Review URL: https://codereview.appspot.com/8662046
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2333 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f97a084f94833c5028b3b1db1b149511d56c49ed
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:10:33 2013 +0000

    Store optimization level in program binaries and do not load those compiled with a different level.
    Review URL: https://codereview.appspot.com/9427043
    
    
    Conflicts:
    
            src/libGLESv2/renderer/Renderer9.cpp
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2332 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 482eb95cba6e43bbe475cfc09aa524fd2b6cc9bb
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:10:25 2013 +0000

    Bump version.h for dx11proto.
    Review URL: https://codereview.appspot.com/9330043
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2331 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9f913fb4aa8e2a7bd038a90b0da3f1ee6898630e
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:10:18 2013 +0000

    Merge r2002 to dx11proto: Remove dependency on dwmapi.dll.
    Review URL: https://codereview.appspot.com/9279048
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2330 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 807faf223587e73dfaeea698fc9553866bcb6d95
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:10:12 2013 +0000

    Add an extension describing the new D3D renderer chooser behavior in eglGetDisplay.
    
    TRAC #23029
    
    Author: Shannon Woods
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2329 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit eff3a1272e72ef04e66d1aaf22d934a59627c781
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:10:04 2013 +0000

    Control the creation of DX9 or DX11 renderers through eglGetDisplay.
    
    TRAC #23029
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2328 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 094cc41050781fc6344833471a9fda4aa44e3856
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:09:54 2013 +0000

    Removed old texture conversion functions.
    
    TRAC #22972
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2327 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8dcfc6ab9013827d3531722e28d750886bb8532d
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:09:48 2013 +0000

    Replaced remaining uses of old texture conversion functions in gl entry points.
    
    TRAC #22972
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2326 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f6fb959eeacff28579f996e122962ceda8b2845c
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:09:40 2013 +0000

    Replaced remaining uses of old texture conversion functions in gl objects.
    
    TRAC #22972
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2325 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 755012f4b2e7d0f7ff388663f1e5517307c84fa5
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:09:32 2013 +0000

    Replaced remaining uses of old texture conversion functions in rx objects.
    
    TRAC #22972
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2324 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e9438a557993ab6dd2692444ffe16f5cf043b266
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:09:25 2013 +0000

    Renderer initializes the client version to 2 since the renderer is used to create a SwapChain object before the Context has been created and the client version is known.
    
    TRAC #22972
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2323 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d38d66e49a77f0b84006c7e69964d93473892087
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:09:16 2013 +0000

    Updated the RenderTarget and TextureStorage classes to use new texture format functions.
    
    TRAC #22972
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2322 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit adc56358754883926714508e5b918a787dd20b20
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:09:08 2013 +0000

    Texture storage classes determine the bind flags through the new helper methods.
    
    TRAC #22972
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2321 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 803be0a97a07688190ea977251959467e7f94dae
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:08:59 2013 +0000

    Image9 and Image11 determine the d3d formats through the new helper methods.
    
    TRAC #22972
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2320 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit cead8ad71769f28cbf8df829f60952999d3df602
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:08:52 2013 +0000

    Replaced the Image::generateMipmap switch statements with function calls to get the mip generation function.
    
    TRAC #22972
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2319 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f73d40f83e2e4e90f5263b7226a27088f896be14
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:08:44 2013 +0000

    Removed the static Image data loading functions.
    
    TRAC #22972
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2318 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b8cabd593cf162be44fb1c0f3c8fbe72c1f45b75
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:08:37 2013 +0000

    Image::loadCompressedData now uses new loading functions.
    
    TRAC #22972
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2317 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 557aab057cafe276182e798a50ce8c23b410f6f4
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:08:27 2013 +0000

    Texture image setting functions use the refactored texture conversion and loading functions.
    
    TRAC #22972
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2316 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ed0adcf6063fc3674ed01193403a58dab92cf35f
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:08:20 2013 +0000

    Put the renderer*_utils functions into the rx namespace.
    
    TRAC #22972
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2315 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4ad58e083de84d1bc9bae56154886395192bee9c
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:08:11 2013 +0000

    Texture::setImage methods now have an internal format parameter, if the internal format is unsized, a sized one is computed so that Texture classes always store sized internal formats.
    
    TRAC #22972
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2314 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b8490f3c368bd2407980ed7df7810b3d84b20b68
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:08:00 2013 +0000

    Created new helper functions for converting texture formats, loading images and generating mipmaps."
    
    TRAC #22972
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2313 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 89200d93b4b524cac319b66ac135b3f7e84f9227
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:07:50 2013 +0000

    Split the floating point texture queries into individual methods and mark all support methods as const.
    
    TRAC #22972
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2312 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e684b58a3d326fceb649ef5304a293dbfd643dba
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:07:42 2013 +0000

    Add support for querying number of active uniform blocks/block name max length from a program object.
    
    TRAC #22858
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2311 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e7317ca8472c363510025c4c8c57682fcbc7f7d6
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:07:35 2013 +0000

    Implement glGetActiveUniformBlockiv.
    
    TRAC #22858
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2310 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit beb027831595253a2eeadebb3e577f10e62f73f7
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:07:28 2013 +0000

    Implement glGetActiveUniformBlockName.
    
    TRAC #22858
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2309 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 70eb1ea25dbb03783fcee104314df6f2ba6a2dcc
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:07:20 2013 +0000

    Implement UniformBlockBinding, and necessary state to track uniform block bindings on the API side.
    
    TRAC #22858
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2308 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4276625286ffa9f4f481e721e8df51844036ea76
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:07:12 2013 +0000

    Implement the API-side logic GetUniformBlockIndex. Functionality depends on shader support.
    
    TRAC #22858
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2307 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d77841743376350e4e483a955cd94cf77d8bca63
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:07:03 2013 +0000

    Add state for uniform blocks to ProgramBinary, along with loading and saving of the new binary format.
    
    Updated Version.h with this patch.
    
    TRAC #22858
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill
    Conflicts:
    
            src/common/version.h
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2306 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 38676dc14bd6136e9607e05825890ecf5cb402f1
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:06:52 2013 +0000

    Refactor Uniform::[vp]sRegisterIndex to unsigned integers.
    
    TRAC #22858
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2305 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7e0904d3255fe2bc034e226cdf4761bf2f02c813
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:06:45 2013 +0000

    Fix line endings in the Uniform source and header files to be UNIX-style.
    
    TRAC #22858
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2304 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6d7b61c2e986dd4fc394097e792bb910324c5ed4
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:06:38 2013 +0000

    Add a helper routine to parse out uniform array indices.
    
    TRAC #22858
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2303 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f2d76f80850ed4a7184f33fa0dbfbc0c47144525
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:06:32 2013 +0000

    Add support for querying uniform block related enums.
    
    TRAC #22858
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2302 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 98c01b6ab84fa71a65d1a9818263189fce9c7222
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:06:25 2013 +0000

    Update the shader compiler/translator bison-generated source files with the latest cygwin releases.
    
    TRAC #22934
    
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2301 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d11158fa99247ca59ba73a687c6d98e3634762d1
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:06:19 2013 +0000

    Fix the off-by-one errors in the indexed binding functions BindBufferBase and BindBufferRange.
    
    TRAC #22958
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2300 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a26aeaf13282893805e204f81b3b33fc9201aace
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:06:13 2013 +0000

    Ensure non-zero transform feedback buffers must only be bound with an offset and size of a multiple of four.
    
    TRAC #22958
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2299 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e6e007923ea6cff22c5d911a9663f222add689db
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:06:07 2013 +0000

    Allow the application to implicitly create buffers by binding them at indexed binding points, without previously calling GenBuffers or BufferData.
    
    TRAC #22958
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2298 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e2865d029b5cd80f8d1429fc71a6cd8501d14461
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:06:01 2013 +0000

    Return correct GL version and GLSL ES version strings when we are running in an ES3 context.
    
    TRAC #22865
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2297 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 302df74cc22fdf426334aebd9dbad4d7b3df5be2
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:05:54 2013 +0000

    Implement glGetStringi, for querying specific extension strings.
    
    TRAC #22865
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2296 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0ee85f8899cec0aa73463562aedca464883b4018
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:05:47 2013 +0000

    Not not allow the app to query uniform locations of basic types with "[0]" appended to the uniform name.
    
    TRAC #22865
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2295 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2a9a9d232cee3c1d75384de834c0508c9cf2ab99
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:05:40 2013 +0000

    Implement glGetActiveUniformsiv, querying specific uniform properties.
    
    TRAC #22865
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2294 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c2ed991c7d844ff347ab4ce5945843a39f3bea47
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:05:33 2013 +0000

    Implement GetUniformIndices, for retrieving active uniform indices from their names.
    
    TRAC #22865
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2293 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0329988bd0d85db658eb0f20c66c6a4b0f976547
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:05:26 2013 +0000

    Add support for querying gl_DepthRange as an active uniform via GetActiveUniform.
    
    TRAC #22865
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2292 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7a1ebada696e96d49a0605fca01d078c321b093f
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:05:20 2013 +0000

    Fix binding of the generic uniform buffer bind point when setting the transform feedback binding point in BindBuffer.
    
    TRAC #22852
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2291 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ce67248441c553b6e2ff4368577f56fc958051cb
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:05:14 2013 +0000

    Add a path to BufferStorage11 to point to D3D11 constant buffer data storage for uniform buffer objects.
    
    TRAC #22852
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2290 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 33e798f5e64d758f31edeb75418fd887e44cca48
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:05:05 2013 +0000

    Add and implement Renderer::getMaxUniformBufferSize(), returning the maximum uniform buffer/block size.
    
    TRAC #22852
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2289 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 29233b29003489292f47a03404e0da849b18219d
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:04:57 2013 +0000

    Call BufferStorage::markUsage when we retrieve a buffer pointer for rendering, instead of when we prepare data.
    
    The automatic call eliminates function calls from other points in the library.
    
    TRAC #22852
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2288 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 675526eb2e48fc3950317a1d945977b233ff14c7
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:04:49 2013 +0000

    Redesign BufferStorage11 to support simultaneously managing constant buffers and vertex/index buffers.
    
    TRAC #22852
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2287 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 06d4e84f64e59e34d311fd01252c2032c59977f2
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:04:42 2013 +0000

    Add a roundUp math utility function that rounds an integral value up to a nearest multiple.
    
    TRAC #22852
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2286 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 97c3d501704adb4b41a0ef7374f684fb762ee11d
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:04:34 2013 +0000

    Add state queries for uniform buffer object count and alignment, and enforce a large alignment.
    
    This will allow us to force the app to bind uniform buffers with zero offset. Zero offset allows us to map
    uniform blocks one-to-one to uniform buffers, then subsequently map UBOs to constant buffers.
    
    TRAC #22852
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2285 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3eeca1ece2e86999b0d7ac9bcce181ee3a33be8c
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:04:28 2013 +0000

    Make the sentinel value for glBindBufferBase whole-buffer binding zero instead of -1, to harmonize with the spec.
    
    TRAC #22852
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2284 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 37b8a91a113a18525436e824658151818f88dde2
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:04:21 2013 +0000

    Implemented mipmap generation for 3D textures.
    
    TRAC #22926
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2283 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7b61d5cebbe98e9aeb322aaa307e9fcd4c7c682b
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:04:12 2013 +0000

    Renderer11::copyTexture can now copy 3D textures.
    
    TRAC #22926
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2282 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 281ef3a6f681f99fd023b61367a4bf1a0dcbd742
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:04:01 2013 +0000

    Added 3D versions of the passthrough shaders.
    
    TRAC #22926
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2281 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 15a8b1f683dbc9861cf05ded808f00796ecb0344
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:03:54 2013 +0000

    TextureStorage11_3D can generate render targets for the entire texture now as well as each layer.
    
    TRAC #22926
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2280 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7faf3ec71a8b7cdf81ee9336bf5e1aae133a18f0
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:03:45 2013 +0000

    RenderTargets now store a depth value.
    
    TRAC #22926
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2279 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ad8a0d3a244fa97676ea8b2e519ce9083d70dc75
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:03:28 2013 +0000

    Renamed the passthrough shaders to show that they are for 2D.
    
    TRAC #22926
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2278 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e5b26d3ab95793c5dc956f8c860a0d3fb6192278
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:03:20 2013 +0000

    Refactored CPU mipmap generation and added 3D texture mipmap generation functions.
    
    TRAC #22926
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2277 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 30aa1a9f438374a771cc789eddb4d2fd21860305
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:03:13 2013 +0000

    Implemented mipmap generation for 2D array textures.
    
    TRAC #22927
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2276 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 44b2768fcceb1989b268bb88698ac58cb33debcb
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:03:06 2013 +0000

    Added a map type parameter to Image11::map since it was always being mapped for writing but mipmap generation was reading.
    
    TRAC #22927
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2275 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 74b86cffade4b3dbfddd3c601b35b87ef28a82a6
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:02:58 2013 +0000

    Add new GLSL ES 3.0 built-in constants and split off 1.0 ones.
    
    TRAC #22863
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2274 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c6ac65f698e80d8084e7e9b454a8aa1051a7eb67
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:02:50 2013 +0000

    Implemented basic GLSL ES 3.0 texture intrinsics.
    
    TRAC #22954
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2273 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 96e7ba17f417a48c1a6c31f3d9fbd5611219d14d
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:02:41 2013 +0000

    Skip symbol table levels with built-ins for a different shader version.
    
    TRAC #22954
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2272 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1c8480963a2373ee44f01417fc0820a31204df3e
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:02:34 2013 +0000

    Insert GLSL ES 1.0 built-in variables at the right level.
    
    TRAC #22954
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2271 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2ac0be9df9be957eb8fe504a88fa2e10c8ae9dc9
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:02:27 2013 +0000

    Place built-in intrinsics into their corresponding symbol table level.
    
    TRAC #22954
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2270 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 89992b5e796f7746611c15ec539a797289c5ab3c
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:02:20 2013 +0000

    GLSL ES 1.0 operator built-ins are all common with GLSL ES 3.0.
    
    TRAC #22954
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2269 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6e10a0e236b9fa917f5d74f71afdb7a799d10d89
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:02:13 2013 +0000

    Split the built-in symbols over multiple symbol table levels.
    
    TRAC #22954
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2268 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 644f766c7305f09f9662e7206e6e2163ce9248a1
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:02:07 2013 +0000

    Texture2DArray now uses dynamically allocated arrays to store Image objects.
    
    TRAC #22918
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2267 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c3419c102cafbad6fbf4bb91e6ace22292ebd093
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:02:01 2013 +0000

    Fall back to creating a Release runtime Direct3D device if Debug device creation fails.
    
    TRAC #22881
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2266 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9894984a07fe0e16b6e01182c05190eb72a3c38f
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:01:51 2013 +0000

    Add a fast path for single render target masked clears in Renderer11.
    
    TRAC #22898
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2265 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 894b324ff711a16f4ad827f26e59e3b5c3b2e2ad
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:01:44 2013 +0000

    Migrate calls to releasing COM objects in Renderer11 to new SafeRelease helper method.
    
    TRAC #22898
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2264 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 24ac85003000f03bb0f87d1f27830a602caadd34
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:01:37 2013 +0000

    Add a helper method to gl::Framebuffer to check if we are drawing to color attachment 0 only.
    
    TRAC #22898
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2263 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1dd89f3e6424ce9f1e73a73f29ae6a24ac3d5e98
Author: shannonwoods@chromium.org <shannonwoods@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 30 00:01:31 2013 +0000

    Enable base address randomization.
    
    TRAC #22937
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2262 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2f5963c0e4e43259405658d9e5ed96b87ad5b833
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:56:33 2013 +0000

    Bump version.h
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2181 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 14e8f59676b1092cea348725434131ae31cab280
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:46:21 2013 +0000

    Implemented GL_TEXTURE_2D_ARRAY targets for glTex* functions.
    
    TRAC #22705
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2180 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 90dbc44c79052a9ceaab2c782a67e7d149da5385
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:46:14 2013 +0000

    Added a binding point for TEXTURE_2D_ARRAY.
    
    TRAC #22705
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2179 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7625f798255604cb7d9b05d91086ae37029899d1
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:46:07 2013 +0000

    Created the Texture2DArray class.
    
    TRAC #22705
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2178 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a98a8111a4b82a2715de171fcf2c7417a9cbfc6f
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:45:57 2013 +0000

    Added GL_MAX_ARRAY_TEXTURE_LAYERS.
    
    TRAC #22705
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2177 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6c86bd5f6358dfe721133bae6e599c4c5fdaf04c
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:45:45 2013 +0000

    Created the TextureStorageInterface2DArray class.
    
    TRAC #22705
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2176 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 969733786b68213ac06642ee81d6513bab8f3ef8
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:45:39 2013 +0000

    Added a TextureStorage11_2DArray class.
    
    TRAC #22705
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2175 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 56074f3318a3854b8bfad1498ef719c73212290f
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:45:30 2013 +0000

    Image::redfine now takes a target parameter, Image11 creates an appropriate resource based off of the target.
    
    TRAC #22705
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2174 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 86740a945a360070223ea35bad2fe8821b6ede06
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:45:24 2013 +0000

    Updated glGenerateMipmap to accept the GL_TEXTURE_3D target.
    
    TRAC #22705
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2173 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 875994b3e3dcef5530554dedde418ebc1c666f71
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:45:17 2013 +0000

    Implemented 3D texture entry points.
    
    TRAC #22705
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2172 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6d73c4ee35eefc4edf05e039ebec955d7bccf13a
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:45:12 2013 +0000

    Updated the parameter validation functions to include 3d versions.
    
    TRAC #22705
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2171 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c416e1cc09f1404d3dbcf23cd55956d37ebe67d2
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:45:05 2013 +0000

    Added a binding point for TEXTURE_3D.
    
    TRAC #22705
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2170 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9599656abe17aa402ac8d8f4f4f1e47dc0b7a696
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:44:58 2013 +0000

    Created a gl::Texture3D class.
    
    TRAC #22705
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2169 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0b3a8dfb1e698f7ba69708f9f1bbe73179dcd07e
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:44:51 2013 +0000

    Added the GL_TEXTURE_WRAP_R parameter.
    
    TRAC #22705
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2168 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c1fdf6baa488d6bf4a16d68c5d83caf2c95563dc
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:44:41 2013 +0000

    Added parameters for maximum 3D texture size. Renamed maximum 2D texture size methods and variables.
    
    TRAC #22705
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2167 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e5dcce75bb08208387723a4e0494ca19073e05a7
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:44:33 2013 +0000

    Updated Image::copy to have a zoffset parameter.
    
    TRAC #22705
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2166 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 414e82afa5dd9ee9eb9b7de0ac2e2191cc8dcadf
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:44:05 2013 +0000

    Added 3D versions of Renderer::copyToRenderTarget and Renderer::copyImage.
    
    TRAC #22705
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2165 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 63b3b8f9ed6a7b9da1bd52f940cfcd29d4907ffd
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:43:26 2013 +0000

    Removed some extra overloads of TextureStorage::getRenderTarget and added a method to get the render target of a Texture3D layer.
    
    TRAC #22705
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2164 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 27ac40e8d6e580bfd2c70ccc06cc2ac84cc017b7
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:43:17 2013 +0000

    RenderTarget11 now stores a Resource instead of a Texture2D.
    
    TRAC #22705
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2163 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5d009bb92f5a73130057bab196e171edb7a6792f
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:43:07 2013 +0000

    Image11 now stores an ID3D11Resource for the staging texture and creates 3D staging textures if depth is greater than one.
    
    TRAC #22705
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2162 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2058d64a7c8c3cf5f79c3ab3fad055cd984c8497
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:42:50 2013 +0000

    Added 3D texture classes for TextureStorage and TextureStorageInterface.
    
    TRAC #22705
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2161 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0fcf2a6af04939695061952125cdf7d4ba43a15e
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:42:44 2013 +0000

    Added a helper function for generating pointer offsets and changed type names to include size for clarity.
    
    TRAC #22705
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2160 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4760c563c3d41b97c1677454c9e700595c25a04b
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:42:30 2013 +0000

    Added depth parameters to all image loading functions.
    
    TRAC #22705
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2159 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8dce651e807c242039983ae9346c7f63ee27dc98
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:42:19 2013 +0000

    Added support for renderbuffer formats used by the CTS.
    
    TRAC #22890
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2158 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e3fe5dad89092b2cdc68df07d4935018c517545e
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:42:07 2013 +0000

    Enable broadcasting gl_FragColor to all draw buffer color attachments in ES2 contexts.
    
    TRAC #22888
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    Conflicts:
            src/libGLESv2/ProgramBinary.cpp
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2157 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 99ab6ebcb5db76a266cceb0483497767cb02467e
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:42:00 2013 +0000

    Fix not correctly allowing the 'require' keyword in shaders enabling EXT_draw_buffers.
    
    TRAC #22888
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2156 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5209de8b38b5119b5cae01df310205edf82397a1
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:41:53 2013 +0000

    Report gl_MaxDrawBuffers as 1 when the MRT extension is disabled, and the implementation value otherwise.
    
    TRAC #22888
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2155 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1886fd4f172fb5b2c8e87372ac0de361f14935a5
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:41:45 2013 +0000

    Implement flat and centroid interpolation in HLSL.
    
    TRAC #22857
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2154 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7bc65f2ec25c4d8b9c93643cfb5b3293127b831f
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:41:39 2013 +0000

    Generate the same code once for fragment and vertex varyings.
    
    TRAC #22857
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2153 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7b2e6758c895361fd03b06973efde966e63e731d
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:41:33 2013 +0000

    Adds Jamie and Geoff to CONTRIBUTORS file
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2152 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 491b0477fefe31375090c63526925e253be0a87b
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:41:29 2013 +0000

    Revert device lost display mode changed handling in the D3D9 path.
    
    See https://codereview.appspot.com/8038044
    
    TRAC #22882
    
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2151 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c53376afc89024bd336e044abf8c9e8c8b75c1e7
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:41:23 2013 +0000

    Fix zero-sized buffer copies to complete successfully in BufferCopySubData.
    
    TRAC #22878
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2150 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6f273e3a08ecbb4e59ae6cd7ea857114464b8e6e
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:41:15 2013 +0000

    Implemented interpolation qualifier parsing.
    
    TRAC #22857
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2149 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e229012c1479ef9e93fa6f3078619142104455db
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:41:07 2013 +0000

    Add support for unsigned int uniform types to the getUniform series of methods.
    
    TRAC #22845
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shanon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2148 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4590d89dd7903aa9e809bdca8bcbe5af422c8710
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:41:01 2013 +0000

    Refactor the ProgramBinary::getUniform family of calls to use a private generic method.
    
    TRAC #22845
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shanon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2147 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f48956196a4ee245ae682d0c99dd2403de6db425
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:40:56 2013 +0000

    Refactor getUniform for matrix types to use a single shared internal method.
    
    TRAC #22845
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shanon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2146 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 02e11f3a8a3afae0f96752762800d430b0a2a3d7
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:40:50 2013 +0000

    Add a utility method to determine if a gl enum type is a matrix type, and some supporting methods.
    
    TRAC #22845
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shanon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2145 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e6ca670973fdf798173ef5f875e8544e7351f1b4
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:40:44 2013 +0000

    Add handling of non-square matrix uniform types to utility methods.
    
    TRAC #22845
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shanon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2144 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 50ea4ab5e484f7d95e4d47a0bef50ca851acd63e
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:40:36 2013 +0000

    Added support for unsigned integer uniforms. Depends on shader language support for the same.
    
    TRAC #22842
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shanon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2143 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 44ce5b11b8cf4ee5f03c2ead116a27369fe99e0e
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:40:30 2013 +0000

    Add handling of unsigned int uniform cases to utility functions.
    
    TRAC #22845
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shanon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2142 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8a19eed917b5f0354937567ca15fa755e0116ffa
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:40:22 2013 +0000

    Refactor ProgramBinary::setUniform[XX] to use a generic template function, reducing duplicated code.
    
    TRAC #22842
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shanon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2141 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8431b9c80a4947448e62ba4891c60c670faf99be
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:40:17 2013 +0000

    Modify the glUniform[X]ui calls to call the corresponding glUniform[X]uiv functions internally.
    
    TRAC #22842
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shanon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2140 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a741b641ed8120c7f3b42ef5f22f4b268db9722e
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:40:10 2013 +0000

    Add support for the transpose parameter of the glUniformMatrix family of functions in ES3.
    
    TRAC #22839
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shanon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2139 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f130616e19a84f5b991aec4327ab041094d47b02
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:40:04 2013 +0000

    Add support for non-square matrix uniforms. Depends on implementing shader support for the same.
    
    TRAC #22839
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shanon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2138 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 36c76a9156161c560cb923a4041416a230baafd6
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:39:58 2013 +0000

    Make ProgramBinary::setUniformMatrix[X]fv a generic template method.
    
    TRAC #22840
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2137 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit cc62facbe9c5188cd7d71059d58b4d9f9f2a3c99
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:39:52 2013 +0000

    Fix a bug in transposeMatrix, for correct use with non-square matrices.
    
    TRAC #22839
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2136 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8132dae98a89e025d1fd53319bbab1c25ef58f96
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:39:44 2013 +0000

    Fixed a bug where BufferStorage11 was unable to handle NULL data being set.
    
    TRAC #22811
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2135 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 296c3f25c04032a386f7c0c0d8ad2f71feebcf4f
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:39:39 2013 +0000

    Implemented glCopyBufferSubData.
    
    TRAC #22811
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2134 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 614c07f49dbff691e56423d7cc91510af79fbff7
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:39:32 2013 +0000

    Added a copyBufferSubData method to Buffer.
    
    TRAC #22811
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2133 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ab30bab925b1652171b9d05d72ecd8ebc0db6653
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:39:24 2013 +0000

    Added an abstract BufferStorage::copyData method and implemented it for BufferStorage9 and BufferStorage11.
    
    TRAC #22811
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2132 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c926e5f1808efd73b617ac0f204f1455cf8f600d
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:39:18 2013 +0000

    Added pixel pack and unpack buffer bindings.
    
    TRAC #22811
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2131 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5117188c23be8525da72c7672ff26ce7363824bb
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:39:10 2013 +0000

    Added binding points for the copy read and copy write buffers.
    
    TRAC #22811
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2130 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 667a29cf4c8dc2d0ccafd3b0464d2e6b01d087bc
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:39:04 2013 +0000

    Added methods to Context to get and set the current (non-indexed) bound uniform and transform feedback buffers.
    
    TRAC #22811
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2129 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7948c5f69e89ba771bbb7e6db8cc87574239a1ca
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:38:58 2013 +0000

    Enable MRT support via glDrawBuffersEXT.
    
    TRAC #22704
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2128 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a0a98ff44388a4d92383a4ab15e2048fdb3fff7b
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:38:52 2013 +0000

    Alter the precompiled header to import prototypes for the gl extension functions, for internal use.
    
    TRAC #22704
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2127 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2104d93a34211f27a01d310a8ff9fb692d58d7c6
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:38:46 2013 +0000

    Only support ES3 contexts on Shader Model 4+ hardware.
    
    TRAC #22854
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2126 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1ab57be9db37d9a4df7b709300ce20743dd80f4b
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:38:39 2013 +0000

    Added support for packed integer vertex attributes.
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2125 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e7d4a247d390ea71eacefbba7705ac978ff0fb86
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:38:33 2013 +0000

    Output all fragment data to gl_Color.
    
    TRAC #22715
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2124 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2226e04f965055c5d6726ff01bcca08512ea0f4f
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:38:26 2013 +0000

    Support in/out as type qualifiers.
    
    TRAC #22715
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2123 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5524db0c05c8df6002489a077b18dd6fd5746448
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:38:16 2013 +0000

    Add support for new ESSL 3.00 keywords.
    
    TRAC #22715
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2122 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0bbed38f417d490604909de5928d725fb39c5e3c
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:38:07 2013 +0000

    Accept shader version 300 on ES3 contexts.
    
    TRAC #22712
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2121 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 00b6a0e09aa0596392868ffe08b0a701bbbd38f6
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:38:00 2013 +0000

    Add min and max blend modes.
    
    TRAC #22836
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2120 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a88858661d02687ae69835092420639d26e32d5f
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:37:53 2013 +0000

    Added support for GL_INT and GL_UNSIGNED_INT vertex attributes.
    
    TRAC #22693
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2119 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8de4e6af2bc4ec6a513602c6fb6dd7bc6f242bd2
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:37:44 2013 +0000

    Added conversion rules for GL_INT and GL_UNSIGNED_INT for VertexBuffer11.
    
    TRAC #22693
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2118 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit cf8d2f8a2d5f080fcc77b034a2f6067e62242124
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:37:34 2013 +0000

    Merged the current value attributes into the regular vertex attributes so they follow the same conversion rules.
    
    TRAC #22693
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2117 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3026dc7d24a5a163afff4e39d190fc9871ccc14f
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:37:27 2013 +0000

    Created a structure for holding current attribute data.
    
    TRAC #22693
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2116 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2fa73c51a911556bb29f26780ac594aced7110fc
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:37:20 2013 +0000

    Fix glDrawBuffersEXT to be compliant with the spec.
    
    Bind GL_NONE to buffers beyond the specified input count, and require a buffer count of one for the default framebuffer.
    
    TRAC #22835
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2115 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 141730158b8d2a3ec648b7fddfada331fc8939df
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:37:15 2013 +0000

    Add an ExternalCompilerOptions parameter for use with MSBuild on the command line.
    
    This is necessary for continuous integration to pass D3D11 mode build flags.
    
    TRAC #22555
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2114 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f2db40bbeda617c29d2e168f651611a9e9c11c05
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:37:09 2013 +0000

    Added new acceptable es3 usage tokens for glBufferData.
    
    TRAC #22794
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2113 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d4e619726411af97dc96aee7ed6af8444343514b
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:37:04 2013 +0000

    Implemented glBindBufferBase and glBindBufferRange.
    
    TRAC #22753
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2112 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 34089354b04a78dc6a6c0bda15b4757a8f9a0401
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:36:57 2013 +0000

    Added uniform and transform feedback state and setting on context.
    
    TRAC #22753
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2111 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 184d0a85fc344d8d19db516b6e41df43711228e5
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:36:51 2013 +0000

    Added a new type of binding pointer which stores offset and size.
    
    TRAC #22753
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2110 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3f72ce3511d7a4a4272ea13ebfdc473f8698074c
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:36:43 2013 +0000

    Added getter methods to renderer for checking maximum uniform and transform feedback buffers.
    
    TRAC #22753
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2109 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8736bd6b02d21c666bdfdd52d2b2cd17ea664a0e
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:35:41 2013 +0000

    Fixed build failure.
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2108 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8bce3f59f55ebbef64e2a7b0f024644afbebd5b0
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:35:32 2013 +0000

    Add SwapChain::recreate for dealing with certain cases of lost devices.
    
    See https://code.google.com/p/angleproject/source/detail?r=1993
    
    TRAC #22826
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2107 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit df933573a41e0732acb9bef6d095d450b4aa1795
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:35:25 2013 +0000

    When CheckDeviceStats returns S_PRESENT_MODE_CHANGED, reset display mode and retest for device lost.
    
    Unless the display mode is reset, CheckDeviceLost can keep returning
    S_PRESENT_MODE_CHANGED, potentially masking a device lost on account of a GPU
    hang, causing ANGLE to fail to report context lost.
    Review URL: https://codereview.appspot.com/7381061
    
    TRAC #22720
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2106 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6b731911528a63ba5855cda82b3a1514e87a1820
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:35:19 2013 +0000

    Fix a warning in the cast of Renderer9::mDeviceCaps.MaxAnisotropy.
    
    See http://code.google.com/p/angleproject/source/detail?r=2000
    
    TRAC #22826
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2105 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 676dc8f916e2cd6eae579932ad36a188efd9cb09
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:35:13 2013 +0000

    Fast path for BGRA to RGBA readPixels conversions.
    
    From http://code.google.com/p/angleproject/source/detail?r=1999
    
    TRAC #22825
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2104 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 14eb55e5e7e40c4e9f9611c5760a600acc6679ae
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:35:06 2013 +0000

    Implemented glVertexAttribDivisor.
    
    TRAC #22816
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2103 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0b05b7a7010dc7fd79f84ef516b13a15aeba5516
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:34:58 2013 +0000

    Do not broadcast output of gl_FragColor to all attached render targets when using a GLES 3.0 context.
    
    TRAC #22704
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2102 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c347152c01c50a1cc248c21d02387f687ad67aad
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:34:52 2013 +0000

    Relax the requirement for all color attachments to have the same number of bitplanes for ES 3.0 contexts.
    
    TRAC #22704
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2101 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 785f1965dfbe45f4dfa35f745f4ea42420d24bf8
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:34:45 2013 +0000

    Store the current context client version in the Renderer for ease of access.
    
    TRAC #22704
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2100 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit fc3e3a8617bb67703857fce6313b0a4d005f189d
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:34:36 2013 +0000

    Add a multiple render targets sample using EXT_draw_buffers. Requires the D3D11-enabled ANGLE.
    
    TRAC #22797
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2099 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 77d947208331b523e7fc67167f601774b509fd6c
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:34:22 2013 +0000

    Enable MRT support by exposing glDrawBuffersEXT to the application.
    
    TRAC #22710
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2098 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 882434ce23b30a5a3d5a7e735b0cf48b3dd4cfd9
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:34:14 2013 +0000

    Fix an improper upper case case 'B' in getFirstColorbuffer.
    
    TRAC #22679
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2097 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 86df5a43484b84fda00760a10d39168b5fb8c858
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:34:07 2013 +0000

    Fix D3D11 depth/stencil framebuffer blit.
    
    D3D11 requires the pSrcBox parameter to be NULL for depth/stencil CopySubresourceRegion calls.
    
    TRAC #22679
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2096 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f6863e0af2d81ed56371c6c7ec6468e685e31289
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:34:00 2013 +0000

    Implement multiple render target support in glBlitFramebufferANGLE.
    
    TRAC #22679
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2095 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1d64b62674b7c8898384599e0196100fb3cd5b11
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:33:53 2013 +0000

    Refactor Renderer11::blit to use simpler control flow.
    
    TRAC #22679
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2094 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f9686c219a99254e8425cb9253651754f597796b
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:33:45 2013 +0000

    Added flag to suppress D3D11 warnings about missing render target views when drawing multiple render targets.
    
    TRAC #22679
    
    Signed-off-by: Geoff Lag
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2093 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ba2744fdf21d252c3d78efde67d64eb66b642453
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:33:38 2013 +0000

    Added Renderer11 methods to set a one-time render target, and unapply render target state.
    
    TRAC #22679
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2092 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1a4e09a616e473758db5e5dcb3147b47774aa81c
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:33:30 2013 +0000

    Added support for HALF_FLOAT vertex attributes.
    
    TRAC #22703
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2091 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ee2a86ad794a9091edb22318d8cacc445de8ab78
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:33:22 2013 +0000

    Modified the default value used in the vertex widen rule so that it is specified as a template argument.
    
    TRAC #22703
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2090 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit dcf33d53a4b37acb5080f3d681e5bb69da88be60
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:33:11 2013 +0000

    Advertise ES3 renderable in available configs
    
    TRAC #22806
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Jamie Madill
    Author: Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2089 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f3c5249109f293ddb6d367c61e8bbf54e1d34a82
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:33:04 2013 +0000

    Updates EGL headers
    
    TRAC #22805
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Geoff Lang
    Author: Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2088 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5494373463204efa50a2965fc12ba28e58a34edd
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:32:57 2013 +0000

    Adds ES3 functions to .def file for export
    
    TRAC #22805
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Geoff Lang
    Author: Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2087 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit bcde56f76c065adf2237cd17f77db298dc280e10
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:32:12 2013 +0000

    Added support for line continuations.
    
    TRAC #22713
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2086 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a28864c84a387e6d9a7f906eef308c93551ef3ce
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:32:03 2013 +0000

    Pixel shaders support MRT output.
    
    TRAC #22668
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2085 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit aa8b5cfffb9b4f6d188f712f8e17a23f3707b2d2
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:31:55 2013 +0000

    Shader and Compiler track uses of gl_FragCoord and gl_FragData and MRT extension usage.
    
    TRAC #22668
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2084 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e266c8306c7d0d635de1240c21a0d2468fc46e96
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:31:48 2013 +0000

    BuiltInResources initialized with MRT limits from renderer.
    
    TRAC #22668
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2083 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 18b4c4b56a1a31e1b1c9fccf01f1ffd46504ead9
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:31:40 2013 +0000

    Store the BuildInResources in the Compiler class so the draw buffer data can be read during shader output.
    
    TRAC #22668
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2082 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit dae240976148046cd86605b16a58c48433e8428c
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:31:31 2013 +0000

    Add support for multiple render targets in glClear.
    
    TRAC #22659
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2081 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit bc373e53243e5e45067bbf67702b3aa66bd10dc6
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:31:23 2013 +0000

    Added DRAW_BUFFERx_EXT support to getIntegerv and related functions.
    
    TRAC #22656
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2080 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4059a3894ef3a5419a1bdc091a17eab552cd9c67
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:31:16 2013 +0000

    Add and implement glDrawBuffersEXT entry point to libGLESv2.
    
    TRAC #22657
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2079 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 00e3f0c7cdda2b28a7aa888cf73146908b8a0848
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:31:02 2013 +0000

    Refactor Renderer11::getRenderTargetResource to accept a gl::Renderbuffer instead of a gl::Framebuffer.
    
    TRAC #22656
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2078 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f4fe7105a58525321d5a03b084db08e8349bafd3
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:30:26 2013 +0000

    Enable multiple render targets in Renderer11::applyRenderTarget.
    
    TRAC #22656
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2077 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 962247710c891af9f847c3c26670c3ab8928219c
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:30:18 2013 +0000

    Add helper functions to safely release Windows COM resources, and arrays of COM resources.
    
    TRAC #22656
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2076 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3b5ca788651258130d93227b7debbbb7448d4b66
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:30:12 2013 +0000

    Rename renderbufferObject to colorbuffer in Renderer11::applyRenderTarget.
    
    TRAC #22656
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2075 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 812c3f1e24c03bef1a7b872f2661d22b68bace1b
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:30:01 2013 +0000

    Safely promote uninitialized constants.
    
    TRAC #22676
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2074 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ac1fc75fe1cae31db94414834da178299837e5e4
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:29:52 2013 +0000

    Don't assume unary operations on constants will be folded into a constant.
    
    TRAC #22676
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2073 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6df256c4d76cc3d05456176fe61c23ec87b0dc48
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:29:46 2013 +0000

    Ignore constants that have not been initialized.
    
    TRAC #22676
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2072 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c0d0c22525de629665afcb6a2cd2e366a45aa26c
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:29:36 2013 +0000

    Provide safer and more convenient constant union accessors.
    
    TRAC #22676
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2071 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a817175d002bee6556fbbfc9f1085c5f89edea2c
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:29:28 2013 +0000

    Added stubs for all the new ES3 entry points with events and an error check to verify that the context is an ES3 context.
    
    TRAC #22694
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2070 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f26ddae9acc05461792c8b1b6b35444ddf209de8
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:29:13 2013 +0000

    Added the GLES3 headers and updated all locations where the GLES2 headers were included to also include the GLES3 headers.
    
    TRAC #22694
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2069 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5f339332e108aab7970b60754d580a0d2956283c
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:29:02 2013 +0000

    Updated gl2.h and gl2ext.h.
    
    TRAC #22694
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2068 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit daea4b4584cdbd8c82dd9946eb07a32ab2f278b7
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:28:54 2013 +0000

    eglCreateContext passes the client version to the context. gl::Context stores the client version to validate gl function parameters.
    
    TRAC #22694
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2067 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 89ae1133850885c5812a78e9f8d00447acfcbd55
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:28:43 2013 +0000

    Remove the old single-color-attachment calls from gl::Framebuffer, preferring the new multiple-attachment versions.
    
    TRAC #22656
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2066 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f30ccc2fd16ac7d6156ff355ec70f422263b043c
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:28:36 2013 +0000

    Add multiple color buffer attachments points to gl::Framebuffer.
    
    Also addded the checks for framebuffer completeness as defined by the ES2 spec and EXT_draw_buffers.
    
    TRAC #22656
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2065 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3b57b4fcbab340b8a43932ef5e2845fb0ec2bfe7
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:28:29 2013 +0000

    Add const qualifiers to several methods in gl::Framebuffer.
    
    TRAC #22656
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2064 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9790c470600b564b4909cf529833284555613adb
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:28:23 2013 +0000

    Allow the application to query the maximum number of color attachment point values with GetIntegerv.
    
    TRAC #22656
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2063 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b290ac1759847f86642ee5a8bd71dd5c5db831f3
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:28:15 2013 +0000

    Added getMaxRenderTargets() to Renderer, for a runtime-specific value for the maximum simulatenous render targets.
    
    We will report this as our maximum draw buffer and color attachment count.
    
    TRAC #22656
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2062 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d24fcd7aea1bf8826ab31194543addc036e9c84c
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:28:09 2013 +0000

    Add necessary defines and function prototypes for EXT_draw_buffers and multiple color attachment points to gl2ext.h
    
    TRAC #22656
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2061 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit fc84e0adfa4803b7abbbf5357101b26efcae6823
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:28:03 2013 +0000

    Bump ANGLE_SH_VERSION to 110.
    
    The bump to 109 in r1984 collided with a similar version change in dx11proto branch (r1738).
    Review URL: https://codereview.appspot.com/7446050
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2060 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 331192d64496dd3cc6aa3bc90ef880d3c186dc2e
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:27:57 2013 +0000

    Enabled FRAGMENT_PRECISION_HIGH unconditionally for ANGLE.
    Review URL: https://codereview.appspot.com/7460048
    
    
    Conflicts:
            src/libGLESv2/Shader.cpp
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2059 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit cbb6b6a0416552b5e3fa8589194288532558ccb8
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:27:47 2013 +0000

    Added preprocessor support for GL_FRAGMENT_PRECISION_HIGH.
    I will send the tests in a separate patch because I need to refactor the way compiler_tests are setup.
    Review URL: https://codereview.appspot.com/7402051
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2058 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d2d198e37e93fc04fd84299ce384141dd158338c
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:27:40 2013 +0000

    Fixed compile error for preprocessor tests.
    Review URL: https://codereview.appspot.com/7388051
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2057 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b5b3c7d7e655b0f9341788de655a35354a3420c2
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:27:33 2013 +0000

    Fixes infinite recursion in QueryX::getResult due to similarly named base class accessor.
    
    TRAC #22716
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Author: Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2056 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ee8d3c82a6563bcd6625f65c05335ac73e362a98
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 03:27:26 2013 +0000

    Make position the first vertex output varying on DX9 again to work around an NVIDIA driver issue.
    
    TRAC #22688
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2055 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ce4d25fcd2f300ad122d57a52d5a4d45f9dcd1c1
Author: shannon.woods%transgaming.com@gtempaccount.com <shannon.woods%transgaming.com@gtempaccount.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 13 00:31:20 2013 +0000

    Creating branch for ES3 prototype
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/es3proto@2054 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 25b5f1d197dc1dea005e59ddc4787bdd5dac2942
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Mar 1 00:59:21 2013 +0000

    Fix warning as error in Renderer.cpp.
    Review URL: https://codereview.appspot.com/7420046
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1981 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4e4b1967e9735d2a081768445107a4c6cc970b69
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Mar 1 00:59:13 2013 +0000

    Fix build_angle.gypi so libGLESv2 and libEGL can find precompiled.h.
    Review URL: https://codereview.appspot.com/7450045
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1980 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 78c669d2e658b80e40654b7b76cd5857518cea96
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:24:04 2013 +0000

    Update build revision
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1977 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 06e0df0b7ad3adb3201f74803371dbf807c656a4
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:21:14 2013 +0000

    Fixed plain integer pointers being passed to ShGetInfo which expects size_t pointers.
    
    TRAC #22678
    
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1976 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0efef90c6d8b121846aba0e1016c2d1bfaf3d252
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:21:09 2013 +0000

    Updated the error handling of compressed image sizes based on the ANGLE_texture_compression_dxt spec.
    
    TRAC #13332
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1975 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f548ff2ad2fb3df817b745199c80b947aa82a520
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:21:03 2013 +0000

    Fixed a bug where the texture would not be marked as dirty if mLodOffset was not zero.
    
    TRAC #13332
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1974 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5016f8e44d9e1d27330902e87f0b59e3181b21ea
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:20:57 2013 +0000

    Removed lod level subtraction since TextureStorage::levelCount already subtracts the lod level.
    
    TRAC #13332
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1973 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 81ae58ac5438ed6059529115ea694f5ae1b649ca
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:20:51 2013 +0000

    Image11 now generates multiple mip levels in its staging texture if a lod offset is required. TextureStorage11::updateSubresourceLevel now takes a subresource index on the source texture and copies to the correct subresource if mLodOffset is non-zero.
    
    TRAC #13332
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1972 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit cabb17c5675062b0b8adc2732663916ca8bab98c
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:20:45 2013 +0000

    Made Image11::getStagingTexture private and removed the undefined Image11::updateStagingTexture method.
    
    TRAC #13332
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1971 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c22e3604aeb9147dfd479740b0907979c63b970a
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:20:39 2013 +0000

    Fixed a bug where the wrong number of mip levels would be generated if levels was zero and the lod offset was non-zero.
    
    TRAC #13332
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1970 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2507278c176970810e887b5aaded8b91303b5097
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:20:33 2013 +0000

    Added a utility function to determine if a dxgi format is compressed.
    
    TRAC #13332
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1969 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 86758653831ff8d83ef15c19a62648c09261e467
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:20:26 2013 +0000

    Convert(Min/Max)Lod now takes into account the lod offset so that it always falls within the min and max.
    
    TRAC #13332
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1968 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a3ac01c869ad09c57fd2fb60e529d974eaca1b81
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:20:20 2013 +0000

    Updates ANGLE_depth_texture to reflect proposed changes in requirements for g and b channels.
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1967 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit fff89b3acb48a8dfc1d2d06482276c1f9b9a8af9
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:20:15 2013 +0000

    Build fix for qt-wk2
    Review URL: https://codereview.appspot.com/7381049
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1966 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8e02e3567cb4932e999f56e30cf58fdb9fdc4662
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:20:08 2013 +0000

    Fix ANGLE patching/building issues.
    
    1) Remove an empty file: this causes patch apply failures when updating WebKit side ANGLE.
    2) Fix a 64-to-32 conversion issue.
    3) Append a change to Tokenizer.l that's left out in a previous CL. (cpp is already updated).
    Review URL: https://codereview.appspot.com/7378051
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1965 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit eb68fd0ebb8623e28b8b777fd8c501bdb4f0d179
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:20:01 2013 +0000

    This pulls in mvujovic's build fix in WebKit ANGLE.
    
    Original patch: http://trac.webkit.org/changeset/139665
    Review URL: https://codereview.appspot.com/7392044
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1964 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 550cd0988989cc3e117fb300c919504f7bd99c48
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:19:54 2013 +0000

    Add support for extension EXT_draw_buffers.
    Review URL: https://codereview.appspot.com/7308107
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1963 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 18bd2ecfb8aa52c8504c72592e5da04fa344760c
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:19:46 2013 +0000

    Fix signed / unsigned warning in ParseHelper.cpp.
    Review URL: https://codereview.appspot.com/7330046
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1962 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6b04e1b9e8f7034cca0690f3f830e8f29ef2535d
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:19:41 2013 +0000

    Fixed one remaining 64-bit truncation issue missed in the last CL.
    
    BUG=396
    Review URL: https://codereview.appspot.com/7323055
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1961 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d64b3dab06c30da1e5dd9ba12667ff86388540e2
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:19:26 2013 +0000

    Fixed 64-bit integer truncation issues in shader translator.
    
    This is an incompatible API change, but one which is necessary in
    order to improve correctness of the code. The API version in
    ShaderLang.h is updated and, unfortunately, the define renamed to
    something less ambiguous due to conflicts on some Android buildbots.
    Temporary patches in Chromium and WebKit will be landed separately to
    support this upgrade.
    
    BUG=403,404,405,406,407,408,409
    Review URL: https://codereview.appspot.com/7300058
    
    
    Conflicts:
            include/GLSLANG/ShaderLang.h
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1960 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 45886d6e2dd71da9ba9d4655006546b3251363cb
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:19:20 2013 +0000

    Fix a 64-bit error in ProgramBinary::load
    
    ProgramBinary::save writes a size_t, so ProgramBinary::load needs
    to read it as the same type.
    
    Landed for jschuh.
    Original review: https://codereview.appspot.com/7304057/
    Review URL: https://codereview.appspot.com/7310052
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1959 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d25a6b3699ac031e315eb2f3c7c30abe51f0c018
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:19:13 2013 +0000

    Check that the incoming type to a default precision qualifier statement is valid.
    
    Fixes new WebGL conformance tests
    shader-with-illegal-default-precision.frag.html and
    shader-with-illegal-default-precision.vert.html per
    http://www.khronos.org/bugzilla/show_bug.cgi?id=781 . Also ran WebGL
    1.0.1 conformance tests; no regressions.
    
    BUG=none
    Review URL: https://codereview.appspot.com/7302043
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1958 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8306589928fe88d4158b1d634820c131c60cdf6c
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:19:07 2013 +0000

    Revert the change to treat S_PRESENT_MODE_CHANGED always as device lost on D3D9.
    
    See: https://codereview.appspot.com/7398052/
    
    TRAC #22492
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1957 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e16e651f282538ce32962689a8f43a284ee80fc7
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:19:02 2013 +0000

    Place each info log message on a new line.
    
    TRAC #22635
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1956 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a09c70f033ca63542d591ac4c2ff7c119ff6e6a2
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:18:56 2013 +0000

    Provide an error message when uniform linking fails.
    
    TRAC #22635
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1955 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e2e9798bbcf01eb94375432dacd7a54617532dc2
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:18:50 2013 +0000

    Only discard the storage texture when there is a mismatch with its mipmap chain.
    
    TRAC #20587
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1954 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit cf103f361c2ae24183f0bfd323303a97196a34d5
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:18:45 2013 +0000

    Implemented Renderer11::getDepthTextureSupport.
    
    TRAC #22587
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1953 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 42832a654cfe1fb76a54a8318c8a728ce0692f3b
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:18:38 2013 +0000

    Scale the vertex coordinates when the viewport has been clamped.
    
    TRAC #22649
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1952 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 38e87885a12ab62498315dff4d62cde03e182f55
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:18:32 2013 +0000

    Fixed a bug where a static buffer could sometimes be used if it had not had data written to it.
    
    TRAC #22665
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1951 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d89f1943ad1375e03bd6b3fb36be1ea413dca93c
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:18:27 2013 +0000

    Fix ViewDimension for texture cube SRVs to always be specified as a texture cube.
    
    This caused a D3D11 error on D3D10-only systems.
    
    TRAC #22662
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1950 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 888d0c4ced54c2ee33b3756389e32dd76e1eabf5
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:18:21 2013 +0000

    Revert changes to markAllStateDirty that cleared D3D11 shader resources.
    
    TRAC #22642
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1949 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 236be77d911359106fca6014aa97a340fcea3c30
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:18:15 2013 +0000

    Disable two D3D11 warnings that would sometimes spam the output log for certain WebGL content.
    
    These warnings identified when we set a render target that was bound as a shader resource, and were benign.
    
    TRAC #22642
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1948 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 047dc6252ed69d3c78b49c6c970c1530e5d678a1
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:18:08 2013 +0000

    Only allow direct vertex buffers binding with attribute with 4 byte aligned offsets.
    
    TRAC #22647
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1947 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0693fc37e978bc066e97375bd20d4f51e594e516
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:18:03 2013 +0000

    Fix D3D11 errors from specifying the order of FragCoord, PointCoord, etc different between GS and PS.
    
    TRAC #22646
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1946 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 157c655f3bbaa607d64097da98482319e888838c
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:17:57 2013 +0000

    Ensure nested ternary operator unfolding uses a new scope to avoid redefinition of the same temporary variable.
    
    TRAC #22629
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1945 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 10aadb2d051d509ee4540ff4debf3444cdca35c5
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:17:52 2013 +0000

    Only retrieve the precision of integer and floating-point types.
    
    TRAC #22635
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1944 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d438fd497baeddedec135e7c8bfa4148e116b9a8
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:17:45 2013 +0000

    Use ArraySize to determine size of static arrays.
    
    TRAC #22558
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1943 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e1602ae7e71014fe86b174d191cf75b90a5b5bf2
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:17:38 2013 +0000

    Fall back to drawing indexed points without indices in d3d9.
    
    TRAC #22633
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1942 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d5a91b90ded4ef76c75ed459de5366bd94928c41
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:17:30 2013 +0000

    Validate matching uniform precisions.
    
    TRAC #22635
    Signed-off-by: Shannon Woods
    Signed-off-by: Geoff Lang
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1941 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit fe3c0ef057a5ba7c6f942c2d399e90efb6a2d81f
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:17:22 2013 +0000

    Store the precision of uniforms.
    
    TRAC #22635
    Signed-off-by: Shannon Woods
    Signed-off-by: Geoff Lang
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1940 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit be211b378bf66cb7b98aafe0d1b0c1ae0090f236
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:17:16 2013 +0000

    Clamp the depth passed from glClearDepthf to (0,1) in Renderer11::clear.
    
    This fixes potential out of range D3D11 errors.
    
    TRAC #22643
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1939 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit bdf2d80f459d43f5a6df074431bacf41584f81b7
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:16:20 2013 +0000

    Add precompiled header support for the libGLESv2 project.
    
    TRAC #22518
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1938 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 486d9e9b6b4ed31f66d2624b8e822020fe40a1f7
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:15:41 2013 +0000

    Remove a lot of unnecessary include files and break include chains.
    
    This should speed up incremental compile times when modifying headers, by reducing the number of dependencies.
    
    TRAC #22518
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1937 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0d94d1f75d5cc6a740ed6729952c4cb138289936
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:15:32 2013 +0000

    Add a new header for some constants from Context.h.
    
    TRAC #22518
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1936 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8a40668486c169387175c650bfcfdaef1e0a4ed2
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:15:26 2013 +0000

    Don't discard texture storage when redefining and image to generate mip maps.
    
    TRAC #22632
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1935 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit cb4cc5a7043b982d5cdca5724acd24f112b98a9e
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:15:21 2013 +0000

    Clear all applied texture resources in Renderer11::markAllStateDirty.
    
    This fixes some D3D11 warnings about having the current render target bound to a shader resource view.
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1934 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 276337cb4dd57ffa1077332600fb3cc29b41bb36
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:15:16 2013 +0000

    Pass through the PSIZE semantic all the way to the fragment shader in D3D11, fixing a register error.
    
    In some cases when the app would draw triangles, and writes to gl_PointSize, the vertex shader would
    output PSIZE and the pixel shader would not read it as an input.
    
    TRAC #22561
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1933 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0a71ecfb11e0afa3b0c58bfafa59a715bbae9d47
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:15:10 2013 +0000

    Fix the D3D11 errors being produced about using wrong input layout register signatures.
    
    This was caused by using the same input layout for vertex shaders with different input signatures.
    
    TRAC #22561
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1932 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0b60014ba3b6688614cdc8b7396b7d0a3db68db2
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:15:04 2013 +0000

    Sort the elements of the D3D11 input layouts before we store them in the cache.
    
    This prevents a D3D11 error complaining that the input layout
    uses a different ordering of the vertex elements than the vertex shader.
    
    TRAC #22561
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1931 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4f4215f7d79cc4db6beecd49995ffbd6e9dd490a
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:14:58 2013 +0000

    Make some getter functions in ProgramBinary const.
    
    TRAC #22561
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1930 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 771ca2a1b8a439917ab2f67fc50a9957b2b8daea
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:14:52 2013 +0000

    Fix regression in point sprite geometry shader scaling.
    
    Broken in #22428.
    
    TRAC #22551
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1929 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d8136cbbc2a2d9249ef1acad54fb875fe521eee5
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:14:44 2013 +0000

    Validate the number of uniform vectors.
    
    TRAC #22571
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1928 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a4ba59c67e5eac8afee1664d8b3823f499e9c20b
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:14:38 2013 +0000

    Add handling for certain cases of D3D9Ex device lost.
    
    This will allow us to handle TDR restarts on newer machines. We still don't handle D3DERR_DEVICEREMOVED.
    
    TRAC #22492
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1927 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d3d4208e0d4f34708db30d2adb953c2446588245
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:14:31 2013 +0000

    Use optimization level 0 for D3D11.
    
    TRAC #22516
    Signed-off-by: Shannon Woods
    Signed-off-by: Geoff Lang
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1926 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9cbce9208218480dd4e0d1aab7b589df1f881b70
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:14:24 2013 +0000

    Don't split loops on Shader Model 4+.
    
    TRAC #22516
    Signed-off-by: Shannon Woods
    Signed-off-by: Geoff Lang
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1925 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 31c4f2354382991a2f199d2584ec17bd3db0ae8d
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:14:18 2013 +0000

    Fix D3D11 errors where the application passes in QNAN to glPolygonOffset or for the viewport bounds.
    
    TRAC #22565
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1924 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ce3128ad6e4659555745672909b18c937b28361d
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:14:13 2013 +0000

    Fix using polygonOffsetUnits in place of polygonOffsetFactor in the D3D11 path.
    
    TRAC #22565
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1923 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 51cb88e45989a8b80eed2d7e14ea4e442557e1c9
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:14:07 2013 +0000

    Use actualFormat instead of internalFormat for checking if we can do a fast copy in Image11::copy.
    
    TRAC #22586
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1922 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a7c7bc49da358414824abdd537fb4119a32b1b68
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:14:02 2013 +0000

    Add the proper data offset in Image11::copy, for the slow pixel copy method.
    
    TRAC #22586
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1921 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2c53e4780c68d1f756813971f7a1ef4c3a9fed34
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:13:56 2013 +0000

    Clear the Geometry Shader state in Renderer11::maskedClear.
    
    TRAC #22569
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1920 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 01a5cf980d389bd7112e01b8c31b88ecb4153672
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:13:51 2013 +0000

    Expand GL sampler arguments to a texture and sampler argument for D3D11.
    
    TRAC #22593
    Signed-off-by: Shannon Woods
    Signed-off-by: Geoff Lang
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1919 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 96c21eea84a34524b0c731a8b94d1fdec1724921
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:13:45 2013 +0000

    Initialize shader resource view member to NULL.
    
    TRAC #22595
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1918 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 50ea993ed34ff744e22026cd09085bf9feaec201
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:13:40 2013 +0000

    Fixed the alpha blend mask not being initialized for masked clears.
    
    TRAC #22590
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1917 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 09f326b0e79447d84e791c6611858e0ba67c41a5
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:13:34 2013 +0000

    Implemented Renderer11:getDXT1/3/5TextureSupport.
    
    TRAC #22422
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1916 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7ae9e7fc1648f9c5b5231248e273ed203417cb35
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:13:27 2013 +0000

    Image11 and TextureStorage11 make sure sizes are aligned properly.
    
    TRAC #22422
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1915 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 53b0ecb848cd17a0e72a0b2813c196386e8cf3b1
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:13:21 2013 +0000

    Moved common members in TextureStorage11_2D and TextureStorage11_Cube into TextureStorage11.
    
    TRAC #22422
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1914 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a24d646baea433bc08606f3887bb3730125beba7
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:13:14 2013 +0000

    Added a utility function to determine required texture size alignments.
    
    TRAC #22422
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1913 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit fd86c2ce3737a82f7a012b7729342972feb1df9d
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:13:07 2013 +0000

    Change the max reported viewport size to be the same as the maximum texture size in D3D11.
    
    This fixes a regression in the WebGL conformance test "drawingbuffer-test".
    
    TRAC #22582
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1912 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit cfdfd463f7c30fb71d8d12505bb31f87e1edc6a5
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:13:01 2013 +0000

    Fix the y offset of Renderer11::copytexture to correct the inverted output image.
    
    Was breaking the WebGL conformance test copy-tex-image-and-sub-image.
    
    TRAC #22589
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1911 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 09bf2a79d365082c12094a1f24dc9ff0b944a479
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:12:54 2013 +0000

    Use Map/Unmap instead of UpdateSubResource for uniforms.
    
    TRAC #22480
    Signed-off-by: Geoff Lang
    Signed-off-by: Jamie Madill
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1910 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 315b6403eb0d36c7311204def76dc75fff69caaf
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:12:46 2013 +0000

    Renamed and reorganized the vertex conversion tables in VertexBuffer9.
    
    TRAC #22552
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1909 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5b2d855fbe69f74db2ed98892e2f4f019dd78fce
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:12:32 2013 +0000

    TextureStorage11 classes now create shader resource views for depth stencils.
    
    TRAC #22500
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1908 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 955014de2783f2e47e8a6fcf17d6a74d66e43eaf
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:12:24 2013 +0000

    Added utility functions for converting depth stencil DXGI_FORMATs.
    
    TRAC #22500
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1907 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit cb332ab3a85bb324c027a3cf7855d28f38aaa96b
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:12:18 2013 +0000

    Declare vertex varyings which have not been written, to allow successful linking.
    
    TRAC #22581
    Signed-off-by: Jamie Madill
    Signed-off-by: Geoff Lang
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1906 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4e91d566b61855082158bb105d91683ba84c6ef0
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:12:09 2013 +0000

    Isolate D3DCompiler.h include to just the cpp files that need it, instead of every file that uses the renderer.
    
    TRAC #22499
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1905 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d2811d688721a729f514bd78f7fd12a43beeb0a6
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:11:19 2013 +0000

    Break some of the include chains that cause unneeded dependencies between headers.
    
    TRAC #22499
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1904 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b01158b29f32c5d0c971a471bdbdb6d9caeb2a7b
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:10:59 2013 +0000

    Change filter organization for the Renderer source files, further subdivided between 9 and 11.
    
    TRAC #22499
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1903 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8d8814b7319f7dcc98543649abfd8d188accd1d8
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:10:53 2013 +0000

    Remove D3D9 header included in the D3D11 path, and some references to D3DERR.
    
    TRAC #22499
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1902 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a9a509e048849b9e777083f10797c73a1ada4bad
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:10:44 2013 +0000

    Fixed a bug where the streaming buffer would not get space reserved if a higher index static buffer was invalidated.
    
    TRAC #22543
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1901 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 709fee97669182de3faafd201f58a69b99e9cba4
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:10:37 2013 +0000

    Refactored calculation if a vertex buffer can do direct storage into a helper function.
    
    TRAC #22543
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1900 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 15de0f9be8120f2a09c1eb36e0b059b65561c9e2
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:10:31 2013 +0000

    Moved duplicate code.
    
    TRAC #22428
    Signed-off-by: Geoff Lang
    Signed-off-by: Jamie Madill
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1899 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 13979a6c282df7b6878a56ad1f3aa80277d799ef
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:10:18 2013 +0000

    Optimized applying DX11 uniforms with memcpy.
    
    TRAC #22428
    Signed-off-by: Geoff Lang
    Signed-off-by: Jamie Madill
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1898 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2494c97a0e266f7c7795bd71e1686904a75087e3
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:10:03 2013 +0000

    Store integer and boolean uniforms in 4-element vectors.
    
    TRAC #22428
    Signed-off-by: Geoff Lang
    Signed-off-by: Jamie Madill
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1897 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit cd714ef2873a8f9efafa24d9479001024d113df3
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:09:50 2013 +0000

    Store boolean uniforms as 32-bit integers.
    
    TRAC #22428
    Signed-off-by: Geoff Lang
    Signed-off-by: Jamie Madill
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1896 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a14ecf36b52fb0399deee3fab6f0c8d8c0abba5e
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:09:42 2013 +0000

    Eliminate unused DX11 driver uniforms.
    
    TRAC #22428
    Signed-off-by: Geoff Lang
    Signed-off-by: Jamie Madill
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1895 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6bb4886c9a00b5e8b79c38870f7243dcf30f9bc2
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:09:34 2013 +0000

    Fix the conversion of textures to rendertargets to use the right number of mip levels if we already initialized storage.
    
    When a texture was initialized with glStorage2DEXT or similar, the conversion to RT could change the number of mips.
    
    TRAC #22560
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1894 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 28e7ba01ace9cb20e4ddabb2f164007c93a537e3
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:09:28 2013 +0000

    Fix clearing the geometry shader state in copytexture, and errors generated by a BGRA backbuffer format.
    
    TRAC #22545
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1893 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8d2f086ad33f82aa1a01fe86a1bbfa6eba47e224
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:09:19 2013 +0000

    Only advertise postSubBuffer extension if we can actually present less than the whole buffer.
    
    This is not available in D3D11, though it is added in D3D11.1.
    
    TRAC #22506
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1892 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0bbb08d96ba8c7dba535909cb91594816df12c17
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:09:11 2013 +0000

    Fix the SwapChain11::swapRect x and y coordinates to reference the lower left corner at (0,0).
    
    TRAC #22506
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1891 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3e3da5833393098b525d24a03ef105e75666f13f
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:09:03 2013 +0000

    Allow zero sized system window FBO to be declared complete, and let the application use them for rendering.
    
    TRAC #22548
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1890 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8c6d9df2f486d4245bc44be08530d432bce08593
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:08:57 2013 +0000

    Ensure we do not try to create a swapchain with dimensions smaller than 1x1.
    
    TRAC #22548
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1889 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2df7d8e11841420fb541568fd2255c4d8c8fb2c8
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:08:49 2013 +0000

    Fix a regression when drawing point sprites with a non-one-valued w coordinate.
    
    TRAC #22551
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1888 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a1229a3a67bcbe9be1381b787be3669c07548c3f
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:08:40 2013 +0000

    Index data manager uses direct buffers for indices if possible.
    
    TRAC #22297
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1887 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit db1899ced07525c7efe27886ef131ab09bb5072a
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:08:33 2013 +0000

    VertexDataManager now supports direct buffers when vertex conversion is not needed.
    
    TRAC #22297
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1886 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d212e6203ab44e56c4cc32486810a31b8fc77ef7
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:08:25 2013 +0000

    VertexBuffer has a new abstract method to determine if conversion is required for a given attribute type.
    
    TRAC #22297
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1885 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4587fee94a87a6b54e6b0d46681d67370bafffcb
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:08:18 2013 +0000

    Added an identity flag to VertexBuffer11's conversions.
    
    TRAC #22297
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1884 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 766554167a9581c059a81dcbce05f6355220c063
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:08:09 2013 +0000

    gl::Buffer now uses an rx::BufferStorage to store the data.
    
    TRAC #22297
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1883 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4e52b6356288e7d6aa46ae77e4b2ada8aee4e3c3
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:08:01 2013 +0000

    Added a BufferStorage creation method to renderer.
    
    TRAC #22297
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1882 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 70c856f60cd3a6fc750ab4f1aea406895a6ce175
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:07:53 2013 +0000

    Created a BufferStorage11 class.
    
    TRAC #22297
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1881 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b91187c66303c467a85e1aa9ba1fc27648a2585d
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:07:45 2013 +0000

    Created a BufferStorage9 class.
    
    TRAC #22297
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1880 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1dc3956e7c7e3f51a21b2d594e1f272c94df77f3
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:07:37 2013 +0000

    Created a BufferStorage abstract class.
    
    TRAC #22297
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1879 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9cdced65768f4f4ee407768433e824aa385a2b18
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:07:31 2013 +0000

    Implemented Renderer11::getFloat*TextureSupport.
    
    TRAC #22502
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1878 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6d79257d0a1dd174844fda8a7f5aee36d2d119f4
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:07:25 2013 +0000

    Added a utility function for determining the size of an array.
    
    TRAC #22502
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Nicolas Capens
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1877 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 43ccf3f88ef54beecbd8a8a7735790311621016c
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:07:19 2013 +0000

    Fix a regression with point sprites where the geometry shader state was not properly updated.
    
    This was breaking the ES2 point sprites conformance test.
    
    TRAC #22544
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1876 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8ce2f8f8e9597c045e6cf0c150c9302e7f3466b6
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:07:10 2013 +0000

    Implement larger bounds for viewports and scissor rectangles in D3D11.
    
    This fixes a bug where we would not allow the application to draw outside the viewport, which is valid.
    
    TRAC #22497
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1875 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b35602556fd332fa32620c4ba5e998e781e331a8
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:07:04 2013 +0000

    Add a simple Range type to represent an integer 1D range.
    
    TRAC #22497
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1874 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1abd7974e2759faa46794f6e542738d3d809ce27
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:06:58 2013 +0000

    Enable anisotropic filtering support on the D3D11 path.
    
    TRAC #22504
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1873 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c71ca75ad647335876ed6961ebf461203df4cadd
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:06:50 2013 +0000

    Add support for resizing the window without recreating the swap chain in D3D11.
    
    TRAC #22406
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1872 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 07765506795831140fee944f2573cc1d8ab294e1
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:06:43 2013 +0000

    Don't convert normalized integer types, they are interpreted as floating-point in the shader.
    
    TRAC #22440
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1871 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 291266b41ae699f0374dfff2857a9bf6e5c56d93
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:06:37 2013 +0000

    Implemented Renderer11::getLuminance*TextureSupport
    
    TRAC #22503
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1870 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ea4a0c6671ab0b079ed5e0313699742d1c6a9bd1
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:06:29 2013 +0000

    Changed the rectangle arguments of Renderer11::blitRect from pointers to const references since they are never null or modified.
    
    TRAC #22416
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1869 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1e1deda4cf894ce5d1bd651d2f8de688f4b5358d
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:06:23 2013 +0000

    Implemented Renderer11::blitRect for render targets.
    
    TRAC #22416
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1868 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7e23285f51e48e8f3d75c99a1451023543fb4c66
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:06:15 2013 +0000

    Added a texture object to RenderTarget11.
    
    TRAC #22416
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1867 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d67f9ce00a1ff8289f330bb8ca9233fe38a48be2
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:06:09 2013 +0000

    Added a helper Renderer11::resolveMultisampledTexture method.
    
    TRAC #22416
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1866 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c25537e744c3070f993e82b054c36249013cec22
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:06:03 2013 +0000

    Fixed a rounding bug in copyTexture and removed a redundant parameter blend state setting.
    
    TRAC #22416
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1865 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ae84f738216d52ec3fece51395646db6d084eb0e
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:05:57 2013 +0000

    RenderTarget11 now creates multisampled render targets.
    
    TRAC #22417
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1864 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b3f4be079a52987ea4aeec8fed5613cba7e9085a
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:05:52 2013 +0000

    RenderTarget11 converts the format again for mActualFormat to match RenderTarget9.
    
    TRAC #22417
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1863 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 88fbd0feec1c8617a216386d6d20bbe8e68dcee7
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:05:46 2013 +0000

    Added a Renderer11::getNearestSupportedSamples method.
    
    TRAC #22417
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1862 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit df2fd572d419751477490fef10db8608e5d73545
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:05:40 2013 +0000

    Implemented Renderer11::getMaxSupportedSamples.
    
    TRAC #22417
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1861 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 30f52c6c5ad8f593bbfb91b3e31bc91e505feb3a
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:05:34 2013 +0000

    Preserve the D3D11 offscreen texture contents when the swap chain is reset (ie from window resize).
    
    TRAC #21929
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1860 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ae81383606efb5f9b06e7e21e5ed4ac526b25248
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:05:28 2013 +0000

    Move the code related to creating and resetting offscreen texture resources to its own method.
    
    TRAC #21929
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1859 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 211fa2edc6290101d995dac7a21de54be3e0aab3
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:05:23 2013 +0000

    Only allocate offscreen texture resources when we need them, not every time we reset the swapchain.
    
    This fixes a memory leak that caused the swapchain to initialize unbounded amounts of resources.
    
    TRAC #21929
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1858 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ddd6c80eaf97858d74d2e2effca558051fac5481
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:05:14 2013 +0000

    Add the ability to recover from a removed device (TDR or driver removal) to the D3D11 code path.
    
    TRAC #22411
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1857 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 779aa2618c1333c034768f3a4ca7826a14753b60
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:04:58 2013 +0000

    Enclose error(GLint) and error(EGLint) into gl and egl namespaces.
    
    This should generate a compile time error if we try to call the wrong function.
    
    TRAC #22411
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1856 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit eb049e2c2de52176f2a755460d421889fda9ed19
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:04:49 2013 +0000

    Move the call to notify device lost to the Renderer.
    
    TRAC #22411
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1855 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f5f5949101cbf4df3927810bfd9ca233619494c4
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:04:40 2013 +0000

    Enclose isDeviceLostError and checkDeviceLost in their corresponding d3d9/d3d11 namespaces.
    
    TRAC #22411
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1854 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit dd2524c46ed4689c27adf3f9959435fd2906b621
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:04:33 2013 +0000

    Fix regressions in the unit tests related to setting gl_PointSize, and using other draw modes.
    
    This had two regressions, using gl_PointSize and drawing triangles, and drawing points and triangles
    with the same binary program.
    
    TRAC #22526
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1853 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 43db7955ed8268d63a53ec3b70c714d32c1d7bd6
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:04:28 2013 +0000

    Use the D3D11 adapter LUID for our adapter identifier check in ProgramBinary.
    
    TRAC #22498
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1852 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit eec5c6308990a157ee3fe0f66349ebc3cee3fc19
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:04:21 2013 +0000

    Add support for more depth buffer formats in our EGLConfigs.
    
    This includes no depth buffer and 16-bit depth buffer with no stencil buffer.
    
    TRAC #22496
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1851 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 25950eac28621108df721f9280bae670f2905ad8
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:04:15 2013 +0000

    Fix the order of the channels in readPixelColor, which was messing up BGRA to RGBA readPixels.
    
    TRAC #22529
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1850 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ad74a4b10a90d0353ff941ad792874f1e1440374
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:04:09 2013 +0000

    Enabled vsync in SwapChain11.
    
    TRAC #22505
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1849 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3de0a4538a26798558efd36a9b2879f3c9a0ee8d
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:04:02 2013 +0000

    Updates to extensions from public registry
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1848 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit be58aa08c2867e3483afb6313c5c06cf35c724d4
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:03:55 2013 +0000

    Created Fence11.
    
    TRAC #22420
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1847 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8b7606aad42b7eb5a183b502902106f9ba6f7ac4
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:03:47 2013 +0000

    Created Query11.
    
    TRAC #22419
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1846 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5defc5c0d5c53456d37992fe7ac14af493c12d17
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:03:41 2013 +0000

    Integrated the new rx::Fence class into gl::Fence.
    
    TRAC #22418
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1845 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit cfe787e70c714a2163e67985de34d219aea7f2a7
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:03:35 2013 +0000

    Added a fence creation method to Renderer.
    
    TRAC #22418
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1844 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit dbbe605a5ff144df9efb601c5b3f34021d2074f2
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:03:25 2013 +0000

    Created Fence9.
    
    TRAC #22418
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1843 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit baaa196f766b714799d6197f7dfb7dbd9579599f
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:03:13 2013 +0000

    Created an abstract rx::Fence class.
    
    TRAC #22418
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1842 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 938ac8d7ed15bc859bc9b5dc296c6946270360a4
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:03:06 2013 +0000

    Fixed some circular includes.
    
    TRAC #22418
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1841 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b32e19875065fc668b65ae89511b504cd3da8310
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:02:59 2013 +0000

    gl::Query now uses the abstract rx::Query.
    
    TRAC #22418
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1840 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 50df6c5f8a63c7fba902e4888cf9d63830f96f1e
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:02:49 2013 +0000

    Added query creation methods to Renderer.
    
    TRAC #22418
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1839 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 23f3332a9704969704e5d7990e8b5fc2801ddabf
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:02:42 2013 +0000

    Created Query9.
    
    TRAC #22418
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1838 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit bfbec45a3a2224ee918cded41de2a0bfc55976a3
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:02:34 2013 +0000

    Created an abstract rx::QueryImpl class.
    
    TRAC #22418
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1837 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 09fd9458bc98f31fcd2820dd3fd24bc7114ff56f
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 28 23:02:28 2013 +0000

    Add support for derivative instructions in D3D11.
    
    TRAC #22424
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1836 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 58ae0f6fe2a7b77636e6cd4eb9a9c7e15a93df5d
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Feb 1 06:37:10 2013 +0000

    Update ANGLE_texture_compression_dxt
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1822 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9bb0bacef2826fb48e4f1ac69b87ee1fdad6a9d3
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Feb 1 03:32:19 2013 +0000

    Added an ANGLE instancing sample to a new folder in samples.
    
    This sample will show a user how to use the ANGLE-specific extensions for geometry instancing.
    
    TRAC #22452
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1819 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7e6649e486921a4ad2a934c3161760ffdb5191b4
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Feb 1 03:21:45 2013 +0000

    Update version to r1818
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1818 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 97b16d16bbbc90c142e14266a7c1d582419aa8ed
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Feb 1 03:20:42 2013 +0000

    Do not hash mapping field names of a reserved struct.
    
    With this fixed, Chrome behaves the same on WebGL conformance tests 1.0.2 with/without --enable-shader-name-hashing
    
    BUG=
    TEST=WebGL conformance tests
    Review URL: https://codereview.appspot.com/7229043
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1817 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit bdf787fcd74c684f3374bbb4dc7c3e18e38996ca
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Feb 1 03:20:36 2013 +0000

    Implemented Renderer11::sync.
    
    TRAC #22351
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1816 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d5903cacc59e24d8182ed83533fe26a11870f0b3
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Feb 1 03:20:31 2013 +0000

    Fix mat2 packing to use 2 rows as per spec.
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1815 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 75cb689bcfa026644949bf4e46f77bd7006d4d7b
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Feb 1 03:20:26 2013 +0000

    Fix a memory out-of-bound visit bug.
    
    So len could equal = max_len, and at this point name[len] is out of the range.
    
    BUG=
    TEST=
    Review URL: https://codereview.appspot.com/7223045
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1814 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2d619cd34760872d2c16051dfaaf87957ca56363
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Feb 1 03:20:20 2013 +0000

    Rename ANGLE_multiple_render_targets to EXT_draw_buffers
    
    Trac #21120
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1813 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit bbb0595354a1d0d985fafff3993ec1584bfbd65b
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Feb 1 03:20:16 2013 +0000

    Updates to MRT extension.
    
    Trac #21120
    
        01/30/2013  dgkoch  add issue 6 and clear interactions
                            renamed to EXT_draw_buffers based on feedback
                            changed resolution of issue 3.
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1812 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit fe3246411e6c1e9adefa11075dfaa3deb2855c90
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Feb 1 03:20:11 2013 +0000

    Fix D3D11 instancing support check to test against the current feature level.
    
    TRAC #22414
    
    Signed-off-by: Daniel Koch
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1811 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8b400b1e8d84c5b93dd151807504a3e4b90d1b21
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jan 30 21:53:40 2013 +0000

    Do not use dynamic_cast if RTTI is disabled.
    Review URL: https://codereview.appspot.com/7250043
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1808 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a820c3098db0d5b4c5c1db2fb03157bfa2038112
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 22:04:42 2013 +0000

    Updated version number to 1801
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1801 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e36fddfc185c779f5c6408eb78bfa78d73083fe7
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:57:50 2013 +0000

    Attempt different fix for unknown #pragma on Linux.
    
    BUG=none
    TEST=compiled on Linux and Mac OS
    Review URL: https://codereview.appspot.com/7133076
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1800 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit bef0e5b7491ce5da00610f542edec6a1a91ae4b5
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:57:43 2013 +0000

    Changed optimization level to D3DCOMPILE_OPTIMIZATION_LEVEL1. With
    this optimization level, it appears that array index clamping can be
    enabled on Windows without destabilizing WebGL content.
    
    Tested this change with array index clamping enabled with MapsGL, a
    previous failing test from AlteredQualia, many Three.js demos, the
    Julia Set tutorial from acko.net, the WebGL 1.0.1 conformance suite,
    and other content; all worked.
    
    BUG=none
    Review URL: https://codereview.appspot.com/7197054
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1799 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1d432bb570bd175c3cdc51629a386e324e98b95b
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:57:28 2013 +0000

    Incorporated patch from haixia@ changing the default implementation of
    array index clamping to use the clamp intrinsic. This works more
    reliably on pure OpenGL ES devices and on Windows.
    
    Added a mechanism in ShBuiltInResources to choose the strategy for
    array index clamping.
    
    BUG=none
    TEST=various out-of-bounds array indexing tests and various WebGL content
    Review URL: https://codereview.appspot.com/7194051
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1798 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2f8524d32e89a6a15ea387fb2382b55566bc1a67
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:57:17 2013 +0000

    Fixed compiler warning on Linux resulting in build failures.
    
    BUG=none
    TEST=compiled on Linux
    Review URL: https://codereview.appspot.com/7201056
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1797 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0b236e2ec3c32b79d1abca881a32cbf53027e3d3
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:57:07 2013 +0000

    Removed the programBinary argument from Renderer::setViewport.
    
    TRAC #22478
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1796 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 03951cf9a040453111dc4b312bf276aee7337ea6
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:57:01 2013 +0000

    Implemented D3D11 non-pow2 texture support.
    
    TRAC #22425
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1795 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2ac02d5e2e6bcaa080780fba11636ea3ab47d6e2
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:56:54 2013 +0000

    Fixed rounding error in SwapChain11::swapRect vertex coordinates.
    
    #22472
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1794 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2001a0cc3a7c6cbd9e7b1ddcd07140ee45ad6a9c
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:56:47 2013 +0000

    Remove DXSDK_DIR from search paths.
    
    Chrome now builds ANGLE against the Windows 8 Platform SDK.
    
    Move the include and lib search paths to common.gypi so that downstream projects can specify the location of the Platform SDK or alternatively use the DirectX SDK instead.
    Review URL: https://codereview.appspot.com/7193052
    
    
    Conflicts:
    
            src/common/version.h
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1793 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 14fcb33aee8aa0371677a094e8eb1829fefda4a5
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:56:40 2013 +0000

    Roll gyp dependency to 1564.
    
    This is to fix the standalone gyp build. It couldn't handle changes made in r1721. This is the latest version.
    Review URL: https://codereview.appspot.com/7204049
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1792 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 00032cb2c77dfe812dda092ecfd938e66dce7f3c
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:56:30 2013 +0000

    Implement instancing support in D3D11.
    
    TRAC #22414
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1791 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a9b96d0d3198152e195a97b0a8b0ac31fe436b5a
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:56:18 2013 +0000

    Include windows.h from one place to ensure that min and max macros are not defined.
    
    These conflict with the STL functions of the same name.
    
    This is to make the standalone ANGLE gyp build work again.
    Review URL: https://codereview.appspot.com/7211043
    
    
    Also includes r1729 which adds the missing new file.
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1790 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 55e4b4f585fd8deff58a83fe924c828aab77e206
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:56:11 2013 +0000

    Use TEXT macro to define ANGLE_PRELOADED_D3DCOMPILER_MODULE_NAMES macro.
    
    This is to make the standalone gyp build work again.
    Review URL: https://codereview.appspot.com/7199046
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1789 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e91615cb0765069a6317c84787e10d9ecd7b2359
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:56:03 2013 +0000

    Treat return statements in loops as loop discontinuities.
    
    This is so that texture2D is converted to texture2DLod in loops with return statements. HLSL does not seem to allow gradient operations in loops with return statements. It considers them to be breaks.
    Review URL: https://codereview.appspot.com/7131057
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1788 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 51817d40f4d22606e62b1ad2c177a6b1e461b67f
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:55:57 2013 +0000

    Fix an issue with instanced drawing in the D3D9 path.
    
    TRAC #22447
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1787 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3e773bb4f1a2202d02a546d18ca6e8d9d2440006
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:55:47 2013 +0000

    Implement gl_PointSize point sprite emulation using D3D11 geometry shaders.
    
    TRAC #22412
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1786 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e0e8987ba69388c241674c9f164dd8478f74c8a6
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:55:40 2013 +0000

    Refactor gl_FragCoord and gl_PointCoord usage in ProgramBinary::linkVaryings.
    
    TRAC #22412
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1785 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5bcf7dfb0afcfe62597912a94ce64a88930f419c
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:55:33 2013 +0000

    Move the call to packVaryings outside of linkVaryings.
    
    TRAC #22412
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1784 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 69ff7766ef5fb53d02dc1ff37066bead3a570abd
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:55:24 2013 +0000

    Add a new internal enum for shader type, instead of re-using GL enums.
    
    TRAC #22412
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1783 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 962d4be957880711ec35839b808ba544b7869c05
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:55:18 2013 +0000

    Fix a missing variable initialization in ProgramBinary.
    
    TRAC #22412
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1782 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 190f882b6b2836bf52b624abc8f612d399bf751a
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:55:13 2013 +0000

    Make other angle targets compile on Win64
    
    Addendum to https://codereview.appspot.com/7011048/
    
    BUG=391, chromium:166496, chromium:167187
    
    Landing for jschuh
    Original patch: https://codereview.appspot.com/7075044/
    Review URL: https://codereview.appspot.com/7190044
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1781 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 249667310081546a9676a7e1b2c3c313a11e1725
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:55:08 2013 +0000

    Add comments to ArrayBoundsClamper about why 'clamp'
    
    was not used to do the bounds clamping.
    
    BUG=397
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1780 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit da1ed36a3ba807337ec1d5a2009238c00ce4caab
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:54:57 2013 +0000

    Reorganized new sources from recently applied patch into third_party directory.
    
    Review URL: https://codereview.appspot.com/7105049
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1779 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit aa7c6c1f14b3997869e99d0606a469910e141e31
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:54:50 2013 +0000

    Document GetIntegerv errors in ANGLE_framebuffer_blit.
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1778 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b71c65ca0da4bbaf63dbe30b36372e2137a9ea44
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:54:44 2013 +0000

    Updates for ANGLE_multiple_render_targets
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1777 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 76cd88c5a67c14da7f4e0a7a6491297e3fb49bcb
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:54:36 2013 +0000

    Avoid calling getContext() for resource limits.
    
    TRAC #22243
    Signed-off-by: Jamie Madill
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1776 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 28d268ea21d334ffcdc6fb573793430c848c8dda
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:54:26 2013 +0000

    Increase the varying register count to what the feature level supports.
    
    TRAC #22243
    Signed-off-by: Jamie Madill
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1775 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4e48204afe732c1ad739b73867500d11552b6e4f
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:54:18 2013 +0000

    Increase DX11 uniform count to 1024.
    
    TRAC #22243
    Signed-off-by: Jamie Madill
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1774 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 254317da1b997a0f73b297b8b100116879a8e7a6
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:54:09 2013 +0000

    Retrieve the maximum uniform register count from the renderer.
    
    TRAC #22243
    Signed-off-by: Jamie Madill
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1773 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c60c5215ebab426654d1670282d15652667e38da
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:54:01 2013 +0000

    Implemented D3D11 offscreen texture share handle support.
    
    Chrome uses this to for composited rendering. Currently Chrome uses a BGRA texture format
    for surface sharing, so we must create our offscreen textures this way.
    See EGL_ANGLE_query_surface_pointer, EGL_ANGLE_surface_d3d_texture_2d_share_handle,
    EGL_ANGLE_d3d_share_handle_client_buffer.
    
    TRAC #22410
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Daniel Koch
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1772 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit bec04bf43b2603f33a84c6eb6b6fa4b13ad10161
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:53:52 2013 +0000

    Implement proper BGRA extension support on D3D11.
    
    See GL_EXT_texture_format_BGRA8888.
    
    TRAC #22410
    Signed-off-by: Geoff Lang
    Signed-off-by: Daniel Koch
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1771 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0b7f7cfb3ce40382b02813617674972596984e37
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:53:45 2013 +0000

    Add .opensdf files to .gitignore.
    
    TRAC #22410
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Daniel Koch
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1770 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 29c36410e9683a2978dddb29ca099c1272f606f5
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:53:40 2013 +0000

    Fix assert error triggered in D3D11 path when we redefine textures to GL_NONE.
    
    Instead internally convert them between GL_NONE and DXGI_FORMAT_UNKNOWN.
    
    TRAC #22463
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Daniel Koch
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1769 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 21ba6478bb28924a634074f53d02c7b20f6dc1d5
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:53:32 2013 +0000

    Only update a constant buffer when any of its uniforms are dirty.
    
    TRAC #22327
    Signed-off-by: Daniel Koch
    Signed-off-by: Geoff Lang
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1768 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5929ef275db34c11c6b0da8a5b56d9a6e2f431a0
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:53:24 2013 +0000

    Reuse the constant buffers of the shader executable.
    
    TRAC #22327
    Signed-off-by: Daniel Koch
    Signed-off-by: Geoff Lang
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1767 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 358e88d786a5c48b45a28454861b7018ec39c95f
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:53:11 2013 +0000

    Add constant buffers to ShaderExecutable11.
    
    TRAC #22327
    Signed-off-by: Daniel Koch
    Signed-off-by: Geoff Lang
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1766 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5fb979d55dfac1f6509ac6d10bc8fa22719bcc29
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:53:04 2013 +0000

    Use a single set of constant buffers for the driver uniforms.
    
    TRAC #22327
    Signed-off-by: Daniel Koch
    Signed-off-by: Geoff Lang
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1765 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 46a5b87fbc06b70c3527831d5f2e3551604d9051
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:52:57 2013 +0000

    Store DX11 driver uniforms in a separate constant buffer.
    
    TRAC #22327
    Signed-off-by: Daniel Koch
    Signed-off-by: Geoff Lang
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1764 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2b132f42050d9005cacac5796a9431d0f40cccc1
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:52:47 2013 +0000

    Implements generateMipmap for CPU-side textures
    
    TRAC #22350
    
    Author: Shannon Woods
    Signed-off-by: Jamie Madill
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1763 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c8cd7f6139f018fe334831351b98cfc9060a5042
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:52:40 2013 +0000

    Implements Image::copy for nonrenderable textures.
    
    TRAC #22349
    
    Author: Shannon Woods
    Signed-off-by: Jamie Madill
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1762 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit fdeacb8176e34112da113b3bb7e97692fb557419
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:52:34 2013 +0000

    Adds a function to get the texture resource of a framebuffer's color render target.
    
    TRAC #22349
    
    Author: Shannon Woods
    Signed-off-by: Jamie Madill
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1761 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7d4b482a933d48b93182fbf2d5e0f55fd3b60683
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:52:27 2013 +0000

    Since we can't create a swap chain for another process' window, error out gracefully.
    
    Was triggered from Chrome trying to use a Windows XP path on the DX11 side of things.
    
    TRAC #22438
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1760 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 34f507ce49938eb1f3cd9e2780ea53a72795a20a
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:52:15 2013 +0000

    Implemented masked clearing in Renderer11.
    
    TRAC #22343
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1759 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 81c5ef9b7865dfda4fc5dd9805d6947cebd66e88
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:52:08 2013 +0000

    Reordered the logic of Renderer11::clear to determine earlier if a masked clear is required.
    
    TRAC #22343
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1758 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 233fe9548a2b166d3ccb09a4a7af273fab6dbf2c
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:51:57 2013 +0000

    Added support for vertex texure fetch in DX11 mode.
    
    Trac #22354
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1757 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 338ffa8272ec6ced59e681db2dbc00d2d407b461
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:51:51 2013 +0000

    Add ipch folders and debug.txt to .gitignore.
    
    TRAC #22441
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Daniel Koch
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1756 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5f77c557e967fb1fda38693680375dedb9562b79
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:51:44 2013 +0000

    Fixed a gl_FrontFacing regression.
    
    TRAC #22426
    Signed-off-by: Jamie Madill
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1755 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e688e651ea56b7309e6f193a1bd34de65967b734
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:51:36 2013 +0000

    Remove the ResourceLimits.h reference, which was causing the translator_common to always rebuild.
    
    Also tinker with the deps a bit to allow for more parallelism during the build process.
    
    TRAC #22437
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1754 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4526236b5542c17a7bfb2ca0ac41945b5c9c5a8a
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:51:27 2013 +0000

    Eliminate the D3DCOMPILE_ENABLE_BACKWARDS_COMPATIBILITY flag.
    
    TRAC #22426
    Signed-off-by: Jamie Madill
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1753 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 41ba5e0f5be42d353ad0a9c072a09201a9fadb9c
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:51:20 2013 +0000

    Use SV_IsFrontFace to implement gl_FrontFacing on DX11.
    
    TRAC #22426
    Signed-off-by: Jamie Madill
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1752 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8587f41fc18bb2c9933df54935557b3a987c526e
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:51:14 2013 +0000

    Convert all vertex data to floating-point.
    
    TRAC #22426
    Signed-off-by: Daniel Koch
    Signed-off-by: Geoff Lang
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1751 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 85bdfce9f7a1774c7e1a984a6f26c7f15b1fac78
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:51:07 2013 +0000

    Implemented TextureStorage11*::generateMipMap.
    
    #22355
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1750 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9d971ffdc1f6a082980e4a6ec4cd9c6e695460e8
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:50:53 2013 +0000

    Implemented Renderer11::copyImage.
    
    TRAC #22358
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1749 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f3d820791a61fa7c7dbe35b1f5424e9587199e14
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:50:43 2013 +0000

    Created a basic position and texcoord vertex and helper method in renderer11 utils.
    
    TRAC #22358
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1748 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 664916b706c6adc2c09a003f08dc68d487dec147
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:50:32 2013 +0000

    Renderer::copyImage now uses the ANGLE rectangle structure instead of the windows one.
    
    TRAC #22358
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1747 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2570c34d4ba9058b1544381d6b21a920b405e07a
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:50:22 2013 +0000

    Renamed the passthrough pixel shader to  PS_PassthroughRGBA.
    
    TRAC #22358
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1746 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2a0a39e4dfacf8ac1d71d2a03d9ad50410313b6f
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:50:15 2013 +0000

    Implemented Image11::isRenderableFormat.
    
    TRAC #22358
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1745 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 183408d0c4fdaa702329c5a386e09129aa8b2bb2
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:50:07 2013 +0000

    RenderTarget11 now stores a shader resource.
    
    TRAC #22358
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1744 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 858d32fa8bc0298a7d78954f5340d5019d718d11
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:49:59 2013 +0000

    Texture storage now has deferred creation of all render targets and shader resources.
    
    TRAC #22358
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1743 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5c25ed2f8aa6f1b2b906e9facbd6da21501cee70
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:49:51 2013 +0000

    Reorganized the getter methods of SwapChain11 and added a method to get the offscreen texture shader resource.
    
    TRAC #22358
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1742 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f2685e5f0d8e710054eef23909e43eaa11551087
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:49:42 2013 +0000

    Removed the levels parameter from initializeSRV since it is the same as mMipLevels.
    
    TRAC #22358
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1741 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8204334b61162ce1b575e179265b90fbe8d23ef1
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:49:34 2013 +0000

    Fix and extend essl_to_hlsl to support DX11 HLSL.
    
    TRAC #22330
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1740 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit fb256be9650d869c9df366505e11de2af86dbee5
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:49:25 2013 +0000

    Use the DX11 syntax for GLSL samplers and textures.
    
    TRAC #22330
    Signed-off-by: Geoff Lang
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1739 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b73964e328243021db10ecd98e3e124e82522c43
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:49:14 2013 +0000

    Pass the desired HLSL version down to the HLSL generator.
    
    TRAC #22330
    Signed-off-by: Geoff Lang
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1738 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit bd8c10c4d0ba4c7803e2013a873ffaa48f54f496
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:15:03 2013 +0000

    Move the get maximum point size logic to Renderer9.
    
    Trac #22413
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1737 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4b47235339ceba9ea5182a24ea5d806d9c5521bb
Author: shannon.woods@transgaming.com <shannon.woods@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 25 21:14:56 2013 +0000

    TextureStorage11 classes now store a render target to each mip level.
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Shannon Woods
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1736 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8daaf165a5c137ef15ae2a7794114d2c56219e69
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jan 22 22:33:33 2013 +0000

    Remove dependency on DirectX SDK.
    Review URL: https://codereview.appspot.com/7135062
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1723 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 98100d41b13429cdf0731881dbd7bdac185dc4a4
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 21:19:54 2013 +0000

    Update version to 1717
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1717 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit dd6ad22c46c470717dc140fda52d5110c83141a6
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 21:16:47 2013 +0000

    Fix a few unnecessary uses of Renderer9
    
    Trac #22394
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1716 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4d036457d813315a5d50855fc146827ab44ae9e5
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 21:16:22 2013 +0000

    Remove all possible libEGL includes from libGLESv2
    
    Trac #22394
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1715 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 204677af271502bb1f91d4abd0cf8ab4ab5b49d0
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 21:16:09 2013 +0000

    Cleanup extraneous D3D9_REPLACE comments
    
    Trac #22394
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    
    Blit.cpp and Renderer9.h/.cpp will remain d3d9-specific.
    Remove various unused includes and a typedef.
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1714 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ed36abd83e40bb1c0f4af9ea7314906b86ea3cdd
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 21:15:58 2013 +0000

    Move dirty DX constant tracking from Context to the Renderers.
    
    TRAC #22308
    Signed-off-by: Geoff Lang
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1713 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f06e539adbbfe39b4d59d91a0edb340cc934566a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 21:15:50 2013 +0000

    Initialize uninitialized pointers in SwapChain11 to NULL.
    
    This could cause invalid calls in the destructor in debug builds.
    
    TRAC #22393
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Daniel Koch
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1712 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3d90e6028703a4ced7f82d41ef20551d4a3c6955
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:58:39 2013 +0000

    Change line ending type on compiled shaders and delete now empty shader folder
    
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1711 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9a3b5956b082679f95e6a309f383571c1dcb8cca
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:14:50 2013 +0000

    Update version to 1710
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1710 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ca1ac1f113e18815bab14a3465039bd57b41c10d
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:13:05 2013 +0000

    Add D3D version and shader models to renderer string reported by GetString.
    
    It looks like this now:
    ANGLE (NVIDIA Quadro 600 Direct3D9Ex vs_3_0 ps_3_0)
    
    I also noticed that the strings returned by GetString are not all static so I fixed that as well.
    Review URL: https://codereview.appspot.com/7068058
    
    
    Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
    
    Manual merge from Master by daniel@transgaming.com
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1709 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4fd1f989feaadab717e505c54dee64eff756c5ab
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:12:58 2013 +0000

    Implemented DX11 GL_TRIANGLE_FAN emulation, using a scratch index buffer.
    
    TRAC #22345
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    Author: Jamie Madill
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1708 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 773ff7455a109368de526abd59b930a219029d41
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:12:51 2013 +0000

    Build fix.
    
    BUG=
    TEST=build fine in Linux
    Review URL: https://codereview.appspot.com/7071056
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1707 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6c1203f8fa6a52b39b18ab1dbcb838a9cbec8406
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:12:43 2013 +0000

    In generated shaders, output +INF and -INF as largest single precision floating point number.
    
    C++ streams seem to use the representation 1.$ for INF and that isn't valid syntax in GLSL or HLSL.
    
    Also preserve the sign of INF in constant expressions that divide by zero. I can't figure out what to do about 0/0 because the shader models we are using do not support NaN. Treating it as +INF as before.
    Review URL: https://codereview.appspot.com/7057046
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1706 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 79bb950ec85be9e8fabd9a87a3ee104eb35247ec
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:12:37 2013 +0000

    Update Copyright years on the LICENSE file
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1705 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7629bb6c10907e6aae1710eafd15306d43c1840e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:12:28 2013 +0000

    Disable GL_OES_standard_derivatives when ps_2_x or later is not available.
    
    BUG=392
    Review URL: https://codereview.appspot.com/7027051
    
    
    Author:    bsalomon@google.com
    
    (manual merge from master by daniel@transgaming.com)
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1704 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b3077d086b365b1d54c3d755df19c6f8f349a562
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:12:09 2013 +0000

    Upstream various build fixes from WebKit to ANGLE to make updating ANGLE in WebKit easier.
    
    a) http://trac.webkit.org/changeset/127747
    b) http://trac.webkit.org/changeset/128539
    c) http://trac.webkit.org/changeset/122870 - Specifically, items #3 and #4 in this changeset's commit message.
    
    Review URL: https://codereview.appspot.com/7040045
    
    
    Author:    maxvujovic@gmail.com
    ------
    
    Upodate preprocessor.vcxproj to reflect changes in r1640.
    
    Review URL: https://codereview.appspot.com/7061044
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1703 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b35da7afe3c262235d66aeed64579c57b2f7ac0b
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:12:04 2013 +0000

    Make angle compile on Win64
    
    BUG=http://crbug.com/166496
    BUG=http://crbug.com/167187
    
    Landing this for Justin Schuh:
    https://codereview.appspot.com/7011048/
    Review URL: https://codereview.appspot.com/7040045
    
    
    Conflicts:
    
            src/common/version.h
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1702 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4167cc910276be723901f187dec45d04275abb7e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:11:53 2013 +0000

    Incorporated BSD-licensed changes implementing array bounds clamping.
    
    BUG=none
    TEST=ran associated WebKit layout tests in Chromium
    Review URL: https://codereview.appspot.com/6999052
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1701 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 761630a947aca2df2c29993d758cf6d65db8d740
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:11:47 2013 +0000

    Optimize copyVertexData.
    
    TRAC #2237
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1700 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3c17ba657f02156f74ad69d7aea0dea75053ef7d
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:11:41 2013 +0000

    Removed the dirty parameters flag from Texture.
    
    TRAC #22248
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1699 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e33c8bfa0799f8dcd74a0ac88aacd4247f302386
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:11:33 2013 +0000

    Moved applied texture and sampler caching from Context into the Renderers.
    
    TRAC #22248
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1698 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1e1b5e91c101bdb565f61c5341c69b2bb7702690
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:11:27 2013 +0000

    Release leaked SRVs in TextureStorage11.
    
    TRAC #22231
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Daniel Koch
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1697 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d5df4e8cc7524288a70a97b1af6dd40c612fab1e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:11:21 2013 +0000

    D3D11 device context clears and flushes the state to release internal references before destruction.
    
    TRAC #22231
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Daniel Koch
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1696 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ad3d8270521183b8a6858044fe37a09bf97e2e9e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:11:14 2013 +0000

    Added debug names to swap chain resources.
    
    TRAC #22231
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Daniel Koch
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1695 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 00f2d9cbb6586ea8796d494d6439902be7a51e58
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:11:08 2013 +0000

    Added a utility function to set the debug name on D3D11 resources.
    
    TRAC #22231
    
    Signed-off-by: Jamie Madill
    Signed-off-by: Daniel Koch
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1694 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b115455104f6d20ad1bad11ceddf68e7ce6c8052
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:11:02 2013 +0000

    Caches MipLevel in TextureStorage11, to avoid repeated GetDesc calls.
    
    TRAC #22341
    
    Author: Shannon Woods
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1693 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8dc8e277b4343a73ddbb890c4c8613ace6cc8b1c
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:10:45 2013 +0000

    Moved the shaders from libGLESv2 to the libGLESv2/renderer.
    
    TRAC #22230
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1692 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1ef096726782644f8fae5529ee90a7aa19ab018d
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:10:37 2013 +0000

    Completed D3D11 line loop rendering.
    
    TRAC #22344
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1691 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b37cd2d1340570e6058384d33fb99bc7aa9b1f93
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:10:31 2013 +0000

    Disable large point rendering for DX11.
    
    TRAC #22352
    Signed-off-by: Geoff Lang
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1690 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 74471e03008ba29be4e97323c143dd8ea780857f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:10:26 2013 +0000

    Implemented gl_FragCoord support for DX11.
    
    TRAC #22375
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1689 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2eb7ab71135b777e6d040284c99132e9fbc696da
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:10:21 2013 +0000

    Renderer11::readPixels queries the RenderTarget11 for the correct subresource to read from.
    
    TRAC #22368
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1688 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b68d2bbed00eaf539f530d47f376347b2c79ee8e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:10:15 2013 +0000

    RenderTarget11 now stores the subresource that it represents.
    
    TRAC #22368
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1687 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e76b64b216e9f286210c6b1badd791909cca47bd
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:10:08 2013 +0000

    Implemented support for DX11 integer and boolean uniforms.
    
    TRAC #22364
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1686 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 90c634acba1d2ba2883cbd4e1d715bd1c12a68e6
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:10:01 2013 +0000

    Color blend options may not be used for SrcBlendAlpha and DestBlendAlpha in D3D11.
    
    TRAC #22365
    
    Author: Shannon Woods
    Signed-off-by: Geoff Lang
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1685 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 168763a744d046318b5f77f71e11eb4d914bca59
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:09:56 2013 +0000

    D3D11 uses 1 as the default sampling level, not 0.
    
    TRAC #22365
    
    Author: Shannon Woods
    Signed-off-by: Geoff Lang
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1684 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 442cdc192b140f83a1959c0a68ea357227851964
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:09:49 2013 +0000

    Fixes bugs in rendering to textures.
    
    TRAC #22365
    
    Author: Shannon Woods
    Signed-off-by: Geoff Lang
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1683 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a390e1eeeb5e990c9709ef5a4e80cd73f53f77c5
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:09:39 2013 +0000

    Implemented support for DX11 driver uniforms by assigning fixed register slots.
    
    TRAC #22369
    Signed-off-by: Daniel Koch
    Signed-off-by: Geoff Lang
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1682 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit cc47bc0651158774a1f3f60caa348e2eb5d5e302
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:09:33 2013 +0000

    Fixed a bug with sampler state comparison size.
    
    TRAC #22378
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1681 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9799a2f8595127019054bc7dd99354227fb893ce
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:09:27 2013 +0000

    SwapChain11::swapRects now correctly sets the viewport to the size of the window.
    
    TRAC #22374
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1680 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7fbf486e4bf16530f84a88fa139641d82b334254
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:09:22 2013 +0000

    Fixed applied index buffer offset not being cached.
    
    TRAC #22371
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1679 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ee42a0a066e2e1b2feb220e9f250b680b3536c40
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:09:15 2013 +0000

    Implemented Renderer11::readPixels.
    
    TRAC #22247
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1678 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4d4fadecee977f9d8a3f36703184cd26ad83adbf
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:09:10 2013 +0000

    Reverses the D3D11 vertex winding order WRT GL's.
    
    TRAC #22353
    
    Author: Shannon Woods
    Signed-off-by: Geoff Lang
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1677 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b9c64a8b6a152fb24cc56bc9e26b7f5d32804f24
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:09:04 2013 +0000

    Use an agnostic renderer in Buffer, rather than D3D9-specific.
    
    TRAC #22362
    
    Author: Shannon Woods
    Signed-off-by: Geoff Lang
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1676 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 26041c9a6d5046f47d7847f9b79263425e94edde
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:08:58 2013 +0000

    Implements missing Image::loadData cases.
    
    TRAC #22347
    
    Author: Shannon Woods
    Signed-off-by: Geoff Lang
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1675 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5dd4502f2fdc5a832bb23997348b82c16d2537c3
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:08:53 2013 +0000

    Fixes an incorrect dirty marking in generateMipmaps.
    
    TRAC #22356
    
    Author: Shannon Woods
    Signed-off-by: Geoff Lang
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1674 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c9a501dc27ed761a701c5095ee2e4f8b281e8c39
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:08:46 2013 +0000

    Implements Renderer11::createRenderTarget
    
    TRAC #22340
    
    Author: Shannon Woods
    Signed-off-by: Geoff Lang
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1673 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3cf865099995b26f0c230d1bf6311b3be1bb86df
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:08:40 2013 +0000

    Fixed code style mistakes.
    
    TRAC #22251
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1672 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c06ccb23f7edb470179354a8d24ad00212ad64ca
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:08:34 2013 +0000

    Made the D3D objects returned by RenderStateCache into weak pointers.
    
    TRAC #22339
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1671 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a0b868aa0ff9bb20e47f0acfb86490696be5bfe3
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:08:27 2013 +0000

    When creating ShaderResourceViews, -1 should be used for 'all MipLevels', not 0.
    
    TRAC #22337
    
    Author: Shannon Woods
    Signed-off-by: Geoff Lang
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1670 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 36670db654ab1e943cce86ceb0c8e9aa6de381a0
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:08:22 2013 +0000

    Adds Renderer11::createTexture functions.
    
    TRAC #22336
    
    Author: Shannon Woods
    Signed-off-by: Geoff Lang
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1669 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 669c99595066ec7476be84a4efc9895d49515fec
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:08:16 2013 +0000

    Cached texture and event support on Renderer9.
    
    TRAC #22232
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1668 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0785fad34cf919f9158f51b0e981bf345a748273
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:08:10 2013 +0000

    Implemented Renderer11::setTexture.
    
    TRAC #22252
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1667 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0f9b32095e50a386babf799d6a5e47704a00795a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:08:05 2013 +0000

    Fixed a typo in an error message.
    
    TRAC #22251
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1666 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 54de24f9b9d5752e5385d119c2a401b89800952d
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:07:59 2013 +0000

    Implemented Renderer11::setSamplerState.
    
    TRAC #22251
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1665 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8e4f552e09cc153585d5eccc99526847c9b611a4
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:07:53 2013 +0000

    Implemented sampler state caching in the RenderStateCache.
    
    TRAC #22251
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    Author: Geoff Lang/Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1664 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3d34a8aa2fe0fcd3f020ab00adb491260dd44e89
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:07:48 2013 +0000

    Add sampler state conversion functions.
    
    TRAC #22251
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1663 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8bc304a1c6297dba9c17985e1dbab6a0ece437ef
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:07:42 2013 +0000

    Move sampler state structure to angle types header.
    
    TRAC #22251
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    Author: Geoff Lang/Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1662 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5cdd0586d171e2f81c1c47ca21736c0f3e912b11
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:07:35 2013 +0000

    Fixes places where TextureStorage could have leaked memory during initialization.
    
    TRAC #22250
    
    Author: Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1661 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b50d5302513839a6b88a9f465b5a0a2ce252d2f3
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:07:29 2013 +0000

    Create ShaderResourceViews for TextureStorage objects
    
    TRAC #22250
    
    Author: Shannon Woods
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1660 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 00c0d15f6313c21859bade62e6e2493974304e04
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:07:23 2013 +0000

    Use identical types for VS and PS varyings.
    
    TRAC #22241
    Signed-off-by: Daniel Koch
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1659 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9c4a6256795efba30ec124b8968339a9dc9a0f15
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:07:18 2013 +0000

    DX11 wants VS output and PS input to be in the exact same order.
    
    TRAC #22241
    Signed-off-by: Daniel Koch
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1658 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 22ada2cbe78bc1e2e02841377f9c74b4d074140d
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:07:12 2013 +0000

    DX11 index buffer offset is in bytes.
    
    TRAC #22332
    Signed-off-by: Daniel Koch
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1657 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9f7ede6780e8fc8e73387707843989aa16deb0c6
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:07:06 2013 +0000

    Fixed the number of vertices for DrawIndexed to draw.
    
    TRAC #22332
    Signed-off-by: Daniel Koch
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1656 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 11861cec453b6aae9ec544c2c74661a49f709760
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:07:00 2013 +0000

    SUCCEEDED assertions fixed.
    
    Author: Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1655 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e9cf5e74c74f5cc9fee0b8dd0561f2b606038ba1
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:06:55 2013 +0000

    Patch fixes that should have made it into prior patch for renderable migration.
    
    TRAC #22211
    
    Author: Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1654 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b1c208f95b28f3fa618fe3f8ed233d2d40c9417f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:06:49 2013 +0000

    Migrates textures to render targets with copyToRenderTarget in DX11.
    
    TRAC #22211
    
    Author: Shannon Woods
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1653 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 46cf249e41654c32f0720bd73cd3c5b228a31dca
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:06:43 2013 +0000

    Copies data from the staging texture to the default texture.
    
    TRAC #22210
    
    Author: Shannon Woods
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1652 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9a2f54dbdda14e3a72d1de41ddfdd6e817a29325
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:06:36 2013 +0000

    Adds a function to update a level of a TextureStorage from another resource.
    
    TRAC #22210
    
    Author: Shannon Woods
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1651 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5ea16efaf5ec18ebfd4c1649cbcf148a0398c5cb
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:06:30 2013 +0000

    Adds getStagingTexture to Image11
    
    TRAC #22210
    
    Author: Shannon Woods
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1650 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b2151e5597bd5ed69cb8e0a55c8ad727efee1e04
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:06:24 2013 +0000

    Adds cube descendant of TextureStorage11
    
    TRAC #22209
    
    Author: Shannon Woods
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1649 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4834ee2ccfe4b0a89083daeb42607dc6e21da2e6
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 11 04:06:16 2013 +0000

    Adds TextureStorage11 class and 2D descendant
    
    TRAC #22009
    
    Author: Shannon Woods
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1648 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 52a64e4acfcb78b3084c4cc9fb48ae4fd8f50762
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:13:44 2012 +0000

    Use shader D3D optimization level 0.
    
    Review URL: https://codereview.appspot.com/6943062
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1637 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9aa6fe1ce670d78956eaf7c2715d79ff3f936218
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:13:39 2012 +0000

    Ensured that the mUsesPointSprites flag is properly preserved when loading shaders from binary cache.
    
    BUG=https://code.google.com/p/angleproject/issues/detail?id=389
    Review URL: https://codereview.appspot.com/6884053
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1636 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit db019952466bf83aafd333554dc550fdb6a1c2df
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:13:32 2012 +0000

    Eliminated storing decorated uniform names.
    
    TRAC #22326
    Signed-off-by: Daniel Koch
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1635 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2275f9159895aefa0b9ae7deff08bc40b6f6ede8
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:13:22 2012 +0000

    Eliminated D3DConstantTable.
    
    TRAC #22326
    Signed-off-by: Daniel Koch
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1634 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 68aaf936b06b796db456373e38c1914bee2e15f5
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:13:16 2012 +0000

    Always link uniforms directly retrieved from the compiler.
    
    TRAC #22326
    Signed-off-by: Daniel Koch
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1633 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c7ae02ec7e09860e1218830e0e2ae764107f2162
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:13:11 2012 +0000

    Fixed declaring arrays within structures.
    
    TRAC #22326
    Signed-off-by: Daniel Koch
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1632 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7aa6afff14140cf9c220aa29ee1d4662fb1eea5a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:13:02 2012 +0000

    Assign register indexes to dx_ constants and intercept them.
    
    TRAC #22326
    Signed-off-by: Daniel Koch
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1631 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit da8d38015a6b80501f6f4b8912105e626e88086f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:12:55 2012 +0000

    Implemented support for DX11 sampler uniforms.
    
    TRAC #22242
    Signed-off-by: Daniel Koch
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1630 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e6d12e9d68141460f9adfe135a5741673a41eae5
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:12:47 2012 +0000

    Implemented support for DX11 uniform arrays.
    
    TRAC #22239
    Signed-off-by: Daniel Koch
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1629 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 873f28aaa55ee4a1c4c791de2bc209d4e0b72e64
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:12:42 2012 +0000

    Implemented basic applying of uniform values for DX11.
    
    TRAC #22239
    Signed-off-by: Daniel Koch
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1628 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit fdc7f56bd3a33fe8da24991b656a546e86af68b9
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:12:37 2012 +0000

    Link uniforms.
    
    TRAC #22239
    Signed-off-by: Daniel Koch
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1627 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c5c9e3c54b7d5fe7645540070fb92a6783f2b518
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:12:32 2012 +0000

    Retrieve active uniforms.
    
    TRAC #22239
    Signed-off-by: Daniel Koch
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1626 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 043da138a767ebdf9b4fff83b654f4bfb43ac4f2
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:12:22 2012 +0000

    Provide an API for accessing the uniform array.
    
    TRAC #22239
    Signed-off-by: Daniel Koch
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1625 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f4d9feff26b463102001c10a3dbd84b7b538d049
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:12:13 2012 +0000

    Declare active uniforms.
    
    TRAC #22239
    Signed-off-by: Daniel Koch
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1624 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f956186f22421fb77a27e59b91c48d155a1351d7
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:12:07 2012 +0000

    Collapsed register indexes into one.
    
    TRAC #22293
    Signed-off-by: Daniel Koch
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1623 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 652468c48502fffb8f25a8dbc97f93ed61498de4
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:11:57 2012 +0000

    Assign constant registers manually in HLSL.
    
    TRAC #22293
    Signed-off-by: Daniel Koch
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1622 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3ca980a38c2ab2dbe8a10bcfdff6de98b0f04b05
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:11:52 2012 +0000

    Add utility methods for determining register count.
    
    TRAC #22293
    Signed-off-by: Daniel Koch
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1621 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8803b85f6ea4d2dcc8bf04ce3bbc4d52fd469659
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:11:47 2012 +0000

    Simplified uniform/varying/attribute output.
    
    TRAC #22293
    Signed-off-by: Daniel Koch
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1620 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d0f82bc4ddcf466eb048cdc6769e1c253bda84ed
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:11:42 2012 +0000

    Fixed a bug in Renderer11::clear where the wrong render target is fetched.
    
    TRAC #22246
    
    Author: Geoff Lang
    Signed-off-by: Shannon Woods
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1619 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c51143010f903323679266df2aa47a233c964f12
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:11:36 2012 +0000

    Implemented Renderer11::drawElements.
    
    TRAC #22246
    
    Author: Geoff Lang
    Signed-off-by: Shannon Woods
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1618 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 005979d733af90070cb09819a5ce0c5aa3fc974e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:11:29 2012 +0000

    Adds new functions to support load*Data for DX11-supported formats
    
    TRAC #22294
    
    Author: Shannon Woods
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1617 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8ca7d3758cd40d0cf0b388e06425fc8dabe0c8bc
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:11:22 2012 +0000

    Renames current load*Data functions to clarify destination format.
    
    TRAC #22294
    
    Author: Shannon Woods
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1616 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d8353dd8e5e4a12cb6efbd5ebe15e573a9b84913
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:11:14 2012 +0000

    Removes extraneous D3D9-ims in TextureStorage code.
    
    TRAC #22300
    
    Author: Shannon Woods
    Signed-off-by: Geoff Lang
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1615 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 413d27110d15e3f218ab8b1db01d08cdc036edb6
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:11:04 2012 +0000

    Moves creation of renderer-specific texture storage objects to the renderer.
    
    TRAC #22300
    
    Author: Shannon Woods
    Signed-off-by: Geoff Lang
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1614 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 87705f8292857d1446f0967c43b7fac66a70d9c2
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:10:45 2012 +0000

    Renames classes in the TextureStorage heirarchy for clarity
    
    TRAC #22300
    
    Author: Shannon Woods
    Signed-off-by: Geoff Lang
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1613 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 34da397e13a101d6157619bfbd6c2f33efbd1a31
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:10:29 2012 +0000

    Moves TextureStorage class to TextureStorage9, mostly.
    
    TRAC #22300
    
    Author: Shannon Woods
    Signed-off-by: Geoff Lang
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1612 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 09929a2be9322fa5fe0fcf3f973d9d9e593107a4
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:10:21 2012 +0000

    Creates the TextureStorageInterface class
    
    TRAC #22300
    
    Author: Shannon Woods
    Signed-off-by: Geoff Lang
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1611 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c5431eb29f8ffa0088b750139802fceb31e1cc33
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:10:15 2012 +0000

    Implemented Renderer11::applyVertexBuffer and Renderer11::applyIndexBuffer.
    
    TRAC #22238
    
    Author: Geoff Lang
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1610 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit cd9458d9213fe7531d6e7bab816e1442db04b3d8
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:10:09 2012 +0000

    Created InputLayoutCache for D3D11 input layouts and vertex buffer application.
    
    TRAC #22235
    
    Author: Geoff Lang
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1609 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 11c2af555ad90d9079b2a55398253f165616712c
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:10:01 2012 +0000

    Implemented IndexBuffer11.
    
    TRAC #22237
    
    Author: Geoff Lang
    Signed-off-by: Shannon Woods
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1608 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1e3a80411aa79afd2fbe1eeff66b28d2049a5814
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:09:55 2012 +0000

    Integrated new IndexBuffer into IndexDataManager and Renderer9.
    
    TRAC #22237
    
    Author: Geoff Lang
    Signed-off-by: Shannon Woods
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1607 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0b6d7741f627082bc197034e43da47e975909238
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:09:47 2012 +0000

    Added an IndexBuffer creation method to Renderer.
    
    TRAC #22237
    
    Author: Geoff Lang
    Signed-off-by: Shannon Woods
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1606 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a5e0d720d1570a9bfe71c8d0fc3308b8496a97a2
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:09:36 2012 +0000

    Implemented IndexBuffer9.
    
    TRAC #22237
    
    Author: Geoff Lang
    Signed-off-by: Shannon Woods
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1605 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2befccdf021fe2962f6cfd6f0ffb541954390d78
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:09:31 2012 +0000

    Added abstract IndexBuffer class.
    
    TRAC #22237
    
    Author: Geoff Lang
    Signed-off-by: Shannon Woods
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1604 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 50cc725131415c0448592104ae2ad5f2079ebc1b
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:09:23 2012 +0000

    Renamed IndxBuffer to IndexBufferInterface.
    
    TRAC #22237
    
    Author: Geoff Lang
    Signed-off-by: Shannon Woods
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1603 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 955377ebef0134a7258a8b690853bccb705e9ad3
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:09:15 2012 +0000

    Moved IndexBuffer into its own file.
    
    TRAC #22237
    
    Author: Geoff Lang
    Signed-off-by: Shannon Woods
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1602 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 868a1160ff4ea3f01af9eaa3eae14d83b83a3516
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:09:09 2012 +0000

    Fixed some paths in the angle gypi project file.
    
    TRAC #22237
    
    Author: Geoff Lang
    Signed-off-by: Shannon Woods
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1601 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6826ac1a0c1b6c3d54abdf1e5a53f7580cd80497
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:09:05 2012 +0000

    Fixed missing files in visual studio project filters.
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1600 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 097674f80a718a39261d7b58029768a0802f2150
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:09:00 2012 +0000

    Added an additional null check in VertexBuffer9::discard.
    
    TRAC #22227
    
    Signed-off-by: Daniel Koch
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1599 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2c4d070c77f2ce54eeebf7e967b99986a7f18ef0
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:08:51 2012 +0000

    Implemented VertexBuffer11.
    
    TRAC #22227
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1598 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8226f4c91275208dc21a82f9a2b5bde0898fec11
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:08:42 2012 +0000

    Combine major, minor and build revision as the program binary version.
    
    TRAC #22245
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1597 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ab1c14629ce8af6bc76b29452e2677a8f0cdfc1a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:08:30 2012 +0000

    Provide a stub for Renderer11::applyUniforms.
    
    TRAC #22245
    Signed-off-by: Daniel Koch
    Signed-off-by: Geoff Lang
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1596 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 15186aa7049f5b39916f93631a2de3f1c2e7545d
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:08:23 2012 +0000

    Move Uniform to separate files.
    
    TRAC #22245
    Signed-off-by: Daniel Koch
    Signed-off-by: Geoff Lang
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1595 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b6e55102440fb32157ee2cbc2d35aa21d46454f7
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:08:14 2012 +0000

    Move setting the uniforms to the Renderer implementation.
    
    TRAC #22245
    Signed-off-by: Daniel Koch
    Signed-off-by: Geoff Lang
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1594 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8320a2802f9839b9fa32aa010f5843318aa24d65
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:08:08 2012 +0000

    Remove special handling of DX constants as uniforms.
    
    TRAC #22245
    Signed-off-by: Daniel Koch
    Signed-off-by: Geoff Lang
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1593 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a8aac672c49a9e9b0a191ebe7bf2b7cfa649ea22
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:08:00 2012 +0000

    Creates Image11 class
    
    TRAC #22208
    
    Author: Shannon Woods
    Signed-off-by: Geoff Lang
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1592 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9a583651155df14b6be5e2594b412847a15d7def
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:07:54 2012 +0000

    Renames "dx9" utility namespace to "d3d9"
    
    TRAC #22208
    
    Author: Shannon Woods
    Signed-off-by: Geoff Lang
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1591 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8fb65c8fcf52064e9ee96c706512b7c245978a8b
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:07:49 2012 +0000

    Adds a utility function to calculate the size of a pixel given a DXGI format.
    
    TRAC #22208
    
    Author: Shannon Woods
    Signed-off-by: Geoff Lang
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1590 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4150d362e1d5f1e2cc4d63d171d1d72fb8be9cc7
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:07:43 2012 +0000

    Change VertexBufferInterface and VertexDataManager to use new VertexBuffer.
    
    TRAC #22226
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1589 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3f255b48a70b8f720d5da7cf2046eb81ba6606c2
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 21:07:35 2012 +0000

    Added vertex buffer creation methods to renderer.
    
    TRAC #22226
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1588 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b80a190156f46ce50c6872b8b079c93f24256e9c
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 20:57:09 2012 +0000

    Implemented VertexBuffer9.
    
    TRAC #22225
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1587 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit dcfb1f79cf7fd200276273949e864d268497b88c
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 20:57:03 2012 +0000

    Add abstract VertexBuffer class.
    
    TRAC #22225
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1586 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e4e45066ba9d573d05d883ecbec478b81606af67
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 20:56:53 2012 +0000

    Renamed VertexBuffer to VertexBufferInterface.
    
    TRAC #22225
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    Author: Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1585 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 593ebc41998cc2bf9dbea20b7a455d207845e438
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 20:56:46 2012 +0000

    Apply DX constants directly.
    
    TRAC #22245
    Signed-off-by: Daniel Koch
    Signed-off-by: Geoff Lang
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1584 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 88853c50152eace32aaaaaca1154aa577feb44d5
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 20:56:40 2012 +0000

    Don't expose DX constants as GL uniforms.
    
    TRAC #22245
    Signed-off-by: Daniel Koch
    Signed-off-by: Geoff Lang
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1583 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1298518804934fac7f8ecd37ad58a5ac100cff36
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 20:56:31 2012 +0000

    Combine dx_Depth and dx_FrontCCW into dx_DepthFront.
    
    TRAC #22245
    Signed-off-by: Daniel Koch
    Signed-off-by: Geoff Lang
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1582 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 97c852b2e2fc61b2712be3c00cd4ba4b14dadeb6
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 20:56:23 2012 +0000

    Move isTriangleMode to utilities.h.
    
    TRAC #22245
    Signed-off-by: Daniel Koch
    Signed-off-by: Geoff Lang
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1581 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7386858e17ed4bec48892a3889521fcdaf0fe35c
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 20:56:10 2012 +0000

    Compute gl_FrontFacing using a single float constant.
    
    TRAC #22245
    Signed-off-by: Daniel Koch
    Signed-off-by: Geoff Lang
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1580 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a41d07f0434c7b674510fda137daaaebb4b0ed6d
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 20:55:57 2012 +0000

    Merged the VertexBuffer and ArrayVertexBuffer classes.
    
    TRAC# 22224
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1579 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 29787c319e2e8b10ccf0877d567a9b3d63c414f1
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 20:55:48 2012 +0000

    Moved VertexBuffer and derivations into VertexBuffer.h/cpp.
    
    TRAC# 22224
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1578 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit bd64318fa7f95914fc78c5cb30e3f43abf83ac05
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 20:55:42 2012 +0000

    Fixed line endings in visual studio project files.
    
    TRAC# 22224
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1577 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e499141632259ca0189c07c5eb947b728ff4ebbe
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 20:55:34 2012 +0000

    Move program binary serial caching to renderer
    
    Trac #22249
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1576 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9a067375601a2fb6f3d1cb66c49187fab7466a3e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 20:55:24 2012 +0000

    Ensure state caching variables are handled consistently in markAllStateDirty
    
    Trac #22249
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1575 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 12e02218fe8a0a8ff962463a4f185d276421195b
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 20:55:15 2012 +0000

    Moves renderer-agnostic portions of GenerateMip to their own header
    
    TRAC #22254
    
    Author: Shannon Woods
    Signed-off-by: Geoff Lang
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1574 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 09c81e30f7df0ae34ce6ef4cf3d64322aae760fe
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 20:55:01 2012 +0000

    Renames TextureSSE2 to ImageSSE2 and moves it to the renderer directory.
    
    TRAC #22254
    
    Author: Shannon Woods
    Signed-off-by: Geoff Lang
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1573 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4ba2406781174627e817ca547a6e9f6b1a196ff0
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 20:54:24 2012 +0000

    Migrate Image to Image9 and add an abstract base
    
    TRAC #22254
    
    Author: Shannon Woods
    Signed-off-by: Geoff Lang
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1572 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f721fdbdaa5c675e60115e8f0203956f848c1fc1
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 20:53:11 2012 +0000

    Moves GenerateMipmap function to the Renderer
    
    TRAC #22254
    
    Author: Shannon Woods
    Signed-off-by: Geoff Lang
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1571 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c5c806d3289d8f6b6484157b8d8f0d64390111f1
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 20:52:53 2012 +0000

    Passes a base-class Renderer pointer to Image where needed, instead of Renderer9
    
    TRAC #22254
    
    Author: Shannon Woods
    Signed-off-by: Geoff Lang
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1570 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 244e1838a3d475c26e6bc1830aab5e87f8bf8c48
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 20:52:35 2012 +0000

    Adds a function to the Renderer which will return a newly created Image.
    
    TRAC #22254
    
    Author: Shannon Woods
    Signed-off-by: Geoff Lang
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1569 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d9ec902281ce1efe9a1905a43d86f2f4a3495ae5
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 20:52:16 2012 +0000

    Changes the Image array contained in Texture classes to an array of Image pointers.
    
    TRAC #22254
    
    Author: Shannon Woods
    Signed-off-by: Geoff Lang
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1568 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e4e1a33c92ac29b3ff561bba6c7975afc7a01f17
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 20:52:09 2012 +0000

    Move NullColorbuffer handling from Framebuffer to Renderer9
    
    Trac #22229
    
    Uses a 12-entry LRU cache to avoid recreating them unnecessarily.
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1567 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f5a2ae55f167e1e6f4a86f8f51604b050975b6a3
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 20:52:03 2012 +0000

    Fix implicit vector truncation warnings.
    
    TRAC #22218
    Signed-off-by: Daniel Koch
    Signed-off-by: Geoff Lang
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1566 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a16a55f7286ac5b4bbfc0d767e6e55e5714fa062
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 20:51:54 2012 +0000

    Add explicit std:: namespace to code from <cXYZ> includes.
    
    Some platforms seem to implicitly include the <XYZ.h> headers
    which also add some types and functions (like strlen, size_t,...)
    into the global namespace.
    
    On other platforms though, this can result in compile errors, which
    is noticeable in WebKit on e.g. QNX. See also:
    https://bugs.webkit.org/show_bug.cgi?id=95468
    
    https://codereview.appspot.com/6843083/
    
    Contributed by Milian Wolff, Klaralvdavens Datakonsult AB.
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1565 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1b0de067a08c98fa82c0b1fa53047a2701ef6e48
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 20 20:51:47 2012 +0000

    Limit struct size to size of full shader constant.
    
    The HLSL compiler can optimize out the last elements of a struct, which caused ANGLE to overwrite constants right after the end of the struct. Each element in a struct should be limited by the size of the entire struct.
    
    BUG=
    
    Review URL: https://codereview.appspot.com/6856100
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1564 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0deeb8cda4eed337293b58765b73394a72480ec1
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 22:01:36 2012 +0000

    Fix mixed line endings in generateshader.bat
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1552 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e8936afc4920700af06763ba10d74adc87e21772
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 21:56:19 2012 +0000

    Remove empty preprocessor/new directory
    
    
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1551 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4d61f1c7fe287af3f2a0963306776e906a921cea
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 21:32:15 2012 +0000

    Update version on dx11proto branch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1550 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d55e8c1b48f16f93cb89798fc3640047eb74d3fd
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 21:07:02 2012 +0000

    Scissor test state is set as part of the Renderer::setScissor method.
    
    TRAC #22206
    
    Moved scissorTest out of RasterizerState.
    Fixes buffer-offscreen-test and buffer-preserve-test CTS regressions.
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1549 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 312404870905e1eff46e21632c1c2f2143af4694
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 21:06:41 2012 +0000

    Changed D3DConstant table, IndexDataManager,VertexDataManager and vertexconversion namespaces.
    
    TRAC #22198
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1548 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 50aadb05a42db8a9027ac2681a1dec83f351e4e2
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 21:06:11 2012 +0000

    Moved D3DConstantTable, IndexDataManager, VertexDataManager and vertexconversion files.
    
    TRAC #22198
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1547 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 25e16afcef3dc214789acb141c959d45a1f000b9
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 21:05:57 2012 +0000

    Move HLSL compilation to Renderer.
    
    TRAC #22205
    Signed-off-by: Daniel Koch
    Signed-off-by: Geoff Lang
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1546 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit be281b08fe3a11a72a77ae7b6a0ebbedfd6a57f1
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 21:05:48 2012 +0000

    Move constant table retrieval out of compileToBinary.
    
    TRAC #22205
    Signed-off-by: Daniel Koch
    Signed-off-by: Geoff Lang
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1545 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d4cf251ef11dee06e52a3f4a9a12487f01839b05
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 21:05:41 2012 +0000

    Implemented Renderer11::drawArrays.
    
    TRAC #22153
    Signed-off-by: Daniel Koch
    Signed-off-by: Geoff Lang
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1544 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 97b59305c0e67466f670edac8e4df9a711a4b32b
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 21:05:34 2012 +0000

    Fixed setting write masks when not alpha blending.
    
    TRAC #22153
    Signed-off-by: Daniel Koch
    Signed-off-by: Geoff Lang
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1543 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 617048e8cce9de4d0a5a8e98d06ec8dd1f5b3441
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 21:05:22 2012 +0000

    Fixed the semantic for SM4+ vertex output position.
    
    TRAC #22153
    Signed-off-by: Daniel Koch
    Signed-off-by: Geoff Lang
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1542 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d4b2db254ed6cb0b3a60a4b0077a0c9aa11b7421
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 21:05:15 2012 +0000

    Implement Renderer11::applyShaders.
    
    TRAC #22153
    Signed-off-by: Daniel Koch
    Signed-off-by: Geoff Lang
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1541 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e097047e2ae1400cb2e741aa50a51781fc28dce4
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 21:05:07 2012 +0000

    Implemented SwapChain11::swapRects.
    
    TRAC #21930
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1540 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 91dca6afc15d209a861b4fb6a03563b59213a8e0
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 21:04:56 2012 +0000

    Added a SM4 pass through shader.
    
    TRAC #21930
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1539 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 567b9cfd56524b38c83e5f2ec5c9201601f32494
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 21:04:46 2012 +0000

    SwapChain11 is now created with the correct dimensions.
    
    TRAC #21930
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1538 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c8c70adcb87042b8fc509025f44ebae1c2291bd5
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 21:04:37 2012 +0000

    Renamed SwapChain11's textures and views.
    
    TRAC #21930
    
    Renamed SwapChain11's textures and views to better represent if they are for the back buffer or offscreen texture.
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1537 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c52be63dba2e6297fc480124330f8f24e706c998
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 21:04:28 2012 +0000

    Apply the input topology.
    
    TRAC #22151
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1536 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7b18d0c45c43e19d2501a33f7f3c5bb66bf91f36
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 21:04:10 2012 +0000

    Store the shader bytecode in ShaderExecutable to pass it to CreateInputLayout.
    
    TRAC #22191
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1535 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 18adad0cdbb1e29ef9df98162555cac413b2ac0f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 21:04:03 2012 +0000

    Create and set a basic vertex buffer.
    
    TRAC #22153
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1534 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit da495a111d6837e456b42a7a270af022f7f50e14
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 21:03:56 2012 +0000

    Create and set a basic input layout.
    
    TRAC #22153
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1533 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0b03b06c0e53c6d33e243aa9c2a2f5e89e146269
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 21:03:49 2012 +0000

    Implement applyPrimitiveType for Renderer11.
    
    TRAC #22153
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1532 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a2f9fbe3903671b6c427f7dc11ac0bec94a9538c
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 21:03:40 2012 +0000

    Implemented Renderer11::loadExecutable.
    
    TRAC #22191
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1531 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 813bb7885df582218c8c7d118414fa172ebb36f9
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 21:03:30 2012 +0000

    Add ShaderExecutable11 files.
    
    TRAC #22191
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1530 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 071ee6a691119083d7479d5e01c6cd1a51dcfabc
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 21:03:21 2012 +0000

    Implemented Renderer11::compileToExecutable.
    
    TRAC #22191
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1529 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 04af90f051375381233a5d9cda1d9bc01d2156d8
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 21:03:09 2012 +0000

    Load the compiler module for D3D11.
    
    TRAC #22191
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1528 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c5693159c275f94e5d0fafffe9b5600038e69f6a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 21:03:02 2012 +0000

    Use SV_Target semantic for gl_Color when compiling for Shader Model 4+.
    
    TRAC #22191
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1527 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 77fbf973b3da9d411e6e1bba47d7f2ebd5aa6c11
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 21:02:55 2012 +0000

    Skip applying uniforms for the D3D11 renderer (unimplemented for now), to make ProgramBinary back-end independent.
    
    TRAC #22191
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1526 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 28e3692d5b557903e84cf0df7ab73161300a2d79
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 21:02:47 2012 +0000

    Remove getRenderer9 from Display
    
    Trac #22200
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1525 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1f57d18a73175b3126298da63243e5a2d77b4824
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 21:02:38 2012 +0000

    Remove unnecessary d3d9.h includes
    
    Trac #22200
    Signed-off-by: Geoff Lang
    Signed-off-by: Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1524 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 54e675488eb86a7b01ced49fcac4c1c829a5305a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 21:02:31 2012 +0000

    Implemented Renderer11::clear for basic clear operations.
    
    TRAC #22150
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1523 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e9c71b4ae4d056b0c37d2023f908e8ba62460678
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 21:02:23 2012 +0000

    Fixed an incorrect return value.
    
    TRAC #22149
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1522 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 80fc3326493eee780094e1f28e60d6e8c27fbdfd
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 21:02:13 2012 +0000

    Implemented Renderer11::applyRenderTargets.
    
    TRAC #22149
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1521 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 816c7f371475d5923b72885e2d7239958ade0cbc
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 21:02:01 2012 +0000

    Added getter methods to RenderTarget11 for the render target and depth stencil views.
    
    TRAC #22149
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1520 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 32cb08f40a8930d851e2b4e46303130ea6391054
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 21:01:50 2012 +0000

    Removed the mRenderTargetDesc member from Context.
    
    TRAC #22145
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1519 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4c4ce233dc7953a07c126e0cba1b43c2a89ecc80
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 21:01:40 2012 +0000

    Added an ignoreViewport parameter to Renderer::setViewport.
    
    TRAC #22145
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1518 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3a0ef48010e6a3e95c9d72f982ab6d3d4cad0c6f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 21:01:20 2012 +0000

    Refactored Renderer::setDepthStencilState to no longer require the stencil size parameter.
    
    TRAC #22145
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1517 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 237bc7e55bb631ebd1f5e7981b30b8a2eafbb606
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 21:01:06 2012 +0000

    Refactored Renderer::setRasterizerState to no longer need a depthSize parameter.
    
    TRAC #22145
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1516 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e2f7b6b30c22d02b57bb2d4679a8bb3c420e1bce
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 21:00:51 2012 +0000

    Refactored Renderer::setViewport to no longer take render target size arguments.
    
    TRAC #22145
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1515 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 04f1b33c3c05dfb46b410ecb1a2d162d54458e98
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 21:00:40 2012 +0000

    Refactored Renderer::setScissor to no longer require render target size.
    
    TRAC #22145
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1514 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7b6b83ea29cdea7c48f1bc3810bf66e60d9d2137
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 21:00:30 2012 +0000

    Added currently set render target information to Renderer11.
    
    TRAC #22145
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1513 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 536dd6e9a78e619971c3a86ebf001b3569069965
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 21:00:18 2012 +0000

    Release Blob after creating executables.
    
    Trac #22155
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1512 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 70a219bc1637c98cae30baf60de6d713131a2755
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 21:00:08 2012 +0000

    Fix line endings on a number of files
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1511 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4f0f65ee128e5628a07ac9eefdc7afd83856dc79
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 21:00:00 2012 +0000

    Get rid of ShaderExecutable9 usage in ProgramBinary
    
    Trac #22155
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1510 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4f6024ad79b9445cc614cb3209b807efe75792c2
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 20:59:52 2012 +0000

    Make shaderExecutable::getConstantTable virtual
    
    Trac #22155
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    
    Should be temporary until we figure out what we're doing in ProgramBinary for d3d11 shaders
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1509 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c0ccbd83f41be153d50196243db4ae7dedcccb7c
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 20:59:37 2012 +0000

    Add a get*Function method to the ShaderExecutable interface
    
    Trac #22155
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    
    This allows ProgramBinary::save to avoid knowing about D3D9 shaders
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1508 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 360385473c91f45e83cb63897dfcc7b120a377f7
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 20:59:26 2012 +0000

    Fix pointer type for GUID in ProgramBinary::load
    
    Trac #22155
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1507 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f0516cfdc955f6396a4d9714e073319e9248d896
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 20:59:18 2012 +0000

    Inline the Renderer9::compilerShaderSource function
    
    Trac #22155
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1506 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 95892416b19510e9981737d526ecd06a735f6777
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 20:59:09 2012 +0000

    Store ShaderExecutables on the ProgramBinary instead of d3d9 shaders
    
    Trac #22155
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    
    Also hooks up binary loading to the loadExecutable function.
    The other notable change is that getVertex/Pixel shader no longer
    add reference counts to the returned objects.
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1505 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5531890fd23a8747eda7d11acf23df8117d6d944
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 20:58:58 2012 +0000

    Add loadExecutable function to Renderer
    
    Trac #22155
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    
    factored out of compileToExecutable as we also need this when loading binaries from disk.
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1504 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a9c7142435f100d43684a0efe8894cbe42ee8fcc
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 20:58:45 2012 +0000

    Move compileToBinary to Renderer
    
    Trac #22155
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    
    The body of compileToBinary was moved to Renderer9 and the
    ProgramBinary simply calls compileToExecutable which does both
    the compilation to binary and creation of the shaders which
    are then wrapped into a ShaderExecutable and then returned.
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1503 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c68fa87f8f125630a9b0236736c69a822d59a72e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 20:58:32 2012 +0000

    Remove the ConstantTable member variables
    
    Trac #22155
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    
    Since we no longer keep them as member variables, we need to make sure
    we delete them before leaving the function.  This made it necessary
    to reflow some of the logic.  We can now attempt more parts of linking
    even if it will ultimately fail, but sometimes the partial link
    information is useful (ie for attributes).
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1502 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a418ef12ea43a15d703d0f34ebd8fc8f82dde5b5
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 20:58:22 2012 +0000

    Explicitly pass constant tables to linkUniforms
    
    Trac #22155
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1501 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 59d9ab1426c7508e378c0db1c4d4c5f2a12d382a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 20:58:14 2012 +0000

    Explicitly pass the constant tables to the defineUniform function
    
    Trac #22155
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1500 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d2fb490ed17ecb9fe727437c701491be2f75e621
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 20:58:06 2012 +0000

    Remove default parameter from ProgramBinary::defineUniform and make it explicit
    
    Trac #22155
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1499 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d5d1019770f0de5dc1d8b356fa1df48019204378
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 20:57:55 2012 +0000

    Add ShaderExecutable and ShaderExecutable9 classes to encapsulate back-end specific shader-isms.
    
    Trac #22155
    Signed-off-by: Geoff Lang
    Signed-off-by: Nicolas Capens
    Author: Shannon Woods & Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1498 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 27290c1bce973bd7993acf2dbd7bdbdb9b317c3e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 20:57:47 2012 +0000

    Use convenience function for downcasting the renderer.
    
    TRAC #22016
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1497 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1f811f55df504216a4d6c5e0921110639f138ac9
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 20:57:39 2012 +0000

    Silence unimplemented asserts and implement retrieving adapter information.
    
    TRAC #22072
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1496 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9549bead5dc8bb07a21296ea8bea97939285c699
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 20:57:23 2012 +0000

    Retrieve the shader model number instead of a shader model 3 support boolean.
    
    TRAC #22072
    Signed-off-by: Daniel Koch
    Signed-off-by: Geoff Lang
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1495 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit dedd1a0f6c43d9db06537c782982090030270a45
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 20:57:11 2012 +0000

    Eliminate D3D9 from Context.
    
    TRAC #22016
    Signed-off-by: Daniel Koch
    Signed-off-by: Geoff Lang
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1494 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 97400dd395438f77d446c97d914a43feeb63f8b7
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 20:57:00 2012 +0000

    Clean up passing around translated index data.
    
    TRAC #22016
    Signed-off-by: Daniel Koch
    Signed-off-by: Geoff Lang
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1493 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 91207b79c85830aff4420dea395fb12ff20c3f4e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 20:56:43 2012 +0000

    Move the index data manager and draw calls into the renderer implementation.
    
    TRAC #22016
    Signed-off-by: Daniel Koch
    Signed-off-by: Geoff Lang
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1492 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 41cb9428520375fb6d60bfe099f9648109246c1f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 20:56:34 2012 +0000

    Remove Intel specific workaround.
    
    TRAC #22179
    Reverts https://codereview.appspot.com/6460100
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1491 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4a186ed877571654ded5c820c33b41f2eacfd9c7
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 20:56:15 2012 +0000

    Moved VertexDeclarationCache to its own header and source file.
    
    TRAC #22016
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1490 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e569fc52eeaf7833b10d7eaf113611219e482d3f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 20:56:02 2012 +0000

    Move blitter creation / destruction to device specific initialization / release.
    
    TRAC #22016
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1489 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5367004c2b297b872d37e64bc83c178c6d188d83
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 20:55:51 2012 +0000

    Implemented Renderer11::setViewport.
    
    TRAC #22148
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1488 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2c1d0abe5d8bce9dfb1d093bcc3564a15b36e990
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 20:55:42 2012 +0000

    Removed clear implementation from Context.
    
    TRAC #22125
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1487 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0393e5b5ba8a142cea876743b848de129b17a11b
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 20:55:33 2012 +0000

    Implemented Renderer9::clear.
    
    TRAC #22125
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1486 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 084a257ef7455c230fef3b3bc0cdeced4cabb1ac
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 20:55:17 2012 +0000

    Changed the Renderer::clear method parameters to use the new ClearParameters structure.
    
    TRAC #22125
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1485 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7436971e9cccbd9992cbc7e75356d7e61b8053d9
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 20:55:09 2012 +0000

    Added clear type enum and clear parameters structure.
    
    TRAC #22125
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1484 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 414c9168bc0491546d5af5cc775871b60a3c0153
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 20:54:57 2012 +0000

    Moves checkDeviceLost to renderer9_utils.h
    
    TRAC #22141
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1483 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5fbf177ce23fc52625e1d7a6914fd7a9ce12c311
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 20:54:43 2012 +0000

    Moves applyShaders to Renderer
    
    TRAC #22154
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1482 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b6b27bc4179f0cab0c64c599d19ce2f4f2623d98
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 20:54:30 2012 +0000

    Adds RenderTarget11 type
    
    TRAC #22134
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1481 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 965bcd2e5a7d66e23cfea90ec7085547c5a0c55a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 20:54:14 2012 +0000

    Removes getSurface function from base RenderTarget
    
    TRAC #22134
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1480 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b64ed2824bfd5d67acb415300427edc40ae79253
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 20:54:02 2012 +0000

    Adds makeRenderer9/11 functions
    
    TRAC #22134
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1479 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f2423659230818b46346496f5212fc3d1f0b537f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 20:53:50 2012 +0000

    Moves creation of RenderTargets to the renderer.
    
    TRAC #22134
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1478 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d733bb88bc5544f6e55bc359e1ce26faa5d45565
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 20:53:40 2012 +0000

    Adds makeSwapChain9/11 functions.
    
    TRAC #22134
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1477 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 32fdf822840418a1bf890d1f1f0fea68b43006b0
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 20:53:30 2012 +0000

    Fixes line endings on SwapChain9 and SwapChain11
    
    TRAC #22134
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1476 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit def9f0f35beb8606b73bab418c69f1047252e50e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 20:53:20 2012 +0000

    Add applyVertexBuffer stub for D3D11 renderer.
    
    TRAC #22016
    Signed-off-by: Daniel Koch
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1475 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 67094ee41f584b02e81dba8b2dd4c29463a67880
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 20:53:04 2012 +0000

    Move the vertex data manager and vertex declaration cache from Context to Renderer9.
    
    TRAC #22016
    Signed-off-by: Daniel Koch
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1474 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 92025f562d428f90f2df96913e18ec0dc1bfb060
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 20:52:54 2012 +0000

    Pull Context dependencies out of applyVertexBuffer().
    
    TRAC #22016
    Signed-off-by: Daniel Koch
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1473 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1dd557ae35c89a3ebe80bde9fd7aa39914de0e1b
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:44:00 2012 +0000

    Fixed bug with scissor rectangles Y values being clamped incorrectly.
    
    TRAC #22167
    
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1472 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5dc3b8b47659e9632bc35277d4069610ccb0aabf
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:43:49 2012 +0000

    Don't call gl::output unless perf is enabled.
    
    gl::output allocates a pretty large stack buffer, so it has to call _chkstk. This is rather slow, so avoid calling gl::output if perf and tracing are disabled.
    
    BUG=
    
    Review URL: https://codereview.appspot.com/6843043
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1471 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7cfb53f305e441dec8f656c403cf8c59423cde1c
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:43:41 2012 +0000

    Update version.
    
    tbr=kbr
    Review URL: https://codereview.appspot.com/6826081
    
    
    Conflicts:
    
            src/common/version.h
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1470 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0aa3b5a2b216c9033e7bb59f6dde3acf46cf2260
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:43:24 2012 +0000

    Implement user-defined name hashing.
    
    ANGLEBUG=315
    Review URL: https://codereview.appspot.com/6818109
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1469 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8d06f978458bc2987471cb9130cf7d10ee3e8a05
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:43:16 2012 +0000

    Update version.
    
    Review URL: https://codereview.appspot.com/6818111
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1468 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7d738a27ce15ee847f88ceefa73cf8b5ecd254fe
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:43:08 2012 +0000

    Remove dependency on d3dcompiler import library.
    
    It is now loaded with LoadLibrary.
    
    Added compile time option of having ANGLE enumerate various versions of d3dcompiler_nn.dll that the application can preload before eglInitialize().
    Review URL: https://codereview.appspot.com/6816074
    
    Author: Al Patrick
    (applied to branch)
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1467 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c23f4611be61bccdbfe2a5c43f63c4d98537ef9f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:42:57 2012 +0000

    Interface design for user-defined name hashing.
    
    1) We use BuiltInResources to pass the hash function to
       ANGLE, deciding whether we applies hash function or not.
    2) We use 64 bits hashing function, because 64 bits is 16
       bytes using hex representation, plus the "webgl_" prefix,
       we can keep the names under 128 (WebGL allows 5 levels of
       nesting in structures).  If chooseing 128 bits, we will
       go beyond 128 characters, and some drivers can't handle
       that safely.
    
    ANGLEBUG=315
    Review URL: https://codereview.appspot.com/6822077
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1466 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 07b925c5d4d12a41620449b247601e37522aa91e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:42:50 2012 +0000

    Use D3D compiler optimization level 3.
    
    The is to try and fix some three.js lighting issues. It appears optimization level 0 has a loop unrolling bug. The compiler returns success but the shader does not work. All other optimization levels work. http://crbug.com/153105.
    
    Repro here:
    
    http://alteredqualia.com/tmp/tests/angle-issues/webgl_materials_normalmap_test.html
    
    Both heads should look the same.
    Review URL: https://codereview.appspot.com/6821060
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1465 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e3e826d41523af95e7bcb2aa3488537746ebf301
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:42:35 2012 +0000

    Fixed some warnings on GCC
    
    Mozilla has recently made using NULL as integer an error (via
    -Werror=conversion-null GCC flag), which caused ANGLE to no longer compile on
    mingw in Mozilla tree. The ones that may not be obvious are removal of some <0
    checks. They are not needed because they were done on unsigned types.
    
    Author: Jacek Caban
    http://codereview.appspot.com/6679049
    
    (With changes to apply to dx11proto branch)
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1464 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit dc94956cb195d31f6d8e65c6c3f62cc578c6ee3f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:42:26 2012 +0000

    Removed the setRenderTarget and setDepthStencil methods from the Renderers.
    
    TRAC #22124
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1463 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e06bda9911c4bbb8b8fbc95c4a4274ed17dd3781
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:42:18 2012 +0000

    Context::applyRenderTargets now uses Renderer::applyRenderTargets.
    
    TRAC #22124
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1462 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 220e79a62ebbafd52e64ced02bc965c3f5ad5f4b
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:42:11 2012 +0000

    Implemented Renderer9::applyRenderTarget using Context::applyRenderTarget's code.
    
    TRAC #22124
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1461 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ae39ee280d5e15b8064402b75e8daecbe4146b98
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:42:02 2012 +0000

    Renderer::applyRenderTarget now returns a success/failure bool.
    
    TRAC #22124
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1460 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c43a60557d5e25cfb80cb0cd3c2a01920251745f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:41:51 2012 +0000

    Created a Renderer9::markAllStateDirty method and moved state initialization into it.
    
    TRAC #22124
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1459 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b323df037b7a87eb16fcd8c81b4a3aeda77689c6
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:41:36 2012 +0000

    Invalidate client window area when resetting swap chain
    
    Resizing a window larger results in the newly exposed region being invalidated
    but the old region is treated as valid. This can result in the old region no
    longer updating. This has been observed on Windows 7 64-bit with Aero theme
    using NVIDIA GeForce GTS 250 and driver version 301.42. Invalidate the entire
    client window area when resetting the swap chain so that it updates properly.
    
    Original bug report: https://bugreports.qt-project.org/browse/QTBUG-27822
    Review: http://codereview.appspot.com/6812076/
    Author: Jonathan Liu
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1458 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 844ad78d26cac838ff18ac8d438c8c44e2191e66
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:41:28 2012 +0000

    Revision 5 of ANGLE_MRT
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1457 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a60160b0c85ea5030edea66590e1475bed8c9a7c
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:41:15 2012 +0000

    Implemented SwapChain11 initialization.
    
    TRAC #21928
    Signed-off-by: Geoff Lang
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1456 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3ca082cc963c4f7b55e8fc0daf9aff066b2ecdf1
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:41:07 2012 +0000

    Context now uses Renderer::setViewport.
    
    TRAC #22116
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1455 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3884e2c242e152999f7120c3368a8c3799566511
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:41:00 2012 +0000

    Context now uses a Rectangle struct for storing viewport.
    
    TRAC #22116
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1454 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 83e80ee442d5f793b89aaef7d1b5db3cde2f4b4d
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:40:53 2012 +0000

    Add an abstract Renderer::setViewport method and implemented it for Renderer9.
    
    TRAC #22116
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1453 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b743e1d7a2e240107f40ad3adff031a84b07e580
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:40:45 2012 +0000

    Removed unused Display member of Context.
    
    TRAC #22116
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1452 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 164dfa42a380a150b67f2c398f5f935993b436c7
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:40:39 2012 +0000

    Fixes the include guards on RenderTarget9
    
    TRAC #22140
    
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1451 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d62d7142cbb5f20ece211d292192f88db6979b86
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:40:28 2012 +0000

    Removes calls from Context to retrieve d3d9 surfaces
    
    TRAC #22094
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1450 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d186dc7febccce89bda20a00f511977deff0f434
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:40:16 2012 +0000

    Pass the RenderTarget, not the D3D surface, up the Renderbuffer heirarchy.
    
    TRAC #22094
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1449 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d2b4702a0424ddf29d4dac0e46c4bfc0e970c732
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:40:10 2012 +0000

    Adds a function to Framebuffer to retrieve depth OR stencilbuffer.
    
    TRAC #22094
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1448 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8614fbacfba03cf78b64bef61e8cc13cf7a09cea
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:40:02 2012 +0000

    Adds RenderTarget pointer to TextureStorage.
    
    TRAC #22094
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1447 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c682d95bd4eb08c5c71235db221876011f8e567c
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:39:55 2012 +0000

    Remove SwapChain.cpp from the GYP project.
    
    TRAC #21926
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1446 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a27e05ba93cb633afc84e75bf26cede96d871261
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:39:42 2012 +0000

    Split the swap chain into an abstract interface and a D3D9 implementation.
    
    TRAC #21926
    Signed-off-by: Daniel Koch
    Signed-off-by: Geoff Lang
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1445 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6c87217467896d150743db19e2ed664ceec56785
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:39:33 2012 +0000

    Adds renderer functions for rendertarget operations.
    
    TRAC #22093
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1444 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 48ab81ce00afc6e93aaf964dd2b6cc4d854296a7
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:39:21 2012 +0000

    Use ANGLE's rect instead of D3D's in blitFramebuffer.
    
    TRAC #22093
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1443 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 39cee2e7a45a4e2a46b3b5f6630ba6ecfa425fbe
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:39:14 2012 +0000

    Stores render target description without D3D9 reliance.
    
    TRAC #22093
    
    Signed-off-by: Geoff Lang
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1442 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c497ebae252730ca9568f05263afe0ff6292d70d
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:39:06 2012 +0000

    Moved the static initializers of RenderStateCache's constants to the top of the cpp file.
    
    TRAC #22129
    
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1441 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5503fd031e3e5491d998a643218b1aa6a8c022c9
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:38:57 2012 +0000

    Implemented Renderer11::setDepthStencilState.
    
    TRAC #22044
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1440 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 53926ff168a2a08299ba0475af92d652ebef0774
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:38:50 2012 +0000

    Added depth stencil state caching to the RenderStateCache.
    
    TRAC #22044
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1439 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 08c331d42f31f8291238695d86db53d760e0b330
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:38:39 2012 +0000

    Moved the stencilRef and stencilBackRef back to Context's state structure.
    
    TRAC #22044
    
    stencilRef and stencilBackRef are now set through the setDepthStencilState on
    Renderer.
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1438 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c820c1238ef0cd9ad9591dc10a5fb1f3d6e75a73
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:38:30 2012 +0000

    Added utility functions for gl to D3D11 depth stencil states.
    
    TRAC #22044
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1437 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit dcf1e676adecaa793953f46739f24e7ef4efba8b
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:38:19 2012 +0000

    Implemented Renderer11::setRasterizerState and Renderer11::setScissorRectangle.
    
    TRAC #22043
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1436 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ed453e0728fc3bcca54dc5dfe685fb36a2f35a91
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:38:11 2012 +0000

    Added Rasterizer state caching to the RenderStateCache.
    
    TRAC #22043
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1435 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit fa34b34010255a779c77606aece722a4c5e2ce7f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:38:01 2012 +0000

    Added a utility function for gl to D3D11 rasterizer states.
    
    TRAC #22043
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1434 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f8ba1091ee5c252c430d56256d3fd081ae98689b
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:37:53 2012 +0000

    Implemented Renderer11::setBlendState using the new RenderStateCache.
    
    TRAC #22042
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1433 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0673d79e1e48bd4fcece341139981ced51478803
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:37:44 2012 +0000

    Added a RenderStateCache class for caching D3D11 blend, depth stencil and rasterizer states.
    
    TRAC #22042
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1432 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b58cb9b63b4c5d2ba4c40299a2ae8a2f76c321b9
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:37:33 2012 +0000

    Added a third party library: MurmurHash3.
    
    TRAC #22042
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1431 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6b147718e4bdcb0e38504b53be96ba52caec124a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:37:24 2012 +0000

    Added utility functions for gl to d3d11 blend states.
    
    TRAC #22042
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1430 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 042d1b4c8b5dc1bff96dc81b99f2844af21b62a7
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:37:09 2012 +0000

    Adds RenderTarget wrapper class for surfaces and views.
    
    TRAC #22092
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1429 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4df38ce8acaa114f8e6ac0a9436d3a326b64afe1
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:37:03 2012 +0000

    Adds function to convert depth *and* backbuffer formats.
    
    TRAC #22092
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1428 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b9bb27938fae86822453d7cba1bba6c704000a8a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:36:49 2012 +0000

    Make egl::Surface independent of the Renderer implementation.
    
    TRAC #21926
    Signed-off-by: Daniel Koch
    Signed-off-by: Geoff Lang
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1427 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 383808834b498363a9c427c85ed635c6476382f0
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:36:39 2012 +0000

    Add stubs for missing virtual method implementations.
    
    TRAC #21926
    Signed-off-by: Daniel Koch
    Signed-off-by: Geoff Lang
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1426 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8a8b24c7fc14768f035ea3e68bd5c9cee552566a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:36:26 2012 +0000

    Fixed issues with state force flag initialization and applyRenderTarget placement.
    
    TRAC #22041
    
    Fixed the state force flags being incorrectly initialized in Renderer9's
    destructor, they are now in the constructor.  Renderer::applyRenderTarget
    is now correctly called fromt he begining of Context::applyRenderTarget
    instead of the end.
    
    Signed-off-by: Daniel Koch
    
    Author:    Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1425 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2e25864460c1561c5a74a0033b4fc9946f8770d1
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:36:18 2012 +0000

    Removed the dirty state flags from Context.
    
    TRAC #22041
    
    Renderers will now be minimizing state changes themselves.
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1424 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d084c620c0d275be03b10e1f802582dd278ff6fe
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:36:05 2012 +0000

    Added an abstract Renderer::clear method.
    
    TRAC #22041
    
    Unimplemented in Renderer11 and Renderer9 only forces the depth stencil state
    to reset.
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1423 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f39967e136759e6d196793122638431c74db1d7f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:35:56 2012 +0000

    Context now uses the new structures storing state.
    
    TRAC #22041
    
    Context now uses the new structures for holding rasterizer, blend, depth
    stencil and scissor state andcalls the new set methods on the Renderer
    interface to set state.
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1422 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 493d4f872b528410dee998b38c89a31492a23895
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:35:45 2012 +0000

    Added abstract methods to Renderer for state setting.
    
    TRAC #22041
    
    Added abstract methods for setting rasterizer, blend, depth stencil, render
    targets and scissors on Renderer. Implemented methods on Renderer9 using the
    state setting from Context as a reference and new members for storing prevously
    set state to minimize graphics device calls. Implemented methods on Renderer11
    with the UNIMPLEMENTED notice.
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1421 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1e34fde54edf4c9f27892ba1f3ceff1ff807bab1
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:35:35 2012 +0000

    Added a rectangle structure for holding viewport/scissor information.
    
    TRAC #22041
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1420 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c8b8f2832435209bc3b8969eaf0eec2ccf3d1432
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:35:28 2012 +0000

    Added structures for rasterizer, blend and depth stencil state.
    
    TRAC #22041
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1419 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d0db35080360ae03589dd366266eed0a9b1f422b
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:35:20 2012 +0000

    Moved the Color struct to AngleTypes.h.
    
    TRAC #22041
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1418 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ef19da5a7d1dfaa91da55d87d70a0cca5d681426
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:35:08 2012 +0000

    Renamed EnumTypes.h to angletypes.h.
    
    TRAC #22041
    
    Updated the include guard and documentation and updated all locations where
    EnumTypes.h was included.
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Geoff Lang
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1417 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit feae9b34313840a758f1c05c46b01b8118f48691
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:34:56 2012 +0000

    Adds conversion functions for DXGI-to-GL texture and renderbuffer formats.
    
    TRAC #22065
    
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1416 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 682a37c5c21f7e9f90ac498d0c08d4334464a615
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:34:44 2012 +0000

    Renames es2dx and dx2es namespaces to something better.
    
    TRAC #22002
    
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1415 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 31b13e1ff922519d727c151e7ee3eb93d453e5ea
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:34:30 2012 +0000

    Moves Image & Renderer into rx namespace
    
    TRAC #22002
    
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1414 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit de8a7fff02ab478458e4f511719e15f141c90fe7
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:34:13 2012 +0000

    Moves the Blitter into the Renderer's domain
    
    TRAC #22001
    
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1413 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8c7b1a9d962c90d0c213e80241efad7a31cc1fda
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:34:06 2012 +0000

    IDXGISwapChain1::Present1 supports a sync interval of 0 to 4 for all devices.
    
    TRAC #22056
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1412 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 65e653778bb96bcb8843fc86df0b9981450a9afd
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:33:50 2012 +0000

    Test for valid back buffer and depth stencil formats.
    
    TRAC #22056
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1411 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ad6aee7de9ffae3fa885f5b487a12eea1ae0bac2
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:33:42 2012 +0000

    Add stubs for missing virtual method implementations.
    
    TRAC #22056
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1410 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1d80eeec4391c7b9606baf759b830cd4d69acd28
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:33:31 2012 +0000

    Moves copyToRenderTarget to Renderer
    
    TRAC #22000
    
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1409 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ea32d48b64ab98a881c432409b27db9773e7cc7c
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:33:18 2012 +0000

    Removes getDisplay and getContext calls
    
    TRAC #22000
    
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1408 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a9571686400fef2fe0400336a963cfb44deca33f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:33:08 2012 +0000

    Moves ConvertTextureInternalFormat to the Renderer
    
    TRAC #22000
    
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1407 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 70062c98f7c62744f398dc0ba7a87c76e723cc48
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:32:30 2012 +0000

    Passes the Renderer to various objects at construction time.
    
    TRAC #22000
    
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1406 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 16418b115610ebc2d40efc3c6e817b0584d8c6f7
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:32:22 2012 +0000

    Passes pointer to Renderer to Framebuffer at construction.
    
    TRAC #22000
    
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1405 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 370482e77de4d88ed2954757bf519f2f8bcd364e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:32:13 2012 +0000

    Pass the Renderer to the ResourceManager at construction time.
    
    TRAC #22000
    
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1404 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ad62987f1ef6e34ed362e7a7ee125ffcd1690241
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:32:06 2012 +0000

    Eliminates usage of Display from Context::makeCurrent.
    
    TRAC #22000
    
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1403 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 03d390940810e37c00b46178e051a5c0efca6d10
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:31:59 2012 +0000

    Pass the Renderer to the Context at construction time
    
    TRAC #22000
    
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1402 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 222ee08133fee3ff1ecd4acc5a4228cc5544eccf
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:31:49 2012 +0000

    Contain DX9 back buffer and depth stencil surface formats.
    
    TRAC #22056
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1401 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 25072f677ccc840ecd35b873fd59046e2e6878fc
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:31:32 2012 +0000

    Implement texture dimension limits and 32-bit index queries.
    
    TRAC #22056
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1400 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c1e263411a97e7fac60ecb0c6681d7141742da88
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:31:16 2012 +0000

    Create a Direct3D 11 device, if enabled and available.
    
    TRAC #21925
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1399 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ae4f4d4b930280d58634365d1a9206984ef30723
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:31:06 2012 +0000

    Moved Renderer creation/destruction out of Context.cpp into Renderer.cpp.
    
    TRAC #21925
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1398 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit cfa8efdfe5cf382d1afd81abde03a145fdb5168b
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:30:55 2012 +0000

    Moved declarations of EGL dependencies to main.h.
    
    TRAC #21925
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1397 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1d6aff2bc3bdd2c58e051f61cbeb491c30ec852f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 28 19:30:42 2012 +0000

    Add a Renderer11 class for the d3d11 backend.
    
    Trac #21925
    
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1396 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3f526967983fb7152ebb1fa68ccace81e2060bc3
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 19:57:20 2012 +0000

    Update minor version number for branch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1382 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2a99bfa24d4c493cf5c39e1d35c6cef4d3c82111
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 19:55:50 2012 +0000

    fix early return value from resetSwapChain
    
    Trac #22003
    
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1381 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4f0af574d77318b4b469554d706a43566093c5ad
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 19:55:46 2012 +0000

    Misc fixes to renderer
    
    Trac #22003
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1380 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 76d3e6e07b87d95baf43a0c40ec6f3df883fbf71
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 19:55:33 2012 +0000

    Rename renderer namespace to rx
    
    Trac #21999
    Author: Shannon Woods
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1379 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 95ffbc10bc78807a558b55526c2e9f741501f935
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 19:55:27 2012 +0000

    Handle software device creation at the Renderer9 level.
    
    TRAC #21963
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1378 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit bdfb3914f3cacddc5db37aa14816b12dc9421c4e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 19:55:21 2012 +0000

    Explicitly retrieve a Renderer9 or Renderer interface from Display.
    
    TRAC #21963
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1377 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d8e3656a51ad208f95abd22144f5a36c1c4f69a1
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 19:52:19 2012 +0000

    Moves portions of utilities specific to D3D9 to the Renderer's domain
    
    TRAC #21931
    
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1376 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3cef5391794b7d32a8b3ea8f0d21ff9e6cb8071f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 19:52:15 2012 +0000

    Alters the blitter's copy function so that you can pass a framebuffer to it directly.
    
    TRAC #21910
    
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1375 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0ad830bf615358148e8c5e2f97d39a296d1c34eb
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 19:52:12 2012 +0000

    Moves mipmap generation to texture storage and image objects.
    
    TRAC #21910
    
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1374 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 690d8aeaf674d181c82b6067ddbad3ebe687cd10
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 19:52:08 2012 +0000

    Moves copyToRenderTarget operation into texture storage object.
    
    TRAC #21910
    
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1373 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9d4346f0b65ace31bf3e0df8c1f6598e2f32a803
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 19:52:04 2012 +0000

    Eliminates getD3DTexture, instead returning the texture storage object.
    
    TRAC #21910
    
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1372 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0f195ada91c78e852f46f4e148f874aafd4a20d6
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 19:51:59 2012 +0000

    Passes texture storage object to image directly to update its surfaces
    
    TRAC #21910
    
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1371 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 25ee744122e4535d824791f976b293f017adae09
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 19:51:56 2012 +0000

    Passes the swapchain to texture storage constructor instead of d3d texture.
    
    TRAC #21910
    
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1370 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f032cb880084ee6c42297f9a046f607287c0cc7a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 19:51:52 2012 +0000

    Initializes storage from GL params instead of D3D params
    
    TRAC #21910
    
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1369 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit df14c7615565dd4b5e3517d78be42b0123390a01
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 19:51:48 2012 +0000

    Moves static d3d texture format conversion utilities to TextureStorage.
    
    TRAC #21910
    
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1368 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 20d36667199abc703cddff58ebdfd5eef726a51c
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 19:51:43 2012 +0000

    Mostly eliminates usage of getD3DFormat in Texture.
    
    TRAC #21906
    
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1367 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5ac99789a61c53d9c97dff111f2acdaf50069371
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 19:51:39 2012 +0000

    Adds functions to derive R/G/B/A/Stencil/Depth sizes from GL formats instead of D3D.
    
    TRAC #21906
    
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1366 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 57feb8c3a56197a46c1fc1ae3c1a59407a50f2c3
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 19:10:08 2012 +0000

    Fix the project filter.
    
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1365 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit fd54ada6bd2cf909e4752ed09b850d03fd7bf203
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 19:10:05 2012 +0000

    Added missing files to the GYP file.
    
    TRAC #21963
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1364 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b5e1a27247b255fbf5457b9a3c08964d0d8a89d8
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 19:10:00 2012 +0000

    Moves TextureStorage class to its own file in the Renderer directory
    
    TRAC #21909
    
    Author: Shannon Woods
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1363 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b9d7e6f852c0c2afcd8aa94bc5cd90b6034370f1
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 19:08:32 2012 +0000

    Moves Image class to its own file in the Renderer's directory.
    
    TRAC #21909
    
    Author: Shannon Woods
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1362 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4b2fffb809cb6a326869b7a96060901a4b6b2e20
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 19:08:29 2012 +0000

    Fix minor spacing issue blocking merge
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1361 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 408caa532151997de1a31c9927d074d1644bef61
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 18:47:01 2012 +0000

    Eliminated the dependency of VertexDataManager and IndexDataManager on Context.
    
    TRAC #21963
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1360 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 113f0eb7172eb8d3a31a8224d555db10458bde08
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 18:46:58 2012 +0000

    Encapsulated memory pool details for vertex and index buffer creation.
    
    TRAC #21963
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1359 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2507f41e4f22f24046ba4d55d13e070d8ea2c9ca
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 18:46:48 2012 +0000

    Split Renderer into version independent interface and Renderer9 implementation.
    
    TRAC #21963
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1358 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7cb796e756d6ff2f5f4e2ebb686eb78e6ca22d85
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 18:46:44 2012 +0000

    Eliminated isD3d9ExDevice().
    
    TRAC #21963
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1357 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4ca789e5e9f5aa460371bf47952f00e0de48cba3
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 18:46:40 2012 +0000

    Eliminated D3DADAPTER_IDENTIFIER9 uses.
    
    TRAC #21963
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1356 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 024786d7ca409dbbe1877b7c60f99f50e1647e5d
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 18:42:55 2012 +0000

    Pass swapchain to DepthStencil constructor instead of d3d9 surface
    
    Trac #21810
    Signed-off-by: Nicolas Capens
    
    Also get rid of unused StencilBuffer and Depthbuffer constructors
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1355 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 96c3893c5ef44b2af859dedcd4323d5269fd788a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 18:42:52 2012 +0000

    Pass swapchain to Colorbuffer constructor instead of a d3d9 surface
    
    Trac #21810
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1354 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 114bd460a8813cc3a2c9719fde4c1aa6adca7dc4
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 18:42:47 2012 +0000

    Remove min/max swapinterval from Display. Get from Renderer if needed.
    
    Trac #21810
    Signed-off-by: Nicolas Capens
    
    Also have the Surface explicitly hang onto the Renderer
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1353 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 21cfaef3a05f3279faaa93d708aeb94eca089544
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 18:42:43 2012 +0000

    Fix share handle usage
    
    Trac #21810
    Signed-off-by: Nicolas Capens
    
    I don't think it was possible to use the sharehandle passed in, and if one was, we shouldn't clear it on release()
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1352 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3c72078a46b247266c393afd936d50e503142cf7
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 18:42:34 2012 +0000

    Add renderer::SwapChain class and move functionality from egl::Surface
    
    Trac #21810
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1351 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3281f97d9e579b87748c4aec7813cb2ba425fdfc
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 18:38:51 2012 +0000

    Moves Config generation to Renderer.
    
    TRAC #21819
    
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1350 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6f50457c1da34510ec0819e36fea239f2bd0b70f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 18:38:45 2012 +0000

    Adds D3DFMT_UNKNOWN to depth stencil format conversion function.
    
    TRAC #21819
    
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1349 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 929556233a7bfa070c0ad697c6eadb2c036ec312
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 18:38:41 2012 +0000

    Adds constant format arrays to Renderer class
    
    TRAC #21819
    
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1348 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 106e1f7b67f042d008dd6616f73ff03492bf1d5a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 18:38:36 2012 +0000

    Removes D3D types from the Config class
    
    TRAC #21819
    
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1347 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e7b2f05644476ff3cee1ba465ec454a3039ff1a6
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 18:38:32 2012 +0000

    Temporarily adds format conversion functions to EGL.
    
    TRAC #21819
    
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1346 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 21290e672df2e3db973ec28c9277e01462e9519d
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 18:38:28 2012 +0000

    Removes mConfig from Context, as it was only used for setting unused default values.
    
    TRAC #21819
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1345 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4cfba2a91b08cbc76fbbb84438a8df79c60ee735
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 18:31:54 2012 +0000

    Removes the unused setDefaults function
    
    TRAC #21819
    
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1344 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 06eef170846342c97ad509d6a6f68e5fcf4bed67
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 18:31:50 2012 +0000

    Removes getContext calls from Colorbuffer and DepthStencilbuffer constructors.
    
    TRAC 21817
    
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1343 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b783398c958b225cc30f63de12eeb9ef207b025a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 18:31:46 2012 +0000

    Moves multisample support data to Renderer from Context.
    
    TRAC #21817
    
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1342 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6716a2784e0b2364dca09e5266eee75e66c4dde1
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 18:31:39 2012 +0000

    Removes d3d9 device usage from IndexDataManager and subjugate classes.
    
    TRAC #21816
    
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1341 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b7386999fcd784c6b2c5492eac62aeeb95b14a3a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 18:29:58 2012 +0000

    Remove d3d9 devices from use in VertexDataManager and subjugate classes
    
    TRAC #21816
    
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1340 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5f4c136ee4460e0a912f222aea6cb1a8aa64266f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 18:29:00 2012 +0000

    Removes D3DCaps from Context and Display, instead querying Renderer for support status.
    
    TRAC #21611
    
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1339 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 64e6290eba254c343943e1659883a5ca5c2aaaee
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 18:27:46 2012 +0000

    Fix merge compilation errors
    
    
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1338 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a734f27cd5ce1af2159b9e063bede886abb94b07
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 18:07:48 2012 +0000

    Move SetTexture calls to the renderer class
    
    Trac #21727
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1337 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ba0570efef84d98117e1acb3762b9b58652c516a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 18:07:39 2012 +0000

    Move sampler state setting to the Renderer
    
    Trac #21727
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1336 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ebf139fe6f43719ea599457776209f3064fabb95
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 18:07:32 2012 +0000

    Move texture sampler state into a separate sampler state structure.
    
    Trac #21727
    
    Conflicts:
    
            src/libGLESv2/Texture.cpp
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1335 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f112217a08cd024dd49467e8ee9e263d30dec7f1
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 18:07:20 2012 +0000

    Eliminate use of global getDevice() function.
    
    Trac #21727
    
    Everything must go through the renderer.
    
    Conflicts:
    
            src/libGLESv2/Texture.cpp
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1334 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e4733d7ef01764ad8877de2636ab9b4ff80eec39
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 18:07:01 2012 +0000

    Move shader cache into Renderer
    
    Trac #21727
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1333 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f688c0d18c25940336d83e37befe76ead2844962
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 17:52:57 2012 +0000

    Make testDeviceLoss able to perform the notifications
    
    Trac #21727
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1332 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ef21ab295564e9577d30fb389eec67ca71b42be1
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 17:52:47 2012 +0000

    Move query and sync support to Renderer
    
    Trac #21727
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1331 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 313e3924ac93f7ae750951849473442134f9ef84
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 17:52:39 2012 +0000

    Move Sharehandle support query to renderer
    
    Trac #21727
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1330 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 621ce053c1a3048c2357b8b070ca934ef5e3dabf
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 31 17:52:29 2012 +0000

    Add Renderer class and move functionality from Display
    
    Trac #21727
    
    Conflicts:
    
            src/libGLESv2/Texture.cpp
            src/libGLESv2/libGLESv2.vcxproj
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1329 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 71621a8830c8fdd0dee2464b2b15330228115429
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Oct 30 20:53:15 2012 +0000

    creating branch for dx11 prototype
    
    git-svn-id: https://angleproject.googlecode.com/svn/branches/dx11proto@1328 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit fdeb2547cde480d9bd25061332ac640adbc514ba
Author: jacob.benoit.1@gmail.com <jacob.benoit.1@gmail.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Oct 26 19:53:10 2012 +0000

    Issue 354: remove ANGLE_USE_NSPR (revert r454)
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1327 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b401a92b48599a64cbb44e463aef1b2976b3fbf8
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Oct 26 18:58:24 2012 +0000

    Move the new preprocessor out of the 'new' directory.
    
    TRAC #21966
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1326 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3be1d5716aa8c58b1807946d3bdb84bdf89d7004
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Oct 26 18:58:16 2012 +0000

    Removed the old preprocessor source, interface and license.
    
    TRAC #21966
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1325 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a646c916407378d2553246deaa885eacf8ac2f42
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Oct 26 18:58:12 2012 +0000

    Removed the compile flag to select between preprocessors, always using the new one.
    
    TRAC #21966
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1324 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ca9a3c87be69e0e35f107288d2a9d3b11a2ac0f1
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Oct 26 18:55:07 2012 +0000

    Avoids uploading levels other than 0 for incomplete textures.
    
    TRAC #21815
    
    Fixes compressed texture test assertion in WebGL top-of-tree conformance suite when running with debug build
    
    Signed-off-by: Daniel Koch
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1323 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit bef72cee769d606f32d6bb3e020cd9a842d90d8c
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Oct 23 20:36:33 2012 +0000

    Fix Float16ToFloat32.py. Issue #376.
    Review URL: https://codereview.appspot.com/6651047
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1320 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 778cd1ba9c746e48deb7ebea8efc8cd0e5f1b2c0
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Oct 18 00:03:26 2012 +0000

    Add missing <string> include in D3DConstantTable.h
    
    Issue=379
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1318 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8d8047995445882c73091578b889226323f38053
Author: gman@chromium.org <gman@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 17 21:33:48 2012 +0000

    Add Variable Packing checks to ANGLE
    
    BUG=373
    TEST=unit tests
    
    
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1317 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0d3b36deca7c0469324cd44a28e5b407b6565d24
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 17 20:58:50 2012 +0000

    .gitignore: Add *.target.mk, generated when building as part of ChromiumOS
    
    BUG=None
    TEST=Build Chromium and ChromiumOS from source, and run "repo status",
        with and without this change.
    
    Contributed by Josh Triplett <josh.triplett@intel.com>
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1316 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6b38df547daeba5680458a922b21c1f40702344e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 17 18:31:24 2012 +0000

    Update project includes to remove explicit DXSDK usage.
    
    Trac #21647
    
    This allows ANGLE to be built with either the Win8 SDK or the DX SDK
    with appropriate configuration on a VS2010 install.  See wiki for details.
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1315 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a841b11df15d4834ce6a6a203b53a8dcf3f709dd
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 17 18:30:14 2012 +0000

    Only replace image surfaces with equal-sized managed surfaces.
    
    TRAC #21621
    Issue=311
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1314 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 853b577ffb2fd440c9196decbacac80b664e4956
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 17 18:30:10 2012 +0000

    Fixed support for updating from managed surfaces.
    
    TRAC #21621
    Issue=311
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    (Fixes XP path that was broken in r1308)
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1313 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2e38b800b3f448dd1a2e96a31db25d3bd5b6a3f4
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 17 18:30:06 2012 +0000

    Eliminated D3DXLoadSurfaceFromSurface from glGenerateMipmaps.
    
    TRAC #21621
    Issue=311
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1312 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8ea6942abb90849fd2438c12474a523f2154906f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 17 18:30:03 2012 +0000

    Eliminated D3DXLoadSurfaceFromSurface from Image::copy.
    
    TRAC #21621
    Issue=311
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1311 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit dabf0027c3cb3c200403052ebee7bcedb84fec7d
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 17 18:29:59 2012 +0000

    Eliminated D3DXLoadSurfaceFromSurface from copyToRenderTarget.
    
    TRAC #21621
    Issue=311
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1310 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4bb04bef98c4d364114440c07b7797606dc1944e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 17 18:29:55 2012 +0000

    Eliminate D3DXLoadSurfaceFromSurface from setManagedSurface.
    
    TRAC #21621
    Issue=311
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1309 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e0adbd809dede4f01e16af252abfe4b06d90379f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 17 18:29:52 2012 +0000

    Removed an unreachable path in texture loading code
    
    TRAC #21621
    Issue=311
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1308 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0e5bb409d248bce31448ecf206e6197a5f29c702
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 17 18:24:53 2012 +0000

    Also prototype the Lod0 function variant if needed.
    
    TRAC #21842
    Issue=374
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1307 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit fad16ed45a5b558becc44cd2352a0cca16ade546
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 17 18:24:01 2012 +0000

    Make DllMain have C linkage.
    
    TRAC #21839
    Issue=377
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1306 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5127803f5cd781675b02ae259f3c214bf9f45e34
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 17 18:22:51 2012 +0000

    Don't promote packed RGB textures to RGBA d3d surfaces.
    
    TRAC #21591
    Issue=362
    
    Signed-off-by: Daniel Koch
    
    Author: Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1305 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6b1a0a0c62bd296364adb6508faad040d350fa71
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 17 18:22:47 2012 +0000

    Some cleanup after the previous sized internal format patches
    
    TRAC #21609
    
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1304 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8e91d25a53c1869ede04cad4fb0d318dd94ee4c4
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 17 18:22:44 2012 +0000

    Removes D3D format usage from framebuffer completeness check.
    
    TRAC #21609
    
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1303 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d4211110a2b36fff9fa3c1f5f340eba635541634
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 17 18:22:40 2012 +0000

    Adds BGRA packed sized internal formats
    
    TRAC #21609
    
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1302 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6452adf7c249d05fd447f8f74a2b114b85c79e2d
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 17 18:22:35 2012 +0000

    Tracks sized internal formats for textures.
    
    TRAC #21609
    
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods <shannon.woods@transgaming.com>
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1301 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c60c15c0952da6653229e0eb88e85304907722a7
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 17 18:15:14 2012 +0000

    Add filter files for VS2010 Solution browser
    
    Trac #21647
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1300 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ad52cb1a473b9476dc85bb85fd4ba8c46325cabc
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 17 18:14:45 2012 +0000

    Fixes cases where desired destination format was ignored by CopyTexImage.
    
    TRAC #21595
    Issue=339
    
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1299 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2187b4a36ca9ce67f75fa3262ef5adf065b88cfd
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 17 18:12:07 2012 +0000

    Delete old .vcproj files that were replaced by .vcxproj files
    
    Trac #21647
    Signed-off-by: Shannon Woods
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1298 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit de779f143a43d205d02456542a7b85d3191c2d0c
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 17 18:11:59 2012 +0000

    Add DXSDK_DIR include and lib paths
    
    Trac #21647
    Signed-off-by: Shannon Woods
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1297 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d99f9a45eb5ab912d09af0a187eee94b8d122d9e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 17 18:11:55 2012 +0000

    Adjust dependencies for samples
    
    Trac #21647
    Signed-off-by: Shannon Woods
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1296 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e9b408bfc1fdcb0dd4a7e72c44a05b8f7d3391dc
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 17 18:11:40 2012 +0000

    Add auto converted .vxcproj files for VC++ 2010 Express
    
    Trac #21647
    Signed-off-by: Shannon Woods
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1295 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit bd91da485ba289c2335a7e02ecea1468c99d8670
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 17 18:11:34 2012 +0000

    Update standalone solution files to VC++ 2010 Express
    
    Trac #21647
    Signed-off-by: Shannon Woods
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1294 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 918c468416a2b4aefd61d152ca5c37a707bbc422
Author: kbr@chromium.org <kbr@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Oct 16 22:27:36 2012 +0000

    Changed the name of the extension exposed to shaders to
    GL_ANGLE_multiple_render_targets in order to match the GL extension
    name. Using XYZ_draw_buffers as in GL_ARB_draw_buffers and
    GL_NV_draw_buffers was causing inconsistencies.
    Review URL: https://codereview.appspot.com/6715045
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1293 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6a026c49e9947d1a485777457631c5f3ed774619
Author: kbr@chromium.org <kbr@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Oct 16 21:54:27 2012 +0000

    Based on feedback from Al Patrick, Nicolas Capens and Daniel Koch,
    removed the restriction about draw buffer 0 having to be non-NULL if
    any higher draw buffers are non-NULL. Appears this can be supported
    with a NULL FOURCC render target. Removed issue and adjusted
    introductory text.
    Review URL: https://codereview.appspot.com/6725048
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1292 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c41bb9a21b3bbd1d0f0e68d9d59a03eb7445500a
Author: kbr@chromium.org <kbr@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Oct 12 23:13:17 2012 +0000

    Fixed issues pointed out by gman; removed references to GetDoublev and
    ReadBuffer, which don't exist in either OpenGL ES 2.0 or 3.0.
    Review URL: https://codereview.appspot.com/6681043
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1291 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 60354ec62f28e569f9ae69040190ab5e99ca0ac0
Author: kbr@chromium.org <kbr@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Oct 11 00:32:01 2012 +0000

    Add draft ANGLE_multiple_render_targets extension.
    Review URL: https://codereview.appspot.com/6642069
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1290 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 637ca47c06c38ec350b7771c73b51ae0440cc29c
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Oct 4 18:12:56 2012 +0000

    Retry D3DCompile with different compile settings if it fails.
    
    Now also tries with D3DCOMPILE_AVOID_FLOW_CONTROL, and
    D3DCOMPILE_PREFER_FLOW_CONTROL.
    Review URL: https://codereview.appspot.com/6593069
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1289 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2b5af7b9189ecf1b0dc08c53ee6b85cd42673e9e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Sep 27 17:46:15 2012 +0000

    Optimized adding dirty rectangles.
    
    TRAC #21588
    Issue=353
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1288 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1ee986b851ad8e5613c4748364d1461d13ac76cb
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Sep 27 17:46:12 2012 +0000

    Make sure the driver knows the texture is dirty when only lower level mipmaps are updated.
    
    TRAC #21588
    Issue=353
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1287 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8abd0b7959292f6aafda1b054cd08b28878d474a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Sep 27 17:46:07 2012 +0000

    Generate a more descriptive error when trying to initialize a const array.
    
    TRAC #21589
    Issue=359
    Signed-off-by: Daniel Koch
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1286 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 22ba0f703dcf9c51726d885ee4f86383cfeeeafc
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Sep 27 17:46:04 2012 +0000

    Only look at whether the member variable has an array prefix.
    
    TRAC #21593
    Issue=367
    Signed-off-by: Daniel Koch
    Signed-off-by: Shannon Woods
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1285 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4fbf339275f7a4ef75a84591f7c184da17591032
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Sep 27 17:46:01 2012 +0000

    Adds missing formats to ComputePixelSize
    
    TRAC #21607
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    Author: Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1284 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 42944b02334905a221eaf15f4f3d14747a60ee91
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Sep 27 17:45:57 2012 +0000

    Adds support for per-framebuffer IMPLEMENTATION_COLOR_READ_FORMAT and TYPE
    
    TRAC #21607
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1283 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ce1189b0c23b716a3410a07e43ceee9c72d37601
Author: sminns@adobe.com <sminns@adobe.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Sep 18 20:06:35 2012 +0000

    Fix bug 368: Specify the Levels parameter of CreateCubeTexture and CreateTexture correctly.
    
    This fixes ATS test cases 38840,38841 (while making sure that 44095, 44096, 44097, 44100, 44101, 44102 still work)
    
    The Direct3D spec for the 'Levels' parameter of IDirect3DDevice9::CreateCubeTexture (and IDirect3DDevice9::CreateTexture) says: "If this is zero, Direct3D will generate all cube texture sublevels down to 1x1 pixels for each face for hardware that supports mipmapped cube textures."
    
    The 'levels' parameter can be 0 (which means "generate all texture sublevels") or a non-zero value for the actual number of levels to create (often 1 if mapmapping is disabled).
    But 1x1 and 2x2 mipmapped textures are not supported, so textures with these dimensions will actually create a 4x4 texture, and set mLodOffset to 2 or 1 respectively so that the level index can be offset as appropriate.
    There is only one special case (for textures with dimensions smaller than 4): when levels=1 and the texture is 2x2, it is unnecessary to create all miplevels, since the 1x1 texture will never be used.  For all other cases, all miplevels must be generated even though the upper ones will be unused in order to generate the lower ones.  If 'levels' is zero all miplevels must always be generated.
    It's important to preserve the special case, to ensure that attempting to access the non-existant level produces the correct error.
    So if 'levels' is zero, the 'Levels' parameter should always be zero, otherwise it's the sum of 'levels + mLodOffset'
    
    Also, the calls to 'creationLevels' from the TextureCubeMap methods were not quite right.  Passing a zero for the second parameter causes this API to always fail, since '0' is not a power of two.  There is already a version of 'creationLevels' that takes just one parameter and works correctly, so just deleting the extra parameter fixes this problem.
    
    BUG=https://code.google.com/p/angleproject/issues/detail?id=368
    
    TEST=Run test cases 38840, 38841, 44095, 44096, 44097, 44100, 44101, 44102 in http://ats.macromedia.com/Players/ATS/ATS10AS3/Staging/ATS.html?dynamicXML=false&wmode=direct&section=Manual&xmlSetURL=http://fpqa.macromedia.com/crospepperbuild/XMLSets/ATS10AS3ManualPepper.xml
    
    Review URL: https://codereview.appspot.com/6492098
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1279 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e6a0984658b9e97df38c7137257f9be974082cc2
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Sep 17 21:28:55 2012 +0000

    Returns early from createTexture if its width or height are zero.
    
    TRAC #21594
    Bug=350
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1278 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 087e57890abbf89bc36e8769abdb1354ba6aeb06
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Sep 17 21:28:47 2012 +0000

    Skip drawing points when gl_PointSize isn't written.
    
    Trac #21574
    Bug=365
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1277 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6bc4a14693aaffd5c65c186aaa8a16a8e439c855
Author: jbauman@chromium.org <jbauman@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Sep 6 21:28:30 2012 +0000

    Ensure texture level count accounts for lod offset.
    
    The lower texture levels (below the lod offset) aren't used and can't be seen, so don't count them in levelCount.
    
    BUG=
    
    Review URL: https://codereview.appspot.com/6492084
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1275 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1e8228df4c90a6b90d5d3e84f8caee18d34d4389
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Sep 6 20:23:47 2012 +0000

    Add D3DConstantTable.* to build_angle.gypi.
    Review URL: https://codereview.appspot.com/6497092
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1274 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8d47c11416f80996afa2abb57361426fb02cf1f2
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Sep 6 16:03:23 2012 +0000

    Emit "#version 120" if the shader has array as out parameter.
    Review URL: https://codereview.appspot.com/6494082
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1273 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 85fee29cc922dc4f1070e195c69bb46609d276c9
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Sep 6 00:43:06 2012 +0000

    Fix bad commit.
    Review URL: https://codereview.appspot.com/6499078
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1272 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 60dafe8f061e921a2b22fde9f2eb0e1264048121
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Sep 5 22:26:10 2012 +0000

    Implement D3DConstantTable.
    
    Remove ProgramBinary dependencies on D3DX.
    Review URL: https://codereview.appspot.com/6485061
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1271 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit aa48067ac8125da0a96b10be3ea6e9df0fbaab43
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Sep 5 19:32:38 2012 +0000

    Replace D3DXFloat16To32Array.
    
    Method described here: ftp://ftp.fox-toolkit.org/pub/fasthalffloatconversion.pdf
    Review URL: https://codereview.appspot.com/6506058
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1270 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3b6ff3e8a277b5fa67b9b3b40a4b46886e327abc
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Sep 5 15:50:49 2012 +0000

    Reconcile AUTHORS and CONTRIBUTORS files
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1269 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3e8fc7f6bf550582ff0587037a02ba13f417667e
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Aug 30 21:15:39 2012 +0000

    Move targets from src\build_angle.gyp to src\build_angle.gypi
    
    This enables Skia to compile ANGLE
    Review URL: https://codereview.appspot.com/6492063
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1268 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ac5ae3b5b35b72e5836f6431557d44391da7e050
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Aug 27 23:29:48 2012 +0000

    Allow glUniform to set nth element of array of structs uniform where n != 0.
    Review URL: https://codereview.appspot.com/6477046
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1267 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a6e9428a75a8b2ca72fabdc85e7d6ff7f67269b8
Author: maxvujovic@gmail.com <maxvujovic@gmail.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Aug 27 20:46:41 2012 +0000

    Avoid storing references to temporary strings in RenameFunction
    
    Issue=360
    Review URL: https://codereview.appspot.com/6483045/
    
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1266 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0806cb274fec86808c4a85719501dd2116beca91
Author: jbauman@chromium.org <jbauman@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Aug 27 18:14:32 2012 +0000

    Disable npot texture support on AMD cards on XP.
    
    We had been seeing some BSODs due to this.
    
    BUG=
    
    Review URL: https://codereview.appspot.com/6485058
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1264 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5a1bfa2edbb6395d92d438e2c50cc4fb718d21ca
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Aug 27 16:26:34 2012 +0000

    Add Jacek Caban to Authors list
    
    Issue=358
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1263 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ca8c1693ece9cfe3a5fa5fecaec7b01f985872c1
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Aug 27 16:25:43 2012 +0000

    Moved SSE2 code to separated file to allow using different compiler flags on GCC
    
    To use SSE2 in GCC, a compiler -msse2 flag is needed. It adds both possibility to write SSE2 code in the file, but also allows compiles to optimize the whole file with SSE2. To make sure that the code works on non-SSE2 machines, moving SSE2 functions to separated file and compiling only that file with -msse2 is the common practice.
    
    Issue=358
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1262 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 29ab9525407b2e830341a36a28c6074c94cedce5
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Aug 27 16:25:37 2012 +0000

    Minor GCC fixes
    
    - Added missing typename keyword
    - Use proper filenames includes (this matters when cross compiling on case sensitive OSes)
    - Added <string> include where GCC requires it
    - Avoid collision between enum variables and template params
    
    Issue=358
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1261 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit db2115d8b7082be98910a9cda033bf2c23eaeaa2
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Aug 27 16:25:33 2012 +0000

    Use unordered_map instead of hash_map on GCC
    
    stdext namespace is a non-standard extension. Use standard std::unordered_map on GCC.
    
    Issue=358
    Signed-of-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1260 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1825d8e59d0209597ac4383d21d981d926f54afc
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Aug 27 16:25:29 2012 +0000

    Fixed preprocessors errors on GCC
    
    - Preprocessor variables need to be separated from string constants to be separated token
    - Use ##__VA_ARGS__ GCC extension to support empry __VA_ARGS__ (should be no-op on MSVC). See:
    http://www.delorie.com/gnu/docs/gcc/gcc_44.html
    for details.
    
    The following series fixes compilation on GCC (from mingw-w64) and allows cross compiling the source on Linux. It was tested in Mozilla tree since ANGLE has no support for GCC in its build system.
    
    Issue=358
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1259 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 85e4419f971302c66bf57c074573fdf7cca209c5
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Aug 17 20:58:01 2012 +0000

    Only round back buffer to 64 pixels when vendor ID in Intel.
    
    This is actually to fix AMD / Intel switchable systems when using integrated Intel where the source rectangle to Present is not respected.
    Review URL: https://codereview.appspot.com/6459101
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1254 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 909f21cc11758a717d8b1649944f93d6000251be
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Aug 17 20:06:02 2012 +0000

    Reset shaders to null in makeCurrent.
    Review URL: https://codereview.appspot.com/6460100
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1253 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 74ff2edc2c3fa79d9469561be243d889cc836e73
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Aug 13 17:37:36 2012 +0000

    Fixed version number
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1247 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ab8c026f5167120e3bd8262a16d4ab5273a2ccf7
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Aug 13 17:36:25 2012 +0000

    Shader translator converted single-element vector swizzle to direct index access. It is not wrong, but unnecessary and moreover it triggers a MESA optimizer bug.
    Review URL: https://codereview.appspot.com/6460074
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1246 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0c71fd407a4af5010f8a62794549c612baa29b8b
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Aug 10 18:08:47 2012 +0000

    Round swap chain surfaces to 64 pixels in width.
    Review URL: https://codereview.appspot.com/6449123
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1245 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 28a6b5f8dad04ce73aac9ce6d6466bbc67d9c5de
Author: maxvujovic@gmail.com <maxvujovic@gmail.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jul 25 21:01:45 2012 +0000

    Add angle_code var to common.gypi and build_angle.gyp. Add GCC and clang warning flags from WebKit to ANGLE Mac and Linux builds.
    
    The angle_code var differentiates between core ANGLE code vs. test code, sample code, and third party code.
    
    Review URL: https://codereview.appspot.com/6427049/
    
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1244 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 728f279824b651ef47fdc3f0e90d4cdc48edda20
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jul 24 19:46:53 2012 +0000

    Revert r1230.
    
    See https://codereview.appspot.com/6427049/.
    Review URL: https://codereview.appspot.com/6422063
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1243 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 989c1c85b82277de2b080c0ce2174a668e1b96ba
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jul 24 18:40:38 2012 +0000

    Make ProgramBinary a refcount object and use Binding pointers to maintain it's lifetime on context and program.
    
    Trac #21270
    Bug=351
    Signed-off-by: Nicolas Capens
    
    This fixes the underlying bug since it allows the context to keep the program binary alive, after a relink has occurred.
    
    
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1242 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 716056c7293bfb935b1e6858b6d9a4b935905609
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jul 24 18:38:59 2012 +0000

    Restore the explicit isLinked() method for Programs and fix link().
    
    Trac #21270
    Bug=351
    Signed-off-by: Nicolas Capens
    
    If link fails we still need to keep the failed binary around for information
    such as number of active attributes, varyings, etc.
    Thus we can no longer use the presence of a binary to tell us if we've successfully
    linked a program object.
    
    
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1241 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 12394cf7c27d10d2b4f34e69bcacfb7fb3bc5b23
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jul 24 18:37:59 2012 +0000

    Install new program binary when current program is successfully relinked or reloaded
    
    Trac #21270
    Bug=351
    Signed-off-by: Nicolas Capens
    
    
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1240 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4c962bf16f73fc67f3680535cd8f2b784f5eddfd
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jul 24 18:37:02 2012 +0000

    Make Program link() and setProgramBinary() return the status of the operation
    
    Trac #21270
    Bug=351
    Signed-off-by: Nicolas Capens
    
    
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1239 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 95d294247b8fe82dddc1e8ddcbb7449074112e5d
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jul 24 18:36:10 2012 +0000

    redirect the LinkProgram and ProgramBinary calls through the context.
    
    Trac #21270
    Bug=351
    Signed-off-by: Nicolas Capens
    
    
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1238 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 834af913df08bed6e324b68443534956ea2c16df
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jul 24 18:35:17 2012 +0000

    Explicitly track the current program binary instead of just caching it.
    
    Trac #21270
    Bug=351
    Signed-off-by: Nicolas Capens
    
    
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1237 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7f3bfe13e643af7805ad771993c02bfcce557579
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jul 24 18:34:39 2012 +0000

    Don't erase the cached program binary on deletion.
    
    Trac #21270
    Bug=351
    Signed-off-by: Nicolas Capens
    
    This is unnecessary since the current program can never be deleted, only flagged for deletion.
    
    
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1236 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 62a2846cfeb8f1d34f8c0182f9e0adf5e23f5832
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jul 24 18:33:59 2012 +0000

    Cache the current program binary instead of the current program.
    
    Trac #21270
    Bug=351
    Signed-off-by: Nicolas Capens
    
    Everywhere we used the currentProgram it was immediately used to get the program's binary.
    
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1235 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 39c9d9522080b18f35f6302f2543b1bd6224ac55
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jul 24 18:32:29 2012 +0000

    Remove Program serial tracking. It is no longer useful (or used).
    
    
    Trac #21270
    Bug=351
    Signed-off-by: Nicolas Capens
    
    
    
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1234 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e6af4f939fa118b8c8f4d560b9779e5cacc2a5c6
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jul 24 18:31:31 2012 +0000

    Use the ProgramBinary's serial to track changed D3D9 shaders instead of the Program's
    
    Trac #21270
    Bug=351
    Signed-off-by: Nicolas Capens
    
    This is necessary since the shaders can change every time a new ProgramBinary is created
    (eg when re-linking or loading a new binary).
    
    
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1233 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e87ca0000e1ef1068db2a972f81f55579705f162
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jul 24 18:30:43 2012 +0000

    Add serial tracking to ProgramBinary
    
    Trac #21270
    Bug=351
    Signed-off-by: Nicolas Capens
    
    
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1232 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5ae3ccc34abd1ee0e29bd529a0544da240244f4b
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jul 24 18:29:38 2012 +0000

    Pass the programBinary directly to applyDeclaration
    
    Trac #21270
    Bug=351
    Signed-off-by: Nicolas Capens
    
    
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1231 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d6fddbf175fdc289b53e52e2954c80a6db781a6b
Author: maxvujovic@gmail.com <maxvujovic@gmail.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jul 24 18:13:49 2012 +0000

    Add GCC and clang warning flags from WebKit to ANGLE Mac and Linux builds
    
    Review URL: https://codereview.appspot.com/6427049/
    
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1230 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 99fbbe86bb268bf56475f6ec929de35914a2a35b
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Jul 19 19:11:24 2012 +0000

    Embed Blit shader byte code in binary.
    
    Ran a WebGL conformance test that exercises the blitter - copy-tex-image-2d-formats.
    Review URL: https://codereview.appspot.com/6403043
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1229 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 433f4aaa59ae564b1045fd745d1fb5115e88162d
Author: maxvujovic@gmail.com <maxvujovic@gmail.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jul 18 17:29:52 2012 +0000

    Fix always true condition in assert in MacroExpander.cpp.
    
    Issue: 349
    Review URL: https://codereview.appspot.com/6420046/
    
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1228 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6c0c2d87aaa51ec9242284f6d1de9e79a9db771c
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jul 18 15:49:56 2012 +0000

    Do not call MacroExpander::popMacro() from MacroExpander::~MacroExpander().
    MacroExpander::popMacro() assumes that the macro being popped has been fully parsed.
    This may not be true for MacroExpander destructor which may get called anytime the compiler decides to abort the compilation process.
    This patch just deletes the macro-contexts pushed in the stack without validating the parse state of current macro.
    
    BUG=348
    Review URL: https://codereview.appspot.com/6415043
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1227 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 95c25cfcde89c135553ae6097a274bff4a2caa94
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jul 13 22:39:17 2012 +0000

    Bump version.h
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1226 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3cfd7225a0d278a629237fd5644df513de3a67de
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jul 13 22:36:58 2012 +0000

    Cache D3D vertex and pixel shader objects so they can be reused and shared by multiple contexts.
    
    WebGL conformance tests did not regress. I verified they exercise the Blit code.
    Review URL: https://codereview.appspot.com/6345105
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1225 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e640ef8ee7613f97d1e9f610d4a7b00bb46f501a
Author: maxvujovic@gmail.com <maxvujovic@gmail.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jul 13 18:42:40 2012 +0000

    Make the new preprocessor backwards compatible with Bison 2.3
    
    Review URL: http://codereview.appspot.com/6356098/
    
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1224 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d91a0e996539db1f92bfddd645123f1be8514a69
Author: maxvujovic@gmail.com <maxvujovic@gmail.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jul 13 17:32:57 2012 +0000

    Recognize QNX as POSIX.
    
    Review URL: https://codereview.appspot.com/6353097/
    
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1223 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 687152872868ca57915af8859d77b6b13fe229c0
Author: jbauman@chromium.org <jbauman@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Jul 12 23:28:41 2012 +0000

    Scale up non-multiple-of-4 dxt textures
    
    D3D doesn't support DXT textures that aren't a multiple of 4 in size, so multiply the sizes by 2 or 4 so they work. Then ensure sampler parameters are set up correctly so they don't sample the unuploaded miplevels.
    
    BUG=https://code.google.com/p/angleproject/issues/detail?id=237
    TEST=
    
    Review URL: https://codereview.appspot.com/6287045
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1222 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 07ab841a88e2779dec5d5a347a8403c7d84f28e8
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Jul 12 15:17:09 2012 +0000

    Implement Anisotropic Texture filtering support
    
    Bug=297
    Authored-by: Conor Dickinson, Cloud Party, Inc.
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1219 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 95a758f3aaecea686132ea2a602e1612057c32ab
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Jul 12 15:17:06 2012 +0000

    Remove dos-style line-endings (EOL changes only)
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1218 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9fba10e90f39ce36461d360a91778de768c9d4ff
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Jul 12 01:43:41 2012 +0000

    Update version
    Review URL: https://codereview.appspot.com/6352103
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1217 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 144f28048b4ff779ba8867d21d94baef8e7493fe
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Jul 12 01:42:34 2012 +0000

    Enable OES_get_program_binary.
    Review URL: https://codereview.appspot.com/6349053
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1216 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6f1796f3ea2d67d5c91a17eeb5865442b5ccd188
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Jul 12 01:40:11 2012 +0000

    Make ProgramBinaries binary rather than text + binary.
    Review URL: https://codereview.appspot.com/6351082
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1215 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit dd8e4aa4b65019e5c5b1c793372dcd53bdf047eb
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Jul 12 01:33:10 2012 +0000

    Fix vertex texture fetch.
    
    The texture v coordinate was still being flipped.
    
    Fixes http://code.google.com/p/chromium/issues/detail?id=136650.
    Review URL: https://codereview.appspot.com/6345095
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1214 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2fe20a863a7181c9fd6e06b8fa03fbcc7d6409da
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jul 11 20:37:41 2012 +0000

    Don't set the Break flag on the last loop fragment.
    
    TRAC #21167
    ISSUE=338
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1213 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5b60f5eb63308da466cc87480f0511a080477147
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jul 11 20:37:38 2012 +0000

    Don't check for Break on the first loop fragment.
    
    TRAC #21167
    ISSUE=338
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1212 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8c77f854a20c1253ac3c10b9bad48843a9787c88
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jul 11 20:37:35 2012 +0000

    Indicate breaking out of an excessive loop using the loop index name.
    
    TRAC #21167
    ISSUE=338
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1211 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e9b3f60a1fce262cb1f94db7f7fe4475b4bbab47
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jul 11 20:37:31 2012 +0000

    Keep track of the index name of excessive loops.
    
    TRAC #21167
    ISSUE=338
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1210 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0933b0ccd0f0ab3f84ecfb620639c40a4c794560
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jul 11 20:37:28 2012 +0000

    Use a single index for excessive loops.
    
    TRAC #21167
    ISSUE=338
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1209 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c264de47f5af94e0e164bc21bcb81dab071e96a7
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jul 11 20:37:25 2012 +0000

    Limit HLSL loop scope to match that of GLSL, for excessive loops.
    
    TRAC #21167
    ISSUE=338
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1208 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 11190ec66113c17dd6774143c8e491bb25230f86
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jul 11 20:37:21 2012 +0000

    Disable debug logging on Release builds.
    
    TRAC #21169
    ISSUE=322
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1207 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a8833e91e42724823955c15c7629e75c021c0203
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jul 11 20:37:16 2012 +0000

    Disallow redefinition of built-in functions.
    
    TRAC #21173
    Issue=343
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1206 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit fc0543f4b29f6ef8cbdb074015487be555a2076d
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jul 11 20:31:02 2012 +0000

    This patch reverts r1203, but in slightly different way. It seems there is a problem with the config of memory bots. The usage of std::locale in ANGLE is fine.
    Review URL: https://codereview.appspot.com/6392052
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1205 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 39a942664160e909ee35987d3320252a6b42a98f
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jul 10 23:30:30 2012 +0000

    Reconstructed preprocessor.vcproj from libGLESv2.vcproj.
    
    There was something different about the project properties in release builds that caused std::vector to have different member variable offsets, leading to the samples crashing in Release builds. Removed stuff that was specific to libGLESv2.vcproj. Project now builds in all configs including x64.
    Review URL: https://codereview.appspot.com/6374050
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1204 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 828ec8fa88a963379a5dbd9de19cbbe585288171
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jul 10 17:50:12 2012 +0000

    Builds for chrome memroy bots (windows only) do not link due to the usage of std::locale, the reason for which is still unknown.
    This patch avoids the usage of std::locale, while still enforcing "C" locale and checking for overflow.
    Review URL: https://codereview.appspot.com/6392046
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1203 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8963ec2a883e39448fe8134d005e95392af79908
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Jul 9 22:34:06 2012 +0000

    Implement binary streams.
    Review URL: https://codereview.appspot.com/6357050
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1200 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 90080e3b703883b871f862d5ceafa44d2d815b6a
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Jul 9 22:15:33 2012 +0000

    Support for serializing a linked program to binary.
    
    The format has a text section followed by a binary section. The binary section contains an image of the device caps and the two shader executables. The text section has everything else newline deliminated.
    
    Ran WebGL conformance tests with temporary change to glLinkProgram that round trips all linked programs through glGetProgramBinary and glProgramBinary. No regressions.
    Review URL: https://codereview.appspot.com/6295092
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1199 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 68b3e91ca46c81f83d0a2fa0c65a5621c792eedb
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Jul 9 18:39:32 2012 +0000

    Fixed link error on GCC and clang. They complain about missing symbols even when those symbols are not used.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1196 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c0a1eb3c46f9454336d4cb980991b85f258521ae
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Jul 9 18:27:04 2012 +0000

    Fixed compile error on android. It was complaining about tolower. This patch removes the usage of tolower, and adds tests for checking both versions of hexadecimal integers - 0x and 0X.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1195 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f099dfdb0e353d0bdd8c3343d605d8665ceec7a7
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Jul 9 17:48:10 2012 +0000

    Enable the new preprocessor. Passes all unit-tests and WebGL conformance tests!
    Review URL: https://codereview.appspot.com/6357055
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1194 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c022c3affcb88e1dd5b746c5db1d171feac0f081
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Jul 9 15:56:42 2012 +0000

    WebGL spec specifies maximum length of all types of tokens - not just identifier tokens. And it also means preprocessing-tokens, not compiler tokens.
    Note that this implies that non-compliant tokens even inside excluded #if blocks will trigger error.
    
    TODO: This behavior should be implemented as a preprocessor option, so that a GLES2 compiler can choose to disable it.
    Review URL: https://codereview.appspot.com/6355066
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1193 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 08b3e40fb1473cd5407d53ac504e90391a740a08
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jul 4 19:16:35 2012 +0000

    Avoid implicitly enabling centroid sampling on non-point rendering.
    
    TRAC #21121
    Issue=340
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1192 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 13be3e43d5ec86021a920550df137d8de7f120f4
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jul 4 19:16:24 2012 +0000

    Increase the maximum point size to what is reported by Direct3D.
    
    TRAC #21121
    Issue=345,305
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1191 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d35efdf533eb45599d2ffa9dc0e781e2366488df
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jul 3 19:33:10 2012 +0000

    Restricted the length of identifiers (including #define directive) to 256, as required by webgl spec.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1186 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 390209aee7a0f027e772ec13950b7e6b8ef59dad
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jul 3 16:12:48 2012 +0000

    Lowered the severity of EOF_IN_DIRECTIVE from an ERROR to WARNING. There are just too many shaders on internet (including webgl conformance test) that do not have a newline at the end of directives, especially #endif.
    Review URL: https://codereview.appspot.com/6352059
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1185 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d0d9f87ac02955ae496b5cc51d5dffb693b31a87
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jul 3 16:06:40 2012 +0000

    Make sure that #version occurs before anything else, except for comments and white space.
    Review URL: https://codereview.appspot.com/6348056
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1184 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2e81891c21bfb199bb53f903bf0967f07efb65d8
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jun 29 21:26:03 2012 +0000

    Handled the case where int and float are of correct format, but large. The GLSL spec is not very clear on how integers should be interpreted for expressions. C99 says the expression is of type intmax_t. I am parsing all integers as int except those in expressions, which are being parsed as unsigned int.
    Review URL: https://codereview.appspot.com/6351051
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1179 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7adef6041f90e4b90d36263f2eb7673eb3a11081
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jun 29 01:10:07 2012 +0000

    Update revision
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1178 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6b495719afd7d340dadc7440ed55e21732dd92d3
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jun 29 00:06:58 2012 +0000

    Moved error-counting to Diagnostics so that errors generated during preprocessing is included in the count.
    Enabled logging of preprocessor diagnostics into info-log.
    Review URL: https://codereview.appspot.com/6354047
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1177 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f115592d96dc61ffca5cc23cd13a2ccd1743017f
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Jun 28 23:34:30 2012 +0000

    Used std::ostringstream instead of std::stringstream wherever applicable.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1176 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5b6a68e04a7d27dab71524fa481f42818f84a240
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Jun 28 20:29:13 2012 +0000

    Replaced pp::Token::value with pp::Token::text. The term value will be used for a function which will convert text to integer/float constant.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1175 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit fadc20586b4108117214f87834403c185eb872a6
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Jun 28 19:21:44 2012 +0000

    More expression tests for division by zero.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1171 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c6b3b3c74532d218e8d6240ae58bdbc2a2af40ad
Author: maxvujovic@gmail.com <maxvujovic@gmail.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jun 27 22:49:39 2012 +0000

    Fix the compiler warnings on WebKit ports when updating ANGLE in WebKit.
    
    Remove the varargs used for extra info formatting in the error() and warning() methods of ParseHelper. Use std::stringstream for formatting instead.
    
    Review URL: http://codereview.appspot.com/6310067/
    
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1170 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 432d6fc4a28f06292801141cc021c60f1b47f5a8
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jun 27 22:13:21 2012 +0000

    Introduced preprocessing token types. This fixes a bug where invalid tokens inside excluded conditional block may report diagnostics. Now we let the invalid tokens to bubble through the preprocessor so that they have chance to be skipped.
    Review URL: https://codereview.appspot.com/6356045
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1169 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d39ec4c15d6e656e027d7ded7ffceaafa0608e89
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jun 26 04:37:55 2012 +0000

    Implemented conditional processing.
    Review URL: https://codereview.appspot.com/6333046
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1168 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8b8f02dcd343c52f90f4e5d1937d3cc496812405
Author: maxvujovic@gmail.com <maxvujovic@gmail.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Jun 25 20:39:58 2012 +0000

    [SH_TIMING_RESTRICTIONS] Restrict sampler dependent values from the tex coord and bias parameters of all sampling operations, not just texture2D.
    
    Issue: 335
    Review URL: https://codereview.appspot.com/6305049/
    
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1167 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 635d6b5df93c619ec24898056fc6286e655b1edf
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Jun 25 14:57:21 2012 +0000

    Fix sample project dependency on preprocessor.vcproj
    
    Issue=342
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1166 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6409edb0ad2062b21f5ece1940cb4d5493b0431d
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Jun 25 14:57:18 2012 +0000

    Fix line-endings in libEGL.cpp
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1165 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 253b8d209be72a28891636af156f39874a0dd75a
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jun 22 19:27:21 2012 +0000

    Refactor program info log out of ProgramBinary and in to Program.
    
    Tested by setting breakpoint in esLoadProgram with the broken program.
    Review URL: https://codereview.appspot.com/6305114
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1164 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2979ed2cceed39874f2f5c431aefe257c56d508d
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jun 22 18:33:57 2012 +0000

    Add preprocessor.vcproj to samples.sln.
    Review URL: https://codereview.appspot.com/6326046
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1163 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9616e583e97db8b84232418eb94dcb188de41bfa
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jun 22 18:27:01 2012 +0000

    Merge no-flip-rows r1142 to trunk.
    Review URL: https://codereview.appspot.com/6304052
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1162 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e6357c0e00dd4f4e5544a1df65a66b61b5bc6218
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jun 19 20:24:23 2012 +0000

    Added x64 config to preprocessor.vcproj.
    Review URL: https://codereview.appspot.com/6295105
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1161 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e3043b14c6f8a31d4ab2e514782f86124938908b
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jun 19 19:40:52 2012 +0000

    Fixed compile error in the new preprocessor due to the change Preprocessor::predefineMacro() interface.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1160 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b197c8853fdcef761281202b873e05fa322727e5
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jun 19 18:53:39 2012 +0000

    Fixed build for manually-maintained vcproj files.
    Review URL: https://codereview.appspot.com/6297103
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1159 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 73bc298e3f0688d40c07c13d94197c4146ae1b49
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jun 19 18:48:05 2012 +0000

    Hooked up the new preprocessor behind a compile-time flag ANGLE_USE_NEW_PREPROCESSOR.
    Review URL: https://codereview.appspot.com/6304095
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1158 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f3cdb460d1dde723815eecd006274a3da5d81099
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jun 19 18:39:48 2012 +0000

    Added support for pre-defined macros.
    Review URL: https://codereview.appspot.com/6301084
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1157 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4f677306af281e039c26cd18ba1064d66d89787a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jun 19 15:29:51 2012 +0000

    Renamed IsDepthFormat/IsStencilFormat to IsDepthTextureFormat/IsStencilTextureFormat.
    
    TRAC #20959
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1156 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit dbd65656807de486ef1e916cb61f4c9944a91ded
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jun 19 15:29:48 2012 +0000

    Handle all INTZ format queries.
    
    TRAC #20959
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1155 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 999f0ff612b779da8deb22214a750fcad526d8d4
Author: maxvujovic@gmail.com <maxvujovic@gmail.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Jun 16 02:45:24 2012 +0000

    Removed static destructors in DependencyGraphBuilder.
    
    Review URL: https://codereview.appspot.com/6296079/
    
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1154 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 646ea1ec4b97de7f7f4ad49cd64536269a634cd8
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jun 15 17:36:31 2012 +0000

    Fixed compile error for translator_hlsl.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1153 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0c1f5942e18a6bee3c2d10526850c397e4a152e3
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jun 15 16:33:41 2012 +0000

    Fixed compile error on linux.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1152 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a19572ced46103154455b5ce9e8862c348823420
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jun 15 16:30:08 2012 +0000

    Fixed compile error on linux.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1151 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8b851c6db4ba79cbd5b658e799076b8e7a908f6d
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jun 15 16:25:11 2012 +0000

    Preparation of hooking up the new preprocessor.
    - Added custom Diagnostics class. Routed all info-log messages via this new class.
    - Added custom DirectiveHandler class. Moved directive-handling code to this class and routed the old path.
    - Deleted lexer_glue because it is not needed anymore. The new preprocessor is almost ready!
    - Killed a bunch of dead code related to PragmaTable.
    Review URL: https://codereview.appspot.com/6308074
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1150 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 46aa13d87fdc2da6d36fd14f678f204f8f98ae41
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jun 15 15:40:27 2012 +0000

    Implemented line directive.
    Review URL: https://codereview.appspot.com/6307083
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1149 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7fc38dddd2f5b6349348230475ca359666af583a
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Jun 14 18:23:23 2012 +0000

    Implemented macro expansion.
    Review URL: https://codereview.appspot.com/6303052
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1148 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 69ab2993370a86324f81c0375d280c5928545658
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jun 13 15:42:30 2012 +0000

    Remove an unused variable from readCPPline()
    
    This causes problems with -Wunused-but-set-variable in GCC 4.6.
    
    Review: http://codereview.appspot.com/6296o59/
    
    Author: Steve Block
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1147 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3ce8dbcd7ef7751612c6353b64b09d90acd3fa3c
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jun 8 17:52:30 2012 +0000

    Add placeholder entry points for GL_OES_get_program_binary.
    Review URL: https://codereview.appspot.com/6279054
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1146 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 430f5e0c75ade69935befb55d2592635f70255ce
Author: maxvujovic@gmail.com <maxvujovic@gmail.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jun 8 17:47:59 2012 +0000

    Add the SH_CSS_SHADERS_SPEC flag.
    
    Review URL: https://codereview.appspot.com/6270050/
    
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1145 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ea09f9b400d2ef6d2761e0a81471ee5221995a13
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jun 8 00:45:32 2012 +0000

    Move ProgramBinary into new file.
    Review URL: https://codereview.appspot.com/6299058
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1144 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e2a59bba3553507d93f15c466a1c630e8ab77121
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Jun 7 21:09:53 2012 +0000

    Refactor Program into Program and ProgramBinary.
    
    Program manages the state and lifetime of the program object.
    
    ProgramBinary holds the linked program and the code to do the linking.
    
    There should be no functional change. WebGL conformance tests did not regress.
    Review URL: https://codereview.appspot.com/6267047
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1143 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9a30b095c10fc89dc0983ce80a1640ab11bab16a
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jun 6 20:21:55 2012 +0000

    Program::link() and callees do not access mPixelHLSL, mVertexHLSL, mFragmentShader, mVertexShader, mAttributeBinding.
    
    mPixelHLSL and mVertexHLSL are deleted because they are only used during linking.
    Review URL: https://codereview.appspot.com/6306047
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1141 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4cfe7b7f5fc77c4c83aac9469756d859259924c7
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jun 6 20:06:20 2012 +0000

    Initial specification for ANGLE_program_binary.
    Review URL: https://codereview.appspot.com/6267048
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1140 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ec909fc9daa605339e9513a5ac1248276cb6589a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jun 5 19:51:49 2012 +0000

    If a uniform was created before, still set the register type index since it can be different.
    
    TRAC #20948
    Issue=337
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1139 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 28be96b058c89ad345145abefd8e9de651cf4d19
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jun 5 19:51:46 2012 +0000

    Removed redundant registerCount > 0 checks. The register indices now indicate presence.
    
    TRAC #20948
    Issue=337
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1138 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f5c8a2e2447316dceb310f143345eac4cc10b3eb
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jun 5 19:51:43 2012 +0000

    Refactored setting the register information.
    
    Avoided calling GetConstantByName.
    
    TRAC #20948
    Issue=337
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1137 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ea7c345f59d243c4881ebd6d6d9c01c537d1ba29
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jun 5 19:51:40 2012 +0000

    Store multiple register indices per uniform.
    
    TRAC #20948
    Issue=337
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1136 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 797924bcb0a439e91f9ced6e036078d6eafe9821
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jun 5 19:50:01 2012 +0000

    Error out if depth textures have more than one level.
    
    Trac #20959
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1135 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8833dd22397e1d8e292d33dc60bb911d9b0c7443
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jun 5 19:49:58 2012 +0000

    Fix error checking for glTexSubImage2D
    
    Trac #20959
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1134 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6377e368358cd269e2273ad4cbb7a561f8a3a93b
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jun 5 19:49:55 2012 +0000

    Fix error checking for glTexImage2D
    
    Trac #20959
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1133 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6c6227a420d4e1e103d6337f528d7bb3cea471b0
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jun 5 19:49:53 2012 +0000

    Updates to ANGLE_depth_texture
    
    Trac #20959
     - fix a number of incorrect error values
     - disallow multi-level depth textures
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1132 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 77222c9715408518c21a7f359b8f0f9af8c4bfdd
Author: maxvujovic@gmail.com <maxvujovic@gmail.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Jun 4 21:06:05 2012 +0000

    Apply SH_TIMING_RESTRICTIONS to all samplers.
    
    Issue: 332
    Review URL: https://codereview.appspot.com/6273044/
    
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1131 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 911cd6d610c545ed68fe5f78cfef38812ce1e859
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jun 1 01:45:20 2012 +0000

    Disallow GL_ALPHA for framebuffer attachment rendering.
    
    TRAC #20943
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1129 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ecdf44a88966a01033e63cef6b17d2fadeaec3e2
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jun 1 01:45:15 2012 +0000

    Generate Lod0 functions even if they don't contain gradients, so we can call them from discontinuous loops.
    
    TRAC #20737
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1128 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 679280b2f29cd1503cdace855543f347b4313d92
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 31 22:41:21 2012 +0000

    Fix gyp build and disable warning that is an error in Chrome.
    Review URL: https://codereview.appspot.com/6260063
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1127 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c745adb0b20dca8f0ac3c425733d51b3c5b623d3
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 31 18:10:43 2012 +0000

    Added PreprocessorTest::preprocess that preprocesses the input string and compares the output with that of the expected string. Renamed other *Test::preprocess methods to something different and clearer.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1126 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 19d7aa60c6da3612f60d6c5c3ff7b6077619e167
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 31 17:34:05 2012 +0000

    Fixed the location of EOF token. Added three new location tests for EOF.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1125 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ddbb45d6be9c397d1895eb17486695a283c90ccb
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 31 01:21:41 2012 +0000

    Return 0 for dFdx, dFdy and fwidth for discontinuous arguments.
    
    TRAC #20737
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1124 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e11100ce03a9555ab59dd8913f0002e41b07965c
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 31 01:20:32 2012 +0000

    Call Lod0 functions when inside a loop with a discontinuity.
    
    TRAC #20737
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1123 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 89431aa5ad22a82566bdd4f60465d43bc4f5cf13
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 31 01:20:29 2012 +0000

    Output Lod0 copies of functions containing gradient operations when the shader contains a discontinuity.
    
    TRAC #20737
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1122 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 79744f226551bae5dfa69bc5588311d7100ef991
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 31 01:20:24 2012 +0000

    Added a traverser for detecting gradient operations.
    
    TRAC #20737
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1121 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e209564280f9733853b2b0a9c8e8467af20ce05b
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 31 01:20:20 2012 +0000

    Add analysis utility to detect discontinuities.
    
    TRAC #20737
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1120 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a54f51863608937fca8f2222b95aa59e0ed91c7d
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 31 01:20:16 2012 +0000

    Added Lod0 versions of texture sampling intrinsics.
    
    TRAC #20737
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1119 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0e9704bcee88150d99ae7a634db79c550e9efb69
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 31 01:20:13 2012 +0000

    Output the complete function at once to avoid having to erase the function arguments.
    
    TRAC #20737
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1118 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 06eb0d4297494573de6413097188271cee1bcabe
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 31 01:17:14 2012 +0000

    Adjust the maximum loop iterations to keep the HLSL compiler happy
    
    Trac #20913
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1117 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 92d620c3b72c7bda5e31e6beedecf607f0861cc5
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 31 01:16:31 2012 +0000

    Advertise support for ANGLE_depth_texture
    
    Trac #20875
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1116 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 68145c6f33104f0db28e7112e32220ba519b636f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 31 01:14:46 2012 +0000

    Apply the depth texture correctly as the DepthStencil surface in applyRenderTarget
    
    Trac #20875
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1115 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 63e6afe9b4e52923197f65f8028e51252db9a6f7
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 31 01:14:42 2012 +0000

    Ensure all getDepthStencil and getRenderTarget calls consistently handle references to the underlying d3d surfaces
    
    Trac #20875
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1114 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6b7c84cd1eaa94a0413aef02c56761f08b7dd26b
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 31 01:14:39 2012 +0000

    Update FBO completeness checks for depth textures
    
    Trac #20875
    Signed-off-by: Nicolas Capens
    
    - improve missing attachment logic to allow no color attachments
    - disallow depth texture color attachments
    - allow texture depth and stencil attachments
    - update simulaneous depth/stencil logic
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1113 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d885df031755005d50439e6e4368fc5f2a903fd1
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 31 01:14:36 2012 +0000

    do some cleanup in Framebuffer::completeness
    
    Trac #20875
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1112 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f20bc2160d0419843f2619bde7dc4eeb9490b422
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 31 01:14:33 2012 +0000

    Add an IsDepthFormat helper function
    
    Trac #20875
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1111 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 08bfcc47ff2988bcd40307e28fbe481900e82db2
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 31 01:14:29 2012 +0000

    Add TextureStorage support for INTZ depth textures and ensure Images never create INTZ surfaces
    
    Trac #20875
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1110 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7aeab46f16bc0ea36499758a91f8e86072e0d630
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 31 01:14:26 2012 +0000

    Factor renderability check into GetTextureUsage
    
    Trac #20875
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1109 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e32d5699126f63f4f6272e3ae7789042728981b0
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 31 01:14:22 2012 +0000

    Pass the usage parameter into TextureStorage instead of passing a boolean
    
    Trac #20875
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1108 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 36884639b4a2a4d1ae054fde2353368a77bbf7f6
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 31 01:14:18 2012 +0000

    Refactor texture usage logic to helper function
    
    Trac #20875
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1107 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1d2d3c469ad93cfbd575fba313185f84b04ad1ba
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 31 01:14:15 2012 +0000

    Move glTexSubImage early out check after more of the error checks are done.
    
    Trac #20875
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1106 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0c8546843a23f209f0450a88de05ca6e6ea6c7f8
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 31 01:14:11 2012 +0000

    Report errors for unsupported Depth/stencil texture operations
    
    Trac #20875
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1105 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 835a95a59bf630852501391ffdb5fedc7172d0ba
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 31 01:14:07 2012 +0000

    Allow depth and depth-stencil formats and types for textures and update utility functions
    
    Trac #20875
    Signed-off-by: Nicolas Capens
    
    TexImage2D accepts
      format,internalformat=DEPTH_COMPONENT, type=UNSIGNED_SHORT
      format,internalformat=DEPTH_COMPONENT, type=UNSIGNED_INT
      format,internalformat=DEPTH_STENCIL_OES, type=UNSIGNED_INT_24_8_OES
    
    TexSubImage2D accepts
      format=DEPTH_COMPONENT, type=UNSIGNED_SHORT
      format=DEPTH_COMPONENT, type=UNSIGNED_INT
      format=DEPTH_STENCIL_OES, type=UNSIGNED_INT_24_8_OES
    
    TexStorage2DEXT accepts
      internalformat=DEPTH_COMPONENT16
      internalformat=DEPTH_COMPONENT32_OES
      internalformat=DEPTH24_STENCIL8_OES
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1104 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1c49f79dd58f44e2192cf9137cfbe8109c34953b
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 31 01:14:02 2012 +0000

    Detect depth texture support using INTZ and NULL textures
    
    Trac #20875
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1103 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d2cccf7a9a560a71d67de8b55425d498bc2d0a7a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 31 01:13:59 2012 +0000

    Add ANGLE_depth_texture specification
    
    Trac #20893
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1102 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 66ebd0143ea40a9beb83eab5d86e24f52825b3fa
Author: maxvujovic@gmail.com <maxvujovic@gmail.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 30 22:18:11 2012 +0000

    Add the SH_TIMING_RESTRICTIONS compile flag and dependency graph implementation.
    
    Description of the algorithm:
    http://code.google.com/p/mvujovic/wiki/ShaderControlFlowAnalysis
    
    This flag is one potential solution to timing attacks on textures containing cross-domain content
    or user agent data.
    This kind of analysis could be useful for both WebGL and CSS Shaders.
    
    The SH_TIMING_RESTRICTIONS flag will reject a shader if it uses texture dependent data to affect
    control flow.
    
    Other ways of affecting shader timing such as using NaNs in basic arithmetic operations or using
    built-in functions (e.g. atan) with different inputs are still under investigation.
    
    Issue=329
    Review URL: http://codereview.appspot.com/6195062/
    
    
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1101 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 85a250ed59cf48618878cf5b19a63aee95b347f4
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 30 20:45:33 2012 +0000

    Updated VersionTest to use the same pattern as other tests.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1100 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 51b96855babe208c6c22693f42925cc6458bd158
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 30 20:25:05 2012 +0000

    Fixed compile errors on linux.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1099 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 484730bc6dc2e8bc8735e49bee3d3a7dd6945815
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 30 20:13:14 2012 +0000

    Removed the unnecessary usage of GTEST_HAS_PARAM_TEST and GTEST_HAS_COMBINE. I would rather have tests fail to compile than be silently ignored.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1098 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit fc8b72005b887731ca97db23354e61bdad4d8cd9
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri May 25 00:01:13 2012 +0000

    Refactored all tests to derive from a common PreprocessorTest. This avoids some code duplication.
    Review URL: https://codereview.appspot.com/6257048
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1097 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e5dfefad46f2391500ee9168ee83bf98b258f240
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 24 19:29:37 2012 +0000

    Renamed UNEXPECTED_TOKEN_IN_DIRECTIVE to UNEXPECTED_TOKEN.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1096 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7c884540ad7607a772b13b2ca7bc8f6b21574946
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 24 19:13:03 2012 +0000

    Implemented #extension and #version directives.
    Review URL: https://codereview.appspot.com/6242045
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1095 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 36124de8ce9855c1cfdfb6529b47822e12123274
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 24 02:17:43 2012 +0000

    Implemented #error and #pragma directives. Added new tests and updated old ones for the new preprocessor API.
    Review URL: https://codereview.appspot.com/6213066
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1094 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 07d921de027a386f39c712c3c034f5ebd5f57262
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue May 22 20:22:08 2012 +0000

    Token::value now contains text for all types of tokens - not just CONST_INT, CONST_FLOAT, and IDENTIFIER. This makes it easier to report diagnostics and various preprocessor directives.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1093 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 98d04ec8e2db023e04818c4af97b5e613af3f55c
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon May 21 22:47:20 2012 +0000

    Implemented #define and #undef directives.
    Review URL: https://codereview.appspot.com/6215072
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1092 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0eb51ac342a527c604f7a18d37f62f8647fd887c
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon May 21 21:43:57 2012 +0000

    Deleted old unused files.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1091 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4a02078ac0e55041b345c68aea05790103aa1f96
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 17 21:19:16 2012 +0000

    Fixed compile warnings on linux.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1090 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 964b7194a38a2b04e2b483dc5a8c12426b1a202f
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 17 21:12:27 2012 +0000

    Fixed compile error in lexer_glue.cpp.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1089 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 99b5c0c91ef32fa4bfd7ef64f46249463411053f
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 17 20:44:52 2012 +0000

    Fixed compile errors and warnings on linux.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1088 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2c958eefb71f1b939dbda4477df3f0c8fa47a7b8
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 17 20:35:42 2012 +0000

    Moved error-handling to a separate class - Diagnostics. We were earlier returning errors as tokens which did not work very well when error occured while parsing a preprocessor directive. Now all returned tokens are valid. Errors are reported via an abstract Diagnostics interface. Updated unit-tests with the new scheme.
    Review URL: https://codereview.appspot.com/6203089
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1087 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 08365f685cb85b495f81018df89e7379dbc01d0e
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 17 19:44:21 2012 +0000

    Added svn:ignore property for googlemock.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1086 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5cd9c60bc286bdda30703666e6cdf267c671ba00
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 16 23:37:50 2012 +0000

    Added DEPS for gmock library.
    Review URL: https://codereview.appspot.com/6203086
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1085 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 04d7d22bb835408a82600244e09b9dcacbc0fa11
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 16 19:24:07 2012 +0000

    Reafactored Lexer class to allow chaining. The full chain when parsing #if directive looks like this: Preprocessor -> MacroExpander -> DirectiveHandler -> MacroExpander -> DefinedFilter -> Tokenizer. This chain dynamically changes depending on the current context.
    
    Also added an incomplete implementation of #if handling and ExpressionParser to illustrate how this design is supposed to work.
    Review URL: https://codereview.appspot.com/6203060
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1084 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 355989bcfce8e79ad98b35bd7fd0d68ec0b2d8da
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 9 15:49:29 2012 +0000

    Remove duplicate error checks from Texture subImage and subImageCompressed.
    
    Issue=306
    Signed-of-by: Nicolas Capens
    
    These errors are validated by validateSubImageParams* now, no need to do it twice.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1083 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4df88e8a97be0adeeafce311f40437c53a319340
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 9 15:49:24 2012 +0000

    Make TextureCubeMap size/format/compressed checks explicit about the level and face they are checking
    
    Issue=306
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1082 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 92f4992914abc964520ec845776258776e06bf03
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 9 15:49:19 2012 +0000

    Make Texture2D format and compression checks be explicit about the level they are checking
    
    Issue=306
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1081 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4327cff3d8d38c13cf0517eea832abe2733fe37e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 9 15:49:16 2012 +0000

    Remove unused base class Texture methods and make them non-virtual in derived classes
    
    Issue=306
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1080 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit eb3c01a8f2b7a2caefcb31d531beeb47022d8a5f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 9 15:49:12 2012 +0000

    make sure all texture->isCompressed calls are type-specific
    
    Issue=306
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1079 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 46f2d0a9790f0d70ab042b3af64d489ec3f4a68d
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 9 15:49:06 2012 +0000

    Split RenderbufferTexture into 2D and CubeMap specific variants
    
    Issue=306
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1078 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit bf6e5d4db66d0633c8b17313c307cd2f101e47fb
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 9 15:49:03 2012 +0000

    Remove the unused Texture::getType method
    
    Issue=306
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1077 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2ccbbef140db1dbe1d1ea579a0be5bf94bd4a9a5
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 9 15:49:00 2012 +0000

    Split validateSubImageParams into a texture type-specific check
    
    Issue=306
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1076 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 28eb39213dc00ff4155762b8ae4d1e724992597b
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 9 15:48:57 2012 +0000

    Move the internal format check for compressed subImage commands to the API layer
    
    Issue=306
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1075 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2d669fce5f2777c816f58a1797f17e124ca03260
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 9 15:42:48 2012 +0000

    Texture: Avoid attempting to create 0 sized D3D textures
    
    Issue=301
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1074 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 56c62636e593890b86c66a7e83d702b79d45e76d
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 9 15:42:45 2012 +0000

    Optimize Context::applyTextures by avoiding repeated getTextureSerial calls
    
    Issue=301
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1073 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ac5d7f3926c19371f5d5f457bbbe4802adc0c34e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 9 15:37:04 2012 +0000

    Memory associated with allTokens is never freed due to early return in "case -1" in CPPpragma(yystypepp*) in cpp.c
    
    ISSUE=328
    Signed-off-by: Daniel Koch
    Author: David Kilzer
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1072 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b45306b795388b151df5abeb3703d1d7c925b713
Author: jacob.benoit.1@gmail.com <jacob.benoit.1@gmail.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon May 7 02:12:34 2012 +0000

    Ensure that strings produced by getVariableInfo are always null-terminated
    Issue 326
    
    
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1070 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 30a487c7288394ad26ed4a54846567bf868a8f13
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 2 17:30:46 2012 +0000

    Minor refactoring for Input class. Chnaged a raw array to std::vector.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1068 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 519c32ba9a74b8382e122739d4e505d288905d29
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue May 1 15:24:05 2012 +0000

    Implement SSE2 version of loadAlphaData
    
    http://codereview.appspot.com/6050054/
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    Authored-by: Jin Yang
    
    With this patch, my HTML5 2D canvas benchmark with Chromium on Windows7 with GPU
    acceleration can boost about 4% though the most execution time is in GPU.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1067 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 98eec91296f500b38c0f274e9de6dcfa03fcfd41
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue May 1 10:04:08 2012 +0000

    Using yy_scan_string, which flushes the old buffer does not work. GLSL requires that each input string is concatenated, but yy_scan_string treats each string individually. Added a custom YY_INPUT which maintains the continuity between each string.
    Review URL: https://codereview.appspot.com/6130045
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1066 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 151e766c96cd427dd7a985c45494df20f5e6d9d7
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Apr 30 19:01:06 2012 +0000

    Added operator test.
    Review URL: https://codereview.appspot.com/6129055
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1065 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8b47903c8280127324f71ab67ed1ead925316cf5
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sun Apr 29 19:50:09 2012 +0000

    Added missing files from the renaming of UnfoldSelect to UnfoldShortCircuit.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1064 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 11399d5dbd8a139765b4f988db4b5bbf1f4a2a60
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 28 00:35:14 2012 +0000

    Make sure the internal DX uniforms get updated after re-linking.
    
    TRAC #20659
    Issue=321
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1063 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f8f8f362f6c1c9bf9f72c6d094327ed6dc274665
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 28 00:35:00 2012 +0000

    Renamed UnfoldSelect to UnfoldShortCircuit.
    
    TRAC #11866
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1062 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8915eba8a9d62725d7522bfc70223204b931d2d8
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 28 00:34:44 2012 +0000

    Implemented short-circuiting for logical OR and AND operators.
    
    TRAC #11866
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1061 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 44fffeef7176523d4f1cbf01e2c059f74f99764d
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 28 00:34:20 2012 +0000

    Ensure that non-sequence single-statement conditional blocks and loop bodies get unfolding of short-circuiting operators.
    
    TRAC #11866
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1060 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a11a6ab8020ee6641ea968806f8983d0e0896cf9
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Apr 27 10:00:38 2012 +0000

    Changes to handle comments properly and associated tests.
    Review URL: https://codereview.appspot.com/6111059
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1059 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 128d91995c3f8066bb9b59b5a0f581c99aee51bc
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 26 22:39:21 2012 +0000

    Added tests for token location.
    Review URL: https://codereview.appspot.com/6118062
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1058 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 79fb1019a16cc0b0af7f75a9b823b66e63fd99ed
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 26 21:07:39 2012 +0000

    Ugly hack to fix compile error on windows. VC++ does not support C99 and hence snprintf.
    BUG=308
    Review URL: https://codereview.appspot.com/6120055
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1057 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 828cc4897d87cdff8393c5dbe6c6a7af2223b6fd
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 26 19:41:07 2012 +0000

    Replaced Token::Location::string with Token::Location::file.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1056 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ef1eaa04df5dbeff5babf0d451c80b1b2b0ee29f
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 26 18:02:42 2012 +0000

    Changed Token::Location::string to Token::Location::file to keep it consistent with __FILE__ inbult macro.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1055 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit aaf756962cabb44c0a97fecc232e863b1876c94d
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Apr 25 20:44:28 2012 +0000

    Fixed the usage of testing::Range. I was assuming that the range is closed interval, i.e., it includes the max value. But it does not.
    Review URL: https://codereview.appspot.com/6112055
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1054 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 85f2b2c5e580c3c65ceb664cb10bec9ced25fb3e
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Apr 25 06:06:33 2012 +0000

    Added rules for ignoring comments.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1053 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ddb6e8e33277d54e2f2fb2ed998dc4e3adab8506
Author: kbr@chromium.org <kbr@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Apr 25 00:48:13 2012 +0000

    Stop using unsafe sprintf method.
    
    ISSUE=308
    Signed-off-by: Kenneth Russell
    Author: David Kilzer
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1052 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 28182485765b0fb9cfc86abd0649f500ccb050c7
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 24 23:07:34 2012 +0000

    Drastically simplified Input class. Now most of the heavy lifting is done by in-built yy_scan_string and yy_scan_bytes. Comment handling will be done by the lexer.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1051 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 23ff36a03d80588f25062fc625019a190ad9e621
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Apr 23 19:27:35 2012 +0000

    Added tests for the whole character set.
    Review URL: https://codereview.appspot.com/6105044
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1050 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d08bb0ccda06bbcea6094fcb93dc8c9b8e952e27
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Apr 23 19:27:13 2012 +0000

    The default implementation in flex only handles LF characters. GLSL supports all three newline characters - LF, CR, and CR+LF. Use a custom newline handler.
    Review URL: https://codereview.appspot.com/6105045
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1049 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 036a7356e891777e6fd3eb4481ffdfdd69eebba8
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Apr 20 22:34:53 2012 +0000

    Do not return newline and number sign. They are for internal purposes only.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1048 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 78a351987686488741e1b972ba574b833cff2376
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 19 17:16:26 2012 +0000

    Added a catch-rule for invalid numbers.
    
    Note that we do not need such a rule for identifiers because they will always be either terminated by a space, a punctuator, or an invalid character. Space and punctuator are both valid cases. The invalid character will be caught by another rule specifically for invalid characters. I will cover this case when I add tests for valid character set.
    Review URL: https://codereview.appspot.com/5978048
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1047 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit aeba7b8909cab625b37956ef312018955d2f71ae
Author: zmo@google.com <zmo@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 17 23:25:10 2012 +0000

    Build fix for chromeos.
    
    BUG=
    TEST=chromeos bots compile when we roll ANGLE
    TBR=alokp
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1046 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1f1b0d5da19fe4f770228ec3298f501e4dd1e3b2
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 17 19:44:15 2012 +0000

    Fix signed 16.16 fixed-point conversion.
    
    TRAC #20561
    ISSUE=320
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1045 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 571fe348ab28d7d05de6a68dc18c88aff542b571
Author: zmo@google.com <zmo@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 17 17:40:29 2012 +0000

    Don't append '_' to the end of prefix in long name mapping if the original name starts with '_'
    
    Otherwise we will have '__' which is illegal.
    Review URL: https://codereview.appspot.com/5978058
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1044 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1023bb559906b2f6604c66071f311e1ae0ec893e
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 14 09:04:46 2012 +0000

    Added tests for identifiers.
    Review URL: https://codereview.appspot.com/6038043
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1042 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e63436b9ac1067efe2e83999b0bbdfe05adea4f3
Author: zmo@google.com <zmo@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Apr 13 22:51:42 2012 +0000

    Handle hex int constant in preprocessor
    
    The patch is provided by jdashg and committed by zmo.
    
    (see angle issue 178)
    
    ANGLEBUG=178
    TEST=shader-with-hex-int-constant-macro.html
    TBR=zmo
    Review URL: https://codereview.appspot.com/6037044
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1041 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 36cc18b7186c6252d8d08767312ec77b0701f5bf
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Apr 13 22:04:07 2012 +0000

    Added tests for number types.
    Review URL: https://codereview.appspot.com/6022045
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1040 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 320c5d7fce90164208d6bdfafd7e03d941f7c4af
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Apr 13 21:32:35 2012 +0000

    Minor formatting change in pp.l.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1039 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 763d0fb9737229e66a5ddd49cd137f2778a2e5b1
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Apr 13 21:27:06 2012 +0000

    Fixed compile error in lexer_glue.cpp.
    TBR=zmo@chromium.org
    Review URL: https://codereview.appspot.com/6035044
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1038 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d089d11864ccba3a6730085c1099ad7edef1180c
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Apr 13 17:05:12 2012 +0000

    Removed unnecessary includion of Token.h in various files.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1037 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d5bb405f54ca7cb5c1d86f01e4a7bf74f1f79aaa
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Apr 13 15:44:20 2012 +0000

    Added tests for pp::Token interface and white-space handling by the preprocessor. By the magic of test-case generators, we have 74 tests!
    Review URL: https://codereview.appspot.com/6009054
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1036 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5e75f3447339642d32839011bbaae4b016f9b314
Author: zmo@google.com <zmo@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 12 23:47:10 2012 +0000

    Mac/Linux build fix.
    
    BUG=
    TEST=compile fine
    TBR=alokp
    Review URL: https://codereview.appspot.com/6013048
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1035 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 57442b1107c1ed347b5901c8d9b487ac409d90dc
Author: zmo@google.com <zmo@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 12 23:09:59 2012 +0000

    Update emulated functions.
    
    It turns out there are bugs in our tests, so kbr fixed them a while ago.  Now we had another look at the tests, and it turned out some functions we don't have emulate, and some functions we need to also emulate in fragment shaders.
    
    BUG=
    TEST=
    R=kbr
    Review URL: https://codereview.appspot.com/6011056
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1034 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 14e966b20d05ebfbdbf5be134e903159322a2b08
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 12 20:57:53 2012 +0000

    Modified the interface of Preprocessor. Added it to the build file. Lexer changes to record leading space.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1033 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 40da4c5305c5d4b463e7af431d773cacebcd14ba
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 12 05:23:19 2012 +0000

    Added HAS_LEADING_SPACE flag to pp::Token. Split the new preprocessor into a separate target.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1032 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit beadd5d20a789ca599d018a346d8af8402f237ff
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 12 02:35:31 2012 +0000

    Update reserved keywords.
    
    TRAC #20514
    ISSUE=317
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1031 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b7ad052f1128c4d07554d16f4ab445c9078290f5
Author: zmo@google.com <zmo@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Apr 11 20:55:01 2012 +0000

    Fix a few compilation warning/errors on Linux/Mac.
    Review URL: https://codereview.appspot.com/6009045
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1030 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2e793f0f141721693e830a9b9a0ef52554dee58f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Apr 11 19:41:35 2012 +0000

    Decorate (and undecorate) struct fields too (when not built-in).
    
    Trac #20510
    Issue=316,317
    Authored-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1027 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit fc74c375fd4c4ab18185c75286f96c01dafcb06d
Author: bsalomon@google.com <bsalomon@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Apr 11 17:53:24 2012 +0000

    Guard against null surface in Image::updateSurface.
    Review URL: https://codereview.appspot.com/5985051
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1026 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e15eba22cba5a8cf611593b04081a677f7f98f86
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Apr 11 16:29:15 2012 +0000

    Added googletest to svn:ignore list.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1025 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 416fcd354b627cc0aabda26b97db24810f11396d
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Apr 11 16:23:44 2012 +0000

    Added infrastructure for adding gtest-based tests. I need to use it for the new preprocessor.
    Review URL: https://codereview.appspot.com/5988069
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1024 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit bac1aa1c1006fc7e3536c5d77479e7f456889b95
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 5 17:06:55 2012 +0000

    Removed the unnecessary usage of InputSrc::getch and InputSrc::ungetch when handling pragma. These functions are not supported by the new lexer.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1020 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 408c45e703875953dee96d9012f340b8d5bbd68a
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 5 15:54:43 2012 +0000

    Added an alternate lexer for the existing preprocessor. It is still behind a compile-time flag.
    Review URL: https://codereview.appspot.com/5976072
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1019 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 88d91fbba118a73e9c394195c6097ceb1814d528
Author: jbauman@chromium.org <jbauman@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Apr 4 22:54:37 2012 +0000

    Increase Vertex Decl cache size to 32 entries.
    
    This should reduce the risk of running out of cache entries inside a frame, while being small enough that iterating through it to find the correct entry shouldn't be too expensive.
    
    BUG=310
    TEST=
    
    Review URL: https://codereview.appspot.com/5969077
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1018 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 807d8c330197754898a9c50747536fb1c6b14c71
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Apr 4 15:06:04 2012 +0000

    Fixed info log regressions.
    
    TRAC #20443
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1017 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 978702d871ab404b2e578c806bc27889510b4249
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Apr 4 15:05:58 2012 +0000

    Return a sequence when optimizing constant conditions so that brackets will be added to the HLSL output.
    
    TRAC #20052
    ISSUE=252
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1016 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ff6a0a5c531f2e13b54e1ee83886cd6b56d972e9
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 3 21:03:02 2012 +0000

    Fixed line number reporting. Each newline was being counted twice.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1015 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3f990c4afa49677bbc857cd60ade90dac93e05bf
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 3 19:50:35 2012 +0000

    Added lexer rules for operators.
    Review URL: https://codereview.appspot.com/5966072
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1014 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3b1302538791ab96f34eaa111748b308aa787165
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 3 18:20:18 2012 +0000

    Make Image::lock and unlock private and call them from Image::loadData.
    
    This is because I want loadData to be able to decide whether to use LockRect/UnlockRect or UpdateSurface as the method to load the data, depending on whether the Images are backed by textures in the default pool or not.
    
    I think it actually cleans up the code a bit.
    
    Also, fixed a bug in subImageCompressed. The associated WebGL conformance test now passes.
    Review URL: https://codereview.appspot.com/5948043
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1013 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4b2a522a3103768fa244d07644f3e201bd30ff9d
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 3 17:19:42 2012 +0000

    Punted on bison parser. It was turning out to be more complicated than necessary. Manual parsing combined with a flex lexer is easier.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1012 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 01fd431caedd5914014bc0945330bd130c1c8895
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Mar 30 21:33:30 2012 +0000

    More prep work for macro expansion. Off-loaded lexing from Context class to a new Lexer class.
    Review URL: https://codereview.appspot.com/5059048
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1011 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 43affc5eb30630b7abd71a0f8e59a5f910b16605
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Mar 28 14:55:39 2012 +0000

    Selection nodes are temporaries.
    
    Issue=156
    TRAC #16816
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1010 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ed2180dc0e8238dd6a06b2f60f2647d2b99c7386
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Mar 26 17:08:54 2012 +0000

    Fix comma operator precedence.
    
    TRAC #20059
    ISSUE=290
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1009 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 563c0a533544792bb1df86338866a5d38d749597
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Mar 23 21:18:42 2012 +0000

    Fence has pointer to the associated egl::Display.
    
    I think the assumption that getDisplay() returns a valid display in the Fence destructor is wrong.
    
    I'm trying to fix a crash in the field that looks like this:
    
    Thread 0 *CRASHED* ( EXCEPTION_ACCESS_VIOLATION_READ @ 0x00000000 )
    
    0x69582e38       [libglesv2.dll  - fence.cpp:27 gl::Fence::~Fence()
    0x69582f29       [libglesv2.dll  + 0x00022f29]  gl::Fence::`scalar deleting destructor'(unsigned int)
    0x6958077d       [libglesv2.dll  - context.cpp:1020     gl::Context::deleteFence(unsigned int)
    0x69582b9b       [libglesv2.dll  - context.cpp:195      gl::Context::~Context()
    0x69582dcb       [libglesv2.dll  + 0x00022dcb]  gl::Context::`scalar deleting destructor'(unsigned int)
    0x69582df2       [libglesv2.dll  - context.cpp:4259     glDestroyContext
    0x73166ab8       [libegl.dll     - display.cpp:768      egl::Display::destroyContext(gl::Context *)
    0x73168393       [libegl.dll     - libegl.cpp:861       eglDestroyContext
    0x6e18f1db       [chrome.dll     - gl_context_egl.cc:76 gfx::GLContextEGL::Destroy()
    0x6e18f40d       [chrome.dll     - gl_context_egl.cc:43 gfx::GLContextEGL::~GLContextEGL()
    
    Here's the disassembly:
    
    69582E21  push        esi
    69582E22  mov         esi,ecx
    69582E24  cmp         dword ptr [esi+4],0
    69582E28  mov         dword ptr [esi],695CBBE0h
    69582E2E  je          69582E3F
    69582E30  call        695743F5 // this is getDisplay()
    69582E35  push        dword ptr [esi+4]
    69582E38  mov         edx,dword ptr [eax] // crashes here because EAX is zero
    69582E3A  mov         ecx,eax
    69582E3C  call        dword ptr [edx+24h] // this is freeEventQuery()
    69582E3F  pop         esi
    69582E40  ret
    
    It looks like getDisplay() returns null.
    
    http://code.google.com/p/chromium/issues/detail?id=117817
    Review URL: https://codereview.appspot.com/5875044
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1008 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7353698445cbf4d440d54b0211065b89c0a65b0f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Mar 21 20:45:49 2012 +0000

    Fixed missing semicolon for do-while.
    
    TRAC #20055
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1007 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 43eecdc14f5c8ff6b738d42068e3fd822c7aeaba
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Mar 20 20:10:33 2012 +0000

    Avoid adding duplicate struct constructors.
    
    TRAC #20057
    ISSUE=285
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1006 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5dd6d09f9c695c77c7b3740f3d8da61831febccf
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Mar 20 20:10:28 2012 +0000

    The function parameters and function body belong to the same scope.
    
    TRAC #20056
    ISSUE=256
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1005 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ab8ca191f17dfbc82609f1c1a2d7196738ba4eef
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Mar 20 20:10:24 2012 +0000

    Define constructors for structures defined in argument lists.
    
    TRAC #20056
    ISSUE=256
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1004 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit eec8efc374cf6dda7af3ebd57192a09f8838a16e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Mar 9 21:57:49 2012 +0000

    Detect when declaring previously undeclared variables as invariant, and avoid using an uninitialized type.
    
    TRAC #20042
    ISSUE=241
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1002 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 83dc5a78b2efb0b7efcf1719c9b4790e6ebc505d
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Mar 9 21:57:07 2012 +0000

    Start a new scope for conditional statements even when there are no curly brackets. Also fix the DO WHILE grammar.
    
    TRAC #20052
    ISSUE=252,255
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1001 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 05bc204e87484de42708eda3fe71be824962d15f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Mar 9 21:56:58 2012 +0000

    Regenerate the parser using Bison 2.4.2.
    
    TRAC #20052
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1000 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2a073de7207b243fb9b5c8e8fe865039d625583e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Mar 9 21:56:43 2012 +0000

    Limit HLSL loop scope to match that of GLSL.
    
    TRAC #19197
    ISSUE=260
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@999 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0f328a7a63a73f60c2216bc1f09117352952a0a1
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Mar 5 15:07:50 2012 +0000

    Revert "Fixed test for 16-bit index range".
    
    TRAC #19988
    Issue=304
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@998 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4e13a77ecfdab59f0ca5366ecad457157ecda509
Author: zmo@google.com <zmo@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Mar 2 23:44:57 2012 +0000

    Make essl_to_glsl target windows only.
    
    This is a quick fix for gclient runhooks error on Mac/Linux.
    
    BUG=
    TEST=gclient runhooks --force on Mac/Linux
    Review URL: https://codereview.appspot.com/5732047
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@997 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 35342dc427d7230847e8b06dbb063c5752ddd13f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Feb 28 02:01:22 2012 +0000

    Provide multi-dimensional atan intrinsics.
    
    TRAC #19989
    Issue=302
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@996 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1e04e46b9d194584131fd1cd6ce9cbd3d37a4079
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Feb 28 02:01:17 2012 +0000

    Fixed test for 16-bit index range.
    
    TRAC #19988
    Issue=304
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@995 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 15ded51e85ddbe9a1cb34b9a80839473956a4b19
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Feb 22 05:07:44 2012 +0000

    Updates to ANGLE_pack_reverse_row_order
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@994 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 51b2685bbc8609dd15de8727f8fb7a7add0e8a0b
Author: jbauman@chromium.org <jbauman@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Feb 21 23:53:23 2012 +0000

    Don't use strlen inside of loop
    
    This could hurt performance quite a bit.
    
    BUG=296
    TEST=
    
    Review URL: https://codereview.appspot.com/5675086
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@993 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0725e7df04131fd2902f467b54bc8c3dd8474020
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Feb 17 18:02:20 2012 +0000

    Support reloading the shader compiler
    
    Trac #19900
    Issue=291
    
    - Move compiler initialization to a separate function
    - all this function to ensure the compiler is loaded when a compile is attempted
    (previously if the compiler was released, you'd have to create a new shader object
    to get it reloaded).
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@992 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 938009cfbf1e3f591336209d47d37a0dbbff1916
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Feb 17 18:02:15 2012 +0000

    Add ability to recompile shader source
    
    Trac# 19900
    Issue=291
    
    - add an 'uncompile' function to clear all results from any previous compile attempts
    - allow compiling to be done multiple times on the same shader
    - allow a shader to be compiled with no source specified (to produce an appropriate error).
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@991 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit cde6a61014514d6bf95edd06f517cd581df8c9fd
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Feb 17 18:01:10 2012 +0000

    Rename the Shader 'varyings' member to 'mVaryings' to follow coding standard
    
    Trac #19900
    Issue=291
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@990 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2cdf833ce50c696d9d80ecc999f487217a8c0fd6
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Feb 17 18:00:50 2012 +0000

    Provide better encapsulation for Shader member variables
    
    Trac 19900
    Issue=291
    
    Moved a bunch of member variables from 'protected' to 'private'
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@989 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f861b02cfc82cf71ef0c4f328eabadbb033bf603
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Feb 8 21:45:11 2012 +0000

    Update ANGLE_instanced_arrays spec.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@986 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b474de34ab0216905cc16aa6006a1cb5ed5b9a55
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Feb 8 18:55:41 2012 +0000

    Move translator_hlsl target into Windows specific section of build_angle.gyp.
    Review URL: https://codereview.appspot.com/5639055
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@985 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 90f1eb810af98fa6d79474e60de20d836f8f16bd
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Feb 8 02:00:33 2012 +0000

    Remove 'chromium_code' from build_angle.gyp.
    
    This is because the ninja build system, unlike make, builds translator_hlsl and fails on the clang warnings.
    Review URL: https://codereview.appspot.com/5647048
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@984 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit cca2b70b4fb60b968be2a0a07cc1aa39966132ae
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Feb 8 00:59:46 2012 +0000

    Create D3D device when eglInitialize is called.
    
    This is because some GPUs / drivers are unable to create the device once the Chromium GPU process sandbox has been locked down and waiting for the first context / surface to be created is too late.
    Review URL: https://codereview.appspot.com/5647046
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@983 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6c762d089ff5f0cf213ad8f5ef783db52a4b9016
Author: jbauman@chromium.org <jbauman@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Feb 3 23:31:53 2012 +0000

    Disable getting share handles when PIX is enabled.
    
    PIX doesn't seem to work with share handles, so disable them when we detect that pix is enabled.
    
    BUG=
    TEST=
    
    Review URL: https://codereview.appspot.com/5625048
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@982 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit cb37afdb6add4f2cd75f7c42d0fbf68b6b1817f6
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Feb 1 18:10:40 2012 +0000

    The normalized argument of vertexAttribPointer should not affect float and fixed.
    
    Issue=155
    Signed-off-by: Nicolas Capens
    Author: Pierre Leveille
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@981 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9c3a393dedc8e0ebf55010ecf8d7ed1ed5d9be74
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Jan 30 20:03:32 2012 +0000

    Enabled MSVC warning 4389 : signed/unsigned mismatch.
    
    I also fixed Config.cpp so it compiles without the warning.
    
    This is because this is now a warning as error in Chromium.
    Review URL: https://codereview.appspot.com/5600047
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@980 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 26f6e5d8ba05de3e968dda465d8b4c490cf0e09b
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 27 22:57:16 2012 +0000

    Added missing printf format type.
    
    %z was actually just a modifier.
    Review URL: https://codereview.appspot.com/5569082
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@979 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit afcd38833f9b2d31c0704488f737c281c81f2536
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 27 22:13:25 2012 +0000

    Removed _HAS_TR1 macro definition from common.gypi.
    Review URL: https://codereview.appspot.com/5569078
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@978 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e4319635f533d9c09a6ec8896d8d7d5822d2c7de
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 27 22:13:17 2012 +0000

    Fix printf format specifier in PoolAlloc.cpp.
    
    %Iu is used for size_t printf arguments in MSVC. The GCC equivalent is %z. MSVC does not support %z though.
    Review URL: https://codereview.appspot.com/5578050
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@977 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c6f7f9d504cdc62773a73114c1a202d1bade4ffc
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 27 15:40:00 2012 +0000

    Centralize detection of instancing support.
    
    TRAC #19489
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@976 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit dce02fdab466adc4645fe6dd95aa9c98a7fd363b
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 27 15:39:51 2012 +0000

    Expose the ANGLE_instanced_arrays extension.
    
    TRAC #19489
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@975 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d644931c5b910e8e03d6364382c2f954cb8bdcbb
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 27 15:39:32 2012 +0000

    Work around a bug observed with ATI graphics cards where instanced draw calls fail when all attributes are non-instanced, by repeating the draw call.
    
    TRAC #19489
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@974 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6c4b5e008b0701417cfab5da9982b57beb41c321
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 27 15:39:12 2012 +0000

    Re-implement line loops by constructing a 'looping' index buffer, so it is compatible with instanced draws.
    
    TRAC #19489
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@973 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f654945b00064209a9c7713d4c2906779e9f4dbd
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 27 15:39:08 2012 +0000

    Implement glDrawArraysInstanced by constructing a 'counting' index buffer since D3D9 only supports instancing on indexed draw calls.
    
    TRAC #19489
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@972 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c41a6fe3ca78d6ca838a41a90b04eae3a590cab2
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 27 15:39:04 2012 +0000

    Ignore the 'first' parameter of glDrawArraysInstanced for instanced attributes.
    
    TRAC #19489
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@971 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2fc9f9086064d3a63fcfbdb59b6760d0de14d947
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 27 15:39:00 2012 +0000

    Adjust the amount of streaming buffer space required for instanced attributes.
    
    TRAC #19489
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@970 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8ca9c6e7cef35ce53b72f30c64cf0bd10662b964
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 27 15:38:54 2012 +0000

    Set the stream source frequencies for instanced draw calls. Searches for an indexed (non-instanced) attribute to ensure it gets mapped to stream 0.
    
    TRAC #19489
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@969 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d2820bfb69ab94889f9477b5c9a4fafb7fc5ed13
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 27 15:38:48 2012 +0000

    Add entry points and constants for GL_ANGLE_instanced_arrays.
    
    TRAC #19489
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@968 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 21a849dca8e8a2da2cc757e294a663ccdf658522
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 27 03:04:27 2012 +0000

    Add ANGLE_instanced_arrays spec
    
    Trac #18156
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@967 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c742fca574b0f3ee20d81d56372e8f3bc11ff5e5
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 27 02:01:32 2012 +0000

    Fix warning in PoolAlloc.cpp.
    
    Use "I" instead of "l" as printf type prefix for size_t.
    Review URL: https://codereview.appspot.com/5572071
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@966 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e057c5dd6e234c6edd8b80537ccb753b6c1eb343
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Jan 26 19:18:24 2012 +0000

    Fixed more warnings.
    
    Clang warns about missing case in enum glslang_lex.cpp so I disabled that one as well.
    
    MSVC, as Chromium is built at least, warns about things in its own STL headers in SymbolTable.cpp so disabled the warning for that file.
    
    esTransform.c had a struct that the compiler could not determine was initialized so I explicitly initialized it.
    Review URL: https://codereview.appspot.com/5577048
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@965 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a1d8059d676046ff9a35e15341866f1e93944132
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jan 25 21:52:10 2012 +0000

    Increase MSVC warning level to 4.
    
    There are some exceptions, a subset of the exceptions used by Chromium. They didn't seem to be useful warnings.
    
    In code which we don't change much, like the preprocessor, I just suppressed the warnings in the specific files rather than changing the code.
    
    There should be no functional changes in this patch.
    Review URL: https://codereview.appspot.com/5570066
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@964 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 536888b8718e3451e0c5fb964a9c4b682f4950b3
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jan 25 02:10:25 2012 +0000

    Explicitly disable warnings for auto-generated files.
    
    I think this is better than modifying the auto-generated files.
    Review URL: https://codereview.appspot.com/5569058
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@963 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f3c92311d0f2d1f3af26206767592d2faad9e82d
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jan 25 00:51:19 2012 +0000

    Fix remaining compiler warnings in translator_common.
    
    One MSVC warning and one GCC warning.
    
    I also added a variable to build_angle.gyp that will enforce various rules not normally applied to third party software when built as part of chromium.
    Review URL: https://codereview.appspot.com/5570061
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@962 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e0f059c564637fb333bd4fa5ae7ce421b950f2ff
Author: jbauman@chromium.org <jbauman@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jan 24 23:21:52 2012 +0000

    Remove calls to new when modifying shader constants.
    
    There were some unnecessary temporary copies we can remove, and the rest have a maximum size so we can allocate them on the stack.
    
    BUG=276
    TEST=
    
    Review URL: https://codereview.appspot.com/5540071
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@961 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9dc0a2477ea75c1f604303332f95e2bb296820f4
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jan 24 21:45:37 2012 +0000

    Enable warnings as errors.
    
    I didn't do it for translator_common though because it contains automatically generated code.
    
    This is improve the signal to noise ratio in the chromium build logs.
    Review URL: https://codereview.appspot.com/5572055
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@960 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7e84fd682d55847308bd5f39918578b63c0f433e
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jan 24 21:44:39 2012 +0000

    Fix MSVC warning in DetectRecursion.cpp.
    
    In preparation for turning on warnings as errors.
    Review URL: https://codereview.appspot.com/5564053
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@959 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3efb99cf78b81faa99c97a214242565e9ec13ed6
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jan 24 19:04:19 2012 +0000

    Added EGL_KHR_image_base and GL_OES_EGL_image_external entry points to esUtil.
    Review URL: https://codereview.appspot.com/5574051
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@958 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit bb5223d074cefbb9b74fe0f66aee560714d55d14
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jan 24 13:38:10 2012 +0000

    Fix float texture support test
    
    Trac #19573
    Issue=281
    Signed-off-by: Shannon Woods
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@957 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b66a70156d33b0712fae267c6697af55e22bf8b6
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Jan 23 20:04:48 2012 +0000

    Moved RefCountObject to common so it can be used by libEGL.
    Review URL: https://codereview.appspot.com/5557064
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@956 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 551022ebc9b91cce6bd1b34b5daadce4faec6545
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Jan 23 19:56:54 2012 +0000

    Rename IslTextureTarget to IsInternalTextureTarget.
    
    TEXTURE_EXTERNAL is not considered an internal texture target.
    Review URL: https://codereview.appspot.com/5556067
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@955 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 77b95e1cb278e80840c438d188035aa61241539c
Author: jacob.benoit.1@gmail.com <jacob.benoit.1@gmail.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Jan 23 17:09:06 2012 +0000

    Detect GNU Hurd and Debian kFreeBSD as ANGLE_OS_POSIX
    
    See https://bugzilla.mozilla.org/show_bug.cgi?id=711353
    
    Patch by Mike Hommey
    
    
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@954 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d08aa75eb1203f30a166f3bb86be3b9712feec68
Author: jbauman@chromium.org <jbauman@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 20 23:50:06 2012 +0000

    Increase size of output buffer for pix to 32768
    
    We output entire hlsl shaders into this buffer, so 4096 bytes was too small.
    
    BUG=
    TEST=
    
    Review URL: https://codereview.appspot.com/5532094
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@953 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 86bdb824d516091ba1316675576aa8f511a0fd17
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 20 18:24:39 2012 +0000

    Adds support for EXT_occlusion_query_boolean
    
    TRAC #19360
    Signed-off-by: Daniel Koch
    Authored-by: Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@951 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b9f64aaebb3de8b1d229ea1a2ed3b155aa7b79da
Author: zmo@google.com <zmo@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 20 00:35:15 2012 +0000

    Use a global ref-counted singleton for long name map.
    
    This makes sure the same varying/uniform variables maps to the unique name in vertex/fragment shader.
    
    BUG=
    TEST=webgl conformance tests
    Review URL: https://codereview.appspot.com/5556065
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@950 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9996b8e6b16c43f8002eea64266b595f05a3a2d1
Author: zmo@google.com <zmo@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Jan 19 01:43:55 2012 +0000

    Rollback r942.
    
    MapLongVariableNames inherits from TIntermTraverser, and TIntermTraverser uses ANGLE's memory allocator, thus the memory is released per compilation.  Our design is for MapLongVariableNames to be a singleton across all compilations, thus, this is not working.
    
    BUG=
    TEST=
    TBR=kbr
    Review URL: https://codereview.appspot.com/5556053
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@949 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2678b34b5c43bc66092673ca80a0e77af6f790e7
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jan 18 16:29:40 2012 +0000

    Changes the pointer from textures to their renderbuffer proxies to non-refcounted (2/2)
    
    TRAC #19335
    Issue=271
    Instead, the texture maintains an internal refcount which causes the pointer to behave
    kind of like a "weak" shared pointer-- its reference won't prevent the renderbuffer from
    being deleted, but if the renderbuffer's refcount drops to zero, the texture should set
    its pointer to the renderbuffer to null so that a new one can be created at the next
    getRenderbuffer call.
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@948 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0dc8a5ee537e1f2a551fab918ace5b3f200c8a7a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jan 18 16:29:34 2012 +0000

    Stores texture in RenderbufferTexture via a BindingPointer (1/2)
    
    TRAC #19335
    Issue=271
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@947 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6575602ea68a323f4255c5c968f94c6830ae68a0
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jan 17 21:45:38 2012 +0000

    Finished off the GLSL compiler's support for parsing shaders using OES_EGL_image_external.
    
    The GLSL to HLSL translator work is not done yet so the extension is disabled in Shader.cpp.
    Review URL: https://codereview.appspot.com/5530081
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@946 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c6489b152adb2f4a88cf0247911a7c131f3fda0c
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jan 17 14:28:13 2012 +0000

    Update extension numbers for published extensions.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@945 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8983cbc5a99003ff5b5e4b1cd02e73ab1b1cbd8e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jan 17 14:10:19 2012 +0000

    Refresh EGL/eglext.h from Khronos
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@944 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 35be8c1fb2a2afc1246fbfec717b389bbb211e31
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jan 17 14:10:08 2012 +0000

    Refresh GLES2/gl2ext.h from Khronos
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@943 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4625d27b05eb294c7a79cffe1ea910180540d50b
Author: zmo@google.com <zmo@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 13 00:29:21 2012 +0000

    Long name mapping needs to be consistent between vertex/fragment shaders.
    
    For example: varying variables, uniforms.
    
    This CL makes MapLongVariableNames a ref-counted singleton and therefore, the map is shared by all shaders.
    
    Also, function/variable names changes from Varying to Global because uniforms also need to be consistent, not just varying variables.
    
    ANGLEBUG=279
    TEST=webgl conformance tests, especially invalid-passed-params.html and glsl-long-variable-names.html
    Review URL: http://codereview.appspot.com/5539046
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@942 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f289ee8d52d090a5f9ff94034b6e3f510187991a
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jan 11 20:03:29 2012 +0000

    Allocate D3D queries from a pool for the Display.
    
    This is a workaround for an Intel bug.
    
    The crash looks like this:
    
    0x5f816c53       [d3d9.dll       + 0x00036c53]  CQuery::~CQuery()
    0x5f816bec       [d3d9.dll       + 0x00036bec]  CQuery::`vector deleting
    destructor'(unsigned int)
    0x5f7e8129       [d3d9.dll       + 0x00008129]  CBaseObject::~CBaseObject()
    0x5f9e19c7       [libglesv2.dll  + 0x000319c7]  gl::Fence::`vector deleting
    destructor'(unsigned int)
    0x5f9de78e       [libglesv2.dll  - context.cpp:975]     gl::Context::deleteFence(unsigned
    int)
    0x5f9e1491       [libglesv2.dll  - context.cpp:198]     gl::Context::~Context()
    0x5f9e182f       [libglesv2.dll  - context.cpp:3936]    glDestroyContext
    0x717654ec       [libegl.dll     -
    display.cpp:749]        egl::Display::destroyContext(gl::Context *)
    0x7176a3da       [libegl.dll     - libegl.cpp:907]      eglDestroyContext
    0x64fbaf33       [chrome.dll     - gl_context_egl.cc:75]        gfx::GLContextEGL::Destroy()
    
    The vendor ID is always 8086 (Intel). Not an XP issue - it's happening on Win
    7.
    
    With this change, D3D queries are only released when the display is destroyed or reset or if a very high number of D3D queries have been allocated.
    
    Tested by stepping exercising the NV_fence entry points in a debugger.
    Review URL: http://codereview.appspot.com/5534065
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@941 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a5ddde91eaafe6e9a83d9b7edc22ad69a95b157d
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jan 10 23:00:07 2012 +0000

    Move Context::sync to Display::sync.
    
    This is a workaround for an Intel bug.
    
    The crash looks like this:
    
    0x5f816c53       [d3d9.dll       + 0x00036c53]  CQuery::~CQuery()
    0x5f816bec       [d3d9.dll       + 0x00036bec]  CQuery::`vector deleting
    destructor'(unsigned int)
    0x5f7e8129       [d3d9.dll       + 0x00008129]  CBaseObject::~CBaseObject()
    0x5f9e19c7       [libglesv2.dll  + 0x000319c7]  gl::Fence::`vector deleting
    destructor'(unsigned int)
    0x5f9de78e       [libglesv2.dll  - context.cpp:975]     gl::Context::deleteFence(unsigned
    int)
    0x5f9e1491       [libglesv2.dll  - context.cpp:198]     gl::Context::~Context()
    0x5f9e182f       [libglesv2.dll  - context.cpp:3936]    glDestroyContext
    0x717654ec       [libegl.dll     -
    display.cpp:749]        egl::Display::destroyContext(gl::Context *)
    0x7176a3da       [libegl.dll     - libegl.cpp:907]      eglDestroyContext
    0x64fbaf33       [chrome.dll     - gl_context_egl.cc:75]        gfx::GLContextEGL::Destroy()
    
    This is a crash in deleteFence but the same could happen in flush. Fix for the former to follow.
    
    The vendor ID is always 8086 (Intel). Not an XP issue - it's happening on Win
    7.
    
    Tested by stepping through a call to glFinish in the debugger and ensuring that
    it sleeps but eventually returns.
    Review URL: http://codereview.appspot.com/5503094
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@940 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 89c9813b6fd3148d05fc2b6178864e8315fc7b80
Author: zmo@google.com <zmo@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 6 02:17:03 2012 +0000

    Fix a bug in long variable name mapping.
    
    Originally we only match varying variables in vertex/fragment shaders.  However, we should also match uniform names.  For example, if a uniform variable name is used in both vertex and fragment shader, and after mapping the names are different, then the name mapping table is no longer 1:1.
    
    BUG=106638 (crbug)
    TEST=http://seanseefried.com/chrome-bug/simple-broken.html shows a magenta square
    Review URL: http://codereview.appspot.com/5520051
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@939 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9a4d112c28fe2f636d8ed9f327ca4382028eb33e
Author: kbr@chromium.org <kbr@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Jan 5 20:06:28 2012 +0000

    Fix off-by-one error in enforcement of WebGL's maximum struct nesting.
    
    BUG=http://code.google.com/p/angleproject/issues/detail?id=275
    TEST=WebGL conformance suite
    TBR=nicolas
    Review URL: http://codereview.appspot.com/5520049
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@938 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 56397df38365335d2c0726239a8faf917568375d
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 22 19:39:18 2011 +0000

    Removes an unneeded GetDesc call from Clear
    
    TRAC #19330
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    Authored-by: Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@930 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c8d46066e8e8093ee9bdd88f28a5dc2bcdeb28a7
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 22 19:39:14 2011 +0000

    Ensure texture storage exists before retrieving serial
    
    Trac #19330
    Signed-off-by: Nicolas Capens
    
    In some cases we were trying to retrieve a serial from
    a rendertarget texture which didn't have the storage allocated yet.
    This was resulting in a 0 serial which was indistinguishable from
    the case where context was just marked dirty and we assumed
    the target was up-to-date. This resulted in
    failing to apply the correct rendertarget and as a result
    some d3d clear calls were failing (picked up by debug runtime).
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@929 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4d6c6d7547b40b842ad825920e0ab8c099b86616
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 22 19:36:50 2011 +0000

    Only allow renderable d3dformats to be flagged as rendertarget texstorage
    
    Trac #19356
    Issue=273
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@928 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2e566dc311c4aae202edd8584a1269198fa46ddc
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 22 19:36:47 2011 +0000

    rename TextureStorage renderable flag to reflect it's actual usage
    
    Trac #19356
    Issue=273
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@927 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b9aa00b225ad3033f69f83666ba7454c8bef01b8
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 22 19:36:42 2011 +0000

    Refactor image renderability lookup
    
    Trac #19356
    Issue=273
    Signed-off-by: Nicolas Capens
    Based on preliminary patch from Ken Russell
    
    Images are never renderable directly, so renaming the Image::isRenderable function clarifies that we are
    only checking on the renderability of the format.
    Also factor out the lookup to a static helper function (it will be used elsewhere in the next patch)
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@926 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d9a54f983ec26c356278515857f7af77df88398d
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 22 18:32:53 2011 +0000

    Fixed gl_FragCoord.y calculation
    
    TRAC #19349
    ANGLEBUG=272
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@925 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e7289839470bd031957e398f2e10a9916fb9643b
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Dec 16 23:30:52 2011 +0000

    Check device loss between GetData calls when blocking
    
    Trac #19246
    Issue=262
    
    Some drivers don't properly return device lost
    
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@924 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit df3637211380bb20865d2f7aea1681ca05f13fe9
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Dec 16 23:29:53 2011 +0000

    Re-enable advertising EXT_texture_storage
    
    Trac #19259
    Issue=268
    
    The problems on d3d9/winxp have been fixed.
    
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@923 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ad0ca1c47230df007ce14782b77b9996f1e567f4
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Dec 16 23:28:52 2011 +0000

    make the renerable usage consistant and const
    
    Trac #19259
    Issue=268
    
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@922 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 92399aa25a7327d3f260e594be08ba7e93c1c9d4
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Dec 16 23:28:47 2011 +0000

    Add TextureStorage::getPool method
    
    Trac #19259
    Issue=268
    
    Use it to avoid duplicate calls to getTexturePool
    
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@921 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 101f86979f81ed1b6bf3449a43372456c021f537
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Dec 16 23:28:43 2011 +0000

    Let TextureStorage track the texture pool explicitly
    
    Trac #19259
    Issue=268
    
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@920 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f5cffc918986df798ec9674e7636d22a58afcc6f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Dec 16 23:28:39 2011 +0000

    Rename various mTexture variables to mTexStorage to reflect what they really are
    
    Trac #19259
    Issue=268
    
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@919 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 63928d78d9a34bf40be33ea6f86e5f1a36b43273
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Dec 16 23:28:34 2011 +0000

    Cache the computation of getD3DFormat
    
    Trac #19259
    Issue=268
    
    Instead of looking this up every time, we'll just compute it when the type/format changes.
    
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@918 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1dda3b1832bcb09fcf68f685afbeda41df49fdde
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Dec 16 23:28:31 2011 +0000

    Move ConvertTextureFormatType
    
    Trac #19259
    Issue=268
    
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@917 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 38f28cba63a54aa856c3ccf622a8b36ed1cd7078
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Dec 16 23:28:26 2011 +0000

    Track the texture pool explicitly in the Image class
    
    Trac #19259
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@916 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1d116b42c6138a95c563c3de07dc929d530859e4
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Dec 16 23:28:22 2011 +0000

    Fix managed texturestorage textures
    
    Trac #19259
    Issue=268
    
    managed textures need to be set on the images so they can be updated
    properly and to avoid the additional system memory copy of the surfaces.
    Also make sure track the managed state properly.
    
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@915 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f71a339acd9ed59bb2ffadee747bfe36b6ccc832
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Dec 16 23:28:18 2011 +0000

    Use the correct d3dformat for texstorage textures.
    
    Trac #19259
    Issue=268
    
    The image we were trying to get the d3dformat from hadn't been initialized yet.
    
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@914 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8d6252eb0eee829b6e1e5f9830d44a5bb4b329fa
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Dec 16 23:28:14 2011 +0000

    Add a static helper function to convert a GL format/type to d3dformat and call this from Image::getD3DFormat
    
    Trac #19259
    Issue=268
    
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@913 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5f7dc33da349d2603ba3c4fb302dcd27a02b302a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Dec 13 22:48:00 2011 +0000

    Use the correct function to determine texture pool
    
    Trac #19259
    Issue=269
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@912 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6a05be4c37c0c61614056944b8a338106bbdfb36
Author: zmo@google.com <zmo@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Dec 13 18:19:29 2011 +0000

    Update version.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@911 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 93563fcf085045a0b7c6aef0c3507c2efce599a9
Author: zmo@google.com <zmo@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Dec 13 18:18:04 2011 +0000

    (Landing this on behalf of groby@chromium.org.  Review the CL at http://codereview.appspot.com/5482053/)
    
    Fix issue-242 (failure to compile any shader using cos() with
    SH_EMULATE_BUILT_IN_FUNCTIONS)
    
    ANGLEBUG=242
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@910 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e19d8328e24814a836f6d8a4fe49eda768b96dff
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Dec 13 17:30:48 2011 +0000

    Ensure the device states are reinitialized after a device Reset
    
    Trac #19246
    Issue=262
    
    After a device lost the "mSceneStarted" variable was getting out
    of sync and thus we were never restarting the scene before drawing.
    It's probably best to ensure that any default states we need are
    also set after a reset.
    
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@909 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a579895960a4a64e099f6b1295cfaa3813b87518
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Dec 13 17:30:43 2011 +0000

    Fix more rendertarget leaks
    
    Trac #19246
    Issue=262
    
    FBO rendertargets are explicitly refcounted.
    
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@908 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 29217fad35b35936be5e07e39286335f2fbd6b67
Author: vangelis@google.com <vangelis@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Dec 13 01:46:18 2011 +0000

    Stop advertizing GL_EXT_texture_storage until issue 266 is resolved.
    Review URL: http://codereview.appspot.com/5484055
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@907 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 82b289138e7a818d343429d52023e3e2e560142e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Dec 12 21:01:35 2011 +0000

    Fix error reporting for lost contexts
    
    Trac #19246
    Issue=262
    
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@906 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7f4dee1452dffb2201a1355d5b1802e547fcb0b8
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Dec 7 21:14:00 2011 +0000

    Guard against releasing NULL textures.
    
    ANGLEBUG=265
    TRAC #19196
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@905 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d355223041a5c83d952df2e24f58bff9441a43f6
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Dec 7 19:11:33 2011 +0000

    Update version to 904.
    Review URL: http://codereview.appspot.com/5449113
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@904 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit febbea8865965244ae5d5abfdad779622db55d69
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Dec 7 19:10:16 2011 +0000

    Fixed leak of render target associated with ColorBuffer.
    
    Following r853, I am assuming that any render target returned by FrameBuffer::getRenderTarget has to be released. Updating the usage of getRenderTarget to reflect that.
    
    This is not reproducible in Chrome at the moment but it will be once I start rendering to pbuffers.
    
    I ran the WebGL conformance tests. No regressions or crashes.
    Review URL: http://codereview.appspot.com/5451110
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@903 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f4490e220717ee3bdae77a14d1b5d16360190439
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Dec 6 02:05:22 2011 +0000

    Implemented EGL_NV_post_sub_buffer.
    
    The change to the sample is just to demonstrate how I tested it. I won't check in the stuff under samples/.
    
    It's not clear to me what eglPostSubBufferNV should do if EGL_POST_SUB_BUFFER_SUPPORTED_NV is false. At the moment it fails silently as though it was called on the wrong surface type:
    
     "If <surface> is a back-buffered surface, then the requested portion
        of the color buffer is copied to the native window associated with
        that surface. If <surface> is a single-buffered window, pixmap, or
        pbuffer surface, eglSwapBuffers and eglPostSubBufferNV have no
        effect."
    Review URL: http://codereview.appspot.com/5345050
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@902 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 343373abf680902a2ede4e0f15f459b6f99f1eb0
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Nov 29 19:42:32 2011 +0000

    Creates helper function for common subimage param checking
    
    TRAC #18802
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    Author: Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@901 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 21f05d75456f0b445f64f3d1174a581f5ec8b042
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Nov 29 19:42:28 2011 +0000

    Adds missing parameter checks to texture functions
    
    TRAC #18802
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    Author: Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@900 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f1286449451176f824d1df5425d6f482308f1f21
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Nov 29 19:42:23 2011 +0000

    Adds a level parameter to texture getWidth and getHeight
    
    TRAC #18802
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    Author: Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@899 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 67d72526fa3f25740e758105116d2862e6cf1409
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Nov 29 17:23:51 2011 +0000

    Checks parameters of matrices for under-fullness in shader constructor check.
    
    TRAC #18906
    Issue=218
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@898 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 805a49ab7d5725dc81599fbe80ba9ed0e66e7654
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Nov 29 17:21:42 2011 +0000

    Fix post-build steps when spaces appear in directory names
    
    TRAC #18901
    Issue=245
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@897 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4d04f90d0ca8b55a38f7cd550a9a0f0943e8176c
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Nov 24 22:34:26 2011 +0000

    Update major version.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@895 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ffc4e74d84b805ef63d2a8287e0e40ace35196ef
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Nov 24 22:34:22 2011 +0000

    Add another contributor
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@894 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f5cfcd2d1a1260942a3a38dc387679db99ab643a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Nov 24 22:34:18 2011 +0000

    Update contributors
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@893 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 102ca7466e2cb5db75cc6d79f575183052f59232
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Nov 24 22:34:14 2011 +0000

    Fix rendering for the closing line of line loops.
    
    Trac #19035
    Signed-off-by: Nicolas Capens
    
    Line loops via DrawArrays were incorrect because the vertex buffer already
    has the vertex offset factored in.
    Line loops via DrawElements were incorrect because the vertex buffer was
    offset by the minIndex. We need to use the same minIndex when rendering
    the closing loop.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@892 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7a2fdc9c030a811518a6099617b4817ca3140102
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Nov 24 22:34:09 2011 +0000

    Avoid rendering the last pixel of lines.
    
    Trac #19035
    Issue=257
    Author: Yuriy O'Donnell
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@891 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4229f59f29b6f9134f07d4880e1573bdd0135773
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Nov 24 22:34:04 2011 +0000

    Fix HLSL translation for mod(vec2,vec2)
    
    ANGLEBUG=258
    Signed-off-by: Daniel Koch
    Signed-off-by: Nicolas Capens
    Author: Sam Hocevar
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@890 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 56d46abe08c8a79786c3821e4e4336791f29883a
Author: bsalomon@google.com <bsalomon@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 23 14:53:10 2011 +0000

    Add GL_ANGLE_pack_reverse_row_order. Performs vertical flip in readPixels and
    may write direct to client ptr.
    
    Bug=none
    Test= Tested in a modified version of Chromium using canvas2D.
    Review URL: http://codereview.appspot.com/5373104
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@889 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 205fef3389c81637f689585431273cf83af02e94
Author: kbr@chromium.org <kbr@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Nov 22 20:50:02 2011 +0000

    Added support for GL_ARB_texture_rectangle to shader validator.
    
    Parser was regenerated with the flex/bison shipped with Ubuntu 10.04.
    
    BUG=251
    TEST=tested with new Core Animation plugin rendering path on Mac OS X
    Review URL: http://codereview.appspot.com/5432044
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@888 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit afaa0490500c539f9a0e1c6432514444a9d10076
Author: michaelbai@google.com <michaelbai@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Nov 21 21:14:23 2011 +0000

    Upstream android's change for angle
    
    
    BUG=
    TEST=
    Review URL: http://codereview.appspot.com/5410050
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@887 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 32b11443c38577f29fabe51520ae9a0808992e0b
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Nov 19 02:42:48 2011 +0000

    Checks level on relevant gl calls against implementation maximum.
    
    TRAC #18905
    Issue=243
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@885 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 059fc15feafdcc0a9f14f95266b717d6321d1b61
Author: jbauman@chromium.org <jbauman@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Nov 18 19:26:17 2011 +0000

    Fix count of elements in buffer
    
    There can be one extra element at the end even if an entire stride doesn't fit.
    
    BUG=
    TEST=
    
    Review URL: http://codereview.appspot.com/5401046
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@884 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1e44645a423d90f166c00fabb95cd20e0ac8a05b
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 16 03:56:50 2011 +0000

    Immutable textures are always mipmap complete.
    
    TRAC #18730
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@883 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6364b3505e65521c344acfa95304ae525fd50c89
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 16 03:56:44 2011 +0000

    Split completeness tests into sampler and mipmap completeness.
    
    TRAC #18730
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@882 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 45b888ad1ded3e4d9e41d2b0970880acc002f534
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 16 03:56:39 2011 +0000

    Correct texture storage levels count validation.
    
    TRAC #18730
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@881 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c333699d83a8ea2dfb692eaf788adcf5f7406c6b
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Nov 14 21:15:45 2011 +0000

    Fixed vertex sampler index retrieval.
    
    TRAC #18865
    ANGLEBUG=247
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@880 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1625d7d4022d89c87934487e1d9f7f10d2cee744
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Nov 14 21:15:39 2011 +0000

    Fixed the incorrect TQualifier on gl_FragData.
    
    Signed-off-by: Daniel Koch
    Author: Mark Callow
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@879 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e1301a3c08371bdd4391147ff744022166a18856
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Nov 12 04:44:03 2011 +0000

    Add extension specifications
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@878 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 43911ec8e68342c86c720af59305231969a79166
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Nov 12 04:30:04 2011 +0000

    Add new function prototypes to gl2ext.h
    
    Trac #18608
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@877 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 888df06dca3e098cbfffafd2c7e9445517c4f668
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Nov 12 04:26:13 2011 +0000

    Resync version #876
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@876 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d28da894cc2063df32bda6b486edfa518accd4a5
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Nov 12 04:23:53 2011 +0000

    Use the texture surfaces as image surfaces when managed.
    
    TRAC #14743
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@875 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 59580a3d002dd023880ee22edcdd8a955a151865
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Nov 12 04:23:44 2011 +0000

    Used the MANAGED pool for non-renderable textures on XP.
    
    TRAC #14743
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@874 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 33b609f548742007d2de9bbf240b69edcfacb5d0
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Nov 12 03:25:36 2011 +0000

    Update revision info
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@873 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4bf6fd0af1236527cc48c89683416316c8e0a6fc
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Nov 12 03:18:16 2011 +0000

    Fix uniform component size calculation for booleans.
    
    Trac #18608
    Boolean Uniforms are treated as either ints or floats both internally and when being loaded.
    A GLBoolean is effectively a char which is incorrect.
    
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@872 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 709ed116b4d5d40af2722c6f7bc06c7565c46508
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Nov 12 03:18:10 2011 +0000

    Export new entry points via GetProcAddress and def file
    
    Trac #18608
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@871 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9a84912a81a9753236262892726bca579c4e3b76
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Nov 12 03:18:00 2011 +0000

    Add support for glGetnUniform*vEXT
    
    Trac #18608
    
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@870 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 47c600530e42280955cc0db7801e137c239b596d
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Nov 12 03:17:50 2011 +0000

    Add UniformExternalSize function
    
    Trac #18608
    
    Will be used in upcoming patch
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@869 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e918ea2df83a3acaa2bd4f515f085471a1212321
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Nov 12 03:15:28 2011 +0000

    Rename UniformTypeSize to UniformInternalSize
    
    Trac #18608
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@868 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit edc31508d8fc5e7985017b08245a077cf25b3c3b
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Nov 12 03:14:56 2011 +0000

    Rename UniformComponentCount to UniformExternalComponentCount
    
    Trac #18608
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@867 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c9d81a2a380c269884d5a0f4673555efde50a26a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Nov 12 03:14:30 2011 +0000

    Fix warning from uniform conversion template.
    
    Trac #18606
    The data loss is as required by the spec.
    
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@866 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b7915a55bf5a118a68a3cd222fd25e7c619c3e1c
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Nov 12 03:14:20 2011 +0000

    Add the ReadnPixelsEXT command
    
    Trac #18608
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@865 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9112d2a96a3cbb9a3486c52bd4bda92b6ca90905
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Nov 11 04:19:55 2011 +0000

    update revision
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@864 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 97412f716c4b1d546dc6dd8489713397b7f18c4f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Nov 11 04:19:07 2011 +0000

    Advertise GL_ANGLE_texture_usage.
    
    TRAC #18732
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@863 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0bd1f2f6fbeabd4f7c708c94e4f899f163dccb74
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Nov 11 04:19:03 2011 +0000

    Advertise GL_EXT_texture_storage.
    
    TRAC #18730
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@862 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ef4cb8b3ea23c8c48bfac7b7b44beabee2f5f766
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Nov 11 04:18:27 2011 +0000

    Create a render target texture when intended as framebuffer attachment.
    
    TRAC #18732
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@861 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7d18c17f889f27f5c5776f2752b86c3c9669603d
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Nov 11 04:18:21 2011 +0000

    Added the texture usage parameter.
    
    TRAC #18732
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@860 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ff941aa98666f82b803b7055c7fe92e8c82e048c
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Nov 11 04:17:09 2011 +0000

    Added support for floating-point and BGRA storage textures.
    
    TRAC #18730
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@859 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e1077368a3f97d2a5830182d1e0b864ec0b7e066
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Nov 11 04:16:50 2011 +0000

    Added support for compressed storage textures.
    
    TRAC #18730
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@858 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 64a0fb2a82fb54a9426591a73104068b79d1d50e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Nov 11 04:10:40 2011 +0000

    Implemented glTexStorage2DEXT.
    
    TRAC #18730
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@857 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d30bd0a7fb3dbd9ddcfa8638d83b68712dc9fdef
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Nov 11 04:10:34 2011 +0000

    Added the immutable parameter.
    
    TRAC #18730
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@856 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit fbc3952478be8b297e57097a70afbf42a0caff06
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Nov 11 04:10:28 2011 +0000

    Issue render target serials per texture storage.
    
    TRAC #18730
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@855 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9f8f6229af5d4cde26f4b2d015ae23c0158b9f99
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Nov 11 04:10:23 2011 +0000

    Move serial management to TextureStorage.
    
    TRAC #18730
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@854 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5e4dbb30ddb2dc61c55ef0ff28bb22a798ab932f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Nov 11 04:10:18 2011 +0000

    Create D3D textures within Storage classes. Fixed render target reference counting.
    
    TRAC #18730
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@853 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit afa8ef36f5e8df9226d69b47ac0991fd0f2c4691
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Nov 11 04:10:13 2011 +0000

    Simplified cube face handling and render target conversion.
    
    TRAC #18730
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@852 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit dc82bf91f9b26bea0463b2d771818d92a80535fc
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Nov 11 04:10:08 2011 +0000

    Encapsulate D3D textures into Storage classes.
    
    TRAC #18730
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@851 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8747f18ff1df4ab7ca87c0297788d848ba0a6d2a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 9 17:50:38 2011 +0000

    Advertise robustness extension strings.
    
    Trac #18607
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@850 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit cf23c45fd5ab413269a097f0d8813d2ab8a304b9
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 9 17:47:26 2011 +0000

    Disable automatic device resets when using reset notification.
    
    TRAC #18607
    Signed-off-by: Daniel Koch
    Authors: Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@849 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4ff960d9166a283d4dd6c072490a5437f05b9eb4
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 9 17:47:09 2011 +0000

    Implemented context creation with reset notification.
    
    TRAC #18607
    Signed-off-by: Daniel Koch
    Authors: Shannon Woods, Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@848 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 17f548cb6b08775353de38f468ba1ac58b668b6a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 9 17:47:02 2011 +0000

    Implemented reset status.
    
    TRAC #18607
    Signed-off-by: Daniel Koch
    Authors: Shannon Woods, Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@847 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9d78850211eddee0ffdd6d02d7eecbb2bbf9a854
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 9 17:46:55 2011 +0000

    Ignore GL calls when the context is lost.
    
    TRAC #18606
    Signed-off-by: Daniel Koch
    Author: Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@846 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 09fcc9fe6a6247af02ca203a9df4ffb00f2ee003
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 9 17:46:47 2011 +0000

    Notify the display of a lost device and mark all contexts lost.
    
    TRAC #18606
    Signed-off-by: Daniel Koch
    Author: Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@845 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6f5c5fc08c596f8c2ef05a554d9884ef854d5a26
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 9 17:46:39 2011 +0000

    Check for all device lost errors.
    
    TRAC #18606
    Signed-off-by: Daniel Koch
    Author: Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@844 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 78d448682fb24ded8ddd70bdbd9d53bf36e95045
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 9 17:46:33 2011 +0000

    Add device error checking utility functions.
    
    TRAC #18606
    Signed-off-by: Daniel Koch
    Author: Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@843 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f81103a6a13afc08b2bab035d331a59c33cfa74a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 9 17:46:28 2011 +0000

    maxLevels is always 0.
    
    TRAC #18714
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@842 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4163405ebd5fe67a6b3de691e8fa31f927d6398a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 9 17:46:24 2011 +0000

    Release the D3D texture on any actual redefine.
    
    TRAC #18714
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@841 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d14558a2178bea5615e09534d11c0d99c329e603
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 9 17:46:18 2011 +0000

    Separate Colorbuffer into storage and texture variants, implementing a common interface.
    
    TRAC #16284
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@840 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit bbeffbb6772d2c1e324e7f8880ee14d992f464a6
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 9 17:46:11 2011 +0000

    Be more explicit about floating-point format support.
    
    TRAC #16284
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@839 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c1fde76cc651d7805ad1fc4b025b3bde59804c9d
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 9 17:46:07 2011 +0000

    Issue a new serial for every new D3D texture.
    
    TRAC #16284
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@838 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f45e81defb35b36d84fe66e2959031be3c9d0feb
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 9 17:46:02 2011 +0000

    Fixed unsafe casting.
    
    TRAC #16284
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@837 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1a01e8300decde16e93f703dc9e434d32762b9e7
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 9 17:45:57 2011 +0000

    Always release pbuffer surfaces on redefine.
    
    TRAC #18714
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@836 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9d4eac7a825a6ef3a1ef30330a7b7552a4ec05c4
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 9 17:45:53 2011 +0000

    mIsRenderable is only valid when there is a texture.
    
    TRAC #18714
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@835 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 90cfcc957a28d9c50ab803b7aaaaae5053419248
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 9 17:45:48 2011 +0000

    Move copyToImage to Image::copy.
    
    TRAC #18714
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@834 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 839fb9b05431b6efd9272d9d37039e4f976b4820
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 9 17:45:43 2011 +0000

    New image surfaces are not dirty (nothing to copy over). Lock marks images as dirty.
    
    TRAC #18714
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@833 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0c67f3cdf96b2e12c883e4b96992d799592f75ce
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 9 17:45:38 2011 +0000

    Eliminated the format parameter.
    
    TRAC #18714
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@832 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f749f0e8c0dc59866b7f60feb7230e7742771e75
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 9 17:45:34 2011 +0000

    Moved load*Data methods to Image.
    
    TRAC #18714
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@831 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6e4b1219479e8b1f59e097f0f8a917d7e427187e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 9 17:45:28 2011 +0000

    Eliminated GetDesc calls.
    
    TRAC #18714
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@830 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 73de05a530ad4e51a79f7e6ce5d2e033210e3519
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 9 17:45:24 2011 +0000

    Encapsulate image surface creation.
    
    TRAC #18714
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@829 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4c0a7715502259fb1bd118f3f769b1f01963b82b
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 9 17:45:19 2011 +0000

    Defer image surface creation.
    
    TRAC #18714
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@828 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5cce3ff0fb0cd512248f318d3f9adf9ffd350688
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 9 17:45:14 2011 +0000

    Abstracted image locking/unlocking.
    
    TRAC #18714
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@827 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit dff362f522ff5cfa25a1603f91ae70c162fe816c
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 9 17:45:08 2011 +0000

    Turned Image into a class to improve encapsulation.
    
    TRAC #18714
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@826 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit de631783fbfa3ea45585211218d9089dc9e30446
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 9 17:45:04 2011 +0000

    Moved Image outside of Texture.
    
    TRAC #18714
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@825 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0da803bee70280384ed860160c93e15090c9d74e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 9 17:44:58 2011 +0000

    Refactored texture dirtiness.
    
    TRAC #18714
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@824 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 01dae8551eea5be1cde791c3af7f24a0ba918fb2
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 9 17:44:53 2011 +0000

    Don't redefine at copySubImage.
    
    TRAC #18714
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@823 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 68ae299a32b4bd8701bb535a72031edea54f6288
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 9 17:44:49 2011 +0000

    Refactored redefine.
    
    TRAC #18714
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@822 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 31e22e1d398411d334167316aac70a770615f98c
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 9 17:44:44 2011 +0000

    Moved createSurface() to Image.
    
    TRAC #18714
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@821 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9ab8e3e02a1cc58fa13e0ea93709f656cf02cbf4
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 9 17:44:39 2011 +0000

    Clear the dirty flag on copied images.
    
    TRAC #18495
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@820 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c9ba4ad2a8bb84137fa265ea96b43dbc10dcea55
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 9 17:44:35 2011 +0000

    Only destroy the redefined image level.
    
    TRAC #18495
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@819 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b612f88b8d6b178c2654a3a76e45e7e32ea22004
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 9 17:44:31 2011 +0000

    Use commitRect within updateTexture to avoid duplicate logic.
    
    TRAC #18495
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@818 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 06312bae15696ec30b5561372ef9362e4a2aeef8
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 9 17:44:26 2011 +0000

    CreateAdditionalSwapChain can return D3DERR_DEVICELOST.
    
    TRAC #18386
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@817 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1043535ec30ef6ac027a214e598f3572fe7bb1b3
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 9 17:44:21 2011 +0000

    Call ResetEx on lost or hung Ex devices. Attempt calling Reset/ResetEx at most 3 times.
    
    TRAC #18386
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@816 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 94910c9e8b7f6e9d2a8872213fd3891db1157882
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 9 17:44:15 2011 +0000

    Perform proper Reset sequence.
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@815 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4ccb8b5e9db2bb220b0f6db211a9c3619e16b9b1
Author: jbauman@chromium.org <jbauman@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Nov 3 23:10:58 2011 +0000

    Bump version
    
    BUG=
    TEST=
    
    Review URL: http://codereview.appspot.com/5320073
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@813 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 241e70de63c95ee99149e967e585a62a5c58b4e6
Author: jbauman@chromium.org <jbauman@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Nov 3 23:07:05 2011 +0000

    Resend viewport on render target change.
    
    The viewport is reset upon SetRenderTarget, so make sure to do SetViewport again.
    
    BUG=
    TEST=
    
    Review URL: http://codereview.appspot.com/5334048
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@812 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 476541f6351d640deaa0735b7177adda483858c3
Author: kbr@chromium.org <kbr@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Oct 27 21:14:51 2011 +0000

    Implemented new restrictions on nesting of structs in WebGL shaders.
    Added previously missing check for embedded structs; even though these
    attempts would be caught by an underlying GLSL compiler, the shader
    validator should not let them through.
    
    BUG=http://code.google.com/p/angleproject/issues/detail?id=235
    TEST=WebGL conformance tests
    Review URL: http://codereview.appspot.com/5327046
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@809 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c5a7b6906f23dcbd01615f7aa3696c3b1ada1159
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 26 02:45:44 2011 +0000

    Fix compilation due to merge issue.
    
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@808 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0d86aa7bc27a9185e74317d4c1362bf8af77c457
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 26 02:35:10 2011 +0000

    Implement glFinish using event queries.
    
    ANGLEBUG=232
    TRAC #18650
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@807 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 96a4a6ceb2308a86789963e7193521e42795960f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 26 02:33:46 2011 +0000

    Avoid repeated getDevice() calls when applying uniforms.
    
    TRAC #18399
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@806 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c941e25be6d87a13ab587f0850f7d721879df2d3
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 26 02:32:31 2011 +0000

    Eliminate getDisplay() and getDevice() calls within the Context.
    
    TRAC #18399
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@805 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 221521178e28a58a7ac60726494600b833374f28
Author: kbr@chromium.org <kbr@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 26 01:18:28 2011 +0000

    Limit copied uniform and vertex attribute names to the implicit size of the
    buffers passed in. Increase the size of the buffer the client will allocate
    for mapped names to be equal to the maximum token length.
    
    BUG=http://code.google.com/p/angleproject/issues/detail?id=234
    TEST=WebGL conformance test to be checked in soon
    Review URL: http://codereview.appspot.com/5306063
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@804 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit fdea69468d7d4c5b2ecc1f836e070e8b26642495
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Oct 24 22:28:18 2011 +0000

    Checked in change that should have been in r801.
    Review URL: http://codereview.appspot.com/5318051
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@803 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit cf094c00eda9c80cb456d8efa6c883915038bb44
Author: jacob.benoit.1@gmail.com <jacob.benoit.1@gmail.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Oct 24 19:42:38 2011 +0000

    Issue 220 - let mCurrentValueOffsets be an array of size_t's to fix a 64bit compilation error
    
    
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@802 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 22eab922e7cf9d47f1aa69ebd8cc17306656f9c7
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Oct 21 01:16:42 2011 +0000

    Allowed translator_hlsl and glsl to be built as shared libs on windows.
    
    The problem was gyp was out-of-date (I rolled it to 1080) and ShaderLang.cpp exports were not being exported because it was in translator_common which is a static lib.
    
    I tested shared library and static library builds in debug and release and also the checked in ANGLE.sln build.
    See original attempt: http://codereview.appspot.com/5305052/.
    Review URL: http://codereview.appspot.com/5305053
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@801 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 72e8f447228e682f07cbf31e9a54f85d9843c6e5
Author: jbauman@chromium.org <jbauman@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Oct 20 00:22:01 2011 +0000

    Avoid unnecessarily copying uniforms
    
    Transpose and expand matrices and float vectors when copied on setUniform (and getUniform) to avoid allocating an array and doing that on applyUniform. Then use straight D3D calls, not D3DX, to possibly avoid another copy. Gets NaCl donuts test from 19->25 fps.
    
    BUG=
    TEST=webgl conformance tests
    
    Review URL: http://codereview.appspot.com/5229056
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@800 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3442c2bbe1d0b87029d82806e3c3d7c17d20805d
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 19 15:32:37 2011 +0000

    Fix contribution
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@799 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a033e02d004e769e045510649499630592ea1957
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 19 13:29:32 2011 +0000

    VC11 fails to build angle because oppl_allocator::operator= does not exist
    
    ANGLEBUG=229
    Signed-off-by: Nicolas Capens
    Author: Ehsan Akhgari
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@798 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a9ae4aa9b632796169c0ced99cff3f1db4801aab
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 19 13:29:27 2011 +0000

    Fix for bogus "Bad aggregation op" error when dumping intermediate tree
    
    Bug=228
    Author: Mark Callow
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@797 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b7bb11ab992d77c591f0c58151c00e9febb43861
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 19 13:27:05 2011 +0000

    Add token to ANGLE_software_display extension
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@796 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b6e7222c5b927469801744f8876ddf858923e5f5
Author: jbauman@chromium.org <jbauman@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Oct 18 23:01:46 2011 +0000

    Avoid iterating over unused samplers.
    
    Keep track of the maximum used sampler to avoid expensive iterations in applyTextures and validateSamplers.
    
    BUG=
    TEST=webgl conformance tests
    
    Review URL: http://codereview.appspot.com/5246061
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@795 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 040c4db30d2905762710d132e20a79ca261eacc3
Author: jbauman@chromium.org <jbauman@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Oct 13 21:35:52 2011 +0000

    Cache currently-bound draw buffer.
    
    Avoids a hash table lookup
    
    BUG=
    TEST=webgl conformance tests
    
    Review URL: http://codereview.appspot.com/5261042
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@794 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 54f59ef8cb6eeab95cd537c5f874519a1cf50f66
Author: jbauman@chromium.org <jbauman@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 12 17:03:34 2011 +0000

    Don't reupload DX uniforms unless necessary
    
    Makes Donuts NaCl test go from 14->16 fps.
    
    BUG=
    TEST=webgl conformance tests
    
    Review URL: http://codereview.appspot.com/5233056
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@793 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a28233e5a627f46a4d60b332a1cda860b4496366
Author: jbauman@chromium.org <jbauman@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 12 16:51:33 2011 +0000

    Iterate directly over uniforms when applying them
    
    Directly iterate over uniforms, not over uniform locations, so we don't waste time looking at locations in the middle of arrays. Gets about 1 fps on a NaCl benchmark.
    
    BUG=
    TEST=webgl conformance tests
    
    Review URL: http://codereview.appspot.com/5210042
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@792 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4d27f3b49f42b5c0c797730e1d32986aaab5d2f6
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 12 16:20:00 2011 +0000

    Update contributor list
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@791 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7f02008ad8eb40ae76516301ef3327101ad693c1
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 12 16:19:54 2011 +0000

    Fix compiler warnings in translator.cpp
    
    Bug=227
    Author: Mark Callow
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@790 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 876f47ad0dc8a3506f57ba5c0fb23574d2073c22
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 12 16:19:48 2011 +0000

    Fix essl_to_hlsl project configurations
    
    Bug=226
    Author: Mark Callow
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@789 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit eef0e27c12ecb29c5583dfe41b41682e483b4a74
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 12 16:19:36 2011 +0000

    Fix link errors caused by static use of perf related functions even when ANGLE_DISABLE_PERF is defined.
    
    Bug=225
    Author: Mark Callow
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@788 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8b3c1afb53497bddeab3828c3acc35a126bce84b
Author: jbauman@chromium.org <jbauman@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 12 01:21:41 2011 +0000

    Improve performance of applyRenderTarget and applyTextures
    
    Get rid of unnecessary GetSurfaceLevel/Release calls, move invariants out of the applyTextures loop, and fix the if in getSemanticIndex so we can avoid calling getMaximumCombinedTextureImageUnits. Gets donuts NaCl demo from 14->16 fps.
    
    BUG=
    TEST=webgl conformance tests
    
    Review URL: http://codereview.appspot.com/5248057
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@787 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c620985643df4de781808fb9dbaf73273ea4a49a
Author: jbauman@chromium.org <jbauman@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Oct 7 15:19:26 2011 +0000

    Cache the current program pointer
    
    Hash table lookups are somewhat expensive, so cache a pointer to the current program for on a context. This gains about 3 fps (from 58) on a Native Client demo.
    
    BUG=
    TEST=webgl conformance tests
    
    Review URL: http://codereview.appspot.com/5206042
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@786 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 50297fc19a65c58aa37080e696ad910d43581232
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 5 18:43:27 2011 +0000

    Assign proper enum to GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE
    
    Trac #18416
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@785 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ccb384171a46853df01cd83a9cc311b10b4c4323
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Oct 4 18:43:40 2011 +0000

    Support multiple nested ternary operators per statement
    
    TRAC #18382
    ANGLEBUG=203,208
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    - by incrementing the temporary index, adding 1 for every nesting level, and rewinding it after each traverse.
    Also fixed multiple ternary operator unfolding for loops.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@784 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c0d73ed8081dbd303c58aaada9de634ab4fbc0c2
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Oct 4 18:43:30 2011 +0000

    Use a different name for ternary operator unfolding temporaries, to avoid clashes with T x = x handling.
    
    TRAC #18382
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@783 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2fa45510e4c38e3b220bcc7e4760487d5ac50d9f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Oct 4 18:43:18 2011 +0000

    Correct glFramebufferRenderbuffer behavior for renderbuffer = 0.
    
    TRAC #18388
    ANGLEBUG=211
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@782 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit aa5e59b385bdadec9fe8100a335f241f0c09c8c4
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Oct 4 18:43:12 2011 +0000

    Don't unlink when detaching shaders.
    
    TRAC #18385
    ANGLEBUG=221
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@781 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a574f78fcf2bd189915c790bc7efe6912a9bcc3a
Author: zmo@google.com <zmo@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Oct 3 21:45:23 2011 +0000

    Add an extension for querying translated HLSL shader source.
    Review URL: http://codereview.appspot.com/5149046
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@780 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ad7ab332726b4fc401fc7ba63095a4a3c6a8356f
Author: zmo@google.com <zmo@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Sep 27 21:34:10 2011 +0000

    Fix the version number.
    Review URL: http://codereview.appspot.com/5132054
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@774 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 46974d29888bc73da85c4279bfc31162ee31176b
Author: zmo@google.com <zmo@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Sep 27 21:26:19 2011 +0000

    Fix memory corruption in ANGLE shader translator.
    
    The bug is that within each compilation cycle, all the memory allocated through T* types are freed to be reused.  So if certain information is meant to outlive the cycle, it should use the std type instead of the T* type:
    
    1) emulated function vector
    2) mapped long names map
    
    BUG=none
    TEST=webgl conformance test conformance/glsl/glsl-feature-mod-gentype.html does not crash in Win Debug.
    Review URL: http://codereview.appspot.com/5137047
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@773 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit aa9c5ca99020997e52c969a2eaa724234f04f574
Author: jbauman@chromium.org <jbauman@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Sep 26 21:10:13 2011 +0000

    Reset mUnmodifiedDataUse after bufferSubData
    
    Without this, enough draws from a buffer modified only with bufferSubData will cause it to switch become static.
    
    BUG=
    TEST=
    
    Review URL: http://codereview.appspot.com/5123042
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@769 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1a1fe249410870a1075d57d78c11a5e7365f0073
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Sep 26 18:25:45 2011 +0000

    Sort EGL extension string
    
    Trac #18320
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@768 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8440e3f0ce209c8d8bdc9069e1821306e2992032
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Sep 26 18:25:12 2011 +0000

    Enumerate GL extensions in sorted order
    
    Trac #18320
    Sort order is OES, EXT, vendor
    
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@767 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 55d48c7439eed9d54879ffe55d4719acc2c8152a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Sep 26 18:24:36 2011 +0000

    Create structure definitions for structures in a return statement.
    
    TRAC #18319
    ANGLEBUG=185
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@766 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7fb81e83320db3b368b7f2228a72512b74442603
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Sep 23 18:20:46 2011 +0000

    Fix single statement loops.
    
    TRAC #18301
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@765 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit aa00b593b14b20a63e56d13b7bef9e8896be74c7
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Sep 23 18:19:50 2011 +0000

    Disable FLIPEX when the formats are not 32-bit and when swap interval is 0.
    
    TRAC #18108
    ANGLEBUG=209
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@764 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit fd80254ee8206913488937ac9cc9ed94d73487eb
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Sep 23 18:19:41 2011 +0000

    Validate the stride of static buffer attributes.
    
    TRAC #18268
    ANGLEBUG=213
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@763 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 23c9e315021d0904817a2e5581d2017d7f49559a
Author: jbauman@chromium.org <jbauman@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Sep 21 22:16:44 2011 +0000

    Save stream source 0 in stateblock when doing masked color clear.
    
    BUG=214
    TEST=webgl conformance tests
    
    Review URL: http://codereview.appspot.com/5085046
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@762 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 51db7fb198a8fc8458783b27134da3904b567483
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Sep 20 16:11:06 2011 +0000

    Optimize string comparisons by avoiding the creation of temporary substrings.
    
    TRAC #16567
    Bug=136
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@761 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c72c6416819435fd34ddc265b2df66f0a4289aa1
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Sep 20 16:09:17 2011 +0000

    Decorate arrays uniforms with "ar_" to identify arrays of size 1.
    
    TRAC #16567
    Bug=136
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@760 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 024f1a91391fe789155d344b8f2d46de2bf14e42
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Sep 20 16:06:25 2011 +0000

    Optimize uniform handling by storing both decorated and undecorated names. Use a consistent naming scheme to clarify decorated/undecorated name usage.
    
    TRAC #16567
    Bug=136
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@759 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a3b4ab4c2beb1c020e474007ded4bed4a2383601
Author: zmo@google.com <zmo@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Sep 16 00:53:26 2011 +0000

    Further work on the function emulation.
    
    This is to work around driver bugs.  We added more functions, and removed some unnecessary ones.  Remove the function group because we have flags for each function now.  Use more macros instead of functions.  Don't emit global precision because that will affect all later code.
    
    ANGLEBUG=196
    TEST=build and test on Mac ATI/NVIDIA, fixes the failing webgl glsl conformance tests.
    Review URL: http://codereview.appspot.com/5011053
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@754 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 74a46a5c6035291a52ea203c3cd31a2e3b157276
Author: vangelis@google.com <vangelis@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Sep 15 18:47:53 2011 +0000

    Recognize ANDROID as a POSIX OS
    BUG=207
    Review URL: http://codereview.appspot.com/5016050
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@753 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 16efbbaeeef255bb28294838cd94087918f12ebc
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Sep 13 04:10:41 2011 +0000

    Complete implementation for handling #define directive.
    Review URL: http://codereview.appspot.com/4963062
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@752 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8a4dad605f6bd88ce8ecca01372162e510614fa0
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Sep 13 00:54:40 2011 +0000

    Remove path info without GetCurrentDirectory
    
    Bug=162
    TRAC #16902
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@751 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit fe4b0c9e97d685b3f88426ed073dfe626810bf45
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Sep 13 00:53:11 2011 +0000

    Fix resetting of non-existing device
    
    TRAC #18139
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@750 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a866244f4d6dd131c35128cb9aef9398c53c8b3e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Sep 13 00:52:26 2011 +0000

    Avoid an unnecessary MFC header dependency.
    
    Bug=180
    TRAC #18128
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@749 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f420c42442136e63c8c475446e01da1f6bcf5d32
Author: zmo@google.com <zmo@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Sep 12 18:27:59 2011 +0000

    Add/remove more functions to use shims.
    
    Remove normalize and add cos instead to avoid a crash in Mac with ATI cards (angle bug 193, 202).
    
    Also add atan and mod as it's also buggy on Mac/Win with NVIDIA cards.
    
    Also, trying to minimize emulated functions by adding masks for fragment/vertex shaders.
    
    ANGLEBUG=196
    Review URL: http://codereview.appspot.com/4992047
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@748 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2598ffffbde75804bde47ea42c321b1e45d715e7
Author: vangelis@google.com <vangelis@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Sep 9 18:25:14 2011 +0000

    Updating ANGLE version in version.h
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@747 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8c9c4521e253c36ace0bc95d52deda7c0d55887f
Author: vangelis@google.com <vangelis@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Sep 9 18:22:28 2011 +0000

    Adding code to try and reset the device if eglCreateWindowSurface and eglCreateSurface are
    called while the device is reported as lost.
    
    Currently only eglCreateContext attempts to reset the device. This is a short term fix until the whole device lost issue can be revisited.  One of the issues here is that if any of these egl entry points are called while the device is lost (e.g. while the screen saver is on in XP) ANGLE will spin until the device comes back.
    Review URL: http://codereview.appspot.com/4961070
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@746 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f54509100ee8587a1338443a26209e2b7e436d76
Author: zmo@google.com <zmo@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Sep 9 01:37:19 2011 +0000

    Fix extension behavior in shader validation.
    
    If an extension is not specified, it is disabled by default, thus a shader should fail compiling if features from that extension are used.
    
    ANGLEBUG=204
    TEST=webgl conformance/extensions/oes-standard-derivatives.html
    Review URL: http://codereview.appspot.com/4974071
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@745 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 83b61bc63f00070f1a2ecbb77f70784284d3f703
Author: jbauman@chromium.org <jbauman@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Sep 2 18:59:24 2011 +0000

    Avoid recreating constant vertex buffers unnecessarily.
    
    To avoid continually recreating constant vertex buffers instead use streaming buffers to hold that data.
    
    BUG=
    TEST=
    
    Review URL: http://codereview.appspot.com/4437072
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@744 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d8f3faad9bae39555227d7530687075a06e5dcc9
Author: jbauman@chromium.org <jbauman@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Sep 2 01:10:47 2011 +0000

    Avoid resending lots of D3D state
    
    This change uses trivial caching to determines whether to reset shaders, the viewport, and the currently set vertex declaration. It also caches the render target desc to avoid rereading that. Serial numbers are added to vertex and index buffers, so resending those can be avoided.
    
    These changes can give a big speedup (30% has been measured) on simple content, particularly when used directly or through pepper/native client.
    
    BUG=
    TEST=bunch of pages using webgl
    
    Review URL: http://codereview.appspot.com/4964057
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@743 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 43cbe74e08990f17ebc54eeb85e3f36406dda071
Author: jbauman@chromium.org <jbauman@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Sep 1 22:09:40 2011 +0000

    Use std::map to find correct index range
    
    Instead of iterating through every range to find the one we're looking for, instead put them all in a map and find them with that. This helps performance with index buffers that contain a bunch of different ranges.
    
    BUG=
    TEST=
    
    Review URL: http://codereview.appspot.com/4974051
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@742 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3a01d1bcc90b5dd516631d0b0c821b0c5f8d355d
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Aug 30 05:10:53 2011 +0000

    Preparation for macro expansion.
    Review URL: http://codereview.appspot.com/4919045
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@741 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e4eb99117e7239106d0d016e720d1cd630177789
Author: zmo@google.com <zmo@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Aug 29 21:13:12 2011 +0000

    Fix a bug introduced in r738.
    
    ANGLEBUG=201
    TEST=chrome gpu bots green, no complaint from Firefox/Benoit
    Review URL: http://codereview.appspot.com/4956050
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@740 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit bde15998b4bff706eec09654ea21ca57676e145a
Author: jacob.benoit.1@gmail.com <jacob.benoit.1@gmail.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Aug 24 15:05:37 2011 +0000

    Issue 199: invalid assertion in Surface.cpp makes debug browser crash on conformance test drawingbuffer-static-canvas-test.html
    
    This patch fixes assertions that were wrongly asserting that only OOM errors could occur when allocating a D3D texture/surface. The drawingbuffer-static-canvas-test.html test tries a 32768x150 size, and that fails because of the too large width without being OOM.
    
    
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@739 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 32e97315e2a55557ad7c372239e0823a81243221
Author: zmo@google.com <zmo@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Aug 24 01:03:11 2011 +0000

    Emulate certain buil-in functions to work around driver bugs.
    
    This is implemented by adding a new compile option SH_EMULATE_BUILT_IN_FUNCTIONS.  The emulated functions are names as webgl_originalName_emu so there will never be naming conflicts.
    
    At the moment only three functions are emulated: normalize, abs, sign.  Also, the compile option will emulate all three.  However, the mechanism to emulate only a selected subset is also imeplemented.  It can be turned on easily.
    
    ANGLEBUG=196
    TEST=with this option, the failed test with abs.frag passes.
    Review URL: http://codereview.appspot.com/4916043
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@738 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b81c401dfb6192cb2deeda4e344fa54d46caa0ab
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sun Aug 21 06:53:11 2011 +0000

    Modified Token class to store various types of data. Added debug code to dump token to an output stream.
    Review URL: http://codereview.appspot.com/4920041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@737 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ebbec2e7934055f28b50553f2b61f25f509ae5c8
Author: zmo@google.com <zmo@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Aug 17 20:27:33 2011 +0000

    Fix version.
    
    BUG=none
    TEST=none
    Review URL: http://codereview.appspot.com/4898057
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@736 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 71c14ff8437fe2fc75b6412c7b2f2d5c9ceda920
Author: zmo@google.com <zmo@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Aug 17 20:24:24 2011 +0000

    Fix the standalone translator_common.vcproj
    
    BUG=none
    TEST=build fine with that .vcproj
    TBR=daniel@transgaming.com
    Review URL: http://codereview.appspot.com/4902049
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@735 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0c6bb7a653f52baa3dab4492a3599ddcacf076ed
Author: zmo@google.com <zmo@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Aug 17 19:39:58 2011 +0000

    Add an compile option to unroll for-loops with integer indices.
    
    ANGLEBUG=193
    TEST=with this option, for-loops with integer indices will be unrolled.
    Review URL: http://codereview.appspot.com/4899047
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@734 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c23ff6439312f2c9e52742d2115f62ad665a6582
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Aug 16 20:28:45 2011 +0000

    Implement more detailed GetString(GL_RENDERER)
    
    Trac #17815
    Issue=161
    Signed-off-by: Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@733 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 57f7ce006db2ce6caf7ee3f290b05089a2192605
Author: kbr@chromium.org <kbr@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Aug 15 23:13:05 2011 +0000

    Output the precision for the return type in function declarations.
    
    Tested with GLSL ES conformance suite (which doesn't test this) and
    the WebGL conformance suite, which now contains tests to ensure that
    these constructs compile correctly.
    
    Chromium bug: http://crbug.com/86952
    Review URL: http://codereview.appspot.com/4897045
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@731 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 75fe6b76d27174fd42ae4235df11a009bb3ed36d
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sun Aug 14 05:31:22 2011 +0000

    General cleanup of compiler directory and ParseHelper.
    Review URL: http://codereview.appspot.com/4801084
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@730 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0958838fb0193285c9727bd1948739ee4006dcf6
Author: zmo@google.com <zmo@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Aug 12 18:25:52 2011 +0000

    Fix the revision in version.h.
    
    Revision r727 didn't set the number correctly, so r728 got it wrong too.
    
    BUG=none
    TEST=none
    Review URL: http://codereview.appspot.com/4879044
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@729 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 09c323a40ad0de489eee946bfe171d337616e09c
Author: zmo@google.com <zmo@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Aug 12 18:22:25 2011 +0000

    Add an option to support for GL_OES_EGL_image_external.
    
    Comes with this extension is the new sampler type samplerExternalOES.
    
    ANGLEBUG=175
    TEST=compile the attached shader file
    Review URL: http://codereview.appspot.com/4809076
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@728 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6ae8f6cec5f61faa7dbd5e586028c35f2fd4c645
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Aug 10 22:21:35 2011 +0000

    Removed compiler/unistd.h reference from build_angle.gyp.
    Review URL: http://codereview.appspot.com/4844062
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@725 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit fc3757c296e91fd0422d0f4897c4dfb764dd8e4d
Author: gman@chromium.org <gman@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Aug 10 08:08:32 2011 +0000

    bump version.h
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@724 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 25c5cf6a833adc33c50f6f1aa799aba630410311
Author: gman@chromium.org <gman@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Aug 10 08:07:54 2011 +0000

    One more DXT bug
    Review URL: http://codereview.appspot.com/4844057
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@723 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2ac3e738d58354092a3bc265fbfc171513820fdf
Author: gman@chromium.org <gman@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Aug 10 07:59:47 2011 +0000

    Fix bugs in DXT support
    Review URL: http://codereview.appspot.com/4857045
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@722 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 50c526d210cb65f66e2ad6b25cacdacc41e10796
Author: gman@chromium.org <gman@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Aug 10 05:19:44 2011 +0000

    Add support for DXT3 and DXT5
    
    TEST=none
    BUG=none
    Review URL: http://codereview.appspot.com/4809068
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@721 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a1a86201a53774f019aedf92cef22629c464350c
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Aug 9 13:41:08 2011 +0000

    Release cube map surfaces on successful conversion (avoiding a memory leak).
    
    TRAC #17749
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@720 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 97b124170d7dfd0da4be360be566c34498a3ff9f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Aug 9 13:40:28 2011 +0000

    Catch all CreateOffscreenPlainSurface errors in readPixels
    
    Issue=194
    TRAC #17748
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@719 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4e4b807d219f58fad5f7b96ed23c9fdd1fc5de15
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sun Aug 7 05:36:04 2011 +0000

    Beginnings of a new preprocessor.
    Review URL: http://codereview.appspot.com/4830050
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@718 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5a0a8dd378e070ec4d4613c8814e3e24923c9867
Author: zmo@google.com <zmo@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Aug 3 20:57:52 2011 +0000

    Remove unnecessary Visit function overloading.
    
    BUG=none
    TEST=build ok, run as before
    Review URL: http://codereview.appspot.com/4814063
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@715 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 00d02a28d6f0b832908f1d8165bac975d8c676e8
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Aug 2 15:29:07 2011 +0000

    update version number
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@714 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 651abd8da177dfe7a01a185c34f047dfed1020f9
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Aug 2 15:29:03 2011 +0000

    Fixed standalone visual studio projects by adding DetectRecursion files.
    
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@713 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit cb325c8eab0d8e44279b0f35b5206aa82b70a098
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Aug 2 12:34:36 2011 +0000

    Fix Static buffer invalidation regression
    
    Bug=139
    Trac=#15143
    Signed-off-by: Daniel Koch
    Author: Michael Braithwaite
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@712 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b1762df486cad22cb5b07100f6765065f9bdc546
Author: zmo@google.com <zmo@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Jul 30 02:04:23 2011 +0000

    Detect function recursion and reject a shader if detected.
    
    ANGLEBUG=191
    TEST=shaders with function recursion are rejected.
    Review URL: http://codereview.appspot.com/4808061
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@711 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit bb1d1713acef58c94988a2b2eb98ea6155601fed
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jul 29 16:32:31 2011 +0000

    Add Wayland typedefs to eglplatform.h
    
    Issue=188
    Author: Daniel Nicoara
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@709 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8518910d29c6442da0ec8b3068e1e5414a0c074d
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jul 29 16:32:23 2011 +0000

    Refresh EGL and GLES2 headers from Khronos registry
    
    Based on SVN r15167
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@708 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0608ad1f050bdbf6341594c1a1d6786267895f8b
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jul 29 16:32:17 2011 +0000

    Win64: fix return value from lookupAttribute
    
    Issue=190
    Author: Makoto Kato
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@707 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 84d7cbc3b1cf664ef9340ad28755f2851f5040dc
Author: jbauman@chromium.org <jbauman@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Jul 14 22:53:19 2011 +0000

    Add extension to create software device.
    
    Add an extension so that users can receive a device that renders in software. Currently this is done by loading a swiftshader dll.
    
    BUG=
    TEST=
    
    Review URL: http://codereview.appspot.com/4631093
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@705 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b481b23f59f59e1fca4b7949cabfcf0724b3fef2
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jul 8 18:03:41 2011 +0000

    Update version information
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@704 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1a2cd269e606257bb1bb9d2a40ba4848aaf469dc
Author: kbr@chromium.org <kbr@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jul 8 17:30:18 2011 +0000

    Changed two assertions to explicit tests, and added an error code to
    those checked during ReadPixels. These changes are needed to avoid
    having ANGLE assert in debug builds when running WebGL test cases
    which provoke a GPU reset.
    
    BUG=none
    TEST=slow-shader-example and lots-of-polys-example in WebGL test suite
    Review URL: http://codereview.appspot.com/4684042
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@703 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b0eb69789ac6710fb90b51d3cb218932270604b9
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jul 8 16:23:42 2011 +0000

    Fix an overflow issue when a static buffer is invalidated.
    
    Issue=104,139,179
    TRAC #15143
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    Original-patch-by: Yore Apex
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@702 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a2a85dc1bce579b330be184130e944a8cbfd338f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jul 6 20:24:27 2011 +0000

    Fix DelayLoadDLLs deps for dwmapi in release builds
    
    Issue=177
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@701 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0f87e7fdcf21ab322eac7822e73aea8b52df291c
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jun 24 14:03:32 2011 +0000

    Fix GrowAtomTable() on out-of-memory.
    
    Issue=173
    Signed-off-by: Daniel Koch
    Author: Benoit Jacob
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@699 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5bf210b2b922668e64826560ce3ce1e58db78e8c
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jun 21 14:22:03 2011 +0000

    Add x86-64 project settings.
    
    Bug=55
    TRAC #15606
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@698 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 58f76fe0675d6f48d91ca7a7a0e07c7e3f4f3344
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jun 21 14:21:07 2011 +0000

    Fix 64-bit support.
    
    Bug=55
    TRAC #15606
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@697 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 216aa5edde471295e0771e15f9e9b0c9d40e8731
Author: zmo@google.com <zmo@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jun 17 22:31:32 2011 +0000

    Map long for-loop control variable names in shaders.
    
    Look at TIntermLoop::traverse() in IntermTraverse.cpp, the control init part is not handled explicitly there (unlike the other two parts).  It is expected hat visitLoop will cover the init part.  The bug in the MapLongVariableNames is that the visitLoop doesn't do anything.  This CL fixes it.
    
    BUG=171
    TEST=conformance/glsl-long-variable-names.html passing.
    Review URL: http://codereview.appspot.com/4644045
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@696 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit dc4b4f85516fec32b746d1841c1df00865d96214
Author: zmo@google.com <zmo@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jun 17 00:42:53 2011 +0000

    Always emit precision in shader variable declarations.
    
    After the shader compile (and before code output), the precision scopes are already lost.  In order to correctly output precisions, we need to emit precision in each variable declaration, therefore, each variable should have its precision set.  This CL fixes the bugs that the precisions are lost for variables using default precsions and struct fields.  Also, this CL fixes a bug in the grammar: constructors are not type_specifier and they shouldn't have precisions.
    
    BUG=168
    TEST=webgl conformance tests, gles2 conformance tests.
    Review URL: http://codereview.appspot.com/4617041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@695 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 189be2f1e12d5548e25771ce72d790b1cdb9d1da
Author: zmo@google.com <zmo@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Jun 16 18:28:53 2011 +0000

    Emit precisions in function arguments and return type for GLES2.
    
    BUG=none
    TEST=Translator with GLES2 output backend emit precisions for function arguments and return type.
    Review URL: http://codereview.appspot.com/4643042
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@694 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 03208d5d1260cbfe72707bf3d06f95232ef55567
Author: jbauman@chromium.org <jbauman@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jun 15 01:15:24 2011 +0000

    Attempt to ensure pipeline flush on rendertarget change
    
    Some ATI cards appear not to flush the pipeline correctly, causing textures not to pick up newly-drawn contexts, so do an extra no-op draw when necessary.
    
    BUG=169
    TEST=chromium on hulu.com
    
    Review URL: http://codereview.appspot.com/4576051
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@693 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1179ecf4d8701343c045deccf153cb0394f4b746
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jun 14 19:03:39 2011 +0000

    Added .rc files to gyp file so the version number appears in the resource section for gyp builds.
    Review URL: http://codereview.appspot.com/4568080
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@692 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2c199b179b969afccdcfba8bbaa04b3312955c2b
Author: jbauman@chromium.org <jbauman@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Jun 13 22:20:06 2011 +0000

    Set max vertex correctly when drawing closing line
    
    We were setting the max vertex way too low, causing AMD cards to draw the line with an incorrect vertex.
    
    BUG=
    TEST=enable "Composited render layer borders" in chromium
    
    Review URL: http://codereview.appspot.com/4588042
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@691 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0fe4dd00937c13247bd8079142b3b8de7423b25b
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jun 10 23:20:53 2011 +0000

    update revision
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@689 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d1c32963ddc32cd8ca11a82011118e52d757641d
Author: twiz@chromium.org <twiz@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jun 10 22:20:29 2011 +0000

    Correct usage of GetVersion() windows calls.  Review:  http://codereview.appspot.com/4579049
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@688 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5601ea0d66442518d4745bb02b7619485b9d305b
Author: zmo@google.com <zmo@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jun 10 18:23:25 2011 +0000

    Implement ES2 backend for Angle translator.
    
    With this CL, we have the option to select a code output backend: GLSL, GLSL ES, or HLSL.
    
    Note that we always emit the highest supported float precision for fragment shader due to anglebug 168.  Although this is a temporary solution, it's not against GLSL ES spec, because it's ok for implementation to upgrade precision.
    
    Tested with WebGL conformance test suite, GLES2 conformance test suite (only failed 2/1198), and a few webgl demos, including worlds of webgl, aquarium, etc.
    
    anglebug=81
    test=translator emitting correct GLSL ES code when ES2 backend is selected.
    Review URL: http://codereview.appspot.com/4550129
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@687 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit db5d5f669dc3980bc89222554e6e4239d8710b76
Author: nduca@chromium.org <nduca@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jun 8 23:50:48 2011 +0000

    Fix crlf newlines in surface.cpp
    TBR=apatrick@chromium.org
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@686 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3b3c1d43debed9956394afd156efe26cc62312ae
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jun 8 20:38:09 2011 +0000

    Revert copyImage changes from r682 as they cause regressions on some webpages
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@684 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 82e7e9d0a9e93f9ff7c14580fa4e0db6e8673897
Author: nduca@chromium.org <nduca@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jun 8 18:43:16 2011 +0000

    Recommit r668, which got undone accidentally by r673.
    
    Review URL: http://codereview.appspot.com/4589043
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@683 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 406cc10993b4e97393f11e487e55857e955b8e5e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jun 8 12:42:28 2011 +0000

    No need to update texture before overwriting it with CopyImage.
    
    Issue=163
    TRAC #17019
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@682 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3203c1085df5b1a17d4d69b48f38d3176d0a5377
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jun 8 12:41:32 2011 +0000

    Fix multi-sample state management.
    
    Issue=160
    TRAC #16817
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@681 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d6e74da1a3e34f72a730d0517c7a5bf697c2ee41
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jun 8 12:40:23 2011 +0000

    Add missing DWM libraries to Release project.
    
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@680 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 57a2cd656671d627de0e4d481cedcb69f8bcb876
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jun 8 00:04:07 2011 +0000

    Purge associated render buffer object when texture is resized.
    
    Similar fix for cube maps to follow.
    Review URL: http://codereview.appspot.com/4532124
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@678 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 837dd9ab567dc6747aafe51d8b3b7c98d7d5117c
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jun 7 00:40:33 2011 +0000

    Do not set a WNDPROC on a window created by another thread.
    
    It turns out SetWindowLong succeeds for other threads in the same process but we do not want the WNDPROC to be called from threads other than the thread on which EGL is running on. This was one of the reasons --in-process-gpu was not working with ANGLE in Chrome.
    Review URL: http://codereview.appspot.com/4576045
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@677 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 79169b5a157aa843840a04a2e6d341fb32710bcb
Author: nduca@chromium.org <nduca@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Jun 6 19:01:08 2011 +0000

    Use DwmAPI, if available, to minimize queueing of presents.
    
    Review URL: http://codereview.appspot.com/4559065
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@673 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 250f06c90bd174b3d188ba60b072bd1113e9b423
Author: baustin@google.com <baustin@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Jun 6 16:59:53 2011 +0000

    Made it possible to turn off D3D9Ex support with a command-line compiler option.
    The "Debug This Pixel..." feature in PIX often fails when using the
    D3D9Ex interfaces.  In order to get debug pixel to work on a Vista/Win 7
    machine, define "ANGLE_ENABLE_D3D9EX=0" in your project file.
    
    Review URL: http://codereview.appspot.com/4526106
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@672 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8106e8708c09683764999ef8f75877e80c635eca
Author: baustin@google.com <baustin@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jun 3 22:36:47 2011 +0000

    Handle additional lost device error codes that may be returned when using IDirect3DDevice9Ex.
    
    Review URL: http://codereview.appspot.com/4529113
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@671 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2475f02e891e4a0f0bc36dc29d1b3532d720c87d
Author: baustin@google.com <baustin@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jun 3 21:10:06 2011 +0000

    Update and alphabetize contributors list.
    Review URL: http://codereview.appspot.com/4574041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@670 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3b54a660cef9da6599aae9f0342617abc093cc1f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jun 3 12:53:07 2011 +0000

    Update version number for recent commits
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@669 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 585b3d0e196cd11f2a5de9ceec9e2c6d2c5191fc
Author: nduca@chromium.org <nduca@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jun 3 01:48:11 2011 +0000

    Disable use of FlipEx for problematic use cases.
    
    It seems that DWM will, when given an HWND that has an associated
    FlipEX swap chain, stretch the contents of the HWND to fill the new
    window IF you don't issue draw calls to that HWND before the WM_PAINT
    returns. This leads to horrendous sizing artifacts.
    
    For Chromium, this is a show stopper.
    
    But, FlipEx is definitely a good thing, for regular single process
    applications.
    
    So, is there a clean way to conditionally disable FlipEX for
    these problem cases? The heuristic in this patch basically says "if your hwnd
    is not in-process, then you're probably not painting in its HWND, so don't sue
    FlipEX."
    
    This catches the Chromium use case. There is still the possibility of a regular
    single-process EGL application that tries to draw outside WM_PAINT that would
    experience sizing artefacts. But, maybe that's OK.
    
    Anyways, I'm not married to this technique. Just throwing something out there
    to start the discussion. :)
    
    Review URL: http://codereview.appspot.com/4536102
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@668 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8ab698408eb17bb33efb27203aedde029c7ba014
Author: baustin@google.com <baustin@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Jun 2 21:53:45 2011 +0000

    Insert a new-line ('\n') before the #line directive in HLSL source.
    Without this, sometimes the #line directive shows up at the end of
    the previous line of shader source.  This was causing syntax errors
    when trying to compile shaders during a PIX session.
    
    Review URL: http://codereview.appspot.com/4561059
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@667 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 04277b821c8de290be4e5df9e4f3d26cdb2b605d
Author: kbr@chromium.org <kbr@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Jun 2 18:41:26 2011 +0000

    Generate an error in the parser for unsized array declarations.
    
    BUG=164
    TEST=none
    Review URL: http://codereview.appspot.com/4539101
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@666 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit fe2aff1094d9d3129b5d919b0da983e1330ce040
Author: kbr@chromium.org <kbr@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Jun 2 00:23:44 2011 +0000

    Redid gyp changes in last commit to support debugging of samples on
    Linux. Fixed bug in translator sample where it was confusing arguments
    and filenames on POSIX platforms.
    Review URL: http://codereview.appspot.com/4532108
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@665 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c6be226451953ebfa26ebb511725d4b982a25504
Author: kbr@chromium.org <kbr@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jun 1 23:04:13 2011 +0000

    Added missing depth argument to GYP which causes the top-level
    Makefile to be generated into the correct directory on Linux. Added
    missing library for clients of translator (the samples, in
    particular).
    
    Built all ANGLE targets on Linux and Windows to test these changes.
    
    BUG=none
    TEST=none
    Review URL: http://codereview.appspot.com/4556072
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@664 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 87891f74d1abc731c060bc9bea9d0712033f8baa
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jun 1 15:28:35 2011 +0000

    Remove path from D3DCompiler warning messages
    
    Issue=162
    Trac #16209
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@662 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4f9ef0d66706a4bc3e467f2f9c49690b353c23fd
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon May 30 23:51:19 2011 +0000

    Implemented OES_texture_npot support.
    
    TRAC #16871
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@661 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 24c08c4eb5123efbdc3edb8c03e4c246d22445f5
Author: zmo@google.com <zmo@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri May 27 17:40:48 2011 +0000

    Fix the bug that long varying varibales are mapped into different names in fragment/vertex shaders.
    
    ANGLEBUG=144
    TEST=the same long varying variable name in fragment/vertex shaders map to the same shortened name if using the same translator.
    Review URL: http://codereview.appspot.com/4547063
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@660 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c4ee4272eee9670e2b61fab2aea9161a1eeac3e8
Author: zmo@google.com <zmo@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 26 21:34:15 2011 +0000

    Fix version error from r658.
    Review URL: http://codereview.appspot.com/4524071
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@659 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d7468be16fd653a41ed264bfb4d801e769fa0c15
Author: zmo@google.com <zmo@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 26 21:26:14 2011 +0000

    Add long name mapping option to the translator test.
    Review URL: http://codereview.appspot.com/4529091
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@658 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6c4dba0dbcb4632fbb6d0ebf0c0c0c50093ee15b
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 26 14:15:31 2011 +0000

    Fix lost context recovery for Windows XP.
    
    Issue=138
    TRAC #16271
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@657 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c556fa571c54fa5c687550a2130db3923e0e866f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 26 14:13:29 2011 +0000

    Revert pending surface destruction (part of revision 632).
    TRAC #16271
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@656 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 062231c06acc2855246f0952e84078bb1a5e12d5
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 26 14:12:17 2011 +0000

    Only use D3DSWAPEFFECT_FLIPEX on D3D9Ex devices.
    TRAC #16271
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@655 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 93c0fce48c049a3d2f8274bfa91e649e327b8cd0
Author: nduca@chromium.org <nduca@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 25 01:55:06 2011 +0000

    Use D3DSWAPEFFECT_FLIPEX on Windows 7.
    
    Reduces frame rate jitters on Windows 7 reported in crbug.com/82925
    Review URL: http://codereview.appspot.com/4517096
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@654 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5cb728c5de5ce5f24e294aca9da133f7155ada4e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue May 17 18:34:24 2011 +0000

    Add missing newlines to source files
    
    Issue=154
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@653 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 18b7b5b5e63fe64e1b97e9aa8b7c2ce6e7164db0
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue May 17 18:34:18 2011 +0000

    Improve robustness of Context::finish and flush
    
    Trac #16690
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@652 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2b720c92f8cdddbfb32272785773b367791efe8a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri May 13 16:05:22 2011 +0000

    Fix the order of the error() parameters in Surface.cpp and advertise EGL_ANGLE_d3d_share_handle_client_buffer extension
    
    Trac #16711
    
    Also rename the extension file to match the extension name
    
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@651 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4e29770792184805ad0b9e50ec6355e940fd22c4
Author: jbauman@chromium.org <jbauman@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 12 23:04:07 2011 +0000

    Add support for eglCreatePbufferFromClientBuffer, taking as input a D3D share handle corresponding to the enum EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE. No spec as of yet, but it does the obvious thing.
    
    BUG=129
    TEST=
    
    Review URL: http://codereview.appspot.com/4325048
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@650 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f1f28c80b0486e2b1d7dc7d976efb16a467fc5da
Author: jbauman@chromium.org <jbauman@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 12 20:53:34 2011 +0000

    Use SSE2 to swizzle RGBA to BGRA
    
    Using SSE2 can drastically reduce the amount of time it takes to do glTexImage2D. I've also added a plain-C path that's much faster than the one that was there before.
    
    BUG=151
    TEST=
    
    Review URL: http://codereview.appspot.com/4465052
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@649 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 73bec982fcc5cd8245aa65ec679bfca74e988701
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 12 18:15:03 2011 +0000

    Cache result of D3DPERF_GetStatus.
    
    I profiled the WebGL acquarium with AMD CodeAnalyst and it turns out this function got a lot of hits. Top 10 before change:
    
    CS:EIP          Symbol + Offset                                                                 64-bit  Timer samples
    0x62a87260      CBatchFilterI::ProcessBatch                                                             13.41
    0x62a171f1      D3DPERF_GetStatus                                                                       6.04
    0x629ce831      CD3DBase::SetVertexShaderConstantF_FP                                                   5.12
    0x62a88bea      CBatchFilterI::GetBatchBufferPointer<_LH_SETPIXELSHADERCONSTIMM_TOKEN_SMALL>            4.61
    0x6298060b      UpdateViewportCache                                                                     4.2
    0x6298da3a      CD3DBase::UpdateTextures                                                                3.58
    0x6298db6b      CD3DDDIDX10::SetTexture                                                                 2.76
    0x6298df1d      CD3DDDIDX10::InsertStreamSource                                                         2.46
    0x629d1c1a      CD3DBase::SetPixelShaderConstantF_FP                                                    2.25
    0x6297efc4      CD3DHal::SetSamplerState_FP                                                             2.05
    
    10 functions, 186 instructions, Total: 454 samples, 46.47% of shown samples, 2.51% of total session samples
    
    
    And after:
    
    CS:EIP          Symbol + Offset                                                                 64-bit  Timer samples
    0x69317260      CBatchFilterI::ProcessBatch                                                             13.87
    0x69318bea      CBatchFilterI::GetBatchBufferPointer<_LH_SETPIXELSHADERCONSTIMM_TOKEN_SMALL>            5.84
    0x6921060b      UpdateViewportCache                                                                     5.29
    0x6925e831      CD3DBase::SetVertexShaderConstantF_FP                                                   4.93
    0x6921da3a      CD3DBase::UpdateTextures                                                                4.38
    0x6921e034      CD3DBase::SetStreamSource_FP                                                            3.65
    0x69261c1a      CD3DBase::SetPixelShaderConstantF_FP                                                    3.65
    0x69227651      CD3DBase::DrawIndexedPrimitive                                                          2.74
    0x6920efc4      CD3DHal::SetSamplerState_FP                                                             2.37
    0x6925e9f7      CD3DBase::SetVertexShaderConstantIntF                                                   2.37
    
    10 functions, 152 instructions, Total: 269 samples, 49.09% of shown samples, 0.80% of total session samples
    
    
    UpdateViewportCache looks like it might be low hanging fruit as well.
    Review URL: http://codereview.appspot.com/4535049
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@648 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b1092bf376dc08314e8644f3e84f96704c518392
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 11 19:52:39 2011 +0000

    Fix gl_FragCoord.
    
    Landing patch from this Chromium issue:
    
    http://code.google.com/p/chromium/issues/detail?id=82166
    Review URL: http://codereview.appspot.com/4528055
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@647 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a5fd7a5aa5970d6cad9ec5deb6d488457c8286e6
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 11 16:19:54 2011 +0000

    Update contributors list
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@646 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit dfd5702063edc24b22b5a333e698b3c2d12798fc
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 11 15:37:25 2011 +0000

    Fix compilation warnings.
    
    Issue=95
    TRAC #16568
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@645 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2ff573c648c0e7eb592705ecc6c9fd3462f9f6c2
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 11 15:37:17 2011 +0000

    Enable vertex texture fetch support.
    
    Issue=95
    TRAC #16568
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@644 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9ba680a707512fe40fff6e79fb16896de15e6d53
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 11 15:37:11 2011 +0000

    Comment some (vertex) texture lookup functionality.
    
    Issue=95
    TRAC #16568
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@643 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f494c9ca938169abdef13612c6f3029fbf218a07
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 11 15:37:05 2011 +0000

    Validate the sampler uniform against the number of (combined) texture image units.
    
    Issue=95
    TRAC #16568
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@642 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 424bb49d4d9e62bc66e30d074d4cf18e25860353
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 11 15:36:59 2011 +0000

    Validate shaders so they don't exceed the texture unit counts.
    
    Issue=95
    TRAC #16568
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@641 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3f74c7a721d128e3c3f0b348bcf8b75689b9f646
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 11 15:36:51 2011 +0000

    Correct the sizes of the (combined) texture unit arrays for VTF.
    
    Issue=95
    TRAC #16568
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@640 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d4a35179bdf3b2ddf4457f0b3861f4e7d418989e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 11 15:36:45 2011 +0000

    Apply vertex textures and sampler states to the D3D9 device.
    
    Issue=95
    TRAC #16568
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@639 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0e64dd6dc05a4d3e31f6cbc69ceeafc4a863a65e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 11 15:36:37 2011 +0000

    Rename SamplerType to TextureType (refactoring).
    
    Issue=95
    TRAC #16568
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@638 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit af29cac91acdc574464e3966bf9da5c8cf24acd2
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 11 15:36:31 2011 +0000

    Report the VTF texture unit limits.
    
    Issue=95
    TRAC #16568
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@637 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3b1703f42cc94a1b28a5a6b5f9653084c0bc455b
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 11 15:36:26 2011 +0000

    Detect support for vertex shader texture lookups.
    
    Issue=95
    TRAC #16568
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@636 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 15795192be7ea5c234b49ba0d730bc36dcd812a2
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 11 15:36:20 2011 +0000

    Translate vertex texture lookup functions.
    
    Issue=95
    TRAC #16568
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@635 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 317887f29f493c3266c4e7a71f61f5e796479301
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 11 15:26:12 2011 +0000

    Fix depth test state management.
    
    TRAC #16655
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@634 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 07792e5485a003177af34fc200f0eeb5d180bc4a
Author: benvanik@google.com <benvanik@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 5 19:38:32 2011 +0000

    Fix for issue 150 - HandleAllocator asserts on framebuffer 0 release
    
    Issue=150
    Signed-off-by: apatrick
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@633 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 192a1810f140fd35c2da652b6bda4cadc60891e2
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 5 00:00:30 2011 +0000

    Implemented semantics for eglDestroySurface when surface is current on thread.
    
    The spec has this to say.
    
    "
    All resources associated with surface which were allocated by EGL are marked for deletion as soon as possible. If surface is current to any thread (see section 3.7.3), resources are not actually released while the surface remains current. Future references to surface remain valid only so long as it is current; it will be destroyed, and all future references to it will become invalid, as soon as any otherwise valid eglMakeCurrent call is made from the thread it is bound to."
    Review URL: http://codereview.appspot.com/4449064
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@632 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e2f954cdab9e39a05d40f44303b3002c77af4cd4
Author: jbauman@chromium.org <jbauman@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue May 3 20:45:27 2011 +0000

    Validate cube texsubimage based on current face
    
    Apps can load cube faces in an arbitrary order, so validating texsubimage based on the format of only the first face won't work.
    
    BUG=149
    TEST=
    
    Review URL: http://codereview.appspot.com/4445085
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@629 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 06d7a7559b3c284bf568ac1aa0881209a61e7582
Author: jbauman@chromium.org <jbauman@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 30 01:02:52 2011 +0000

    Move attrib-list handling into Display
    
    Move the handling of attrib-lists in eglCreatePbufferSurface and eglCreateWindowList into methods in Display, so we can keep libEGL.cpp as a thin layer.
    
    BUG=
    TEST=
    
    Review URL: http://codereview.appspot.com/4453051
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@628 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 62e4a51513300613cddb670c58997e48d6f3543f
Author: benvanik@google.com <benvanik@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Apr 29 18:07:50 2011 +0000

    Adding ANGLE_timer_query draft extension spec.
    
    Issue=142
    Signed-off-by: Daniel Koch
    
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@627 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e0a384d781101d3415506ab98a7d3f26c0ae2253
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Apr 29 00:24:23 2011 +0000

    Fix compilation errors in translator.cpp.
    Review URL: http://codereview.appspot.com/4445073
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@626 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 399c35f987bb8181a421415a1f437d696383d140
Author: jbauman@chromium.org <jbauman@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 28 23:19:51 2011 +0000

    Don't constantly recreate index buffers.
    
    Recreating index buffers for closing loops can take a long time, so use a streaming index buffer instead.
    
    BUG=
    TEST=
    
    Review URL: http://codereview.appspot.com/4438080
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@625 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a9d0b768f45f715811c2a9a7faa29501d9fe4570
Author: benvanik@google.com <benvanik@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 28 20:11:54 2011 +0000

    Updating resource types on Context (Framebuffers and Fences) to use hash_map, as done to other types in r615.
    
    Issue=148
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@624 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1a23334f9536101cb777451bd6e5b9f13dd5c818
Author: benvanik@google.com <benvanik@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 28 19:44:39 2011 +0000

    Unifying resource handle allocation code with an allocator optimized for O(1) allocs/releases.
    
    Issue=143
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@623 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit aa6146059e5bbe5ab6cc5138bc5480b16f844430
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 28 16:20:58 2011 +0000

    Handle null pointer produced by vertex buffer lock
    
    Issue=120
    TRAC #16558
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens (original patch by Jacob Benoit)
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@622 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a129765f9060b605d24eecc8a29efc074f9c1f76
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 26 18:36:43 2011 +0000

    Add MapLongVariableNames files to standalone vcproj
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@620 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit fd747b861195a03df634a722a9cf3505dcd41253
Author: zmo@google.com <zmo@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 23 01:30:07 2011 +0000

    Implement shader identifier name mapping.
    
    The name mapping happens when an identifier is longer than 32 characters.  The name mapping is behind a flag, so it won't happen by default.  Also, functions to query the mapped names are added.
    
    The purpose of this CL is for the drivers that can't handle long names.  For example, linux NVIDIA driver can't handle 256 character name, whereas WebGL spec requires that.
    
    This CL also fixes the issue that some of the TIntermSymbols' ids are 0s.
    
    ANGLEBUG=144
    TEST=test manually with shaders with long identifier names.
    Review URL: http://codereview.appspot.com/4428058
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@619 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit eef864ade3c64d2f30d4f41558889caca430edbd
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Apr 22 11:33:27 2011 +0000

    Use StretchRect to speed up simple blits.
    
    Fixed copy position transformation.
    TRAC #16494
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@618 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a114c27392e60933fd043904ac4204897f547e6a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Apr 22 04:18:50 2011 +0000

    Advertise depthbuffer-less surface configs.
    
    TRAC #16493
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@617 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 78624ca0e9dc323fe3ab4e9b13f8e643b7bed9da
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Apr 22 04:17:57 2011 +0000

    Heuristically optimize buffer usage.
    
    TRAC #16343
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@616 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 733ba93b5d803f6cead71b50afb4941f7229fee2
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 14 15:03:48 2011 +0000

    Use a hash map for faster resource lookups.
    TRAC #14871
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@615 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 72b9e18c42fb51b742cca21865ee0884edeabf0c
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Apr 13 14:58:33 2011 +0000

    Optimized prepareVertexData and protect against NULL pointers.
    
    TRAC #14871
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@614 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 09c2c1ac313746fe06e5cd73d513ff08d9ab39fa
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Apr 13 14:57:16 2011 +0000

    Move the vertex declaration cache to a helper class.
    
    TRAC #14871
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@613 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit baa7451e3545bdfcf0e4c640a23a474e394446d9
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Apr 13 14:56:47 2011 +0000

    Eliminate lookupAttributeMapping.
    
    TRAC #14871
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@612 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2cec2f3a3f6c48d86fb039979419d2d6bc65e024
Author: jbauman@chromium.org <jbauman@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Apr 6 18:59:51 2011 +0000

    Profiling shows that creating and destroying vertex declarations is extremely expensive, so we can keep a 16-element cache around to speed that up.
    
    BUG=
    TEST=JSGameBench
    
    Review URL: http://codereview.appspot.com/4358051
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@609 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6cfe67878619269473b2ee7091d611d953074294
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Apr 6 18:45:47 2011 +0000

    Add ANGLE extension specifications
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@608 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0b8d4eb260eec6b3b2c32b88a2bfe400f1cfb0c0
Author: zmo@google.com <zmo@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Apr 4 19:17:11 2011 +0000

    Unroll for-loop if sampler array uses loop index as its index.
    
    If inside a for-loop, sampler array index is the loop index, Mac cg compiler will crash.  This CL unroll the loop in such situation.  The behavior is:
    1) If the for-loop index is a float, we reject the shader.
    2) If it is an integer, we unroll the for-loop.
    
    Things that should be done in the future are:
    1) Add line number macros.
    2) Add a limit to unroll iteration count.
    
    anglebug=94
    Review URL: http://codereview.appspot.com/4331048
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@606 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f02c9e620f79d0883ebd513f58cde8d706a7aa3d
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Apr 4 14:03:20 2011 +0000

    Fix resizing the string buffer.
    
    Issue=117
    TRAC #15793
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@605 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ae345807b2b9ca3ae702af129326c63457bfdf4b
Author: jbauman@chromium.org <jbauman@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Mar 30 22:04:25 2011 +0000

    Add support for eglBindTexImage and eglReleaseTexImage
    
    With this patch we can bind pbuffers as textures. Once we add support for using
    a sharing handle to create a pbuffer we can use this to allow us to use it as a
    texture as well.
    
    BUG=129
    TEST=modified Simple_Texture2D works
    Review URL: http://codereview.appspot.com/4291066/
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@604 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b627699faab1c5046570773688195d178f972d9e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Mar 29 00:58:18 2011 +0000

    Use D3DX to copy between renderable texture surfaces.
    
    TRAC #16118
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@598 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 549bdefe60e5fee409988e04945b8e54ea22ae2e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Mar 29 00:57:01 2011 +0000

    Retrieve the D3D texture format per image.
    
    TRAC #16118
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@597 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d976b584c351727269129174ba9a5f4beda00de3
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Mar 29 00:56:20 2011 +0000

    Consistently use the virtual keyword on virtual overloaded methods.
    TRAC #16118
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@596 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit db7cd0b218cb865b9fa6214628cd613b0e0fe32a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Mar 29 00:55:31 2011 +0000

    Fix Visual C++ linking in stand-alone project
    TRAC #16118
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@595 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 36ed96e0e7bdd74546518027116b06865d296da6
Author: zmo@google.com <zmo@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Mar 24 21:55:11 2011 +0000

    Fix angle version in version.h
    
    BUG=none
    TEST=none
    TBR=apatrick@chromium.org
    Review URL: http://codereview.appspot.com/4309046
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@594 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2a5645f7b6b98cf1407bf343d05cd5d8a075583e
Author: zmo@google.com <zmo@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Mar 24 21:36:51 2011 +0000

    Fix a typo in r592.  (I developped on Windows and typed in on Mac and submit).
    
    BUG=135
    TEST=build fine
    
    TBR=kbr@chromium.org
    Review URL: http://codereview.appspot.com/4285066
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@593 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 53d73e040fd9f0eddd0750da0dedb723f3ef5e20
Author: zmo@google.com <zmo@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Mar 24 21:27:57 2011 +0000

    glGetProgramiv(GL_ACTIVE_UNIFORM_MAX_LENGTH) should count an extra 3 if uniform is an array because "[0]" is appended.
    
    BUG=135
    TEST=the attached htm in the bug runs ok
    Review URL: http://codereview.appspot.com/4287077
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@592 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8ea5afef1badeff346c6bec91d62bc56de8ae0dd
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Mar 23 20:44:36 2011 +0000

    Switched to D3D10 shader compiler.
    
    I figured out how to call in to D3DCompiler_xx.dll and still get the ID3DXConstantTable metadata used by ANGLE. There are more optimization levels available with this compiler and the lowest level (0) allows MetaTunnel and MandelBox to compile their shaders quickly. MetaTunnel still does not render correctly unfortunately.
    
    I benchmarked eight of the ShaderToy demos and did not notice any performance regression on an nVidia Quadro FX 380. Intel might be adversely affected. I built ANGLE against D3DCompiler_43.dll, while Chrome still ships with 42. I'm not sure if that will make a difference but I'll rev Chrome soon.
    
    I also checked WebGL Aquarium and ran the WebGL conformance tests.
    
    This will also let me roll r590 into Chromium. It turns out the ForceSymbolReferences setting I added to the libGLESv2 target caused the linker to sometimes crash when making changes and the changes between r577 and r590 consistently lead to a crash. libGLESv2 now has a hard dependency on D3DCompiler_xx.dll via the call in Program.cpp and this seems to not make the linker crash.
    Review URL: http://codereview.appspot.com/4275063
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@591 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a06aa870651037376c60c653a6bb478b12f7cdc7
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Mar 21 17:22:21 2011 +0000

    Track dirty texture parameters and images separately.
    
    TRAC #15703
    Issue=86
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@590 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a9eb5dac495171d62bbd5c7f9015e38487d79d00
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Mar 21 16:39:16 2011 +0000

    Track texture serials instead of id's.
    
    TRAC #15703
    Issue=86
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@589 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 38e76e535b42e33173a126ff82f75cfcdf093270
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Mar 21 16:39:10 2011 +0000

    Keep track of applied textures and dirty state to minimize D3D calls.
    
    TRAC #15703
    Issue=86
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@588 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 51887316dcd957d57674e4ee8f225379b84c79e2
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Mar 21 16:39:03 2011 +0000

    Fix checking for floating-point render target texture support.
    
    TRAC #15703
    Issue=86
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@587 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f4e360373b1570e9ba9f03746504cf7bce007604
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Mar 21 16:38:59 2011 +0000

    Copy texture data of incomplete textures to the image arrays.
    
    TRAC #15703
    Issue=86
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@586 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 94a4f03f9f98d26796f8f520eae0e4dab11f27b2
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Mar 21 16:38:55 2011 +0000

    Retrieve current texture properties from the image array to avoid D3D call.
    
    TRAC #15703
    Issue=86
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@585 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6120820e41b54ddd314358bd94f4d389e0a20106
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Mar 21 16:38:50 2011 +0000

    Retrieve texture width, height and type from the top-level image.
    
    TRAC #15703
    Issue=86
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@584 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b5a3a6b6ba03568bd2f895235795814c9f929588
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Mar 21 16:38:46 2011 +0000

    Texture image refactoring.
    
    TRAC #15703
    Issue=86
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@583 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c50edcb2d23c093374cc2172c89e05c891a8e8c9
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Mar 21 16:38:40 2011 +0000

    Remove redundant dirtyImageData() check.
    
    TRAC #15703
    Issue=86
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@582 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0bd22bc9e0f89359f0feb0721efe2339874d6cb7
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Mar 21 16:38:26 2011 +0000

    Check image type in texture completeness test.
    
    TRAC #15703
    Issue=86
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@581 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8a0a2db7555c9c1e5ca8acc4f0a82d0c724ecd0c
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Mar 21 16:38:20 2011 +0000

    InternalFormat and format are the same.
    
    TRAC #15703
    Issue=86
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@580 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit aed1832dac6557acb9e47363036f6255d2e8e7d6
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Mar 21 16:38:13 2011 +0000

    Fix dirty texture state management.
    
    TRAC #15703
    Issue=86
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@579 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 68076a077564e306afb9da33fd5d26a2641a071c
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Mar 21 16:38:09 2011 +0000

    Eliminate the weak base texture pointer.
    TRAC #15703
    Issue=86
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@578 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 831fe2af72a47eb7b2806af522e32245f70eb435
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Mar 17 18:44:29 2011 +0000

    Fixed framebuffer-object-attachment WebGL conformance test.
    
    We updated it with WebGL conformance test r14153 to exercise zero-size FBO attachments, which failed with ANGLE. The new conformance test passes with OpenGL and Mesa.
    
    See this Chromium bug:
    http://code.google.com/p/chromium/issues/detail?id=75666
    
    D3D fails if you try to create a zero size depth buffer but OpenGL ES2 allows it. D3D / drivers seem to sometimes crash rather than fail normally, though this might just be because some users have enabled the D3D debug runtime and break on error and we're getting the reports.
    
    It was also returning unexpected results when calling GetRenderbufferParameter for parameters that do not apply to a particular buffer. For example, RED_SIZE for a zero sized depth buffer should be 0.
    
    Tested by running WebGL conformance test with retail D3D runtime (passes) and debug D3D runtime (passes and does not assert in D3D or ANGLE).
    Review URL: http://codereview.appspot.com/4284053
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@577 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f963e92f82919da00169a0c2af31e7ae25102b46
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Mar 15 18:25:13 2011 +0000

    Update contributors and version
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@576 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b969cc520e044f475e6f7a3541f14eeb640086ed
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Mar 15 18:23:59 2011 +0000

    Fix clang warnings in PoolAlloc.cpp
    
    Issue=127
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Part 4 of 5: <http://webkit.org/b/56337> Enable -Werror on ANGLE
    
    Upstream bug: <http://code.google.com/p/angleproject/issues/detail?id=127>
    
    Fixes the following static analyzer warnings:
    
        src/compiler/PoolAlloc.cpp:154:26:{154:24-154:25}{154:28-154:42}: warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare,2]
             for (size_t x = 0; x < guardBlockSize; x++) {
                                ~ ^ ~~~~~~~~~~~~~~
        src/compiler/PoolAlloc.cpp:159:55:{159:54-159:56}{160:30-160:34}: warning: conversion specifies type 'unsigned int' but the argument has type 'size_t' (aka 'unsigned long') [-Wformat,7]
                     sprintf(assertMsg, "PoolAlloc: Damage %s %u byte allocation at 0x%p\n",
                                                              ~^
                                                              %lu
        fix-it:"src/compiler/PoolAlloc.cpp":{159:54-159:56}:"%lu"
    
    * 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.
    
    Author:    David Kilzer <ddkilzer@apple.com>
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@575 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ea9935767b7e85e3b59310dfe93833433f4fc917
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Mar 15 18:23:55 2011 +0000

    Fix clang warnings: Intermediate.cpp: warning: '&&' within '||'
    
    Issue=126
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Part 3 of 5: <http://webkit.org/b/56337> Enable -Werror on ANGLE
    
    Upstream bug: <http://code.google.com/p/angleproject/issues/detail?id=126>
    
    Fixes the following static analyzer warnings:
    
        src/compiler/Intermediate.cpp:1008:55:{1008:17-1008:54}: warning: '&&' within '||' [-Wlogical-op-parentheses,2]
                     if (left->isMatrix() && right->isVector() ||
                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
        src/compiler/Intermediate.cpp:1008:55: note: place parentheses around the '&&' expression to silence this warning [2]
                     if (left->isMatrix() && right->isVector() ||
                                                               ^
                         (                                    )
        fix-it:"src/compiler/Intermediate.cpp":{1008:17-1008:17}:"("
        fix-it:"src/compiler/Intermediate.cpp":{1008:54-1008:54}:")"
        src/compiler/Intermediate.cpp:1008:55:{1009:17-1009:54}: warning: '&&' within '||' [-Wlogical-op-parentheses,2]
                     if (left->isMatrix() && right->isVector() ||
                                                               ^
        src/compiler/Intermediate.cpp:1008:55: note: place parentheses around the '&&' expression to silence this warning [2]
                     if (left->isMatrix() && right->isVector() ||
                                                               ^
        fix-it:"src/compiler/Intermediate.cpp":{1009:17-1009:17}:"("
        fix-it:"src/compiler/Intermediate.cpp":{1009:54-1009:54}:")"
        src/compiler/Intermediate.cpp:1020:55:{1020:17-1020:54}: warning: '&&' within '||' [-Wlogical-op-parentheses,2]
                     if (left->isMatrix() && right->isVector() ||
                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^
        src/compiler/Intermediate.cpp:1020:55: note: place parentheses around the '&&' expression to silence this warning [2]
                     if (left->isMatrix() && right->isVector() ||
                                                               ^
                         (                                    )
        fix-it:"src/compiler/Intermediate.cpp":{1020:17-1020:17}:"("
        fix-it:"src/compiler/Intermediate.cpp":{1020:54-1020:54}:")"
        src/compiler/Intermediate.cpp:1020:55:{1021:17-1021:54}: warning: '&&' within '||' [-Wlogical-op-parentheses,2]
                     if (left->isMatrix() && right->isVector() ||
                                                               ^
        src/compiler/Intermediate.cpp:1020:55: note: place parentheses around the '&&' expression to silence this warning [2]
                     if (left->isMatrix() && right->isVector() ||
                                                               ^
        fix-it:"src/compiler/Intermediate.cpp":{1021:17-1021:17}:"("
        fix-it:"src/compiler/Intermediate.cpp":{1021:54-1021:54}:")"
    
    * src/compiler/Intermediate.cpp:
    (TIntermBinary::promote): Added parnetheses.
    
    Author:    David Kilzer <ddkilzer@apple.com>
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@574 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0eb64c3a9a6f134baf8c96fe5457efdf7d077030
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Mar 15 18:23:51 2011 +0000

    Fix clang warning: ParseHelper.cpp:264:13: warning: 8 enumeration values not handled in switch
    
    Issue=125
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Part 2 of 5: <http://webkit.org/b/56337> Enable -Werror on ANGLE
    
    Upstream bug: <http://code.google.com/p/angleproject/issues/detail?id=125>
    
    Fixes the following static analyzer warning:
    
        src/compiler/ParseHelper.cpp:264:13: warning: 8 enumeration values not handled in switch: 'EbtVoid', 'EbtBool', 'EbtGuardSamplerBegin'... [-Wswitch-enum,2]
             switch( type ){
                     ^
    
    * src/compiler/ParseHelper.cpp:
    (TParseContext::precisionErrorCheck): Added a default case.
    
    Author:    David Kilzer <ddkilzer@apple.com>
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@573 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit cd3a1b946453a0345de403bd7ec31fa27987b1fc
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Mar 15 18:23:46 2011 +0000

    Fix clang warning: ConstantUnion.h:56:17: warning: 7 enumeration values not handled in switch
    
    Issue=124
    
    Part 1 of 5: <http://webkit.org/b/56337> Enable -Werror on ANGLE
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Upstream bug: <http://code.google.com/p/angleproject/issues/detail?id=124>
    
    Fixes the following static analyzer warning:
    
        In file included from src/compiler/debug.cpp:14:
        In file included from src/compiler/ParseHelper.h:10:
        In file included from src/compiler/localintermediate.h:11:
        In file included from src/compiler/intermediate.h:21:
        src/compiler/ConstantUnion.h:56:17: warning: 7 enumeration values not handled in switch: 'EbtVoid', 'EbtGuardSamplerBegin', 'EbtSampler2D'... [-Wswitch-enum,2]
                 switch (type) {
                         ^
    
    * src/compiler/ConstantUnion.h:
    (ConstantUnion::operator==): Added a default case.
    
    Author:    David Kilzer <ddkilzer@apple.com>
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@572 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 35ce8e1cfd7af255c6ee2ee90840b14275bc1cc0
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Mar 14 23:57:03 2011 +0000

    ANGLE depends statically on D3DCompiler_x.dll.
    
    This prevents D3DX9 from loading and unloading the DLL whenever D3DXCompileShader is called. Apart from being slow, especially when a debugger is attached, it is not possible for ANGLE to load DLLs after the Chrome sandbox has been enabled.
    
    Review URL: http://codereview.appspot.com/4282046
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@571 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0b53fc05159097a919b2e205e07978048787ccc2
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Mar 9 15:12:12 2011 +0000

    Fix NULL dereference for empty constructors.
    Issue=123
    Patch by Jacob Benoit.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@570 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 62f20f9dd6b88ba2697213dd7f97fda350479e16
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Mar 9 15:10:18 2011 +0000

    Newlines in multi-line comments don't count as a newline.
    TRAC #15791
    Issue=114
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@569 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3d8115ff1dc3c62717f159703e396ee851fe39da
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Mar 9 15:07:33 2011 +0000

    Improve debug log formatting.
    TRAC #15791
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@568 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3829f80c32facf8e78abad883ba10c424f8907d4
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Feb 28 15:06:59 2011 +0000

    Fixed a floating-point parsing assert.
    TRAC #15790
    Issue=99,112
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@567 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3b5643cf3239105ceed6a5dfdcaa0380afa5a392
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Feb 28 15:06:55 2011 +0000

    Avoid division by zero in the preprocessor
    Trac #15792
    Issue=115
    
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@566 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 125e2543627f329ae4ef07aa838a0abd24949000
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Feb 18 02:55:34 2011 +0000

    Delete geometry folder
    
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@565 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8fd34bd649a855dab9f5dc3505e40ecb14a01d70
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Feb 18 02:52:14 2011 +0000

    Move geometry files.
    TRAC #15649
    Signed-off-by: Daniel Koch
    
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@564 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e90a0d5a9bea7905a60b8ee104dbfbe192533703
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Feb 18 02:52:06 2011 +0000

    Minor refactoring.
    TRAC #15551
    Signed-off-by: Daniel Koch
    
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@563 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 05a5d8e032ba48ef46a3e6d5aac03ae38f327704
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Feb 16 19:07:20 2011 +0000

    Added new line after generated HLSL break, continue and kill statements.
    
    This is consistent with return statements. It means that when PIX is attached, the #line directive lands on a new line.
    
    Review URL: http://codereview.appspot.com/4179054
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@562 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 11dd5dda9ad80ebb56ebd8047054c1ea31f7ac63
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Feb 11 13:28:14 2011 +0000

    Fix varying packing.
    TRAC #15550
    Issue=111
    Fix by Ranger Harke
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@561 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 97750022482a3c0ab379d4a0c1fcab417c7a5f2d
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Feb 11 13:23:13 2011 +0000

    Fix varying relinking.
    TRAC #15527
    Issue=100
    Signed-off-by: Daniel Koch
    
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@560 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b31f35abe60439a8ca2a0ee43640fabfe866f39a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Feb 11 13:19:35 2011 +0000

    Fix invalid compare operation asserts.
    TRAC #15551
    Issue=116
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@559 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 721b7f267502e01728d1676cd69765ba28c68dc3
Author: vladimirv@gmail.com <vladimirv@gmail.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Feb 11 00:54:47 2011 +0000

    Issue=91 -- implement pbuffers in ANGLE; add D3D share handle support
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@558 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9e83b5930083fceb2f7113badf5f02fd0f005ead
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Feb 10 22:04:34 2011 +0000

    Check for device lost with CheckDeviceState when using D3D9Ex.
    
    According to the docs, TestCooperativeLevel is a no-op with D3D9Ex.
    
    http://msdn.microsoft.com/en-us/library/bb174348(VS.85).aspx
    
    I believe it is safe to ignore the additional return values from CheckDeviceState. Some appear to be to allow optimization when a window is occluded. The new errors seem to be best treated as device lost as we were before. Although if the device is removed (!) I'm not sure what to do. It might also be useful to communicate D3DERR_DEVICEHUNG to Chromium in the future so it can use it as a hint to back off.
    
    Tested that D3D9 and D3D9Ex take the appropriate paths through Display::isDeviceLost.
    
    Bug: http://code.google.com/p/angleproject/issues/detail?id=113
    
    Review URL: http://codereview.appspot.com/4154042
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@557 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1615be20d173db038605f5b91a7de86eaa42a855
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Feb 9 16:30:06 2011 +0000

    Fix anti-aliased clears.
    TRAC #15445
    Issue=82
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@556 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f1f538efd16150ef537663fa3aaa7013f2b62a5f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Feb 9 16:30:01 2011 +0000

    Fix loop splitting.
    Trac #15446
    Issue=98
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@555 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e41afd8d181191ada9af767aade2948ef6693598
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Feb 1 18:49:22 2011 +0000

    fix pedantic compiler warnings
    Issue=108
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@554 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d2fd4f2afe46822fed817c1ac850afe9daadf21c
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Feb 1 18:49:11 2011 +0000

    Fix FBO/Texture/renderbuffer class hierarchy issues
    TRAC #14744
    Issue=51/52
    Delegated format queries to RenderbufferStorage.
    Eliminated TextureColorbufferProxy by merging it into Colorbuffer.
    Abstracted texture colorbuffer queries.
    Moved some conversion functions to the right namespace.
    Fixed line-endings in Texture.cpp
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens <nicolas@transgaming.com>
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@553 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7cfb2cffdd1d1714bbe8fd7fefb6321f3414c205
Author: zmo@google.com <zmo@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Feb 1 01:24:29 2011 +0000

    Allow variable names with length of up to 256 characters (this is required by WebGL spec).
    BUG=109
    TEST=the 256-character variable test in glsl-conformance.html passes
    
    Review URL: http://codereview.appspot.com/3981050
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@552 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9f300b0fccf1eade82b397156b1dc968f4fdec73
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Jan 31 20:36:48 2011 +0000

    Fixed commitRect so it correctly flips the source rectangle and dest point on Y.
    
    Review URL: http://codereview.appspot.com/4047050
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@551 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 55d0be043b4ce9c46f0b63ba3fb574859dd8c46b
Author: kbr@chromium.org <kbr@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 28 22:05:31 2011 +0000

    Reject non-ASCII characters in shader source at the preprocessor level.
    
    Review URL: http://codereview.appspot.com/4094047
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@545 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0f4cefe9462e53627f02f10b34d76f8665c72521
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jan 26 19:30:57 2011 +0000

    Map D3D calls and HLSL shaders back to GLES2 calls and GLSL ES shaders in PIX.
    
    This makes debugging and profiling using PIX a lot more convenient. The top level of events are the GLES calls with their arguments. Those can be expanded to see the D3D calls that were issued for a particular GLES call.
    
    When PIX is attached, the shaders are saved out to temporary files and referenced from the translated HLSL shaders via #line directives. This enabled source level debugging of the original GLSL from PIX for pixel and vertex shaders. The HLSL is also saved to a temporary file so that intrinsic functions like texture2D can be stepped into.
    
    It also avoids creating a text file in the current working directory, which has continued to be an issue.
    
    I made the dependency on d3d9.dll static again so it can be accessed by GetModuleHandle witihin DllMain.
    
    I added an EVENT macro that issues D3DPERF_BeginEvent and D3DPERF_EndEvent around a C++ block. I replaced TRACE with EVENT for all the entry points.
    
    I removed the tracing of shader source since the source is visible in PIX.
    
    The means by which the filename of the temporary shader file is passed into the shader compiler is a little clunky. I did it that way to avoid changing the function signatures and breaking folks using the translator.
    
    I plan to make the compiler respect #pragma optimize so that optimization can be disabled for debugging purposes. For now it just disables shader optimization in debug builds of ANGLE.
    
    
    Review URL: http://codereview.appspot.com/3945043
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@541 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e9874058c98aace5995997a81ae0af8826b240ee
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jan 26 17:32:26 2011 +0000

    Fix issues with preprocessor on very malformed shaders
    Trac #15236,#15237,#15238,#15239
    
    Error out instead of continued processing when we already know the preprocessor directives are bungled.
    Generally be more careful about the order in which cpp->elsetracker and cpp->ifdepth are checked/operated on.
    Validate all accesses of cpp->elsedepth to ensure no out of bounds accesses occur.
    Also slipped in a few indentation/spacing fixes.
    
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@540 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a0ce7e613ecbd04617cd49595d7da74856dd3bd1
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jan 25 14:47:16 2011 +0000

    Added version info resources.
    TRAC #15181
    Signed-off-by: Daniel Koch
    
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@539 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ddf8c5ecefa6fbac25d4b442ad648f4c915b8552
Author: kbr@chromium.org <kbr@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Jan 22 00:33:23 2011 +0000

    Applying patch from pkasting to svn:ignore files generated during the
    build process.
    
    BUG=none
    TEST=none
    TBR=apatrick
    
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@538 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit da4d0494773f5ff42c4c4528bc4f93bc658670d3
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Jan 22 00:16:10 2011 +0000

    Fixed gl_PointCoord Y coordinate.
    
    I forgot to flip (or rather unflip) the Y coord in r536. Tested particle system sample and ran conformance tests. All conformance tests passed.
    
    Review URL: http://codereview.appspot.com/4093043
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@537 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b31f532d7137039e73d5bbdcc0b54a9883718c58
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jan 19 19:02:52 2011 +0000

    All surfaces follow D3D Y convention, i.e. (0, 0) is "top-left" rather than GL's "bottom-left". This eliminates the need to flip the default FBO to the D3D convention using additional blits when presenting and reduces VRAM usage for redundant window sized surfaces.
    
    I took out the gl_Position.y flip from the vertex shader so FBOs are rendered
    according to D3D conventions.
    
    Texture lookups are flipped on Y to compensate. Cube map +Y and -Y faces are swapped. Y is now flipped in various other places, including uploading and reading back texture data from / to system memory, functions that take pixel space coordinates, winding order for culling, the implementation of ddy, the calculation of gl_Position and gl_FragCoord in fragment shaders and the flipping of compressed texture tiles.
    Review URL: http://codereview.appspot.com/3265041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@536 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3bd9d90f1c7fc32ce370993d1d1046a59d574282
Author: kbr@chromium.org <kbr@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jan 19 03:27:39 2011 +0000

    Build fix needed on certain platforms. Explicitly cast away const.
    
    BUG=none
    TEST=built within WebKit on Mac OS X in release mode
    TBR=daniel
    
    Review URL: http://codereview.appspot.com/4043042
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@535 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e26cb5e4465f547951fdeda3c29105d91b5c14e7
Author: kbr@chromium.org <kbr@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jan 18 21:27:02 2011 +0000

    Increase GLSL version to 1.20 if the shader contains any matrix constructor
    calls taking a matrix as argument; these were reserved in GLSL 1.10. This
    makes http://sio29.sakura.ne.jp/tmp/webgl/index_eruru.html load correctly
    once https://bugs.webkit.org/show_bug.cgi?id=52390 is fixed.
    
    BUG=103
    TEST=none
    
    Review URL: http://codereview.appspot.com/4034041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@534 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1fe96c9aa436f70010743ea8731384012e8759bd
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 14 15:08:44 2011 +0000

    add glRenderbufferStorageMultisampleANGLE support to glGetProcAddress
    Trac #15095
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@533 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3aba7337348c93760a50fc3bed6811f60607f49a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jan 14 15:08:35 2011 +0000

    BlitFramebuf: reuse local size variables
    Trac #15095
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@532 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f759f7a49c5cb7d5c1df8d56d5b58a4b08f680d2
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Jan 13 21:42:53 2011 +0000

    Review: http://codereview.appspot.com/3969041/
    
    Fixed dangling pointers in Surface.
    
    When the surface is reset, either because of device lost or a window
    resize, and any of these fail:
    
    CreateDepthStencilSurface
    CreateTexture
    
    Some subsset of mSwapChain and/or mDepthStencil would be left
    uninitialized. This seemed to happen frequently on WIndows XP boxes.
    
    Example crash dumps:
    
    Thread 0 *CRASHED* ( EXCEPTION_ACCESS_VIOLATION_READ @
    0xffffffff800f0004 )
    
    0x014f1aac       [libegl.dll     -
    surface.cpp:479]        egl::Surface::getDepthStencil()
    0x1001324c       [libglesv2.dll  -
    context.cpp:301]        gl::Context::makeCurrent(egl::Display *,egl::Surface *)
    0x10018c7e       [libglesv2.dll  - main.cpp:85] gl::makeCurrent(gl::Context
    *,egl::Display *,egl::Surface *)
    0x10017366       [libglesv2.dll  - context.cpp:3524]    glMakeCurrent
    0x014f607c       [libegl.dll     - libegl.cpp:884]      eglMakeCurrent
    
    Thread 0 *CRASHED* ( EXCEPTION_ACCESS_VIOLATION_READ @
    0xffffffffe95b5a5d )
    
    0x01131a14       [libegl.dll     - surface.cpp:433]     egl::Surface::swap()
    0x01136310       [libegl.dll     - libegl.cpp:1043]     eglSwapBuffers
    0x0214ac64       [chrome.dll     -
    gl_context_egl.cc:240]  gfx::NativeViewEGLContext::SwapBuffers()
    
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@531 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ddcd73783879be35c142e0306a73c4baa59ee0b9
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Jan 8 05:46:33 2011 +0000

    Re-implemented line loop support.
    TRAC #14870
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@530 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ee04e455c7020ec93e244c21031f976a6225e74c
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Jan 8 05:46:27 2011 +0000

    Create dynamic buffers in the default pool.
    TRAC #14889
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@529 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5ee2ad08ac4d1594c459db15dea832da09336916
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Jan 8 05:46:20 2011 +0000

    Optimized non-static usage of static buffers.
    Validate buffer pointers.
    TRAC #14889
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@528 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 37b141e24355549c8955930ad7748262d271828f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Jan 8 05:46:13 2011 +0000

    Create buffers in the managed pool on Windows XP.
    TRAC #14888
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@527 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 83921386363c71f582abd3e13d5f4d5f9d47cc86
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Jan 8 05:46:00 2011 +0000

    rewrite buffers implementation to support static buffers more efficiently
    Bug=89
    Trac #13565
    
    Signed-off-by: Daniel Koch
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@526 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d2fed1c7b481254aa82f14c577976f70c6ed9770
Author: baustin@google.com <baustin@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Jan 6 21:51:20 2011 +0000

    Fixed compile errors that show up when _UNICODE is not defined.
    Review URL:  http://codereview.appspot.com/3772045
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@525 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7155774566d7e3a2c7053c91dfce4f31983ca6a3
Author: baustin@google.com <baustin@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Jan 6 21:46:29 2011 +0000

    Added a compile flag so that writing to the debug log file can be turned off.
    Review URL: http://codereview.appspot.com/3733043/
    
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@524 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ad5df071b46f02918d43e38ca45341fbcf64500c
Author: baustin@google.com <baustin@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Jan 6 21:07:46 2011 +0000

    Fix for loading L/LA images into a native (8/16-bit) D3D surface.
    Review URL: http://codereview.appspot.com/3805044
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@523 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 17767ceb881e18d4c51a5781859334b9ab0c834d
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Dec 17 15:57:41 2010 +0000

    Implemented copying from A1R5G5B5 to L8 and A8L8.
    Fixed the copying range.
    TRAC #14885
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@515 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a628c9ffcbdb78594ad8d48ce34f9c7650cf4b8e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Dec 17 03:51:57 2010 +0000

    Update .gitignore file
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@512 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ac369f3d5e4ed5cd17b11d7543d99e3731b353a0
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Dec 15 15:46:00 2010 +0000

    Fix structure parsing regression.
    TRAC #14717
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@511 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a41e6e3a64361f9390f218f12aa481d69e9e587c
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Dec 15 15:45:30 2010 +0000

    Fix support for arrays of sampler uniforms.
    TRAC #14840
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@510 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit eea70793656ad29d6ab00fcab1289781e2c3c0db
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Dec 15 15:44:59 2010 +0000

    Fix querying active attributes.
    TRAC #14849
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@509 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 41b2fbdd0b3c4faefdc43bd4c2603dbc7cbf22f7
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Dec 13 18:27:12 2010 +0000

    Fix support for arrays of samplers.
    TRAC #14840
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@507 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5efd8b4581c5716550cb12158e07f238f8b5953f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Dec 13 14:48:03 2010 +0000

    Fix infinite loops in preprocessor when EOF encountered while scanning for newlines.
    Trac #14837
    Issue=42
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@506 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5751ed385bc03a56a15fc08131e07d64f6e75d3b
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sun Dec 12 08:53:40 2010 +0000

    Update contributors list
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@505 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9a76b814bf5d28055e57c08bd70b90ebd22626b2
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sun Dec 12 08:53:34 2010 +0000

    Fix memory leak in float literal parsing
    Issue=93
    
    Contributed by Benoit Jacob
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@504 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7595a12232a35ba3089e1bbbdf37571cab47e184
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sun Dec 12 08:53:27 2010 +0000

    Fix infinite loop in eglCreateWindowSurface
    Issue=90
    
    Contributed by vladimirv
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@503 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7b17facfca2256fd2e46f455b1298010e441f887
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sun Dec 12 08:52:58 2010 +0000

    fix comparison between signed and unsigned integer expressions in TParseContext::constructorErrorCheck
    Issue=78
    
    Contributed by timeless
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@502 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 90d57a3fed4c077d5732d01c5d0ee925281f2547
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sun Dec 12 08:52:49 2010 +0000

    Fix TType::TType constructors to initialize members in correct order
    Issue=77
    
    Contributed by timeless
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@501 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7ea933f54f0a6d848064a1c150b486137b0c6c8c
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sun Dec 12 08:52:42 2010 +0000

    Fix potential sscanf overflows in Shader.cpp
    Issue=76
    
    Contributed by ddefrostt
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@500 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit db9cac07a586924d2c9e6ab20e8d3b75a296efff
Author: nduca@chromium.org <nduca@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Dec 9 20:16:17 2010 +0000

    Don't unsubclass the surface's output window if the window has been destroyed.
    
    Review URL: http://codereview.appspot.com/3357041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@499 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d32941b96b7c5f0f7b78789424703032d3aa7b52
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sun Nov 28 02:03:07 2010 +0000

    Add missing files to the Visual Studio project.
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@498 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 458da14dabc16521ea48745f452b7d97ee18332c
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sun Nov 28 02:03:02 2010 +0000

    Increase the number of fragment uniform vectors.
    TRAC #14504
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@497 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 265f4507a4739de5c45d65174687cf9417bbeb89
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sun Nov 28 02:02:58 2010 +0000

    Increase the number of vertex uniform vectors.
    TRAC #14504
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@496 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3175496d585409570422c5ce4800d73a399c43d7
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sun Nov 28 02:02:52 2010 +0000

    Implement gl_DepthRange using a single uniform vector.
    TRAC #14504
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@495 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ce9952c5ec64c9801ddbb6aeced4c559285df005
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sun Nov 28 02:02:47 2010 +0000

    Increase the number of supported vertex attributes.
    TRAC #14504
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@494 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit beb2a2737f7d184f484d4a4c740e3081a801a7ad
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Nov 26 16:26:16 2010 +0000

    Render directly to a render target texture.
    TRAC #14506
    This speeds up surface swapping by avoiding an unnecessary StretchRect from a render target surface to a render target texture (anti-aliased surfaces are unsupported so no resolve is needed).
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@493 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 396c643dfa4be03af7aa1783e79be31211852c2a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Nov 26 16:26:12 2010 +0000

    Increase the number of varying vectors to 10 on Shader Model 3.0 devices.
    TRAC #14503
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@492 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b59a778cfe7e36dca41c2cc44198da511f447be8
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 24 18:38:33 2010 +0000

    Implemented validation for loop and indexing limitations specified by GLSL ES spec 1.0 Appendix A Section 4 and 5.
    A couple of things to note:
    - This CL only validates the "form" of loop and indexing. It does not detect number-of-iterations or out-of-bound access. This will require more involved analysis/heuristics.
    - I haved combined SH_VALIDATE_CONTROL_FLOW and SH_VALIDATE_INDEXING into one flag - SH_VALIDATE_LOOP_INDEXING. Validating both together is much easier.
    BUG=48
    Review URL: http://codereview.appspot.com/3225041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@491 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9d1c9b4b7a4562a0ed6cb99d3dc806fa77a11260
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Nov 23 22:05:41 2010 +0000

    glGenerateMipmap now does not force textures to become render targets.
    
    For textures that are not already render targets, use the CPU to filter them and mark them as dirty.
    
    I tested it by modifying the "mip_map_2d" demo to call glGenerateMipmap instead of generating the mipmaps itself. I also used the debugger to force it to take the render target path and verified that it still worked.
    
    We've been having problems with the display being reset when video memory pressure is heavy with one of our demos. This patch made a noticable improvement on Vista but I don't think it will necessarily help on XP.
    
    Review URL: http://codereview.appspot.com/3262041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@490 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit bafcbaa3a31cc9175b757a60d6377bce01d3be9b
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Nov 23 19:07:43 2010 +0000

    Moved the global-pool-allocator to TCompiler so that all memory allocated by the compiler can be de-allocated. Earlier the global-pool-allocator kept accumulating memory from all compilers (symbol-table in particular). The memory was only de-allocated when gpu-process exited or ShFinalize() was called. This was a problem for Chromium which keeps the GPU process around for the browser session. Now the memory is de-allocated as soon as the compiler is deleted, which happens when a tab is closed.
    BUG=58808 (crbug.com)
    Review URL: http://codereview.appspot.com/3280041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@489 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a5a8a0ad68c507e4f82873f445f73220bb3fba41
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Nov 19 14:55:32 2010 +0000

    Fix active texture handling.
    TRAC #14429
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@488 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ce864420d33792dc929ec19c64c6c199a9aca2a4
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Nov 18 13:16:49 2010 +0000

    Add an array index to arrays of structures.
    TRAC #13625
    This patch ensures that (member variables of) arrays of structures are listed separately by glGetActiveUniforms(). Their location can also be retrieved individually with glGetUniformLocation() using the array operator.
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@487 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a6e31e58bbb301d8e89a375a3a0c0f44cc557be3
Author: nduca@chromium.org <nduca@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Nov 18 00:24:27 2010 +0000

    Resize surface on receipt of WM_SIZE to avoid corruption during resize. We hook WM_SIZE using window subclassing.
    
    This is a continuation of http://codereview.appspot.com/3038042/
    
    
    Review URL: http://codereview.appspot.com/3122041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@486 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3a053f261e62a184a545d16067615c18274989e4
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 17 21:39:54 2010 +0000

    Removed actions for generating parser-lexer now that they have been checked in. Also removed hooks to pull cygwin - it was only required for flex and bison that are not required anymore. If a developer needs to modify grammar files, he is expected to install cygwin.
    Review URL: http://codereview.appspot.com/3177042
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@485 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b3abc78b3754b9fc852f329d6c0087c66b163838
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 17 21:31:59 2010 +0000

    Fixed compile error introduced in r482.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@484 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 996675c6df1e80d970fe3f6e68f51f9f0c7ead9d
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 17 13:06:29 2010 +0000

    Fixed skipping over internal uniforms in getActiveUniform.
    TRAC #14390
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@483 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 52813558747eae47cf1514396e450eb3bada12c7
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Nov 16 18:36:09 2010 +0000

    Replaced TIntermLoop::testFirst with TIntermLoop::loopType to clearly indicate which type of loop it is. In some cases it is not possble to differentiate between a for-loop and while-loop.
    BUG=48
    Review URL: http://codereview.appspot.com/3123041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@482 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9c8579527f0fcf96da0550c20079619bbecff2ea
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Nov 16 18:27:58 2010 +0000

    Made GL_RGB textures map to D3DFMT_X8R8G8B8.
    
    I suspect there is a subtle reason why this is the wrong thing to do.
    
    The issue I am trying to address is glBlitFramebufferANGLE generating an error when bliting from a GL_RGB8_OES renderbuffer to a GL_RGB texture bound to the read framebuffer and draw framebuffer respectively. It verifies that both surfaces have the same underlying D3DFMT but GL_RGB8_OES renderbuffers are backed by X8R8G8B8 and GL_RGB textures were previously backed by A8R8G8B8.
    
    Since textures cannot as far as I know be created GL_RGB8_OES, it would be useful to have a way to blit from a GL_RGB8_OES renderbuffer to a GL_RGB texture.
    
    
    
    
    Review URL: http://codereview.appspot.com/2822041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@481 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f99fbb77bbbbbd2d9742fef2db061ae557c48958
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Nov 16 01:57:05 2010 +0000

    Check that IDirect3DVertexBuffer9 and IDirect3DIndexBuffer9::Lock succeed.
    
    I've been seeing crashes like this on Windows XP:
    
    0x013319aa      [libglesv2.dll  - memcpy.asm:188]       memcpy
    0x0130989a      [libglesv2.dll  - vertexdatamanager.cpp:164]    gl::VertexDataManager::preRenderValidate(int,int,gl::TranslatedAttribute *)
    0x01304f66      [libglesv2.dll  - context.cpp:1996]     gl::Context::applyVertexBuffer(unsigned int,int,int,bool *,gl::TranslatedIndexData *)
    0x013061a7      [libglesv2.dll  - context.cpp:2648]     gl::Context::drawArrays(unsigned int,int,int)
    0x012f7721      [libglesv2.dll  - libglesv2.cpp:1741]   glDrawArrays
    0x01c54f1e      [chrome.dll     - gles2_cmd_decoder.cc:3179]    gpu::gles2::GLES2DecoderImpl::DoDrawArrays(unsigned int,int,int)
    0x01c59122      [chrome.dll     - gles2_cmd_decoder_autogen.h:640]      gpu::gles2::GLES2DecoderImpl::HandleDrawArrays(unsigned int,gpu::gles2::DrawArrays const &)
    
    Review URL: http://codereview.appspot.com/3043042
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@480 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit bdfb2e5015262ed631f8ed8fecb066f4b21baddf
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Nov 15 16:41:20 2010 +0000

    Only initialize through a temporary variable if the same symbol name is used in the initialization expression.
    TRAC #13627
    The previous patch can generate a lot of unnecessary temporary variables. By first checking whether the same symbol name is reused the clutter is reduced to an absolute minimum (typical shaders won't rely on this odd GLSL semantic behavior so the workaround is hardly ever needed).
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@479 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b6ef8f11de1a1c3359aa7c78b82be0dd550b1c5e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Nov 15 16:41:14 2010 +0000

    Define new variables after evaluating the initialization expression.
    TRAC #13627
    GLSL allows to write things like "float x = x;" where a new variable x is defined and the value of an existing variable x is assigned. HLSL uses C semantics (the new variable is created before the assignment is evaluated), so we need to convert this to "float t = x, x = t;".
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@478 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1f29954dc7d433d6a69c4ec7bd07b7153f8d4b99
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Nov 12 15:50:23 2010 +0000

    Added API to enforce GLSL limitations mandated by WebGL.
    BUG=48
    Review URL: http://codereview.appspot.com/3005042
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@476 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 044a5cf8348594de2009331cfc02bd35477caf20
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Nov 12 15:42:16 2010 +0000

    Refactored glslang grammar files to make:
    - lexer and parser reentrant
    - line number handling automatic
    
    Caveats:
    - The preprocessor is still not thread-safe and full of bugs. I have another not-yet-ready patch to replace the preprocessor.
    - The grammar files use options that are not supported by the old versions of flex and bison checked into compiler/tools. So I need to check-in the generated lexer-parser along with a shell script to generate them.
    
    Review URL: http://codereview.appspot.com/2992041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@475 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2dfc47e341260cc2e5b34d407e0018ccc0780695
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Nov 8 13:45:24 2010 +0000

    Fix ternary operator unfolding
    TRAC #14155
    Issue=70
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@474 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 72d58c4cdecc29f25b0638ab7768a4dd520013f5
Author: kbr@chromium.org <kbr@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Nov 5 22:55:28 2010 +0000

    Fixed gl_FragCoord emulation for point sprites of size > 1 using VPOS
    semantic for x and y coordinates rather than previous per-vertex
    emulation when running on Shader Model 3.
    
    Verified fix in Chromium with test case from bug.
    
    BUG=http://code.google.com/p/angleproject/issues/detail?id=71
    TEST=test case from bug
    TBR=nicolas (LGTM'd by dgkoch)
    
    Review URL: http://codereview.appspot.com/2921041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@473 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 74d760bcb577c6e37335ba2439f71dc09e67d845
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Nov 3 12:27:18 2010 +0000

    Preserve the scissor and viewport rectangles on swap and blit
    TRAC #14054
    The SetRenderTarget calls used in Blit::boxFilter() and Surface::swap() implicitly reset the scissor and viewport rectangles. So we need to ensure that the original rectangles get captured, and restored afterwards (the Context only keeps track of explicitly changed state).
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@472 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 24e39699dd02c6b09d7f67ae740297a2a6c3e284
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Nov 1 21:19:43 2010 +0000

    Fixed null dereference when null passed as attribute list to eglCreateContext.
    
    I tested that the samples still work and that they fail as expected, but do not crash, if the attribute list argument is null.
    
    Review URL: http://codereview.appspot.com/2725042
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@471 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 91ed14949eb43404b90e4315835e8e851275e187
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Oct 29 03:11:43 2010 +0000

    Use C locale for atof to ensure using a dot as decimal mark.
    TRAC #14055
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@470 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8860909e1678a91ec6fa7713101d8dff5c0f9d53
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 27 19:42:44 2010 +0000

    Fixed infinite loops and buffer overflow in byte_scan when scanning for integers and floating-point numbers.
    - The byte_scan and associated functions are not very well written. I tried to clean them as much as possible without re-writing the whole thing.
    - Replaced lBuildFloatValue function with atof. lBuildFloatValue was returning incorrect value anyway. The only reason it was working so far because we never used that value.
    BUG=59623(crbug.com), 603333(bugzilla.mozilla.org)
    Review URL: http://codereview.appspot.com/2655042
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@469 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 78477fc08592a456cd54ca0a1de3552af821fef2
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 27 17:57:14 2010 +0000

    eglCreateContext checks client version is 2.
    
    I believe we don't support version 1 since we are missing things like the fixed function pipeline.
    
    This is motivated by consistency with other EGL implementations, which return a v1 context if the EGL_CONTEXT_CLIENT_VERSION attribute is not specified.
    
    
    Review URL: http://codereview.appspot.com/2760041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@468 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9d7fc1db4f07c23595dfa5905d7081913d69dfa7
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 27 15:49:42 2010 +0000

    Add missing break statements to Context::getBooleanv
    
    Trac #14114
    Reported in Bug=69
    
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@467 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f5855c5ed2ce5c44070f05c00380b0015c5b1cfb
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Oct 21 16:31:18 2010 +0000

    We were not reporting anything in the info-log for empty shader. This CL reports "unexpected EOF".
    BUG=66
    Review URL: http://codereview.appspot.com/2619041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@466 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d1e10e602e7e659adca6f8167f4d24c210ebbe84
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 20 20:58:55 2010 +0000

    Refactored ReadFileData() function in the translator sample to fix many issues:
    - Memory leaks
    - Made compiling using multiple strings default. This was not getting exercised.
    - Removed redundant copies of file data
    - Handled empty files properly which were getting ignored
    BUG=66
    Review URL: http://codereview.appspot.com/2579041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@465 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 43668cd0553aad41ff76836d0921c61c1ab34ec8
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 20 20:55:53 2010 +0000

    Fixed stack overflow in CPPextension function. An arbitrary size buffer was being used for extension name. Changed it to use MAX_SYMBOL_NAME_LEN.
    - Also formalized the values for MAX_SYMBOL_NAME_LEN and MAX_STRING_LEN. They were being used as if there was a confusion whether it included the NULL terminator or not.
    - Fixed some minor issues with code releated to the usage of MAX_SYMBOL_NAME_LEN and MAX_STRING_LEN.
    BUG=59625 (crbug.com)
    Review URL: http://codereview.appspot.com/2585042
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@464 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit fe5141ea8cf88999254da35634b21be274888606
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Oct 18 12:18:12 2010 +0000

    Support copying R5G6B5 to L8.
    TRAC #13792
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@463 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit dd438af8a25f5acb5731d4fc886fd5a6a1503eaa
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Oct 18 12:18:06 2010 +0000

    Removed an unnecessary call.
    TRAC #13792
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@462 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4c5142c661a49a5f9a593d728c4f42c21ef0c94f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Oct 15 17:58:27 2010 +0000

    Implemented glCopyTex[Sub]Image for non-renderable formats.
    TRAC #13792
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@461 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 73a5db67b0720f769a219afb5b8ca64ae74e7758
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Oct 15 17:58:13 2010 +0000

    Initialize renderbuffer variables. Make serials constant. Removed X1R5G5B5 support.
    TRAC #13792
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@460 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3f85fbbc3a20d8b961c5518d90f1d67f679ced00
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Oct 15 17:58:05 2010 +0000

    Validate glCopyTex[Sub]Image source and destination format combinations.
    TRAC #13792
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@459 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit edc19189ff9d026e84c12a36054e55d935c123be
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Oct 15 17:57:55 2010 +0000

    Validate framebuffer attachment formats.
    TRAC #13792
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@458 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b6b2e67703fbe60394462e12415835739416e07a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Oct 15 17:57:47 2010 +0000

    Disallow rendering to L/LA textures.
    TRAC #13792
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@457 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 11cb68cb7122f5dae324c4de1ac35cc58e9557d8
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Oct 15 17:57:40 2010 +0000

    Create and load L/LA textures.
    TRAC #13792
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@456 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ed828e5b2acc9cb0c6ea30416919483b45cf911a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Oct 15 17:57:30 2010 +0000

    Detect L8 and A8L8 texture support.
    TRAC #13792
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@455 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit fafd033ea10554aba19ecb6438893b8e2f99add3
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Oct 14 18:20:24 2010 +0000

    Added NSPR support for thread-local storage. Patch submitted by vladimirv. I have slightly modified the patch to still define ANGLE_OS_WIN and ANGLE_OS_POSIX.
    BUG=54
    Review URL: http://codereview.appspot.com/2497041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@454 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d300f5b0778adde280b9379b9c3afe16bf242540
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Oct 14 16:10:20 2010 +0000

    Removed redundant null-check. Patch submitted by timeless.
    BUG=58
    Review URL: http://codereview.appspot.com/2470042
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@453 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 18895cb1beb23de499763a54462de58699769a99
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Oct 14 16:09:57 2010 +0000

    Initialized TPoolAllocator::totalBytes. Patch submitted by timeless.
    BUG=60
    Review URL: http://codereview.appspot.com/2494041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@452 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 95447df03e509d9875413f77351affcaaf217808
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Oct 14 16:09:37 2010 +0000

    GLSL backend was assuming that a for-loop will always have a condition. But according to GLSL ES 1.0, the condition is optional.
    BUG=50
    Review URL: http://codereview.appspot.com/2489042
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@451 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ac23189bd44d1e17210c209c7ef8fc6709e4a1fc
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Oct 14 16:09:09 2010 +0000

    Removed redundant dereference. Patch submitted by timeless.
    BUG=64
    Review URL: http://codereview.appspot.com/2495041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@450 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6c82cafe4c9af40addab0c383c0c96ab4755bdc7
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Oct 14 16:08:56 2010 +0000

    Replaced delete with delete[]. Patch submitted by timeless.
    BUG=59
    Review URL: http://codereview.appspot.com/2493041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@449 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9ecf39506d85d8ea5daaf785efcf4ed6fe9cb1d7
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 13 19:28:25 2010 +0000

    GLSL backend now emits "#version 120" to legally access invariant keyword and gl_PointCoord built-in variable.
    BUG=35
    Review URL: http://codereview.appspot.com/2341043
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@448 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5d752f29189bbeb3da84b66c7335192a4baf6528
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Oct 7 13:37:20 2010 +0000

    Add proper detection for maximum texture and renderbuffer size
    Trac #13849
    
    Increased the maximum possible texture & renderbuffer size to 16384 (the minimum required for DX11 cards).
    Limit the actual maximum texture & renderbuffer size to the maximum
    that it reported by the underlying D3D9 device.
    
    Note that creating textures and renderbuffers at the maximum size will quickly exhaust video memory!
    
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@447 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1c76801e08404a8069bcb310370c972555a59dd8
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Oct 7 00:35:24 2010 +0000

    - Check for D3DDEVCAPS2_CAN_STRETCHRECT_FROM_TEXTURES capability during initialization to fail on DirectX8 drivers.
    - Fail in GetDeviceCaps loop after one second.
    
    Review URL: http://codereview.appspot.com/2354042
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@446 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c1693978fc914e32893ae7d8a4e422eaaaadd746
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Oct 6 02:34:39 2010 +0000

    Made debug log filename compile time configurable.
    
    Define TRACE_OUTPUT_FILE macro to change filename. Default remains "debug.txt" for Visual Studio solution based build. Gyp based build uses "angle-debug.txt".
    
    Review URL: http://codereview.appspot.com/2327043
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@445 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b2bdd06c18b0d4b93926ff4d249bf6999bd59959
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Oct 5 02:24:30 2010 +0000

    Fixed NULL dereference in glClear.
    
    6 crashes on Windows XP
    1 crash on Windows 7
    
    This was Canary 7.0.530.0 using ANGLE r429.
    
    0x011f523b      [libGLESv2.dll  - context.cpp:2412]     gl::Context::clear(unsigned int)
    0x011e5f41      [libGLESv2.dll  - libglesv2.cpp:611]    glClear
    0x020c400d      [chrome.dll     - gl_context.cc:33]     gfx::GLContext::InitializeCommon()
    0x020bb757      [chrome.dll     - gl_context_egl.cc:138]        gfx::NativeViewEGLContext::Initialize()
    0x020b8946      [chrome.dll     - gl_context_win.cc:502]        gfx::GLContext::CreateViewGLContext(HWND__ *,bool)
    0x01c4f6f8      [chrome.dll     - gpu_processor_win.cc:35]      gpu::GPUProcessor::Initialize(HWND__ *,gfx::Size const &,gpu::GPUProcessor *,unsigned int)
    0x01d6e669      [chrome.dll     - gpu_command_buffer_stub.cc:88]        GpuCommandBufferStub::OnInitialize(int,void * *)
    
    It's crashing upon creation of the GL context, possibly the first context. Device lost would possibly explain the XP crashes. The Windows 7 box might have run out of video memory.
    
    I also checked another couple of NULL dereference crashes.
    
    
    Review URL: http://codereview.appspot.com/2197046
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@444 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4888ceb6681c3668d3afcbdafdbe2b7efdaa3d04
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Oct 1 21:13:12 2010 +0000

    Made the API of shader translator library consistent.
    - We recently started using OpenGL-type enums. This CL makes all old enums consistent with the new scheme.
    - Renamed TBuiltInResource to ShBuiltInResources to have a consistent prefix
    
    BUG=46
    Review URL: http://codereview.appspot.com/2328041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@443 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2fa73694ed9cb7ae617eec7cfb7d33728fe4928f
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Sep 28 17:20:39 2010 +0000

    Added version number for shader translator API.
    BUG=45
    Review URL: http://codereview.appspot.com/2234047
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@442 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 10e6e9e3e9aa80f724f3e0149325fe21a5913807
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Sep 27 21:03:45 2010 +0000

    Handled case when variable declaration contains initialization.
    BUG=26
    Review URL: http://codereview.appspot.com/2213049
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@441 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ee76f6af4554615109916db541cd1e613d553214
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Sep 27 19:28:55 2010 +0000

    Implemented functionality to collect and return info for attributes and uniforms.
    BUG=26
    Review URL: http://codereview.appspot.com/2206046
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@440 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 570bfc7c1748e568a47340b17b9f3c1e388e0065
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Sep 24 17:19:25 2010 +0000

    Built-in string for vertex shaders can be empty. Nicolas handled this case in r433 but r437 overwrote it.
    Review URL: http://codereview.appspot.com/2233046
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@439 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e979ead84b79897225749cd25c2b365c566a1289
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Sep 23 18:03:14 2010 +0000

    Restore line endings
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@438 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 07620a585ae04ba6a86f0c04a27b3cabd10cc6b8
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Sep 23 17:53:56 2010 +0000

    - Moved the implementation for ShCompile to the compiler class so that internal details about compiler can be encapsulated. Now we do not need to expose built-in symbol table.
    - Fixed a few const violations.
    - Added CollectAttribsUniforms class.
    BUG=26
    Review URL: http://codereview.appspot.com/2263041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@437 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 36af61c58de59b5ebb09c167a9e7ad70ba782966
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Sep 22 17:14:02 2010 +0000

    Reset a lost device before releasing it
    TRAC #13622
    This prevents the driver from getting stuck in an undefined state and returning errors when trying to create a new device or querying capabilities.
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@436 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 677a151725bf272cedf13f1eead01017308e934a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Sep 22 17:13:59 2010 +0000

    Empty the surface and context sets on terminate
    TRAC #13623
    This prevents a crash when the application calls eglTerminate multiple times without destroying the contexts or surfaces.
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@435 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d3958d7370d5ffad3a8d5f3ca5a1386e1953438d
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Sep 22 17:13:54 2010 +0000

    Ensure that a surface is present before writing to it
    TRAC #13595
    This fixes a bug where glTexSubImage is called on a mipmapped texture before calling glTexImage.
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@434 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ecd7cf354d6224a907e6350d9e93627602063fb4
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Sep 22 17:13:50 2010 +0000

    Define vertex texture sampling intrinsics only when supported
    TRAC #12245
    This ensures that the shader will fail to compile when using VTF when it's not supported.
    Previously an error was generated only at link time and it was not very descriptive.
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@433 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c5f8dea4486985697a1fe9687752c8bdc3822c43
Author: enne@chromium.org <enne@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Sep 21 16:40:30 2010 +0000

    Allow multisampling without enabling GL_SAMPLE_COVERAGE.
    
    This setting is only used when an application wants to control which samples are written to.  If it is disabled, multisampling should just write to all samples.
    
    BUG=38
    
    Review URL: http://codereview.appspot.com/2194043
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@431 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0fa74639c53999632348d9a7aca7fa1b05339477
Author: enne@chromium.org <enne@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Sep 21 16:18:52 2010 +0000

    Allow blitting to a render texture in BlitFramebuffer.
    
    Change the type check to allow blitting between render buffers and render textures. Store the format for render textures so that resolving to a render texture Colorbuffer will pass the format check.
    
    BUG=37
    
    Review URL: http://codereview.appspot.com/2205043
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@430 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9398a6b28a9922d59f4aafdd20f9622717d4a93a
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Sep 20 19:07:49 2010 +0000

    I hope this will fix a generateMipmaps crash when needRenderTarget fails.
    
    This fixes this crash in 7.0.524.0 on a user's Windows XP service pack 3 box.
    
    0x014946f3      [libGLESv2.dll  - texture.cpp:1382]     gl::Texture2D::generateMipmaps()
    0x0149786f      [libGLESv2.dll  - libglesv2.cpp:2114]   glGenerateMipmap
    0x01c53199      [chrome.dll     - gles2_cmd_decoder.cc:2437]    gpu::gles2::GLES2DecoderImpl::DoGenerateMipmap(unsigned int)
    0x01c52216      [chrome.dll     - gles2_cmd_decoder.cc:2214]    gpu::gles2::GLES2DecoderImpl::DoCommand(unsigned int,unsigned int,void const *)
    0x01c4fa78      [chrome.dll     - cmd_parser.cc:56]     gpu::CommandParser::ProcessCommand()
    0x01c4f8ba      [chrome.dll     - gpu_processor.cc:100]         gpu::GPUProcessor::ProcessCommands()
    0x01ecdcce      [chrome.dll     - callback.h:119]       CallbackImpl<BrowsingDataRemover,void ( BrowsingDataRemover::*)(void),Tuple0>::RunWithParams(Tuple0 const &)
    0x01c4f2d9      [chrome.dll     - callback.h:79]        CallbackRunner<Tuple0>::Run()
    0x01c4edce      [chrome.dll     - command_buffer_service.cc:80]         gpu::CommandBufferService::Flush(int)
    0x01d6b9b1      [chrome.dll     - gpu_command_buffer_stub.cc:129]       GpuCommandBufferStub::OnFlush(int,gpu::CommandBuffer::State *)
    
    This might be glGenerateMipmaps after a device lost.
    
    
    Review URL: http://codereview.appspot.com/2227044
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@429 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e860f0797d0076c9884d72c03c07721fbfc33268
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Sep 20 19:06:56 2010 +0000

    Trying to fix bug crash when eglCreateWindowSurface (or any other code that causes createDevice to be invoked) is called and CreateDevice reports DEVICELOST or NOTAVAILABLE.
    
    This was a Windows XP service pack 3 box.
    
    0x10002545      [libegl.dll     - display.cpp:340]      egl::Display::createDevice()
    0x10002912      [libegl.dll     - display.cpp:468]      egl::Display::getDevice()
    0x01d6a80f      [chrome.dll     - gpu_info_collector_win.cc:29]         gpu_info_collector::CollectGraphicsInfo(GPUInfo *)
    0x01d68eca      [chrome.dll     - gpu_thread.cc:104]    GpuThread::OnEstablishChannel(int)
    
    Previously createDevice only checked for out of memory and the ASSERT(SUCCEEDED(result)) has no effect in release builds.
    
    I simulated the failure in a debugger and discovered a second place where a null dereference would occur in this case.
    
    I don't think this crash is technically correct but it prevents crashes.
    Review URL: http://codereview.appspot.com/2217043
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@428 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4d5962cdba664fd1602c9565ba7014353b0f2649
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Sep 20 19:02:30 2010 +0000

    Texture2D::getRenderTarget does not assume that needsRenderTarget succeeded.
    
    Specifically, it checks that mTexture is not null.
    
    This is to fix this crash that has been happening out in the wild:
    
    0x01444822      [libGLESv2.dll  - texture.cpp:1417]     gl::Texture2D::getRenderTarget(unsigned int)
    0x01445615      [libGLESv2.dll  - texture.cpp:2048]     gl::Texture::TextureColorbufferProxy::getRenderTarget()
    0x01453bb0      [libGLESv2.dll  - context.cpp:1579]     gl::Context::applyRenderTarget(bool)
    0x01455395      [libGLESv2.dll  - context.cpp:2413]     gl::Context::clear(unsigned int)
    0x014460c4      [libGLESv2.dll  - libglesv2.cpp:611]    glClear
    0x01c53b75      [chrome.dll     - gles2_cmd_decoder.cc:3021]    gpu::gles2::GLES2DecoderImpl::ClearUnclearedRenderbuffers(unsigned int,gpu::gles2::FramebufferManager::FramebufferInfo *)
    0x01c53cee      [chrome.dll     - gles2_cmd_decoder.cc:3078]    gpu::gles2::GLES2DecoderImpl::DoFramebufferTexture2D(unsigned int,unsigned int,unsigned int,unsigned int,int)
    0x01c57c7d      [chrome.dll     - gles2_cmd_decoder_autogen.h:756]      gpu::gles2::GLES2DecoderImpl::HandleFramebufferTexture2D(unsigned int,gpu::gles2::FramebufferTexture2D const &)
    0x01c52197      [chrome.dll     - gles2_cmd_decoder.cc:2214]    gpu::gles2::GLES2DecoderImpl::DoCommand(unsigned int,unsigned int,void const *)
    0x01c4fa78      [chrome.dll     - cmd_parser.cc:56]     gpu::CommandParser::ProcessCommand()
    0x01c4f8ba      [chrome.dll     - gpu_processor.cc:100]         gpu::GPUProcessor::ProcessCommands()
    
    It was a Windows XP service pack 3 box with Chrome 7.0.524.0. ANGLE was at r418 in this build. I suspect it attempted to glClear after a device lost, which caused needsRenderTarget to fail.
    
    This will hopefully patch it up so it doesn't crash. We'll need to check we aren't assuming mTexture is not null elsewhere.
    
    
    Review URL: http://codereview.appspot.com/2233045
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@427 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d10f869dfaff5160578437a14735768f86c5e339
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Sep 16 19:56:52 2010 +0000

    Fixed masked glClear
    TRAC #13577
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@426 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7beea4084f47ae019b5a93b03a5136c9265dc444
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Sep 15 21:18:34 2010 +0000

    Added API to query for active attribs and uniforms. These functions are modeled after glGetShaderiv, glGetProgramiv, glGetActiveAttrib, and glGetActiveUniform. The main difference between this and OpenGL API is that we do not have programs - just shaders.
    BUG=26
    Review URL: http://codereview.appspot.com/2183041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@425 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8d012dfca24b1151bdda0599d26ca79eb7817cf2
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Sep 15 18:26:44 2010 +0000

    Added assertion to RefCountObject destructor that mRefCount is zero.
    
    Review URL: http://codereview.appspot.com/2180041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@424 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4e3bad4e639732bab6787aca9de5aa5ca3d3496a
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Sep 15 17:31:48 2010 +0000

    Changed raw pointers to RefCountObject to BindingPointers.
    
    I suspect there is a bug whereby an owning reference to a RefCountObject is temporarily assigned to a BindingPointer, causing it to be destroyed and making the owning raw pointer go dangling.
    
    Making this change for mColorbufferProxy seemed to fix a crash in Chrome with canvas 2D.
    
    This was previously landed in r417 and r418.
    
    Review URL: http://codereview.appspot.com/2108047
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@423 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ff8bdfb065ddd9202cc27df894ad39f1a024fdd4
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Sep 15 17:27:49 2010 +0000

    Backing out r417 and r418.
    
    I will recommit these as two separate patches: one for ID invalidation and one for reference counting issue.
    
    I will not recommit the FBO changes and since the GLES2 spec will soon make it undefined whether FBOs are in a shared namespace.
    
    
    Review URL: http://codereview.appspot.com/2154045
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@422 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a9cd70acc3ed442d45ee0ac37b04db8f44ee625c
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Sep 15 15:48:57 2010 +0000

    Fix glGetActiveUniform for samplers
    TRAC #13522
    Original patch by Jim Hauxwell, fixed for full test suite conformance.
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@421 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit cf66ebb8a9c6462a07d62501831b1aa35f0f0284
Author: vangelis@chromium.org <vangelis@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Sep 14 22:15:43 2010 +0000

    Renaming Context::mDepthStencilDirty flag to mDepthStencilInitialized to avoid breaking consistency
    http://codereview.appspot.com/2187041/
    (Having trouble checking it in with gcl so going straight to subversion)
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@420 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 85dc42bf6b360f9fb9a3f3ab7c730f9ab5572a0c
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Sep 14 03:10:08 2010 +0000

    Reset DepthStencilSurface after Context::markAllStateDirty() has been called.
    
    Landing on Vangelis' behalf.
    
    Original review: http://codereview.appspot.com/2184041/
    
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@419 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9e287141aa7d57eecab5cc52a5f15998154d0fdf
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Sep 11 03:46:57 2010 +0000

    Missing file.
    
    TBR=vangelis@chromium.org
    
    Review URL: http://codereview.appspot.com/2147046
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@418 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5525502df8d53eb906a28f1fcb68c01e58e134ae
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Sep 11 02:12:47 2010 +0000

    Replaced raw pointers to RefCountObject to BindingPointer.
    
    This fixes the ANGLE crashes in Chrome when using canvas 2D.
    
    The issue was this:
    
    Renderbuffer *mColorbufferProxy = new RenderBuffer(...); // Reference count is zero.
    
    BindingPointer<RenderBuffer> tempRef;
    tempRef.set(mColorbufferProxy); // Reference count is one.
    
    tempRef.set(NULL); // Reference count is zero and object is destroyed, leaving mColorbufferProxy dangling.
    
    I also initially suspected the problem was that FBOs are not treated as shared and the implementation of shared FBOs is still in the patch. I believe GLES2 supports shared FBOs.
    
    My reading of the GLES2 spec is that when a shared object is deleted, it loses its id but retains its state if left bound elsewhere. I added that to RefCountObject.
    
    
    
    Review URL: http://codereview.appspot.com/2120045
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@417 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d303ef9a9961a9da9f80a7c4366ecc96aae18316
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Sep 9 17:30:15 2010 +0000

    ANGLE supports GL_OES_standard_derivatives now.
    BUG=25
    Review URL: http://codereview.appspot.com/2122048
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@416 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8815d7f2964301987a72e7a3a431f5df059f3e37
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Sep 9 17:30:03 2010 +0000

    Added support for associating functions with extensions and performing validation when those functions are used in a shader.
    BUG=25
    Review URL: http://codereview.appspot.com/2141046
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@415 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b19403a10cd926035841c821f5688f24d03d9dfe
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Sep 8 17:56:26 2010 +0000

    Removed unnecessary member variables from TIntermAggregate. Replaced operator overloading with a proper function in TFunction.
    Review URL: http://codereview.appspot.com/2137043
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@414 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ad771eb2cf60b25e20ad52fd3562c5426b3f5981
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Sep 7 17:36:23 2010 +0000

    Added mechanism to predefine associated macros for extensions. Also refactored the way extension behavior is initialized and updated.
    Please note that I still need to add validation that appropriate extensions are enabled before using an extension function.
    BUG=25
    Review URL: http://codereview.appspot.com/2139042
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@413 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8f0f24a04576a6da17b086923586c6c688c55cf5
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Sep 1 21:06:24 2010 +0000

    Removed support for unused/deprecated extension - GL_3DL_array_object.
    TEST=conformance tests.
    Review URL: http://codereview.appspot.com/2043043
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@412 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4b6b4f79a27e0d203e810e1185525b56b9c14695
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Sep 1 18:13:40 2010 +0000

    Removes unused IsFloatingPoint function from utilities.cpp
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@411 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit fe208885642b9a148ad73e830d7623c3a53ab84a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Sep 1 15:47:57 2010 +0000

    Replaces Windows line endings with Unix where needed
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@410 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1297d92b2dac331b0b6d49e4241b675840c2a87b
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Sep 1 15:47:47 2010 +0000

    Implements support for renderable floating point textures.
    TRAC #12909
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@409 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0db0d6c88fabd966d8bba2d3ff20d66d620863ef
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Aug 31 20:00:18 2010 +0000

    Replaces swap chain lazily when the swap interval is changed.
    
    It does not appear to be possible to pass a presentation interval to Present() or change it after creating the swap chain, short of calling Reset(). I decided to try fixing it by replacing the swap chain under the same conditions as a window resize.
    
    I tested it with a modified version of the simple vertex shader sample, passing various values to eglSwapInterval.
    
    My reading of the EGL spec might be wrong but I believe the interval state should be associated with the surface bound to the current context, rather than the display.
    
    
    
    Review URL: http://codereview.appspot.com/2036044
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@408 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6a20d10812d05619e32eaa56cb1b93a1cc14e27f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Aug 31 13:54:27 2010 +0000

    Ensure mInfoLog is nulled out after it is deleted.
    Issue=27
    Original-Author: Vladimir Vukicevic
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@407 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d36c6a0a2674ded25b28b92f4b9fc22191d8ab61
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Aug 31 12:15:09 2010 +0000

    Implemented recovering from a lost device by context recreation.
    TRAC #13222
    Singed-off-by: Daniel Koch
    
    Author:    Nicolas Capens <nicolas@transgaming.com>
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@406 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d3bd0ad320fb246d9b42a0161c27eeb56c7e9160
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Aug 30 18:55:36 2010 +0000

    Implemented GL_NV_fence extension.
    I believe I have implemented all features according to the spec.
    The application is to allow the Chrome command buffer scheduler to be smarter about deciding which command buffer to process. For example, if a WebGL app issued a call to ReadPixels, the scheduler will issue a fence and defer executing the ReadPixels until the status goes true. It can continue to work on other command buffers in the meantime.
    I tested by modifying the vertex shader demo. After issuing the SwapBuffers i made issue a fence and loop until the status went true and verified it looped several times. I also tested that by calling FinishFence before going into the loop that is did not loop at all.
    
    Review URL: http://codereview.appspot.com/1965043
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@405 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0a337e93bf945dc76d8d4f77912ea00e25986bb3
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Aug 28 17:38:27 2010 +0000

    Implement support for floating point textures.
    Trac #12909
    
    Implements GL_OES_texture_float, GL_OES_texture_half_float,
    GL_OES_texture_float_linear, and GL_OES_texture_half_float_linear
    when supported by the hardware.
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods <shannon.woods@transgaming.com>
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@404 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 06098890abb48bf02b1fc77c67ed373ce2268151
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Aug 26 19:36:42 2010 +0000

    Allow derivative functions if derivative extension is enabled. I still need to add validation for "#extension GL_OES_standard_derivatives : enable".
    BUG=25
    Review URL: http://codereview.appspot.com/1965045
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@403 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 94a86ad8f1ace86e9dc08088cd2e85d0b9f842f0
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Aug 25 20:02:11 2010 +0000

    Adding support for OES_standard_derivatives extension. This is not the complete implementation. Sending it to get feedback on the API. Is it OK to add extension support into TBuiltInResource? I could create a new struct for extensions but that would lead to API change.
    BUG=25
    Review URL: http://codereview.appspot.com/1953047
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@402 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 575e7910fff8b908a2e84dbaa3ad66274b2e5553
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Aug 25 18:07:12 2010 +0000

    Changed glFlush to not wait until issued event is processed.
    
    I think these reduced synchronization guarantees are still compliant with the spec. I found that this significantly improved the frame rate for some of our demos (40 fps to 50fps for one on my box). I will change the demo so that it does not call glFlush at all but I still think this is a valuable change.
    
    The OpenGL ES2 spec says:
    
    "The command
    
    void Flush( void );
    
    indicates that all commands that have previously been sent to the GL must complete in finite time."
    
    My reading of it is that any GL calls previously issued will be processed at some point in the future but not necessarily prior to glFlush returning. I believe that issuing the D3D event and then calling GetData once with the flush flag should meet these requirements.
    
    I also added some assertions to glFinish because I was paranoid that if issuing an event ever failed, the spin loop might never terminate.
    
    
    Review URL: http://codereview.appspot.com/1941049
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@401 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 58e54298613fdba6967399a66c453385e44c7db2
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Aug 24 21:40:03 2010 +0000

    Cleanup TType and related classes:
    1. Removed unused functions
    2. Removed unnecessary virtuality of functions
    3. Grouped related functions together
    
    TEST=conformance tests
    Review URL: http://codereview.appspot.com/1984047
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@400 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1ac37d803056d43af3f280fc52e924f7e4167aa8
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Aug 24 19:21:31 2010 +0000

    Optimizes Texture::loadImageData
    TRAC #13046
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@399 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1dcea9f8586d5a8c2d622839c6d1bc336ee2b6d1
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Aug 24 19:21:27 2010 +0000

    Implements a special case for temporary surface creation for DXT low mip levels.
    TRAC #12908
    The lowest mip levels for DXT textures will have dimensions < 4, so a D3D
    texture cannot be created to hold them offscreen directly. Instead, we must
    create a larger texture one of whose mip levels would be the desired dimension,
    and store the surface from that texture for later inclusion in the final
    texture.
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@398 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0186813531a7e8f47d584ca7fb54a73ed99d19be
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Aug 24 19:21:17 2010 +0000

    Implements compressed textures.
    TRAC #12714
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@397 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f5cde48355a3bbb9df53de132c7843dece8a5bab
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Aug 24 19:21:11 2010 +0000

    Allocates a texture rather than an offscreen plain surface for new textures.
    TRAC #12908
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@396 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d36c2971e879d37c3569746cdadc0e5712924376
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Aug 24 19:21:07 2010 +0000

    Advertises the GL_OES_rgb8_rgba8 extension.
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@395 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6397754a3c08d4edf108f245904064367b2d9602
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Aug 24 19:21:02 2010 +0000

    Implements support for rgb8 and rgba8 renderbuffer storage formats
    TRAC #12717
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@394 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3ea20e7cbc8af736af8bdf2d8f229f2555c67500
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Aug 24 19:20:58 2010 +0000

    Fixes a bug where framebuffer_multisample was not properly being
    added to the extension string.
    TRAC #12966
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@393 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 97446d2f49b2cd6fa03c1e45ed29f16a5347706a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Aug 24 19:20:54 2010 +0000

    Implements multisample resolve capability
    TRAC #12716
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@392 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d470a1b5d32140021501269f1deb9f144fd6faa7
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Aug 24 19:20:48 2010 +0000

    Implements multisample fragment operations
    TRAC #12711
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@391 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1f135d86ab03ef260de7d653625f916644ddd747
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Aug 24 19:20:36 2010 +0000

    Implements glRenderbufferMultisampleStorage
    TRAC #12714
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@390 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4cbc590fb59d7211ebb59b9bcfcc36f3880009d9
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Aug 24 19:20:26 2010 +0000

    Implements blitFramebuffer
    TRAC #12713
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@389 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ca7c008a891aef5fd0a7f279c4061f553651075f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Aug 24 19:20:20 2010 +0000

    Initializes renderbuffer formats for attachments to the default framebuffer.
    TRAC #12864
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@388 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a27ff1eeaf40f6d509ad8ec978f27f9fd55c4315
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Aug 24 19:20:11 2010 +0000

    Creates separate bind points for read & write framebuffers.
    TRAC #12712
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@387 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b707a3b755be4e22dbffade7fa05f97a102c6d6f
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Aug 23 23:12:51 2010 +0000

    Added runtime checks for GetClientRect errors.
    
    I noticed that if the window handle is invalid, the resulting rect will be uninitialized. This change makes it fail immediately.
    
    Review URL: http://codereview.appspot.com/2009042
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@386 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 32cfaf4b4882185b000eb30c9b420f1cf06aa9c5
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Aug 23 21:01:13 2010 +0000

    TIntermBinary::promote() was incorrectly marking the type of result as const in some cases. The result can only be const if both operands are const. Also cleaned up the function to remove redundant/repeated checks.
    BUG=24
    TEST=OpenGL ES 2.0 Conformance tests
    Review URL: http://codereview.appspot.com/1938047
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@385 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 94e1934d3704f8f791652f7bc28579869d3f2448
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Aug 17 22:19:58 2010 +0000

    Fixed crash on context lost.
    
    This fixes the crash on lost context for vista and windows 7 if suitable drivers are available. It now uses D3D9Ex when available and this only reports lost contexts for hardware failures and suchlike.
    
    Testing procedure was:
    - run simple_vertex_shader without this change.
    - ctrl+alt+del to lock machine.
    - return to desktop.
    - observe that simple_vertex_shader crashes.
    - repeat with this change and check that simple_vertex_shader is still animating.
    - simulate the code path that an XP machine would take using the debugger and check that old behavior is preserved.
    
    I decided to load D3D9.DLL at runtime for a couple of reasons. First, I didn't want to assume that older implementations of D3D9 would have the Direct3DCreate9Ex entry point. Second, it might be advantageous for some applications to not have a load time dependency on D3D9. I didn't address this for D3DX9 because it's a little harder - there's no clear way to determine which D3DX9_x.DLL library to open. At least D3DX9_x.DLL does not seem to import D3D9.DLL and D3DX is separately redistributable so there is still some advantage to be had.
    Review URL: http://codereview.appspot.com/1951044
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@384 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b3999348999ae86bfc8fd2d543eec2c51f6a2c8f
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Aug 12 19:46:23 2010 +0000

    Added comment about return values of ShInitialize() and ShFinalize().
    Review URL: http://codereview.appspot.com/1980041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@383 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6ad6ce8d0b57f10bf44a20c351a904d47e1b023e
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Aug 12 00:16:16 2010 +0000

    Fixed Display::initialize so it does not crash for devices that do not support PS 2.0.
    
    The crash occurs when createDevice attempts to dereference mD3d9, which is NULL.
    
    
    Review URL: http://codereview.appspot.com/1956042
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@382 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c7b6eba93f276186c3a3380f673efc465bae8607
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Aug 9 22:33:53 2010 +0000

    Fixed warnings about deprecated conversion from string constant to char*. Submitted by timeless.
    BUG=18
    Review URL: http://codereview.appspot.com/1936041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@381 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b416e70e9097c13e21ec6fe5f2c055135eb5060c
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Aug 9 22:32:56 2010 +0000

    Some compilers do not support standard STL allocator interface. Also removed _Charalloc function only needed by VC++6.0, which we do not support. Submitted by Eagle.Lu.
    BUG=19
    Review URL: http://codereview.appspot.com/1913048
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@380 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 434fdf21d5a489cd2a4d54dcb56e32d34de407f0
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Aug 9 22:31:36 2010 +0000

    Fix warnings about unused variables. Submitted by timeless.
    BUG=15
    Review URL: http://codereview.appspot.com/1916046
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@379 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit bcfba4c3f307b9388a8100278743eb0cf3eff81a
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Aug 9 22:30:49 2010 +0000

    Fix warnings about comparison/assignement between signed and unsigned types. Submitted by timeless.
    BUG=13
    Review URL: http://codereview.appspot.com/1895051
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@378 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6eed5eb2804a3b2d65790d42a97e2cba69855041
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Aug 9 22:29:59 2010 +0000

    ret = yyparse(...) is dropped in PaParseStrings. Submitted by timeless.
    BUG=16
    Review URL: http://codereview.appspot.com/1868056
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@377 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b2dfd8ea304f696554b3b698f1086cf209c3edca
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Aug 9 22:28:19 2010 +0000

    Fix warnings about initialization order in the class initialization list. Submitted by timeless.
    BUG=14
    Review URL: http://codereview.appspot.com/1850054
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@376 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0a57618aa90ff39ce256a3af665e05dfc94de284
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Aug 9 17:16:27 2010 +0000

    Reject shaders that invoke functions hidden by variable or struct name.
    BUG=22
    Review URL: http://codereview.appspot.com/1855057
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@375 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 003e7b135a51892ac073ef2aa953b706121f6e23
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Aug 9 17:14:46 2010 +0000

    We were trying to change a const_iterator which was rightly caught by SunStudio compiler. Submitted by Eagle.Lu.
    BUG=19
    Review URL: http://codereview.appspot.com/1879049
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@374 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5223af6b2743fe7645733b9869f2e612a74fc8b4
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Aug 9 17:14:09 2010 +0000

    Replaced __inline with inline to make it compile with SunStudio compiler. Submitted by Eagle.Lu.
    BUG=19
    Review URL: http://codereview.appspot.com/1910047
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@373 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f8de41fb6b253d80865acae3f53bef68ecfda6a4
Author: vangelis@google.com <vangelis@google.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Aug 9 16:51:37 2010 +0000

    Adding separate license file for the preprocessor code and removing the ANGLE boilerplate license from those files.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@372 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5783308ef94e24e40b8e6a02b384b189e4ae200b
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sun Aug 8 04:50:02 2010 +0000

    Add Al and Vlad to contributors file
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@371 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a9198d9c6f62314af67729f2127666534680a4bb
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sun Aug 8 04:49:56 2010 +0000

    Implement EXT_texture_format_BGRA8888 and EXT_read_format_bgra
    Trac #13050, Issue=21
    Original Author: Vladimir Vukicevic
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@370 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit bc3699da7c2494c1ccf025287cbc48a6af97662e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Aug 5 14:48:49 2010 +0000

    Implements fixes for problems discovered running San Angeles demo on Chrome
    TRAC #13077
     - clamp scissor to rendertarget size
     - ensure textures are renderable when required
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@369 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 31273558e8c745498120cf8b0c62f6fcf521ea68
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Aug 4 13:42:44 2010 +0000

    Fixes erroneous copy in subImage calls after failure is already detected.
    TRAC #13074
    Also adds initializations for missed Texture members.
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@368 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 257e8d0f82000171ea831bdaeae84691275278a0
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jul 28 23:07:39 2010 +0000

    Added missing sources to build_angle.gyp.
    
    Review URL: http://codereview.appspot.com/1907043
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@367 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 37fa3c8eee93eabbd29b09a43181b9e6b206755b
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jul 28 19:21:21 2010 +0000

    Removes Windows-style line endings from Display.cpp
    TRAC #12714
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@366 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit da6e263cede2f850a62f6b4e250fc5b13518da24
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jul 28 19:21:18 2010 +0000

    Support window resizing
    
    TRAC #12660
    
    Automatically resize the D3D swap chain when the eglSwapBuffers is called and the presentation window has changed size.
    Also change D3D device init to be performed once when the Display is created using a hidden 1x1 window.
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@365 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9ecb9f9d504e71672a610183c34ae33ab276aef4
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jul 28 19:21:12 2010 +0000

    Sharing for buffer, texture and renderbuffer objects.
    
    TRAC #12496
    
    Derive Renderbuffer, Texture and Buffer from RefCountObject.
    This class keeps a reference count for all objects that need cross-context
    reference counting, and also the object id.
    Restructure Renderbuffers to create a wrapper object and a storage object.
    Use BindingPointer for all binding points instead of binding by object id.
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@364 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0d25b005e33f4a87067bbdec58fe66fe2981df6c
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jul 28 19:21:07 2010 +0000

    Create shared contexts.
    
    TRAC #12498
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@363 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit bbc57796e8e2c44591442279e9b95de2a25f39a7
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jul 28 19:21:05 2010 +0000

    Checks completeness of framebuffer before read operations.
    TRAC #12565
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@362 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0190f8456303c453de71a0a93f3dd11a01e6d54e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jul 28 19:21:02 2010 +0000

    Fixes FBO completeness check
    
    TRAC #12571
    Automatically passes default framebuffer, and fails
    framebuffers which have no color attachments.
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@361 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit da13f3e902a857ce2b9a6420347335de05696b08
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jul 28 19:20:56 2010 +0000

    Adds resource manager class.
    TRAC #12493
    The resource manager class is now in charge of allocation &
    management of objects which may be shared by multiple contexts.
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@360 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9930531afdce769db6dec54df3759fffa0e4e663
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jul 28 19:20:54 2010 +0000

    Remove wrong and unnecessary check attribute check.
    
    TRAC #12580
    
    Wrong because it should be checking active attributes, not inactive attributes.
    Unnecessary because when a buffer is deleted, all the vertex attrib client state bindings are cleared.
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@359 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit cdacc8e27117f22035bb56150899e1e52bb542d6
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jul 28 19:20:50 2010 +0000

    Implement GL_OES_packed_depth_stencil
    TRAC #12336
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@358 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 162267d63a794a8ddee2765f2aade4bc877416a6
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jul 28 19:20:48 2010 +0000

    fix spacing issue due to manual merge
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@357 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4f921eb4e67dcd37e5c03ccb6fb579de02e69b9b
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jul 28 19:20:44 2010 +0000

    Renamed dx_Window to dx_Viewport
    TRAC #11594
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@356 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit be5a0867c492300e43a5ed018f1536dd583695aa
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jul 28 19:20:37 2010 +0000

    Implement gl_PointCoord on SM3 hardware
    TRAC #11594
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@355 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b75e523ab190d89596632787c605221905b47ae9
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jul 28 19:13:47 2010 +0000

    Use TestCooperativeLevel instead of ValidateDevice to check for device loss.
    
    TRAC #12547
    
    ValidateDevice checks for correct rendering state as well, which we don't need.
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@354 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 34b99cdf6c75dce4a9809a63af160918de84b282
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jul 27 18:37:55 2010 +0000

    De-allocate memory in ShFinalize(). There still seems to be a bug here if the translator is used in a multi-threaded environment. It seems memory local to only one thread is being deallocated - the thread from which ShFinalize() is called. I will look into it closely in the next CL.
    Review URL: http://codereview.appspot.com/1878044
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@353 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5eb4609cd0fcc835f8b687f3b67efd0554f43695
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Jul 26 18:15:21 2010 +0000

    Encapsulate expressions with ternary operators with brackets. This preserves the order of precedence when ternary expressions are used in a compound expression.
    BUG=20
    Review URL: http://codereview.appspot.com/1894041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@352 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e4249f0217bed043d645b6e01ae7d26f7c3e0093
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Jul 26 18:13:52 2010 +0000

    Refactored the way symbol tables are initialized and stored. This was done in response to the addition of EShSpec.
    Symbol table entries depend on three things - language, spec (not now but may eventually), and built-in resources.
    We used to build two global symbol-tables - one for each language. During each compile, one of the symbol table was
    copied and resource-specific stuff was added. I have moved the symbol table to TCompiler that gets initilized when
    compiler is created and reused for each compile. This makes it much cleaner and extensible in case a spec requires
    special entries to be added to the symbol table.
    
    PS: Sorry for the long CL, but all of it needed to be done in one CL. I have verified that everything still compiles
    and passes all conformance tests.
    Review URL: http://codereview.appspot.com/1864044
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@351 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6db8cab4b8386cf3fb65da7ae11568e51e4b1327
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Jul 22 20:39:50 2010 +0000

    ReadPixels recovers from device lost error.
    
    I found that when I switch desktops, GetRenderTargetData will return D3DERR_DEVICELOST. It is unclear to me whether ReadPixels should report a GL error in this case and if so, which one. I went with GL_OUT_OF_MEMORY. Let me know if that's wrong.
    
    This change is not sufficient to make eglGetError report EGL_CONTEXT_LOST. For a program doing exclusively offscreen rendering, ReadPixels might be the only place where D3DERR_DEVICELOST can be detected. The GLES code can't call egl::setCurrentError though. I'm not sure how to fix that.
    
    
    
    
    Review URL: http://codereview.appspot.com/1692053
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@350 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c54bf507cdd389d91fb3379e463b1e41b248fe62
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Jul 22 16:49:09 2010 +0000

    Further cleanup of ShaderLang.h. Removed redundant/unused macros and enum fields.
    Review URL: http://codereview.appspot.com/1842046
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@349 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 774d70630a690b2449afdccfb29612393c65f212
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jul 21 18:55:45 2010 +0000

    Cleaned up translator API. Deleted unsupported dead code.
    BUG=9
    Review URL: http://codereview.appspot.com/1665050
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@348 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a300988e459a502197e000a3a494d886ef44df54
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jul 21 18:54:37 2010 +0000

    Check for reserved prefixes (gl_, webgl_, and _webgl_) in struct and field names. GLES2 and WebGL both require this for all identifiers - variable, function, struct, and field names. ANGLE was only validating variable and function names.
    BUG=11
    Review URL: http://codereview.appspot.com/1856046
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@347 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 613ef31a9f7c6f99b064df68894e0a9ba4857025
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jul 21 18:54:22 2010 +0000

    Added checks for webgl_ and _webgl_ reserved identifiers. This currently only checks variable and function names. Struct names and field names will be added in the another CL.
    BUG=11
    Review URL: http://codereview.appspot.com/1674050
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@346 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit bad6c2a42b3bfd3fd33c6572370379ff970b6fff
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jul 20 20:19:51 2010 +0000

    Added <stdio.h> include for sprintf. It broke Chrome downstream when I bumped the rev.
    
    
    Review URL: http://codereview.appspot.com/1879042
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@345 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 29cd91af30e76623b2c12a90b43378a9b97bb6d1
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jul 16 19:30:45 2010 +0000

    Added an option for specifying language specification in preparation for supporting WebGL in addition to GLES2. This CL just replaces unused debugOptions variable with EShSpec variable.
    BUG=11
    Review URL: http://codereview.appspot.com/1692051
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@344 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 01b666f225e0f0b42c553a0581ba30f9dc46682d
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jul 16 19:27:45 2010 +0000

    Fixed compilation error on mingw. Used _MSC_VER for MSVC-specific code instead of WIN32. Recieved patch from cjacek.
    BUG=12
    Review URL: http://codereview.appspot.com/1694049
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@343 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9abe956ea6c3651bc8e1fe8a8aaab140f4a95528
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Jun 24 13:02:21 2010 +0000

    Removed the precision check creating spurious error messages
    TRAC #12641
    The precision of compiler temporaries doesn't require checking,
    and would be hard to determine at parse time. We only require
    correct precisions for declarations, which is checked separately.
    So we can safely remove the check for binary operations.
    
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@342 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c6f5340070f0f8621621b31b3bc07fc3e2d4bd91
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Jun 24 13:02:19 2010 +0000

    Clear must ignore buffers that are not present.
    
    TRAC #12643
    
    IDirect3DDevice9::Clear will fail if asked to clear a buffer that is not present, so we have to be careful what we pass to it.
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@341 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4c03fa69a386e80f857521b51834b5eb28fbe1f3
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Jun 24 13:02:16 2010 +0000

    Fix NPOT completeness rule.
    
    TRAC #12561
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@340 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 353569a9ca0b3cf9905c229494cc175bd7d6fae5
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Jun 24 13:02:12 2010 +0000

    Eliminates redundant calls to GetDeviceCaps
    TRAC #12283
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@339 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8187fa8f131c7ce6fbc6b32e3e424904b599019e
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jun 15 22:09:28 2010 +0000

    Added some includes.
    
    My Unbuntu 10.04 gcc configuration seems to need <stdio.h> to use some of the string printf functions like vsnprintf.
    The translator is building for me now.
    
    Review URL: http://codereview.appspot.com/1717041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@337 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit cba04990eccd1bb7b71733ac3c5a5de0bacbfd5d
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Jun 14 20:36:41 2010 +0000

    Added parentheses around a few operators so that if they are used in a compound statement, order of operations is preserved.
    BUG=5
    TEST=OpenGL ES 2.0 conformance tests.
    Review URL: http://codereview.appspot.com/1691041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@336 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 334aa1f35915641c13a778c8313ffa90e13b445d
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Jun 11 23:38:29 2010 +0000

    Handled case where selection nodes that use ternary operators are part of a sequence. Usually they are part of an assignment.
    BUG=4
    TEST=OpenGL ES 2.0 conformance tests, specifically operators test.
    Review URL: http://codereview.appspot.com/1643043
    
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@335 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7d3849bd7c7bf59056b206cbfa2e10ddb06aaa48
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jun 8 16:07:55 2010 +0000

    Fix build when a project patch contains spaces
    
    Trac #11553
    
    With improvements so it works in release mode and on Win7 as well.
    
    Original-Author: Jim Hauxwell
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@334 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 306cc952a06cc52e1a85d9479b7a82cac6368a62
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jun 8 16:07:47 2010 +0000

    Workaround for drivers that apparently don't disable instancing when we ask.
    
    TRAC #12479
    
    This affects text rendering in Nexuiz.
    The text will be drawn as if the colour attribute is static rather than array,
    and all text will be drawn using the shadow colour.
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@333 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1c233ff4440bad1216edb06997d0b32736fed6d4
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Jun 8 14:13:00 2010 +0000

    Increase the number of supported attribs (12) and texture units (16)
    TRAC #12313
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@332 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b0a1dcccf6ca68e2bca60abfff60314a45fef6e6
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Jun 7 02:06:26 2010 +0000

    Fix regression due to float printing changes
    Trac #12501
    
    This was caused by the change from printf to iostream printing.
    Sets the float formatting to "default" which is neither fixed or scientific and request 8 digits of precision.
    This appears to be mostly equivalent to the previous "%.8g".
    If the non-fractional case, we set it to fixed and use 1 unit of precision after the decimal.
    
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Shannon Woods
    Signed-off-by: Ken Russell
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@331 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit fce644e28e2773cd804e0dbedb7b2c74af315af6
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Jun 7 02:06:20 2010 +0000

    Don't rely on (potentially) unsupported vertex attribute types.
    
    TRAC #11391
    Checks for optional vertex declaration formats and falls back to FLOAT1-4 if more direct formats are not supporte
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@330 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a3bbfd43feec81a921a14dff68e17bf25f3cfd25
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Jun 7 02:06:09 2010 +0000

    Fixes double-decoration when getUniformLocation is called from defineUniform.
    TRAC #12437
    
    This fixes the WebGL Teapot Per Pixel sample rendering
    
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@329 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8f05d1aa870d3c451a0756375974d7e198caad73
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Jun 7 02:06:03 2010 +0000

    Save D3D state before altering it for masked clears
    TRAC #12380
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@328 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9c212cae5fb3bdbec1dbce9e4f7792f1f62a6b4c
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jun 2 22:53:00 2010 +0000

    Fixed warnings in release build. Trace was not defined properly.
    Review URL: http://codereview.appspot.com/1484041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@327 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 84a96288642f03b2b2338696710cba37c7f4a7b2
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jun 2 22:26:52 2010 +0000

    Moved windows-only targets into OS==win conditional.
    Review URL: http://codereview.appspot.com/1473043
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@325 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit dd7948b3ae3fea788c9876b47900b2a4b9e66f11
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jun 2 16:12:34 2010 +0000

    According to spec, the stencil ref is clamped to the range [0,2^s-1]
    
    The clamp to zero occurs on set since negative values will never be useful.
    The clamp to 2^s - 1 occurs on use since it is dependant on the currently bound stencil buffer
    
    Original-Author: Jim Hauxwell <james@dattrax.co.uk>
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@324 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 91b7232040421124718471d0c8ee2c629dafe42d
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jun 2 15:50:56 2010 +0000

    Removed the dependency of compiler on common. This is done to make compiler self-sufficient so that it is easier to consume by external developers. I tried to replace all instances of assert by simply redefining assert(x) to ASSERT(x), but was getting a lot of compile errors. I still need to investigate that.
    Review URL: http://codereview.appspot.com/1461041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@323 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4e4facd4a1120f77e35b53cd4ba7d5a8adefddcf
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Jun 2 15:21:22 2010 +0000

    Refactored InfoSink. I have replaced most instances of sprintf with std::ostringstream to make it safer. I have made sure that everything still compiles and passes conformance tests.
    Review URL: http://codereview.appspot.com/1391041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@322 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e37888d1534ce97db0afccf53d79b128b914a763
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 27 16:45:46 2010 +0000

    Add support for various egl Get methods
    Trac #12375
    This patch stores the current READ/DRAW and display in the context and
    allows these eglGets to work.
    
    Original-Author: Jim Hauxwell <james@dattrax.co.uk>
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@321 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5ac5dd25ae463e77b84967a07a8ace7fc2e4658a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 27 15:02:27 2010 +0000

    Correct the eglMakeCurrent return value on lost context (syntax)
    TRAC #11233
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@320 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 561637aed1efa4da2d518424c6751c417550b0ba
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 27 15:02:21 2010 +0000

    Avoid using instancing on hardware where it does not work well enough.
    
    TRAC #12392
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@319 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 13b2dd874a59a07741d7c0788d4c9d3c08d2043d
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 26 18:35:23 2010 +0000

    Used "not" instead of "!" for vectors.
    Review URL: http://codereview.appspot.com/1324041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@318 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d88b7736fc95833d92f45d4741f8bcf6850fefa8
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 26 15:13:14 2010 +0000

    Do not write extraneous semi-colons - some glsl compilers are do not like that even though it is so easy to ignore.
    Review URL: http://codereview.appspot.com/1301041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@317 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 90033b9eb50df23ff1769d3da36606a9d7537a75
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon May 24 15:02:43 2010 +0000

    ShInitialize/ShFinalize is designed to be called once per process, or it would crash at random locations. I changed ShFinalize() to properly cleanup and reset global variables so that they can be called multiple times. I think that the compiler setup is much more complicated than it needs to be. It unnecessarily uses global variables. A custom pool allocator is overkill too.
    Review URL: http://codereview.appspot.com/1238045
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@316 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 866f318d05e836e8d7e957059ab1a608e08aa856
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 20 19:28:22 2010 +0000

    TextureColorbufferProxy must query the texture to get the latest width & height.
    
    TRAC #12372
    
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@315 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 81655a720e752e0f0107993b6b575c5411f3a01e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 20 19:18:17 2010 +0000

    Use instancing for non-array vertex attributes.
    
    TRAC #12303
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@314 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8c9ff193e301c0a03c86901ec49400379322245d
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 20 19:18:11 2010 +0000

    Add Jim Hauxwell as a contributor
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@313 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b28a23bd8b270fb63a06b0820ef00b9d6db864ef
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 20 19:18:06 2010 +0000

    Fixes query for active texture
    TRAC #12374
    
    Original-Author: Jim Hauxwell <james@dattrax.co.uk>
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@312 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c6c6f0272dd81ae040d87e604894c6e81c7c6e1d
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 20 19:18:00 2010 +0000

    Report an EGL_CONTEXT_LOST error on D3DERR_DEVICELOST
    Trac #11233
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@311 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a2a95e7c9bf6150361a92ba59c3f7cee29daf967
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 20 19:17:55 2010 +0000

    Implement scoped structure declarations
    TRAC# 12110
    Signed-off-by: Shannon Woods
    Singed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@310 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8026c67712ba78b55372695c5e99b33469f93dbb
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 20 19:17:48 2010 +0000

    Fixed struct name lexing
    TRAC #12110
    Unlike built-in types, structs can be redefined (in a different scope).
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@309 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 838bceaee2fa69be3ba1cf05a4e4df37cd063a7e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 20 19:17:42 2010 +0000

    Detect draws that would read outside the vertex buffer.
    
    TRAC #12340
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@308 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8b9f4cc8d09102532e49c907a70176465a0dc0e6
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 20 19:17:35 2010 +0000

    Fix FORCE_REF_RAST definition
    TRAC #12343
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@307 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 741a588e708cf16f588ac79311a4c3ddfaed6d7b
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 20 19:17:29 2010 +0000

    Add defines to enable the reference rasterizer
    TRAC #12343
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@306 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 89b054348c8636cfab70fd8ef09b6c4432ade4d4
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 19 20:13:10 2010 +0000

    Fixed compile error with gcc 4.4.
    TBR=gman@chromium.org
    Review URL: http://codereview.appspot.com/1199047
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@305 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1bcc3fd59936bfa85a7393579f9419f39704ff58
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 19 17:08:44 2010 +0000

    Patching changes from thestig@chromium.org for fixing ANGLE build with gcc 4.4 on Karmic. The original CL is here: http://codereview.appspot.com/1255042/show
    The only changes I have maded is moved the inclusion of stdint.h from PoolAlloc.h to PoolAlloc.cpp with #ifndef _MSC_VER guard.
    Review URL: http://codereview.appspot.com/1220044
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@304 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5d4c28f9d598ed0198e88abbb2a9d23e38c196cc
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 19 07:14:19 2010 +0000

    Removes check for framebuffer == 0 in glRenderbufferStorage
    TRAC #12346
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@303 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 178adff757c7b3627b60ee3d71db745d83920abd
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue May 18 18:52:04 2010 +0000

    Give sorted configs a unique ID without changing the original set
    TRAC #12323
    This fixes building on Visual C++ 2010, which has const iterators for STL sets as specified by C++0x.
    Signed-off-by: Shannon Woods
    Singed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@302 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit cd0a9a888bcae98d577308e6eb2602f0f424e2ea
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue May 18 18:51:59 2010 +0000

    Define GL_FRAGMENT_PRECISION_HIGH
    TRAC #12266
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@301 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e0d7d43460e1ac2b42910f3d8e969be1f1386f8e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue May 18 18:51:52 2010 +0000

    Fix DepthRange location
    TRAC #12279
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@300 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit defa1c39acecbb1402ee23e1cda70d8b028956ff
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue May 18 18:51:45 2010 +0000

    Use plain data arrays for Buffer storage
    TRAC #12299
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@299 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 91fd1de6bbc2543db9808e4614317b1b88373c30
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue May 18 18:51:40 2010 +0000

    Caches the location of generic uniforms
    TRAC #12215
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@298 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 15a4d2ef5a906451a9a93acdbfd2534fc779601e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue May 18 18:51:34 2010 +0000

    Explicitly set optimizations to /O2 in Release build
    TRAC #12287
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@297 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5a722c7fad3b25062fa20241da9d1969ef795969
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue May 18 18:51:26 2010 +0000

    Disable checked STL iterators in Release build
    TRAC #12287
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@296 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e7273f4ed0df4069601b48268fb1d0490f67a903
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue May 18 18:51:17 2010 +0000

    Inline any suitable function in Release build
    TRAC #12287
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@295 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a36f98efb5e70eec8763c0f11046b899929a04a4
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue May 18 18:51:09 2010 +0000

    Correct GLboolean handling for glColorMask and glSampleCoverage
    TRAC #11597
    Signed-off-by: Shannon Woods
    Signed-off-bY: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@294 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a5d7623d5974736daee11c08dc2d705194f3a89f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon May 17 09:58:47 2010 +0000

    Enforce fragment precision qualifier requirement
    TRAC #12156
    The fragment shader has no default precision qualifier for floating-point types,
    so compilation should fail when it's not set explicitly globally or per declaration.
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@293 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0578f81c9adb4697a783ee620fae4ebabf42f1dd
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon May 17 09:58:39 2010 +0000

    Untabify compiler code
    TRAC #12156
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@292 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0a311a467c9c803f4f9f10632eb290f8bcbfac16
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon May 17 09:58:33 2010 +0000

    ensure mBaseTexture is initialized
    
    Trac #12298
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@291 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d08ea900b6adb900a80b1e8e0603d30d00b7d808
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri May 14 19:41:36 2010 +0000

    Reduces STL size calls.
    TRAC #12281
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@290 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4e89d233e5f83ad7de85f010d8e6e39706ef1830
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri May 14 19:37:21 2010 +0000

    Cleaned up Common.h. Removed unnecessary includes and typedefs. Removed tabs from PoolAlloc.h and replaced UINT_PTR with uintptr_t.
    Review URL: http://codereview.appspot.com/1221041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@289 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit cff1aff5ddf7d897fac24b6ef0e0f64a7358ec13
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri May 14 19:24:22 2010 +0000

    Fixed compile error on a few linux buildbots. Included string.h for memset.
    Review URL: http://codereview.appspot.com/1218041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@288 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2b7ebdb9423575a6b6acf817888c25b4035f4384
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri May 14 17:31:24 2010 +0000

    Switches stl copy in bufferSubData for a memcpy
    TRAC #12215
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@287 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 202ff653bc842a63aea1f58f62b47b23ba2101ee
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri May 14 17:31:19 2010 +0000

    Caches parameters for SetStreamSource calls
    TRAC #12239
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@286 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2d84df0ca81b7a30fbdb7228ef37cdefaf88c753
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri May 14 17:31:13 2010 +0000

    Cache D3D constant handles with their associated uniforms.
    TRAC #12237
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@285 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d8e937244598228277d37dce907331535b1a09b4
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri May 14 17:31:09 2010 +0000

    Implicitly define GL_ES
    TRAC #12257
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@284 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c808c5a9ea52391e1c927767dd9b3438191af57c
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri May 14 17:31:01 2010 +0000

    When NONPOW2CONDITIONAL is set, limit NPOTs to a single level.
    
    TRAC #12250
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@283 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4af7acca9d3952b7e6ae3d4d788325bffbd710c0
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri May 14 17:30:53 2010 +0000

    Implemented varying packing
    TRAC #11736
    The OpenGL ES Shading Language 1.00 rev. 17 appendix A section 7 page 111, details how varyings should be packed into generic varying registers. To implement this the HLSL main() function is now generated and appended to the code during link time, where the packing and mapping can happen.
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@282 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d7c9810183ab27a3c39f28f38428475f1c0c018d
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri May 14 17:30:48 2010 +0000

    Only output DepthRange, xor() and mod() when used
    TRAC #11736
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@281 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c6977ce557af325e57449f1d07acce7baad0f8cc
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri May 14 17:30:42 2010 +0000

    Fixed initialization and comparison of variable Types
    TRAC #12262
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@280 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 13eeeededac527e5f8ed87c4bdd46128cbe68a01
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri May 14 17:30:38 2010 +0000

    Fixed reporting unlinked varyings
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@279 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9bc5d2351894584c3537d14eb8e69678d1910692
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri May 14 17:30:33 2010 +0000

    Add predefined macro GL_ES
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@278 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit edff8dc8bb092dfa7465f4ac5afbae811f758077
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri May 14 17:30:27 2010 +0000

    Report an error on the use of the line continuation character
    TRAC #12260
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@277 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3debd2b43bd496365dbce44480dbbf05f30b4401
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 13 02:07:34 2010 +0000

    Make faceforward match the conformance test.
    
    TRAC #12252
    
    The conformance test checks the dot product for >= 0.
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@276 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6a94b97d70c6dfc2914b5dc869f1ead811ae29bb
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 13 02:02:34 2010 +0000

    eglChooseConfig must return filtered size when configs is NULL.
    
    TRAC #12234
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@275 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7e0ed77c7f6457b76e623cf6c8f19742fe67783a
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 12 21:16:46 2010 +0000

    Added a space between ']]'. Flex 2.5.33, which is used on MAC does not like this.
    Review URL: http://codereview.appspot.com/1119044
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@274 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 91a01a16942675ffabe33d3fc874150b61a5059b
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 12 18:39:04 2010 +0000

    Fixed compile error on MAC. Fixed TMap to use std::pair<const K, V> as pool_allocator parameter. Replaced all instances of std::map with TMap. I wonder if this pool_allocator is worth all this complexity.
    Review URL: http://codereview.appspot.com/1182042
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@273 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b1e8c6fbabe5d23cbae9bf911e72615308d8175a
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 12 18:35:53 2010 +0000

    Getting ready to fix compile-errors on mac. This CL only contains cosmetic changes. Removed SGI_STL blocks. Removed tabs and fixed formatting.
    Review URL: http://codereview.appspot.com/1138043
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@272 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4071e6610cb036d85d0780df6e4c67f95d754fd5
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 12 16:51:16 2010 +0000

    Consider out-of-range texture units to be incomplete.
    
    TRAC #12224
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@271 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a71cdd7c48ea59bad94ee104a595622fa324bbe3
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 12 16:51:14 2010 +0000

    Save render state across glFinish.
    
    TRAC #12164
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@270 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2c42c6c34a6169a83799b21df697f3c5f7377ee2
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 12 16:51:11 2010 +0000

    eglInitialize must not update major and minor if they are NULL.
    
    TRAC #12235
    
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@269 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0df1687198b6abafd3477a926f7f91b272bc3bb9
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 12 16:51:08 2010 +0000

    Add HLSL error messages to the info log when compileToBinary fails
    Trac #12245
    Otherwise.. it could be empty.
    
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@268 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5a0b0a8b9066d06f46c5a9b5b621d13677624e6c
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 12 03:45:07 2010 +0000

    Minimizes texture state changes
    TRAC #12203
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@267 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 41d8dd85ad4931d2f693333235efb93c99912543
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 12 03:45:03 2010 +0000

    Add better error checking on buffer updates
    
    TRAC #12186
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@266 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c828b1495ab9f771005388bd7cbc5108c4275226
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 12 03:42:04 2010 +0000

    Improve TranslatedVertexBuffer::map performance
    
    TRAC #11392
    
    - For small draws, load stride 0 streams into regular streaming buffer
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@265 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9a0606cf9aa00296b82b25d145c7b128cc6d62e1
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 12 03:42:00 2010 +0000

    Improve TranslatedVertexBuffer::map performance
    
    TRAC #11392
    
    - Don't use the identity translation buffer, but always copy into a streaming buffer.
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@264 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 442b7debdb2502d0873191ba36796b068178c553
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 12 03:41:01 2010 +0000

    Re-enable debug tracing by default
    TRAC #12158
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@263 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 73248ecc912cb4c8957abef6ede3d63555328ff7
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 12 03:40:40 2010 +0000

    Mark configs with a format different from the display mode as conformant
    TRAC #12197
    EGL_NON_CONFORMANT_CONFIG is not a flag, and these configs do pass conformance on all tested devices.
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@262 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 339ae70162e96fe38b5c55a05645b634b0934c83
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 12 03:40:20 2010 +0000

    Minimizes changes of the depth stencil buffer
    TRAC #12154
    This patch reduces calls to SetDepthStencilSurface
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@261 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a79f9d18cba5a9c4b564d3d2f777b585f61f19b0
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 12 03:40:01 2010 +0000

    Minimizes render state changes
    TRAC #12154
    This patch reduces redundant calls to SetRenderState
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@260 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 092bd4814d98a283ff3e6eab6896908d7c947ddc
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 12 03:39:36 2010 +0000

    Minimizes render target changes
    TRAC #12154
    This patch reduces calls to SetRenderTarget.
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@259 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9c502882d55eb1b0310b30214d026e31dd7da7f7
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue May 11 13:40:29 2010 +0000

    Fixed crash on 64-bit posix platform. stdint.h was not being included and wrong size of uintptr_t was being used.
    Review URL: http://codereview.appspot.com/1153044
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@258 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1ddd1dd483f412284504c5f49cefabf8f69ef4b2
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue May 11 02:29:34 2010 +0000

    Restore state after Blit operations
    
    TRAC #12202
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@257 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit db1afef67a8eee06523895471bb86a6945ac7a32
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue May 11 02:29:31 2010 +0000

    Improve performance in Surface::swap
    
    TRAC #12145
    
    - Create the flip RT texture once.
    - Use state blocks for swap and restore all previous state.
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@256 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4fa08339e2f67491a1ed8af0862776c0e07b4a50
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue May 11 02:29:27 2010 +0000

    Prevent redundant uniform updates
    TRAC #12154
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@255 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ff42c63940ece979fef59c7fc4aa2b49ebe85161
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon May 10 15:14:30 2010 +0000

    Changes to compile translator_glsl on linux.
    Review URL: http://codereview.appspot.com/1153043
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@254 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 92680f9cb65d7ee4426197fcb9412dfc222917cf
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon May 10 15:14:11 2010 +0000

    The script for flex and bison was not being generated properly on linux. Extra quotes were being generated in the command-line around output-file path. This change gets around the problem by expanding string variables instead of list. This has another nice side effect that output file path need not be repeated twice.
    Review URL: http://codereview.appspot.com/1163041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@253 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 616ffcf47c463fd789649a3d607882282b585792
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri May 7 19:01:49 2010 +0000

    Optimized getPresentInterval
    TRAC #12180
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@252 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d091b198513bf333d1d95d9fbd9834b1864fe5b8
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri May 7 19:01:47 2010 +0000

    Mark configs with a format different from the display mode as non-conformant
    TRAC #12197
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@251 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d1f6fdeb99c61fe7c15e1ec56d3a8a17cda69bbd
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri May 7 19:01:43 2010 +0000

    Don't enumerate configs for depth/stencil formats not supported by any hardware
    TRAC #12197
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@250 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7664e55aab5d9b234eed60ee6bbd08b29071ada8
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri May 7 14:33:36 2010 +0000

    Making glsl-translator cross-platform. Removed unnecessary inclusion of windows.h.
    Review URL: http://codereview.appspot.com/1136042
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@249 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0f18961bee6d6c7ea9667e3f376f38530d5c4309
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri May 7 13:03:36 2010 +0000

    Prevent atan2 from generating a NaN
    TRAC #12184
    This is necessary because a NaN generated in flattened conditional code fails to get discarded on certain devices.
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@248 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit adf02846363ad7b47c83bf578928003e1c06cb12
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri May 7 13:03:33 2010 +0000

    Clarify config enumeration
    TRAC #12170
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@247 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5bd0ce30a4af72a999776f14a0c1b915c860c136
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri May 7 13:03:31 2010 +0000

    Disable the stencil test when no stencil buffer
    TRAC #12181
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@246 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a54da4e5a1e9f987e9ce2f09c03fe0a4c7f3b552
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri May 7 13:03:28 2010 +0000

    Implemented inline structure construction
    TRAC #12109
    Based on Alok Priyadarshi's approach for structure construction in OutputGLSL.cpp
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@245 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 92984ef0ad7b4e0ad5a2303967d3142c7f62cf41
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 6 22:49:37 2010 +0000

    Replaces fmod with modf.
    Review URL: http://codereview.appspot.com/1125043
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@244 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b892fc6604e5382e7c3658bb35b4ceee8a74c60e
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 6 19:10:34 2010 +0000

    Make sure that floats are written with at least one decimal point.
    Review URL: http://codereview.appspot.com/1144041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@243 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 194522f621105a9c1af7654ab6840badddaad24e
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu May 6 19:09:26 2010 +0000

    Fixed all issues with variable and function argument declaration. Multiple declarations of arrays in the same line had bugs. Also sepearated out declaration of varaibles and function arguments which makes it easier to understand.
    Review URL: http://codereview.appspot.com/1142041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@242 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit baeb8c5b37df94bea6e34fc44453cb2e7c1a6d4e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 5 18:50:39 2010 +0000

    Skip drawing to a zero-area render target
    TRAC #12172
    This also generates a GL_INVALID_FRAMEBUFFER_OPERATION error when glClear attempt to operate on an invalid or incomplete framebuffer.
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@241 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3e4c6004be276d5ec4a768d11f6b2f34b90450fc
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 5 18:50:13 2010 +0000

    Implement GL_OES_element_index_uint
    
    TRAC #11951
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@240 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 97bffae52355aec627b21c64d64cb1f81f42f5b6
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 5 18:49:44 2010 +0000

    currentValueOffset can remain uninitialized
    
    TRAC #12171
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@239 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f2f8d3c970ea20b04fa5c4e28c07b0b56d06c427
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 5 18:49:29 2010 +0000

    Don't use a depth buffer on swap
    TRAC #12160
    This prevents the draw call from failing when the depth buffer isn't as large as the render target.
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@238 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 00035fe16d653c8bdadd3c306d94823364178fde
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 5 18:49:03 2010 +0000

    fix trace for glTexParameteri
    Trac# 12155
    Signed-off-by: Shannon Woods
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@237 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b9ab9a29228d7c36343b180072f84a36669909b7
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 5 18:48:40 2010 +0000

    Output final .lib and .dll files to the top-level lib/ folder
    Trac #11499
    
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@236 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b6bd727d23c16a4b1c96634d65b3c1548ecb5bae
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 5 18:48:22 2010 +0000

    Implemented eglSwapInterval
    TRAC #12137
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@235 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit fc23fe28b4646060980d36b49e5215f98639b65f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 5 18:48:17 2010 +0000

    Fixed retrieving a render target interface and not releasing it
    TRAC #12149
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@234 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c9def0b65df8bf12fd311351ea7007ee0307199e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 5 18:48:06 2010 +0000

    Reset mSceneStarted on Reset
    TRAC #12139
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@233 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8ede24f7b871595ca18aa8a935de20deb31dac2a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 5 18:47:58 2010 +0000

    Skip clear when writes masked
    TRAC #12157
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@232 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ae072afe19ea491e1008318c9a659e5c07a27a11
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 5 18:47:28 2010 +0000

    Minimize BeginScene / EndScene calls
    TRAC #12139
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@231 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c28e76bee9380e2b76a71e293970a7aa3628cb18
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 5 18:47:16 2010 +0000

    Fix config depth bits and centralize device type control
    TRAC #12120
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@230 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b3f7fb68c650f8109a3dd8cb26452a141a7afde0
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 5 18:21:51 2010 +0000

    Recursively write ConstantUnion to correctly construct structs.
    Review URL: http://codereview.appspot.com/1108041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@229 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 256b751db214250b44d34a6a25f4ccbbab3bfeda
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 5 16:51:49 2010 +0000

    Fixed broken build. Somehow glslang.y got left out while renaming constUnion to ConstantUnion.
    TBR=dgkoch@transgaming.com
    Review URL: http://codereview.appspot.com/1116041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@228 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6ff56fd489bde0e36f9c3938618208b0e9c9de7d
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed May 5 16:37:50 2010 +0000

    Renamed constUnion class to ConstantUnion.
    Review URL: http://codereview.appspot.com/1106042
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@227 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 428d15873f44c7da878da9bb05da0276a6f7c1ee
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue May 4 03:35:25 2010 +0000

    Makes the State struct a member of Context, rather than its parent.
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@226 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 19ffc24b0e886710aa6052c01ea93fc923f059c4
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue May 4 03:35:21 2010 +0000

    Moves non-D3D-specific utility functions to the gl namespace.
    TRAC #12043
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@225 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 713914b5ae7f541b8f78358915347e8c479c1c19
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue May 4 03:35:17 2010 +0000

    Implements PACK_ALIGNMENT for ReadPixels
    TRAC #11484
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@224 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ce3d0f2f386ee8d9e00ce99d114435b552f24224
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue May 4 03:35:14 2010 +0000

    Implemented eglGetProcAddress
    TRAC #12102
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@223 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit bade892718c21f30ee9d648d7cff886f2168d5f4
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue May 4 03:35:11 2010 +0000

    Untabify libGLESv2.def
    TRAC #12102
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@222 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6b99840876b4be79ff9c346801c9fe679e9886fe
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue May 4 03:35:07 2010 +0000

    Correct use of anonymous / nameless struct
    TRAC #12108
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@221 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a499cfc5ff7bf68367a9fd1903b6a556d27794f4
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon May 3 23:14:49 2010 +0000

    Fixed multiple issues with struct declaration and construction.
    Review URL: http://codereview.appspot.com/1076041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@220 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2986a8cbcb9b0731e2ea6fad0f93f5c4be9be144
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Apr 30 22:32:32 2010 +0000

    Implemented a bunch of missing constructs.
    Review URL: http://codereview.appspot.com/1031045
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@219 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4f3ce807111f34819669c2f9fef0d90e10b7bb62
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 29 03:39:15 2010 +0000

    Output propagated struct constants as literals
    TRAC #11809
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@218 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 51d0dc2a6b3e834ec5afe0a9e76922bad510605d
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 29 03:39:11 2010 +0000

    Declare structures before uniform definitions and support varying arrays
    TRAC #11809
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@217 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a637e55f6ffbfe27cd0a0fa9ca61636e137f2336
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 29 03:39:08 2010 +0000

    Support anonymous structures
    TRAC #11809
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@216 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3aa7420b5a9b99668090d6260ad2bc51ffafda5c
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 29 03:39:04 2010 +0000

    Fix parenthesis balance
    TRAC #11809
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@215 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9e78e5edfda0d54d0a862be1c7d780bb08542325
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 29 03:39:02 2010 +0000

    Fix Shader compilation failures with nested #ifdefs
    
    TRAC #12054
    
    Don't exit from CPPelse prematurely.
    Clear elsedepth when entering a new #if nesting level.
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@214 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 951243464f93a0ac869df3af0c9f3af79c0193da
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 29 03:38:58 2010 +0000

    Deleting program does not delete shaders that are marked
    
    TRAC #12012
    
    Resolve the crash on context deletion.
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@213 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a87bdf533de27209b975ffbdf6dcf50ca53cacac
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 29 03:38:55 2010 +0000

    Check for multisample conformance
    
    TRAC #11747
    
    Only warn about sample coverage settings in a multisample context.
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@212 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d1f667fed411ec35be41543ee8fdc2b91b086b4a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 29 03:38:52 2010 +0000

    Ensure ShaderBinary is conformant
    
    TRAC #12061
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@211 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f31401573e2d3452e29e802720a24727b775f764
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 29 03:38:50 2010 +0000

    Append [0] to active array uniform names
    TRAC #11796
    Singed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@210 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8ee00ea24fd54bbf6a3986ee0ff4d28c914167b3
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 29 03:38:47 2010 +0000

    Investigate issues with transform_viewport conformance
    
    TRAC #12035
    
    transform_viewport failed when rendering into an Nx1 or 1xN viewport.
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@209 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit aede63013ff388a676ce3a6af981cf480e956f3c
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 29 03:35:48 2010 +0000

    Implements PolygonOffset
    TRAC #11719
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@208 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c3a0e946e912497f086aa9cdac69697ca5c29f8d
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 29 03:35:45 2010 +0000

    Fixes program validation regression.
    TRAC #11654
    The sampler validation at render time was occurring before uniforms
    were applied and samplers were bound to their texture units. Sampler
    validation now occurs after shaders and textures have been applied.
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@207 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit dec19e2014ee1bafc643c269172496c77283acde
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 29 03:35:42 2010 +0000

    Detect and report multiple #version directives
    TRAC #12072
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@206 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b41c977b3fce8c81f08751d17f8c17b7352753b8
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 29 03:35:39 2010 +0000

    Implemented support for lists of arrays
    TRAC #12075
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@205 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ead23047490b652cdaedb6ed3deb8558f8d94c27
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 29 03:35:36 2010 +0000

    Add all structure definitions to constructor map and simplify initialization
    TRAC #11809
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@204 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7a7003c383810d65845e73c2f13f29507c0b8823
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 29 03:35:33 2010 +0000

    Output structure declarations and constructors in the header
    TRAC #11809
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@203 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 67de6d6c6d33179fd0a8da65b5f629c29095cabb
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 29 03:35:30 2010 +0000

    Refactored outputTriplet to allow complex string expressions
    TRAC #11809
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@202 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 71cd868d1411a7f212e93b70a7f90fccb6b7944b
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 29 03:35:25 2010 +0000

    Deleting program does not delete shaders that are marked
    
    TRAC #12012
    
    Also fixes failure to delete flagged program upon glUseProgram(0).
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@201 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit feba9ba5e60ef66afe928b4996a5a1d964d64d3a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 29 03:32:45 2010 +0000

    Undecorate uniform names when computing max length
    TRAC #12050
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@200 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6369186708281a8e97b1d0e81198a192bc725dd2
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 29 03:32:42 2010 +0000

    Implemented complex vector/matrix construction
    TRAC #11868
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@199 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit bef0b6d93e4cfb2df850be790a34108108bc7e87
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 29 03:32:39 2010 +0000

    Allow matrix-in-matrix construction
    TRAC #11868
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@198 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ea15b0edc09d6c4fd6a1477221b77d1848059708
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 29 03:32:36 2010 +0000

    Change ParseHelper.cpp indenting from tabs to spaces
    TRAC #11868
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@197 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 86a7a138c5166feda08f21dd48e69b3a5408a1e6
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 29 03:32:32 2010 +0000

    Implements ValidateProgram
    TRAC #11654
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@196 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0b6b834a6d018e581737619da65cf0cfe26a699d
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Apr 26 15:33:45 2010 +0000

    Support matrix attributes
    
    TRAC #11095
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@195 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit fbc09533f131522467c355cc4fcb1a8612edb7de
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Apr 26 15:33:41 2010 +0000

    Allow other attachment points for glFramebufferTexture2D
    TRAC #12040
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@194 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0bbb031dc8f797a92efc3dcf758758fde5a9acee
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Apr 26 15:33:39 2010 +0000

    Only output faceforward when needed
    TRAC #12042
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@193 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c164135ce9f8349e410252299b59737a3f5320dd
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Apr 26 15:33:36 2010 +0000

    Implemented querying GL_BLEND_COLOR
    TRAC #12039
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@192 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c103b60cda514fe88d098c714bfbb143bfc18746
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Apr 23 18:34:58 2010 +0000

    Support BufferData with size zero.
    
    TRAC #12027
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@191 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c46c9c0773fab800b8e3024be5ef8e608391cb0d
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Apr 23 18:34:55 2010 +0000

    Implements GetFramebufferAttachmentParameteriv
    TRAC #11876
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@190 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 916ffaa9ae5aeab3f0ce8ec351dd91dd86d54b23
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Apr 23 18:34:52 2010 +0000

    Implements support for retrieving uniforms by subscripted name.
    TRAC #11796
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@189 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c5c1538032c31b18b28a1f2026924197ae954de9
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Apr 23 18:34:49 2010 +0000

    Fixed glGetShaderPrecisionFormat output
    TRAC #12041
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@188 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 69f084b1b789393bf264c8a4b5d0b5dcd0079c67
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Apr 23 18:34:46 2010 +0000

    Fix matrix by matrix multiplication
    TRAC #11751
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@187 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit eab1ef126b3118ac06b715e236f6b805f668b46d
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Apr 23 17:33:49 2010 +0000

    Removed unnecessary include paths. Removed the dependency on unistd.h. Moved the generated files to intermediate directory so that the source is not polluted.
    
    These changes only affect the gyp build system because they required flex-bison options that are not supported by old binaries in compiler/tools. Another reason to switch to gyp build system.
    Review URL: http://codereview.appspot.com/994041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@186 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a72f9eef8a9e9e32ab6bec0a3d31f669148f98e0
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Apr 23 17:29:18 2010 +0000

    svn property changes to ignore:
    - third_party/cygwin
    - third_party/gyp
    - build/Debug
    - build/Release
    
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@185 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 277ec1830df6b5207237a29a87d9cf53dcef1f0d
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Apr 23 16:07:34 2010 +0000

    Added support for building glsl translator on posix platforms.
    Review URL: http://codereview.appspot.com/958043
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@184 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d2cf25db0b560b2f55ce5674d431f0b51788304c
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 22 16:27:35 2010 +0000

    Make all globals static
    TRAC #12015
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@183 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1b3a8155c2181971bbd6671331826d420a707220
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 22 13:35:37 2010 +0000

    Fix getActiveUniform array size and refactor uniform size
    TRAC #11929
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@182 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 09fbfefa893ce612518580d76f0ddb79cef45384
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 22 13:35:31 2010 +0000

    Implemented glGetActiveUniform
    TRAC #11929
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@181 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 85423183fb4153007c98f3fb0ed166c673890ccc
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 22 13:35:27 2010 +0000

    Implemented glGetActiveAttrib
    TRAC #11929
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@180 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d99bd45f94adafe495912dce761e25875d0aeb30
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 22 13:35:25 2010 +0000

    Wrap mode affects NPOT texture completeness
    
    TRAC #11861
    
    If mipmapping is enabled, then each side of a texture must be a power-of-two or using CLAMP_TO_EDGE wrapping in that direction.
    Correct the mipmap size calculation to match the spec.
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@179 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e7e43fb9928d7d5a6be342393aa057e9b094ac1b
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 22 13:35:23 2010 +0000

    Make it easier to disable tracing
    
    TRAC #11979
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@178 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b4ff1f8f6ffcf796b5e12b55b851d8e0362afcc3
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 22 13:35:18 2010 +0000

    Implemented aliased attributes support
    TRAC #11092
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@177 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f9ef107fefddd1778f72ec3de8514c1c330dce97
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 22 13:35:16 2010 +0000

    Implement scoping
    TRAC #11975
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@176 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6e49740d209cb2f87485c5aa8e19e1321636f464
Author: apatrick@chromium.org <apatrick@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 20 20:34:15 2010 +0000

    Added DX SDK search paths to libGLESv2.
    Now it builds if these aren't in the default search path.
    Should it support x64 targets as well?
    Review URL: http://codereview.appspot.com/949041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@175 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e4b08c8cf83571f832e4558e1a2cb539ed006f4f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 20 18:53:06 2010 +0000

    Implement VertexAttrib
    
    TRAC #11878
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@174 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit bf2b52a313e5e4e3f2c50d047038714a64236b80
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 20 18:53:03 2010 +0000

    Implement GL_LINE_LOOP primitive handling
    
    TRAC #11823
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@173 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 93a8147fbae2491f75e88c329ca4a2669652c918
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 20 18:52:58 2010 +0000

    Support FBO attachment to cubemaps
    
    TRAC #11364
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@172 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e6842296d00cda4d731782f1e7f22006ea277c4f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 20 18:52:50 2010 +0000

    Fix more relative #include paths (mostly header files)
    
    Trac #11408
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@171 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e8c0ca29e17766718d855b3f1f1087b4af3487c0
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 20 18:52:47 2010 +0000

    Don't advertise 10, 10, 10, 2 RGBA format
    
    TRAC #11610
    
    The color_ramp conformance test renders each colour and reads it back to verify it, but it uses ReadPixels with UNSIGNED_BYTE with does not have enough precision.
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@170 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 18b426be775acc96d6c2503298dd73a22579cc7f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 20 18:52:44 2010 +0000

    Implement support for mipmap generation (CopyTexImage2D regression)
    
    TRAC #11338
    
    CopyTex(Sub)Image2D was broken by the coordinate space change. Render targets are rendered flipped in the Y axis.
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@169 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4901fca3aae82f4130bfe8e721891e806a14188e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 20 18:52:41 2010 +0000

    Implements GetRenderbufferParameteriv
    TRAC #11877
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@168 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 70d312a701f0011695c84d0705a4072ae1f5fb7e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 20 18:52:38 2010 +0000

    Implements color renderbuffers
    TRAC #11890
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@167 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3e7c803314663cdb408c7b3a5229b355d05a9d5c
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 20 18:52:35 2010 +0000

    Remove usage of relative paths for #include search path
    Trac #11408
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@166 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit bbf56f755e0dd78c7650c52531ce412fcaaafa2b
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 20 18:52:13 2010 +0000

    Use directory qualified #include files
    
    Trac #11408
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@165 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e07980c45f2856e661f0858727e0da9c387d2096
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 20 18:52:09 2010 +0000

    removed execute permissions on smoke.tga
    (was causing problems on windows)
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@164 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 86f7c9df3768b5d2e27be6e0b40c42259038e228
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 20 18:52:06 2010 +0000

    Only output referenced attributes, uniforms and varyings
    TRAC #11590
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@163 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5024cc4940de181fd2d94dbb9803516c84c2e4af
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 20 18:52:04 2010 +0000

    Implemented biased textureCube sampling
    TRAC #11884
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@162 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8fd99e2696eddc41732d84c3a35f057d51c2f9cf
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 20 18:52:00 2010 +0000

    Implement support for mipmap generation
    
    TRAC #11338
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@161 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5d2bee9325195b9f090d3ae820fe0c8fab955c00
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 20 18:51:56 2010 +0000

    Implements GetTexParameteriv
    TRAC #11721
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@160 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 743d773d803bc8dca615f47dc6822557f223c75b
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 15 20:45:32 2010 +0000

    Accidentally moved a read of translated[i].stride before the write.
    
    TRAC #11847
    
    (Fixes PVR-RenderToTexture regression)
    
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@159 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit a0c34d27e1567f60473d34c7d27a345a32a93e12
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 15 20:45:30 2010 +0000

    Fixed crashes caused by a string buffer overflow
    TRAC #11888
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@158 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 005c73922fdfeb1593b1e3ffd25f825d883d9c84
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 15 20:45:27 2010 +0000

    Create unique names for unnamed parameters
    TRAC #11873
    HLSL requires parameter names in function prototypes
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@157 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit bb8853289b9d04e9da697c7deab79f442f1d935b
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 15 20:45:24 2010 +0000

    Don't crash on null conditional block
    TRAC #11871
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@156 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7127f2076db15e754d4dc4e63eab4794037814fb
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 15 20:45:22 2010 +0000

    Initialize all shader variables
    TRAC #11869
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@155 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 76039476564cce21b5f31088ce21dac2e1ca74e4
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 15 20:45:18 2010 +0000

    Fixed the GLSL ES version
    TRAC #11867
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@154 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5af6427dc3c1842611a81455ad520cf95ab8d3dd
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 15 20:45:12 2010 +0000

    Implemented gl_FrontFacing for lines and points
    TRAC #11419
    Lines and points are always considered front-facing
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@153 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e007896b1a07e2a7275021dc32fd8750db8d9e88
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 15 20:45:08 2010 +0000

    Implements GetVertexAttrib
    TRAC #11653
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@152 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit aa0ccbd9f0397bf6332c990af1c9bce2cbe241cb
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 15 20:45:05 2010 +0000

    Implements GetBufferParameteriv
    TRAC #11720
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@151 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 34dc3e8a5ed785e3a6e17bd91f8bb73e78345a26
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 15 20:45:02 2010 +0000

    Creating a 0x0 texture fails.
    
    TRAC #11792
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@150 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit aa1ff8798156d34a0d7942e601257a7b42e8d3cf
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 15 20:44:58 2010 +0000

    Translate/lift vertex attributes when input stride or offset is not a multiple of 4.
    
    TRAC #11847
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@149 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b587598cb8771d0da8ed94ddbbd9dc038117ce59
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 15 20:44:53 2010 +0000

    Implemented short-circuiting behavior for the ternary operator
    TRAC #11444
    This is achieved by turning the ternary operator into conditional code.
    The UnfoldSelect intermediate code traverser places this conditional
    code before the statement containing the ternary operator (aka. select).
    The computed value is assigned to a temporary variable.
    On outputting the actual statement the ternary operator is
    replaced by the temporary variable.
    
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@148 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ec55d29a1cb45b6f4d31a9da049342233fd9b2bd
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 15 20:44:49 2010 +0000

    Clean up old comments
    TRAC #11444
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@147 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit edab063ed2aab549be641fb7b8a308139c0bb800
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 13 19:53:53 2010 +0000

    Add NOMINMAX define to the compiler projects
    Trac #11859
    To be consistent with the rest of the projects and GYP.
    Signed-off-by: Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@146 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit bb2e9636170c634f04658468e85e9a44413b0809
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 13 19:53:50 2010 +0000

    Fail compilation on empty source string
    TRAC #11814
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@145 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3c010c02d5528e6eef5de84da6cb9a20cc445828
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 13 19:53:47 2010 +0000

    Remove name clash warnings
    TRAC #11314
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@144 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 72d0b52e4001280fc563fc46ce3fbe984b9e661f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 13 19:53:44 2010 +0000

    Decorate all GLSL user-defined names with an underscore to avoid name clashes
    TRAC #11314
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@143 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5ac521598c317694176e531e11b8771a034c38f9
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 13 19:53:38 2010 +0000

    Corrects a green/blue channel swap in loadImageData
    TRAC #11630
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@142 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c847820dc802a58292433e443bec099bcec3e1e3
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 13 19:53:35 2010 +0000

    Corrects error handling in UseProgram
    TRAC #11666
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@141 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d1abe5b0edc45ca37f2e9db21ba8b1f20c6b704c
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 13 19:53:33 2010 +0000

    Corrects error handling in GetUniformLocation
    TRAC #11845
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@140 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 23953e3ef3bfdec596bed0be52569553bfad6032
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 13 19:53:31 2010 +0000

    Fixes error handling in GetAttachedShaders
    TRAC #11846
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@139 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8976c1e864c4ff67847854f71d57acd2e296276e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 13 19:53:27 2010 +0000

    Store all matrices as column-major and transpose when needed
    TRAC #11825
    Due to the difference in [][] matrix indexing between GLSL and HLSL, all matrices are stored in transposed format (column-major from the HLSL point of view), and transposed back when performing matrix math. Previously some paths didn't follow this principle.
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@138 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 47c058c32e2ec923b88ca32d9d6a1f196b3d27dd
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 13 15:30:05 2010 +0000

    Fixing compile error. GYP projects use NOMINMAX to suppress non-standard VC++ min/max.
    Review URL: http://codereview.appspot.com/892046
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@137 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 277b7142ed6a45f1067f36a472df3c28231bf5ef
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 13 03:26:44 2010 +0000

    Fixes error handling in LinkProgram
    TRAC #11821
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@136 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 8e6a6be85ed1851b513316a5e45c25db2f427f65
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 13 03:26:41 2010 +0000

    Fixes error handling in ShaderSource
    TRAC #11664
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@135 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 75401e61fb26eb68681287697db11aed5ed14edb
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 13 03:26:39 2010 +0000

    Fixes improper error generation by DeleteShader
    TRAC #11662
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@134 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0cefaf45e478eaa0b12da186e1dec64f8d1c7c02
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 13 03:26:36 2010 +0000

    Fixes error handling in CompileShader
    TRAC #11822
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@133 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b8c28eddec129967128e458a0ceb4fa4cacdaa77
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 13 03:26:32 2010 +0000

    Implement CopyTex(Sub)Image2D
    
    TRAC #11474
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@132 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 980798393d9aa0d94ac8dea6e1179249a925f273
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 13 03:26:29 2010 +0000

    Fixes error handling in BindAttribLocation
    TRAC #11661
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@131 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit cf4aa8790c19e200b9a667e56d1c8cea45db5417
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 13 03:26:27 2010 +0000

    Checks link status of program before returning attribute locations.
    TRAC #11658
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@130 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e9d6ed036a79dd3a5b578df058113a5354aff068
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 13 03:26:23 2010 +0000

    Corrects error handling in AttachShader
    TRAC #11659
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@129 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit bb274c35d5807d44288f0d44d05807e23e1f2b26
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 13 03:26:21 2010 +0000

    Fixes incorrect error handling in GetAttribLocation
    TRAC #11657
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@128 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d91cfe7e3c01a557fb1c0dc8bf0655c8a5b1d34b
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 13 03:26:17 2010 +0000

    Implemented struct equality
    TRAC #11727
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@127 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 950f993b889937fe22d9481143cdb83cb729b772
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 13 03:26:14 2010 +0000

    Compiler - split header, body and footer output
    TRAC #11798
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@126 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 73c2c2eddc2a114c7e37702110d02748542627c6
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 13 03:26:11 2010 +0000

    Implements correct error handling for DetachShader
    TRAC #11663
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@125 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 79f6677d389bc31041e821158bea897a873ebf71
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 13 03:26:09 2010 +0000

    Implements support for IsEnabled
    TRAC #11750
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@124 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit bb3d9d03b707f5415538909d2cd2f0aede0d2292
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 13 03:26:06 2010 +0000

    Implements glGetUniform
    TRAC #11647
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@123 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9a95e2bb66c3829d721daa18adc22f1c8168f08f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 13 03:26:03 2010 +0000

    Implements Uniform*i{v}
    TRAC #11649
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@122 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f4a0c8e8083cbed565f913e9f4999751fe1465a5
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 13 03:26:01 2010 +0000

    Implements support for boolean uniforms
    TRAC #11734
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@121 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d1acd1ed5a29e8ff9b19130a0858ffac40517a3d
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 13 03:25:57 2010 +0000

    Implemented function prototyping and in/out parameters
    TRAC #11725
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@120 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit afb239577f8ede33b0dcf921a07e6f5e6a309fd4
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 13 03:25:54 2010 +0000

    Implemented glReadPixels for the implementation-dependent format
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@119 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 26e9604f9e887e256e268d742223f5cda643c07e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 10 05:29:13 2010 +0000

    update contributors list
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@118 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 13881545ced98cd2ec7b175389c95bf23574bf53
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 10 05:29:11 2010 +0000

    Compiling error in x64: WidenToFour template incorrect type.
    
    TRAC #11811
    
    Submitted-by: Aitor Moreno
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@117 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit fe56515917d8108f194c12d777f78bfef73cdbe1
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 10 05:29:07 2010 +0000

    Implemented support for user-defined structures
    TRAC #11730
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@116 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f52561c2b6da876bf934910b4c375c3d019a4d01
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 10 05:29:04 2010 +0000

    Can't change attribute locations after original link
    
    TRAC #11290
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@115 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7441c9cc25dc54efd341362a865aa7d9b68991c4
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 8 15:01:05 2010 +0000

    Associate the sample.sln file with visual C++ express.
    Trac #11802
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@114 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3fe7fe5d5f9079ec5cdfb07f0b65734dd5e891a0
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 8 15:00:59 2010 +0000

    Fix compilation of glslang.l in release mode.
    Trac #11802
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@113 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ea5a6ad71ae5b7f1ec627c6ca91b1425cc42da9e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 8 03:51:26 2010 +0000

    Re-Associate ANGLE.sln with VC++ Express
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@112 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 12d38031a55fe2250e37076e789827698b302f49
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 8 03:51:23 2010 +0000

    Remove GLES2/glextimg.h
    Trac #11785
    This is not an official khronos header
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@111 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit fe4b827b2b580c3fc4fd80fdb5a0087f539c0073
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 8 03:51:20 2010 +0000

    Fix the GL entry function prototypes to match new GLES header
    Trac #11785
    The changes were void -> GLvoid and char -> GLchar.
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@110 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 04694067c435626b2cfd09d77255f98cce241eb4
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 8 03:51:18 2010 +0000

    Refresh KHR headers from Khronos svn@10929
    Trac #11785
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@109 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c68e92993bb880e3a3d87e39ee70ecab38033366
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 8 03:51:15 2010 +0000

    Refresh GLES2 header files from Khronos svn@10929
    Trac #11785
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@108 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit fe110ab75414bd085c4f5f6579f4a0dea3728712
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 8 03:51:12 2010 +0000

    Refresh EGL files from Khronos svn@10929
    Trac #11785
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@107 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4195fc431c9e39614508ac059362ce3a7aed856f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 8 03:51:09 2010 +0000

    Resolve conflict between default cube map and 2D textures in texture map.
    
    TRAC #11625
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@106 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4a35ef2d4d1839d6fa008fd8471ebc25f1d2b665
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 8 03:51:06 2010 +0000

    Break up loops with over 255 iterations.
    TRAC# 11724
    fixes acos/asin conformance
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@105 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit cf2560dda87ab83eb60a350057baedbd24dce0c5
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Apr 7 20:39:57 2010 +0000

    Always build libEGL and libGLESv2 as shared libraries. They do not work as static libraries so there is no point in parametrizing the library type.
    Review URL: http://codereview.appspot.com/810045
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@104 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0270ef140e1cc9fb0e6f4cdfb02d35d5136b5639
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Apr 7 19:57:20 2010 +0000

    Changed the default character set to be UNICODE, the same as chromium. Changes to fix compile errors and warnings.
    Review URL: http://codereview.appspot.com/816046
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@103 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 777f26727bd71c435f93387fd593e3790544bb49
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Apr 7 03:25:16 2010 +0000

    Implements type conversion for queries.
    TRAC #11593
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Also adds missing query parameters.
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@102 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5441d665e16121c0ba872ad7db1af459bc0cf664
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Apr 7 03:25:11 2010 +0000

    Compiler - Wrong Result from Matrix Multiply
    TRAC #11751
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@101 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 403c9e5961c91a0d4f2fc17d14798736a6b7b21b
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 6 17:53:31 2010 +0000

    Added libGLESv2, libEGL, and all samples to GYP.
    Review URL: http://codereview.appspot.com/878042
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@100 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 27bf89bb308a316d10fe476babaded6401032508
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 6 16:31:25 2010 +0000

    Fixes an improper comparison in map
    TRAC #11649
    Implementing this fix here because it's causing the glUniform
    conformance test not to pass. TranslatedBuffer would have problems
    during reloadCurrentValues because its required space and its current
    size were equal.
    Signed-off-by: Daniel Koch
    
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@99 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 29d56fbb60c635df7efb5ae6bf426b63870bda03
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Apr 6 15:42:22 2010 +0000

    Added GYP build files. GYP files are needed for integration with chromium and cross-platform build for glsl translator. It would really be nice if we did not have to maintain two build systems. For now I have only moved the GLSL translator to gyp build system. Please note that the gyp files awkwardly have build_ prefix so they do not conflict with the manually-maintained sln files.
    Review URL: http://codereview.appspot.com/885043
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@98 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0e3358a6aae3e3d54e29f17297187f2f078e1ef3
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Apr 5 20:32:42 2010 +0000

    Compiler - implement proper varying linking
    TRAC #11716
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@97 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 279e38ad145fddb049616bf6f42c529864e4e8e7
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 3 20:56:13 2010 +0000

    Compiler - fix mat3 conformance
    TRAC #11723
    Matrix elements are accessed as [col][row] in GLSL and [row][col] in HLSL. Fixed this by transposing all matrix uniforms so they have a row-major layout. Then transpose them in the shader every time they're used in matrix math.
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@96 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 57a0bab8e1ae33932c12cf2dc53e89b0c79920a5
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 3 20:56:10 2010 +0000

    ShaderSource does not generate needed errors
    TRAC #11664
    Generate GL_INVALID_VALUE when shader name is 0
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@95 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 296ca9cc4ad7c8891673d74cea7c75b8fe49bc92
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sat Apr 3 20:56:07 2010 +0000

    Compiler - match pixel and vertex shader profiles
    TRAC #11717
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@94 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit cbbca00b05171f1438a2cac83c4e59f55543bb74
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 1 13:39:32 2010 +0000

    Use the latest D3DX version for D3DXCompileShader instead of forcing D3DX9_31
    TRAC #11347
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@93 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 41187f1d1257ffc205a777fbe348bcbe7dd49bc6
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Apr 1 13:39:29 2010 +0000

    Fix glGetShaderSource conformance
    TRAC #11718
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@92 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 376e10643667be33b15b1e831876d5f6769e214e
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Mar 31 20:25:53 2010 +0000

    Added support for loops.
    Review URL: http://codereview.appspot.com/802047
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@91 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3d2707820e0b59d2277bfa0a4eee7c0910ac7b5b
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Mar 30 20:33:38 2010 +0000

    Changes to pass 'abs' conformance tests.
    Review URL: http://codereview.appspot.com/858041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@90 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2cf1771fd8529995c333671a3035027567e14664
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Mar 30 20:33:18 2010 +0000

    Removed tabs. Fixed formatting. Only white-space changes.
    Review URL: http://codereview.appspot.com/849043
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@89 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit dd037b2a85b3e3fff73b6d04014f7030a2ceb99f
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Mar 30 18:47:20 2010 +0000

    Added support for user-defined structs. And fixed a bug in function return type.
    Review URL: http://codereview.appspot.com/849042
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@88 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d25ab251094d86350299e9ebde5df7486b4cc69a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Mar 30 03:36:26 2010 +0000

    Compiler - fix redeclaration of initialized globals
    TRAC #11617
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@87 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ab58025b62992e382f8732099f0a9eb61c154d72
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Mar 30 03:36:22 2010 +0000

    Use unique intermediate directories for translator projects
    
    TRAC #11635
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@86 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 6c78521ea3e781a39878ce5f4693af72d08e4cdf
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Mar 30 03:36:17 2010 +0000

    Implement glGetAttachedShaders and glGetShaderPrecisionFormat.
    TRAC #11599
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@85 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 02bc159423ff4972677895e95f27c14bbc264961
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Mar 30 03:36:13 2010 +0000

    Support software vertex processing
    TRAC #11632
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@84 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4388487c8eb68b472ac8a9ab67def88c3e60c4d0
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Mar 30 00:08:52 2010 +0000

    Moved code to unmangle function name to a common place and used it in both OutputGLSL and OutputHLSL.
    Review URL: http://codereview.appspot.com/838041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@83 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 60fe407c363266a1bfe9c33832815ee7a09a188a
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Mar 29 20:58:29 2010 +0000

    Added TIntermSelection::usesTernaryOperator() to distinguish between selection nodes using ternary operator and if-else. Used in both OutputGLSL and OutputHLSL.
    Review URL: http://codereview.appspot.com/830042
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@82 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1180ea73f55d4f1c71e14b12760f3601a8ecebf8
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Mar 29 19:43:46 2010 +0000

    Fixed the title of texture-wrap sample.
    Review URL: http://codereview.appspot.com/834041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@81 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 76dbf17ff1e6a2fd99023b4f21cd2d5078a617cd
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sun Mar 28 19:36:20 2010 +0000

    Support UNSIGNED_BYTE indices in DrawElements
    
    Trac #11393
    Support was added a prior patch but this wasn't activated
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@80 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5e8907315087f3ecf86b2fbd0a3dcbac904bc727
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sun Mar 28 19:36:18 2010 +0000

    Update .gitignore
    
    Use better wildcards to hide files we don't commit
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@79 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0361b92f3f185ca0751034a0b987047d66ef8fc8
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sun Mar 28 19:36:15 2010 +0000

    Compiler - active uniforms and attributes
    
    TRAC #11590
    Preparation refactoring that removes UniformType since there are already GL enums for uniform types.
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@78 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 93a96c3eeec95b2044be4966edf9dfe8876b96c7
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sun Mar 28 19:36:13 2010 +0000

    Compiler - implement vector times matrix operation
    
    TRAC #11611
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@77 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit cba5057cf320b691cda0ad2dedd65ff0db3981bc
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sun Mar 28 19:36:09 2010 +0000

    Compiler - implement shader and program queries
    TRAC #11599
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@76 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e78c0c997588268343b45e309601a94e590acf9e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sun Mar 28 19:36:06 2010 +0000

    Compiler - only declare used HLSL functions
    TRAC #11315
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@75 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5e417109f62eba713bb9e4be6124d59ae5494951
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Mar 26 04:08:53 2010 +0000

    fix warning for std::copy
    
    TRAC #11558
    
    * VertexDataManager::internalPreRenderValidate operates directly on the output pointer.
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@74 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b994e3bd4668b51698135f6ef535ef3f4a15bd47
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Mar 26 04:08:50 2010 +0000

    fix warning from "normalized" cast
    
    TRAC #11556
    
    * Restore warning C4800.
    * Compare GLboolean normalized against GL_TRUE per the spec.
    
    Signed-off-by: Daniel Koch
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@73 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f8b58a0cb3e310c627d765e8f2ee64f7b3c1c0ff
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Mar 26 04:08:45 2010 +0000

    Support translating indices.
    
    TRAC #11393
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@72 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d989add518de48be887292aeb6d98751e03f5cf5
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Mar 26 04:08:42 2010 +0000

    Compiler - implement gl_PointCoord and point size clamping
    
    TRAC #11592
    Fixed a regression caused by bad merging.
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@71 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ccad59f0464a3a5b025eb06bb38b1ade2057cf0b
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Fri Mar 26 04:08:39 2010 +0000

    Compiler - implement gl_PointCoord and point size clamping
    
    TRAC #11592
    Author: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@70 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 76b820852b116d79187e5af5457a45065f656bda
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Mar 24 17:59:39 2010 +0000

    Added GLSL backend for ESSL translator.
    Review URL: http://codereview.appspot.com/698041
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@69 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 32e58cdedbee0b5add027c7d051faaac254724b8
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Mar 24 09:44:10 2010 +0000

    Implements support for setting/getting line width.
    
    TRAC #11531
    Implements glLineWidth, and provides glGet results for
    LINE_WIDTH and ALIASED_LINE_WIDTH_RANGE.
    
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    Author:    Shannon Woods
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@68 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit debe2591ccec4beede1a0742510b72f56bc60b53
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Mar 24 09:44:08 2010 +0000

    HLSL compilation shouldn't assume a 3.0 profile
    
    TRAC #11054
    Signed-off-by: Daniel Koch
    Author:    Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@67 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d37dec85de9775ca1702bb67323fb155898a7b38
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Mar 24 09:44:05 2010 +0000

    The trace parameter is better termed 'message' instead of 'argument'
    
    Trac #11526
    Signed-off-by: Shannon Woods
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@66 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 24a0486194be415d11943aea86de35b0797ff212
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Mar 24 09:44:03 2010 +0000

    Add smoke.tga for gles2\ParticleSystem sample
    
    Trac #11596
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@65 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f64dd04c4c8f3741e84253b43db7a7eb0003bc73
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Mar 24 09:44:00 2010 +0000

    Fix warning from "normalized" cast.
    
    TRAC #11556
    
    Disable warning C4800 as it does not indicate defects in the code, just the compiler.
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    Author: Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@64 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5539a34f2497a75948f77866686b7940eab8b634
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Mar 22 19:34:05 2010 +0000

    Added a few samples from GLES 2.0 book.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@63 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ea0e1af4c3db538081d776e4ec1a588ca82cb9d9
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Mar 22 19:33:14 2010 +0000

    Minor reshuffling of directory structure in preparation of ESSL to GLSL compiler work.
    1. Added include/GLSLANG which includes compiler API
    2. Deleted src/include and moved the header files to the same directory as the corresponding source files
    3. Modied include path to be relative to src/. I have only fixed paths for files I moved. We should fix it for all new files at least. It is much easier to see where an included file is coming from.
    
    I noticed that a few libGLESv2 source files include headers from libEGL project, which seems wrong. I think we should address this issue. Next step: move compiler source files to compiler/frontend and create two new projects compiler/glsl_backend and compiler/hlsl_backend.
    
    Review URL: http://codereview.appspot.com/662042
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@62 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0599dc6def95077e28128908795d90a634014b22
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sun Mar 21 04:31:36 2010 +0000

    To output debug info use the TRACE macro instead of calling trace()
    
    Trac #11526
    Signed-off-by: Shannon Woods
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@61 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b5b0616063ccb5c22a8f50339d47e134d6b9cd9a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sun Mar 21 04:31:32 2010 +0000

    Refactor the parenthesis from the TRACE/FIXME/ERR macros
    
    Trac #11526
    Signed-off-by: Shannon Woods
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@60 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d4620a36311fc87edd1685af98aca00097f0db75
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sun Mar 21 04:31:28 2010 +0000

    Don't crash on a null pointer passed to glBufferData
    
    TRAC #11528
    
     * Initialise buffer to 0 if BufferData is called with data = NULL
       (special case: if not resizing, just leave the old data in place).
     * BufferSubData ignores calls with data = NULL
     * Replace Buffer::data_t with GLubyte.
    
    Author:    Andrew Lewycky
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@59 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 159acdf5f6370e89f3deda77cd3752ad11d3f76c
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sun Mar 21 04:31:24 2010 +0000

    Corrects scissor & viewport initialization.
    
    TRAC #11134
    Takes viewport/scissor dimensions from surface at first makeCurrent, rather
    than from display at context construction.
    
    Author:    Shannon Woods
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@58 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit ace5e6635884b86afb3997ab21e29b9af92e0c81
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sun Mar 21 04:31:20 2010 +0000

    Implements support for FRONT_AND_BACK culling.
    
    TRAC #11331
    
    Author:    Shannon Woods
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@57 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5949aa10c60aeab86dcd32ee9d77d5b3fb8185e0
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sun Mar 21 04:31:15 2010 +0000

    Adds support for hints
    
    TRAC #11343
    Author:    Shannon Woods
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@56 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3489e3ae55d26d613a21dfed54614f51bb69a5aa
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sun Mar 21 04:31:11 2010 +0000

    Implement glPixelStorei for Tex(Sub)Image2D.
    
    TRAC #11475
    
    Author:    Andrew Lewycky
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@55 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7051b97e7616c45742349818bd4bf971d870c0c7
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sun Mar 21 04:31:07 2010 +0000

    Default textures to non-renderable.
    
    TRAC #11309
    
    * Lift getRenderTarget() into base class Texture.
    * Add pure virtual convertToRenderTarget() and getSurface().
    
    Author:    Andrew Lewycky
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@54 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 842f7a4ebf04907352adb57d98e067ec0aad4e45
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sun Mar 21 04:31:03 2010 +0000

    Partial TexSubImage after FBO rendering overwrites entire image.
    
    TRAC #11439
    
    * Store texel data in IDirect3DSurface9 rather than client memory.
    * TexSubImage uploads new data immediately.
    * Fix 5551 texture format conversion.
    
    Author:    Andrew Lewycky
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@53 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit bbb6cd0c6d3d39c8635fe739cfd0634879ab8803
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sun Mar 21 04:30:59 2010 +0000

    Fix starting indices other than 0 for DrawArrays
    
    TRAC #11495
    
    Author:    Andrew Lewycky
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@52 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 3d53fda08d20bf14f4eafe2b7fb69fa8a21e6896
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sun Mar 21 04:30:55 2010 +0000

    ANGLE | Compiler - implement the ternary operator
    
    TRAC #11421
    Doesn't take short-circuiting behavior into account yet.
    Author:    Nicolas Capens
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@51 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit adb5087a9fab17dc04da9390ce2918f113d1f1c7
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Sun Mar 21 04:30:52 2010 +0000

    ANGLE | Don't perform any filtering when swapping
    
    TRAC #11513
    Author:    Nicolas Capens
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@50 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit d70aa3398a662651e31c0c79feb2e7fff2b09580
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Mar 17 13:59:53 2010 +0000

    Delete empty folders after reorganization
    Trac #11406
    
    
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@48 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4da3d935313f9d68c62def50c12c9491166f4dee
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Mar 17 13:13:32 2010 +0000

    update .gitignore file for new file locations
    Trac #11406
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@47 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 14c4631c46d342af9d0774db8c03cf924079f83d
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Mar 17 13:13:30 2010 +0000

    Fix include paths in libEGL.vcproj
    Trac #11406
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@46 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 63e472ddd5e87eedb1bf8d6640fb22f5a0d7dbbf
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Mar 17 13:13:28 2010 +0000

    Fix include paths for libGLESv2.vcproj
    Trac #11406
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@45 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 50290ec93b571961fc29c70fcdd5f1a32bfffe3f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Mar 17 13:13:26 2010 +0000

    Fix the case of all directories used by compiler.vcproj
    Trac #11406
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@44 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7f9901776a13c511143a1f1b0296dd50da77567f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Mar 17 13:13:24 2010 +0000

    Rename Compiler.vcproj -> compiler.proj and fix solution properties
    Trac #11406
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@43 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f08666967d0510c45806b0e4f65a11e4b314af5f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Mar 17 13:13:18 2010 +0000

    mv Include -> include
    Trac #11406
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@42 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f4d3a314423a8db4d3a660c0ebaaa0f27122633e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Mar 17 13:13:13 2010 +0000

    mv ANGLE.sln -> src/ANGLE.sln
    Trac #11406
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@41 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7c46b9e695649ea493c7905d718aa200d2a3c7a3
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Mar 17 13:12:58 2010 +0000

    mv libGLESv2 -> src/libGLESv2
    Trac #11406
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@40 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 203934dcad0f10317590a38a9fc090f3145e1b9a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Mar 17 13:12:52 2010 +0000

    mv libEGL -> src/libEGL
    Trac #11406
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@39 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit b5462fcee052155556eb4368cd67b68a01bc3c90
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Mar 17 13:12:47 2010 +0000

    mv Include/*.h -> /src/include/
    Trac #11406
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@38 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit acc511303304febe92e4ea1dc7f9df794f04ddfc
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Mar 17 13:12:17 2010 +0000

    mv Compiler/* -> src/compiler/*
    Trac #11406
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@37 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 42b207dad5bb924a61e58ebd5c05a874039786cc
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Mar 17 13:12:07 2010 +0000

    mv Compiler/Preprocessor -> src/compiler/preprocessor
    Trac #11406
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@36 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 395d503519e8d6e7ab46c6ab6188d8e7571caf03
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Mar 17 13:12:00 2010 +0000

    Move Compiler/Tools -> src/compiler/tools
    Trac #11406
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@35 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 5903aeb1f972a707040338f870b93ccc30b858e1
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Mar 17 13:11:57 2010 +0000

    Move Common -> src/common
    Trac #11406
    Signed-off-by: Nicolas Capens
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@34 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1e64143178a5c74e7dc15fc8c78916c52e989352
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Mar 17 03:58:59 2010 +0000

    Add README and license information for bison and flex
    
    Trac #11422
    Signed-off-by: Shannon Woods
    Signed-off-by: Gavriel State
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@33 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1436e26153252125ece83ea19f848e037164e1d9
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Mar 17 03:58:56 2010 +0000

    Implements separate stencil support to proposed WebGL limitations
    
    TRAC #11450
    Author:    Shannon Woods
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@32 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit f67f82ec8c9584eca32aefdbc2a6d00efb49e369
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Mar 17 03:58:54 2010 +0000

    Compiler - implement break/continue
    
    TRAC #11441
    Author:  Nicolas Capens
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@31 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 49bce7ef4a218f9848a5b00c45f0365e3d80ac9e
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Mar 17 03:58:51 2010 +0000

    Compiler - implement matrix construction and equality
    
    TRAC #11440
    Author: Nicolas Capens
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@30 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 7a2c2809742a825ff11d3dbb49d17f6c7caf33ef
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Mar 16 06:23:33 2010 +0000

    Correcting un-returned depth size in utility function.
    
    TRAC #11333
    Implemented during masking conformance testing.
    
    Author: Shannon Woods
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@29 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0009d62451a167ac88e6454ae6be6e25d3b853ba
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Mar 16 06:23:31 2010 +0000

    Creates new depthstencils for surfaces.
    
    Trac #11396
    
    Creates new depthstencils for new windows when multiple windows exist,
    repurposes original depthstencil if old windows have all been destroyed.
    Author: Shannon Woods
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@28 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit fe453651c48eef34e49dd5a1cf29ebeab707126a
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Mar 16 06:23:28 2010 +0000

    Blend conformance bugfixes.
    
    Trac #11327
    
    Fixes a bug where color conversion swapped blue and green values.
    Fixes a bug where CONSTANT_COLOR/CONSTANT_ALPHA conflict guard
    failed to check for ONE_MINUS variants.
    
    Author: Shannon Woods
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@27 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 12d5407ec2fd0725b1e0cae5af084056288c1e82
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Mar 16 06:23:26 2010 +0000

    Handle sampling from incomplete textures
    
    TRAC #11321
    
    Context owns incomplete textures of each texture type.
    Also fix completeness determination: check minfilter to see if mipmapping is on.
    
    Author:    Andrew Lewycky
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@26 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 416485fb9c73ca14c062c6bf2d5ee3926831ba00
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Mar 16 06:23:23 2010 +0000

    Select texture type based on program usage.
    
    TRAC #11410
    
    Add Program::getSamplerType() and internal machinery to track the reported sampler uniforms.
    Make State::samplerTexture into a 2D array with a dimension for sampler type.
    Context::applyTextures queries the sampler type and asks for the right texture.
    
    Author:    Andrew Lewycky
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@25 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9efa6f6b3d323ef3f6d26cd74a6229e76bf43e19
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Mar 16 06:23:20 2010 +0000

    Provide default return values for unreachable code paths.
    
    TRAC #11414
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    Author:    Andrew Lewycky
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@24 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c7d8a9351ceaf50bc19a4d3f20cc07fcb9fd7860
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Mar 16 06:16:45 2010 +0000

    Whitespace fixes (trailing whitespace, CRLF).
    
    TRAC #11414
    
    Author:    Andrew Lewycky
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@23 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 79b820b73a34c146704bddf0114847d73fcf9608
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Mar 16 05:48:57 2010 +0000

    Compiler - implement gl_FrontFacing
    TRAC #11368
    Signed-off-by: Andrew Lewycky
    Signed-off-by: Daniel Koch
    From:    Nicolas Capens <nicolas@transgaming.com>
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@22 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 9b5f5443d613e82326cb5af3b829b7e34af2f969
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Mar 16 05:43:55 2010 +0000

    Compiler - implement gl_FragCoord
    TRAC #11381
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@21 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 998dd9ffa1c54572ff52822f32817b88f8a34521
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Tue Mar 16 05:38:01 2010 +0000

    Factor out all operators that are invalid for ES2.
    TRAC #11347
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@20 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4143049817a4f5f3a2ec47897c5b52249d4d17e0
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Mar 11 20:36:18 2010 +0000

    Implement non-support for compressed textures.
    
    TRAC #11339
    
    * glCompressedTexImage2D and glCompressedTexSubImage2D verify
    parameters and then fail with GL_INVALID_ENUM since there are no supported formats.
    * glGetIntegerv recognises GL_NUM_COMPRESSED_TEXTURE_FORMATS
    (returns 0) and GL_COMPRESSED_TEXTURE_FORMATS (returns none).
    
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Original-Author:    Andrew Lewycky <andrew.lewycky@transgaming.com>
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@19 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 00c75964b6eef547b54d8a2b6c175f94508cc317
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Mar 11 20:36:15 2010 +0000

    Support glTexSubImage2D.
    
    TRAC #1167
    
    Signed-off-by: Shannon Woods
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky <andrew.lewycky@transgaming.com>
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@18 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit c21c227174ae9b23d4b719ca42694646d8dea122
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Mar 11 19:44:45 2010 +0000

    Vertex data translation broke the text in PVR samples.
    
    TRAC #11412
    
    Indexed rendering was always broken because the size
    calculated was offset incorrectly (part of a removed optimisation).
    copyComponents was broken when I switched from
    incremental addressing to explicitly-indexed addressing.
    
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky <andrew.lewycky@transgaming.com>
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@17 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 86487c20aafda34bfe3dccee51a868283ff882f2
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Mar 11 19:41:43 2010 +0000

    Compiler - implement gl_DepthRange
    TRAC #11380
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens <nicolas@transgaming.com>
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@16 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 0f7aaf530b2aad644d4aab01c493517dedf3f62f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Mar 11 19:41:38 2010 +0000

    Add support for Vertex Buffer Data Translation
    
    TRAC #11024
    Signed-off-by: Nicolas Capens
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky <andrew.lewycky@transgaming.com>
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@15 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 45d035808ab6bb3afbe40590b1b17837b2f307b5
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Mar 11 19:41:29 2010 +0000

    Compiler - access struct fields
    TRAC #11379
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens <nicolas@transgaming.com>
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@14 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit fbb6dfa3d6f6e74bee91e4dd7da275cdd4f96284
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Mar 11 19:41:25 2010 +0000

    Compiler - handle high loop iteration counts
    TRAC #11345
    Signed-off-by: Daniel Koch
    
    Author:    Nicolas Capens <nicolas@transgaming.com>
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@13 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 29d270053560d5fb8b35fb4446fdb1fb453585f3
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Mar 11 19:41:22 2010 +0000

    Support redefinition of textures through glTexImage2D.
    
    TRAC #11316.
    Keep a dirty data flag, recreate the texture when it is set.
    Texture now owns getTexture() and calls a virtual
    createTexture method when the derived classes need to recreate.
    
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky <andrew.lewycky@transgaming.com>
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@12 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit fab5a1ae7809758c6c2fd4a39f3cc5122b262c32
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Mar 11 19:22:30 2010 +0000

    Remove trailing whitespace.
    
    TRAC #11024
    
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky <andrew.lewycky@transgaming.com>
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@11 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 1697302adc6572fa31e0a83ebd64935587696591
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Mar 11 19:22:19 2010 +0000

    Use std::min/max instead of the Windows macros.
    
    TRAC #11024
    
    * Define NOMINMAX so that the Windows headers don't define min or max.
    * Use std::min/std::max where we were using the min/max macros.
    
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky <andrew.lewycky@transgaming.com>
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@10 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit e2b2212912010fafc2675485f8ddd67c6b29130d
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Thu Mar 11 19:22:14 2010 +0000

    Whitespace fixes.
    
    TRAC #11024
    
    Signed-off-by: Daniel Koch
    
    Author:    Andrew Lewycky <andrew.lewycky@transgaming.com>
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@9 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 64eedfd706495ea398551af3f193be5746706a65
Author: alokp@chromium.org <alokp@chromium.org@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Mar 10 23:51:56 2010 +0000

    Added codereview settings file.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@6 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4a9d65cba6c877c9006bc70e21e57f705d993b72
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Mar 8 21:30:56 2010 +0000

    Implemented support for GL_STENCIL_INDEX8 renderbuffers
    TRAC #11366
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@5 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 680553bf90d0f8a598ddccf7d624999b8393562f
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Mar 8 21:30:52 2010 +0000

    Compiler - implement faceforward
    TRAC #11365
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@4 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 2884b78ae11e676806434854b49d7076649fa50d
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Mar 8 21:30:48 2010 +0000

    Fix regression from HRESULT checking changes
    TRAC #11234
    Signed-off-by: Daniel Koch
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@3 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit 4f39fd99568ce175f04b5ed72062bfed0fa41803
Author: daniel@transgaming.com <daniel@transgaming.com@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Mon Mar 8 20:26:45 2010 +0000

    Initial import from TransGaming
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@2 736b8ea6-26fd-11df-bfd4-992fa37f6226

commit eff14256dba77b6dcd65a1d3425c4f06b0de39f4
Author: (no author) <(no author)@736b8ea6-26fd-11df-bfd4-992fa37f6226>
Date:   Wed Mar 3 19:46:25 2010 +0000

    Initial directory structure.
    
    git-svn-id: https://angleproject.googlecode.com/svn/trunk@1 736b8ea6-26fd-11df-bfd4-992fa37f6226
